天气预报系统设计报告_第1页
天气预报系统设计报告_第2页
天气预报系统设计报告_第3页
天气预报系统设计报告_第4页
天气预报系统设计报告_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程课程设计报告◆课题名称:

天气预报系统的分析与设计◆任课教师:

XXXX◆学院:XXXXXX学院◆专业:XXXXX◆班级:XXXXX

日期:2017年5月2日目录8327_WPSOffice_Level11.项目概述 428601_WPSOffice_Level21.1背景 428789_WPSOffice_Level21.2各类天气预报系统优缺点分析 414406_WPSOffice_Level21.3解决问题及好处 418167_WPSOffice_Level21.4研究内容

428601_WPSOffice_Level12.需求分析 523522_WPSOffice_Level22.1用户现状介绍 516344_WPSOffice_Level22.2天气系统功能图 515041_WPSOffice_Level22.3功能描述 526839_WPSOffice_Level22.4参与者描述 62200_WPSOffice_Level22.5用例图 622521_WPSOffice_Level22.6外部接口需求 66101_WPSOffice_Level22.7性能需求 628601_WPSOffice_Level34G内存以上,CPU为inter的电脑 724693_WPSOffice_Level22.8系统质量需求 730570_WPSOffice_Level23.1文档编写目的 7955_WPSOffice_Level23.2背景 716423_WPSOffice_Level23.3设计工具 710231_WPSOffice_Level23.4可行性分析 728789_WPSOffice_Level3技术可行性 714406_WPSOffice_Level3经济可行性 85562_WPSOffice_Level24.1城市列表模块系统设计 818167_WPSOffice_Level34.1.1城市列表模块功能详细描述 823522_WPSOffice_Level34.1.2城市列表模块用户图 816344_WPSOffice_Level34.1.3城市列表模块用例图 910120_WPSOffice_Level24.2天气信息模块概要设计 915041_WPSOffice_Level34.2.1天气信息模块功能详细描述 926839_WPSOffice_Level34.2.2天气信息模块用户图 102200_WPSOffice_Level34.2.3天气信息模块用例图 1016584_WPSOffice_Level24.3用户管理模块概要设计 1022521_WPSOffice_Level34.3.1用户管理模块功能详细描述 106101_WPSOffice_Level34.3.2用户管理模块用户图 1124693_WPSOffice_Level34.3.3用户管理模块用例图 1110554_WPSOffice_Level24.4后台服务模块概要设计 1230570_WPSOffice_Level34.4.1后台服务模块功能详细描述 12955_WPSOffice_Level34.4.2后台服务模块用户图 1216423_WPSOffice_Level34.4.3后台服务模块用例图 1212993_WPSOffice_Level25.1城市列表模块详细设计 1310231_WPSOffice_Level35.1.1城市列表模块活动流程图 135562_WPSOffice_Level35.1.2城市列表模块事件流程描述 1310120_WPSOffice_Level35.1.3类图设计 1428486_WPSOffice_Level25.2天气信息模块详细设计 1416584_WPSOffice_Level35.2.1用户界面模块活动流程图 1410554_WPSOffice_Level35.2.2天气信息模块事件流程描述 1412993_WPSOffice_Level35.2.3类图设计 152394_WPSOffice_Level25.3用户管理模块详细设计 1528486_WPSOffice_Level35.3.1用户管理模块活动流程图 152394_WPSOffice_Level35.3.2用户管理模块事件流程描述 1631591_WPSOffice_Level35.3.3类图设计 1731591_WPSOffice_Level25.4后台服务模块详细设计 185844_WPSOffice_Level35.4.1后台服务模块活动流程图 186278_WPSOffice_Level35.4.2后台服务模块事件流程描述 1823925_WPSOffice_Level35.4.3类图设计 195844_WPSOffice_Level25.5网络图 196278_WPSOffice_Level25.6E-R图 2023925_WPSOffice_Level26.1测试名称 207879_WPSOffice_Level26.2测试目的 208165_WPSOffice_Level26.3被测试特性 2011518_WPSOffice_Level26.4测试环境 2230025_WPSOffice_Level26.5测试用例 227879_WPSOffice_Level3测试分类 2228789_WPSOffice_Level1一、黑盒测试 2210968_WPSOffice_Level26.6.1城市列表模块功能性测试设计 228165_WPSOffice_Level3(1)城市列表模块实现顺序图 221868_WPSOffice_Level26.6.2天气信息模块功能性测试设计 2311518_WPSOffice_Level3(1)天气信息模块实现顺序图 2316697_WPSOffice_Level26.6.3用户管理模块功能性测试设计 234484_WPSOffice_Level26.6.4后台服务模块功能性测试设计 2430025_WPSOffice_Level3(1)后台服务模块实现顺序图 2414406_WPSOffice_Level1二、白盒测试 248864_WPSOffice_Level27.1项目时间 2513512_WPSOffice_Level27.2进度甘特图 2618167_WPSOffice_Level1附录 2723522_WPSOffice_Level1部分源代码实现 2716344_WPSOffice_Level1一.查询天气 2715041_WPSOffice_Level1二.更新天气信息 3126839_WPSOffice_Level1三.解析和处理服务器返回的省级数据 322200_WPSOffice_Level1四.解析和处理服务器返回的市级数据 3222521_WPSOffice_Level1五.遍历全国省市县数据 33项目概述1.1背景随着科技的发展,Android在中国的前景十分广阔,它的社区也十分红火,而这些社区为Android在中国市场的普及做了很好的推广作用。国内厂商和许多大运营商也纷纷加入了Android的阵营,同时不仅仅是局限于手机上,国内的厂家也不断的推出了Android系统的产品。

Android的主要竞争对手有苹果的IOS以及RIM的Blackberry

OS。在2011年的第一季度中,Android在全球的市场份额首次超过了塞班系统,跃居全球第一。1.2各类天气预报系统优缺点分析天气预报是一种具有实用的信息服务,伴随着智能手机的不断普及和应用,各种智能手机平台下都有不同的天气预报软件。Android作为现在主流的智能手机之一,自然也有这方面的软件。但是现在很多的天气预报也有不足之处,比如说央视的天气,由于我国幅员辽阔,人口众多,对于不在省会城市或附近地区来说,省会城市的天气并不能反映这一地区的天气总况;此外,气象服务单一也是一个问题,央视对全国空气质量问题、道路交通情况、农业生产和森林火险等更为影响公众日常生活的信息播报不够详尽。1.3解决问题及好处天气状况常常关系到人们的日常生活,比如它能告知温暖,提供方便出行等等。此外,它对未来天气的预测还可以帮助农民对农作物的浇灌、施肥、收割等一系列的工作指导,以便让他们提前做出防御措施,把气象灾害带来的损失降到最低程度,并且能使得广大公众在第一时间方便、快捷地获取最新的天气预报信息。同时它也可以强化天气公共服务的职能,改善公共服务手段、完善公共服务体系、提高公共服务质量,更好地发挥了气象事业对社会发展的现实性作用。这款手机天气预报系统给人们生活带来方便的全方位信息,是人们在日常生活中必不可少的生活用品。此天气预报软件的界面明了,操作简单,适合各类人士,对提高人们生活水平具有一定的促进作用。1.4研究内容

Android平台的天气预报系统是基于Android手机平台,利用Java语言,从Google上获取天气预报的信息,开发出对使用Android平台的手机天气预报系统的一款应用软件。为了让智能手机用户能够随时随地查询互联网所提供的服务,让手机能通过互联网访问Web网站并处理各项不同的业务,其中有一种非常高效的方法就是将应用系统的功能拓展到手机的客户端。Android的一个最大特点就是它的开放性架构体系,它不仅仅具有非常好的调试环境和开发环境,而且它还具有各种各样的可扩展功能,其中还包括丰富的多媒体功能和图形组件的强大浏览器,而且其技术已经逐渐趋于成熟。通过对界面的布局和控件使用等相关知识的学习和应用,使我对Android平台下的开发工作有了一个初步的了解,并且经过这次的开发,它使我能够基本掌握这些重要内容。软件开发以后,它能够帮助用户随时搜索由中国气象局提供的全国范围内的城市的天气信息,并且把数据显示在一个界面美观、布局合理窗口内,使用户能够舒适的享受此软件带来的简便的服务。2.需求分析2.1用户现状介绍目前人们获得天气信息的主要途径有手机短信、Android自带的天气软件、网上查询、电视台报道等,但是对于偏僻的农村地区的人们来说,他们不会并上网。而我国是农业大国,所以一款简单、易操作、精确的天气系统软件至关重要。2.2天气系统功能图2.3功能描述用户管理模块主要用于管理用户的登录注册和退出以及用户信息的更新。城市列表模块主要是从后台数据库获得直辖市每个省份的城市数据并显示出来。天气信息模块主要从后台数据获得各个城市详细的天气信息。后台服务模块主要是时时从第三方的API获得最新数据并在后台更新。2.4参与者描述参与者包括系统总用户,天气信息模块用户,城市列表模块用户,用户管理模块用户,后台服务模块用户。关于如下图:2.5用例图2.6外部接口需求利用中国天气网的接口,直接从中国天气网上面获得天气数据。2.7性能需求软件环境:基于java语言的androidapp开发,javaJDK版本为1.8,androidSDK4.0以上。硬件环境:4G内存以上,CPU为inter的电脑2.8系统质量需求系统仅支持在android系统中使用,使用者可以随时随地查看天气的实时信息,并支持同时查看多个城市,天气信息数据每天准时更新。用户可以登录,登陆后可获得更多的操作权限。3.可行性研究3.1文档编写目的根据需求分析阶段产生的天气预报App的需求规格,拟定相应的系统说明书,建立管理系统的体系结构。此份文档将确定系统中每个程序是由哪些模块组成,及各个模块的功能;确定模块间的相互关系;设计全局数据库和数据结构;制定测试计划;审核和复审。3.2背景随着科技的发展,人们的出行交通方式越来越多样,出行范围也不断扩大,但天气仍然是影响人们出行的主要因素,不仅仅是在出行,包括对用户的穿着或者第二天的生产活动也有很大的影响,所以我们开发一款天气预报App。这款天气预报App可以根据定位确定所在城市,并且可以查看未来一周的天气信息,天气信息不仅仅再只是天气状况,也包括降水量、气压和空气质量指数等内容,也可以手动查询城市的天气信息,及城市的添加删除等管理,相对于在各大应用市场上的天气预报App,我们这款更加符合时代的发展和客户的需求。3.3设计工具一台带有Windows10系统的电脑。Microsoftvisio2013用于建模等画图操作。Microsoftword2010用于编写文档。3.4可行性分析技术可行性我们可以通过AndroidStudio进行编码,各个省份的各个城市可以通过数据库查询获得,每个城市的天气信息通过调用中国天气网的API获得详细信息,通过解析其中数据,根据用户的需求有选择地显示在用户的界面上。经济可行性我们开发的这个天气预报App需要用到稳定更新的API,所以会支付一部分费用,其余的费用支出即为开发者和测试人员的费用,但产品投入市场后,根据下载量的数量和用户的数量我们可以添加一些广告或者一些其他的增值业务用来盈利,也可以根据天气状况来为用户推销不同的产品,比如当天气下雨时,可以用一个友好的交互设计提示用户可以使用打车软件出行,或者使用上门服务避免外出;当天气很炎热时,可以推荐一些消暑产品。因为我们的开发成本低,加上现在互联网的发展相信我们这款天气预报App能在半年内的用户积累期过后盈利。4.概要设计4.1城市列表模块系统设计4.1.1城市列表模块功能详细描述城市列表模块包括以下内容:添加城市按钮,可以添加全国各地的城市搜索按钮,通过搜索添加某个城市定位按钮,通过手机定位添加某个城市删除按钮,删除添加的某个城市切换按钮,添加的不同城市之间相互切换4.1.2城市列表模块用户图4.1.3城市列表模块用例图4.2天气信息模块概要设计4.2.1天气信息模块功能详细描述天气信息模块包括以下内容:首次进入该系统,自动定位城市,然后跳转到天气信息界面。显示城市的实时天气信息。包括未来七天里的天气情况,风力指数、空气质量和生活建议等等。天气信息界面可以根据不同的天气自动切换背景图。菜单栏按钮。添加城市,允许选择多个城市,可以同时观察多个城市的天气信息,不用来回切换。天气更新按钮。让用户选择是否允许后台自动更新天气,以及设计更新的频率。4.2.2天气信息模块用户图4.2.3天气信息模块用例图4.3用户管理模块概要设计4.3.1用户管理模块功能详细描述用户管理模块包括以下内容:用户管理模块主要用于用户的注册登录和退出,以及用户信息的管理。在产品前期,用户可以通过App注册用户,希望在有一定的用户数量后可以通过各大社交软件进行第三方账号登录。通过用户管理可以让用户更换登录环境或者清除手机缓存后为用户同步之前的数据,并默认保存用户的设置,通过大数据分析用户的喜好用来投放相应的广告,使得我们的App有更好的用户体验。4.3.2用户管理模块用户图4.3.3用户管理模块用例图4.4后台服务模块概要设计4.4.1后台服务模块功能详细描述后台服务模块包括以下内容:周期性的获取API的天气数据并存储到本地数据库。从数据库读取出要显示的数据。定时更新天气信息数据。根据用户自身的现实位置同步本地城市数据。4.4.2后台服务模块用户图4.4.3后台服务模块用例图5.系统设计5.1城市列表模块详细设计5.1.1城市列表模块活动流程图5.1.2城市列表模块事件流程描述在城市列表模块中,通过菜单栏进入城市列表,可以选择添加城市,进入添加城市界面,在次界面可以通过搜索按钮,添加搜索到的城市,也可以通过定位按钮,定位手机位置,添加城市;在城市列表中,也可以点击已添加的城市,然后点击删除按钮,删除已添加的城市。在天气信息界面,可以通过左右滑动,在已添加的城市之间相互切换。5.1.3类图设计5.2天气信息模块详细设计5.2.1用户界面模块活动流程图5.2.2天气信息模块事件流程描述用户在天气信息界面可以查看城市的实时天气信息,包括未来七天里的天气情况,风力指数、空气质量和生活建议等等。天气信息界面的背景图可以随当前城市的天气情况而变化,比如,当前城市天气为晴朗,背景图就可能是一张蓝天白云的动态图片,若天气为小雨,背景图也会随之变化为下雨的动态图片等等。用户若想查看更多城市的天气信息,就可以点击界面的菜单栏按钮,再进行相应的操作。界面还提供了天气更新按钮,让用户选择是否更新天气数据以及天气数据的更新频率。5.2.3类图设计5.3用户管理模块详细设计5.3.1用户管理模块活动流程图5.3.2用户管理模块事件流程描述普通用户管理流程描述1.用户通过登录窗口,如果用户选择不登录,进入初始化界面,如果用户选择登录,输入用户名和密码进行登录,如果用户登录成功,系统先将用户登录信息写入日志数据表;用户名或密码输入错误,则用户登录失败,系统显示登录失败信息。2.用户登录后在用户界面可以退出登录或者更改密码,后台数据库会同步记录用户修改的信息和状态,修改密码需要用户重新输入密码和后台数据库用户密码比较相同后才可以修改,以避免用户误操作等。3.后台数据库会每隔一段时间就会备份用户最新的数据,如果用户删除了缓存,下次登录时会有弹窗提示用户是否加载后台数据,如果是加载最新的一次备份数据,否就进入用户初始化界面,重新为用户备份数据。4.用户登录后在用户主界面可以点击用户设置,点击相应的设置,如是否有后台推送、检查更新、清除缓存以及字体大小、意见反馈等设置。用户修改设置后后台自动保存,用户下次登录时自动为用户加载这些设置。(2)管理员管理流程描述1.管理员用户与普通用户一样在登录窗口,可选择是否登录,如不登录,则进入初始化界面,选择登录则输入管理员特定的用户名。登陆成功,系统将管理员的登录信息写入管理员日志数据表,输入错误则和普通用户一样,系统显示登录失败信息。2.管理员登陆后,可选择进行管理备份用户数据、修改用户资料、查看用户登录状态。3.管理备份用户数据是将后台备份数据库中的用户数据进行调用、查看、删除、添加等操作。4.修改用户资料是将用户注册时或后面修改的个人设置和个性化设置进行修改。5.查看用户登录状态可以查看当前所有在线用户的人数、地域分布等信息,从而可以进行数据分析。5.3.3类图设计5.4后台服务模块详细设计5.4.1后台服务模块活动流程图5.4.2后台服务模块事件流程描述当用户选中城市后,点击查询按钮,数据库先返回当前城市的编码,根据编号生成对应的url去请求API的数据。当用户设置了自动更新天气,系统根据用户设置的频率自动执行上述操作。5.4.3类图设计5.5网络图5.6E-R图6.系统测试6.1测试名称天气预报系统测试6.2测试目的通过系统测试检验登录系统是否符合用户需求。为了保证软件产品的最终质量,测试环节需尽可能的发现错误,检验个功能是否完善,测试各个模块层次,并根据测试计划和测试方案对测试的标准提出分析与实施,最后撰写测试报告。功能性测试,能否根据用户的需求完成相关工作。6.3被测试特性产品名称天气预报系统用户文档追踪章节特性子特性特性简要说明备注城市列表定位城市对所在城市定位城市位置更新连接数据实时跟新定位菜单栏弹出左右滑动与点击事件产品名称天气预报系统软件产品特性项目用户文档追踪章节特性子特性特性简要说明备注登录服务登录已注册的用户进行登录注销登录已登录的用户注销登录查看个人信息已注册的用户查看个人信息修改个人信息已注册的用户修改个人信息修改密码已注册的用户修改密码产品名称天气预报系统软件产品特性项目特性子特性特性简要说明备注天气服务天气情况获取当天气气温情况当前气温与今日气温差推荐穿衣与出行穿衣指数与出行指南等一些温馨提示天气服务天气更新连接数据更新天气6.4测试环境Android移动设备,IDE开发环境窗口。6.5测试用例测试分类黑盒测试黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是发现不了的。

黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误:

功能不正确或遗漏;界面错误;数据库访问错误;性能错误;初始化和终止错误等。6.6.1城市列表模块功能性测试设计(1)城市列表模块实现顺序图(点击菜单栏的添加按钮添加城市)6.6.2天气信息模块功能性测试设计(1)天气信息模块实现顺序图6.6.3用户管理模块功能性测试设计(1)用户管理模块实现顺序图6.6.4后台服务模块功能性测试设计(1)后台服务模块实现顺序图白盒测试白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。用白盒测试产生的测试用例能够:

1)保证一个模块中的所有独立路径至少被使用一次;

2)对所有逻辑值均需测试true和false;

3)在上下边界及可操作范围内运行所有循环;

4)检查内部数据结构以确保其有效性。操作步骤序号操作步骤/输入数据预期输出实际结果1注册账号带字母等提示错误F全数字可用账号T2登录输入错误密码提示密码错误F输入正确密码进入账户界面T3修改密码新密码与旧密码一致提示错误F新密码与旧密码不一致允许修改T4网络连接时刷新天气显示最近天气信息显示最近天气信息项目实施7.1项目时间7.2进度甘特图产品报价序号工作内容工作量(人天)单价(元)金额(元)1项目调研2*320012002需求分析2*320012003系统分析2*330018004系统结构设计2*560060005界面和报表设计2*660072006数据库设计2*460048007软件配置管理2*9600108008文档编写2*830048009安装调试1*120020010维护31000011合计8648000团队介绍姓名学号分工XXXX(组长)XXXXXXXXXXXXXXXXXXXXXXXXXX附录部分源代码实现查询天气privatevoidqueryWeatherCode(StringcountyCode){Stringaddress="/data/list3/city"+countyCode+".xml";queryFromServer(address,"countyCode");}/***查询天气代号所对应的天气。*/privatevoidqueryWeatherInfo(StringweatherCode){Stringaddress="/data/cityinfo/"+weatherCode+".html";queryFromServer(address,"weatherCode");}/***根据传入的地址和类型去向服务器查询天气代号或者天气信息。*/privatevoidqueryFromServer(finalStringaddress,finalStringtype){HttpUtil.sendHttpRequest(address,newHttpCallbackListener(){@OverridepublicvoidonFinish(finalStringresponse){if("countyCode".equals(type)){if(!TextUtils.isEmp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论