出行小贴士app概要设计说明书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1引言 ...................................................................... 错误! 未定义书签。

编写目的. .................................................................. 错误! 未定义书签。

背景 .................................................................. 错误!未定义书签。

定义 .................................................................. 错误!未定义书签。

参考资料. .................................................................. 错误!未定义书签。

2总体设计.............................................................. 错误! 未定义书签。

需求规定. .................................................................. 错误! 未定义书签。

运行环境. .................................................................. 错误!未定义书签。

基本设计概念和处理流程. ................................................... 错误!未定义书签。

结构 .................................................................. 错误! 未定义书签。

功能器求与程序的关系. ........................................................ 错误!未定义书签。

人工处理过程. ................................................................ 错误!未定义书签。

尚未问决的问题. ........................................................... 错误!未定义书签。

3接口设计.............................................................. 错误! 未定义书签。

用户接口. .................................................................. 错误!未定义书签。

外部接口. .................................................................. 错误!未定义书签。

内部接口. .................................................................. 错误! 未定义书签。

4运行设计.............................................................. 错误! 未定义书签。

运行模块组合. ................................................................ 错误!未定义书签。

运行控制. .................................................................. 错误!未定义书签。

运行时间. .................................................................. 错误!未定义书签。

5系统数据结构设计 ......................................................... 错误! 未定义书签。

逻辑结构设计要点. ............................................................ 错误!未定义书签。

物理结构设计要点. ............................................................ 错误!未定义书签。

数据结构与程序的关系. ........................................................ 错误!未定义书签。

6系统出错处理设计 ......................................................... 错误! 未定义书签。

出错信息. .................................................................. 错误!未定义书签。

补救措施. .................................................................. 错误!未定义书签。

系统维护设计. ................................................................ 错误!未定义书签。

7天气信息功能模块设计说明................................................... 错误! 未定义书签。

程序描述. .................................................................. 错误!未定义书签。

功能 .................................................................. 错误! 未定义书签。

性能 .................................................................. 错误!未定义书签。

输人项 ............................................................. 错误!未定义书签。

输出项 ............................................................. 错误!未定义书签。

算法 .................................................................. 错误! 未定义书签。

流程逻辑. .................................................................. 错误!未定义书签。

接口 .................................................................. 错误! 未定义书签。

存储分配. .................................................................. 错误!未定义书签。

注释设计. .................................................................. 错误!未定义书签。

限制条件. .................................................................. 错误!未定义书签。

测试计划. .................................................................. 错误!未定义书签。

尚未解决的问题. ........................................................... 错误! 未定义书签。

8万年历功能模块设计说明....................................................... 错误! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

错误 ! 未定义书签。

程序描述 . .................................................................. 功能 ................................................................... 性能 ................................................................... 输人项 .............................................................. 输出项 .............................................................. 算法 ................................................................... 流程逻辑 . .................................................................. 接口 ................................................................... 存储分配 . .................................................................. 注释设计 . .................................................................. 限制条件 . .................................................................. 测试计划 . .................................................................. 尚未解决的问题 . .............................................................
9 日程表功能模块设计说明 .....................................................
程序描述 . .................................................................. 功能 ................................................................... 性能 ................................................................... 输人项 .............................................................. 输出项 .............................................................. 算法 ................................................................... 流程逻辑 . .................................................................. 接口 ................................................................... 存储分配 . .................................................................. 注释设计 . .................................................................. 限制条件 . .................................................................. 测试计划 . .................................................................. 尚未解决的问题 . .............................................................
概要设计说明书
1 引言
编写目的
目的经过对“出行小贴士”项目进行详细调查研究,初步拟定项目实现报告,明确开发风险及其所带来的经济效益,对软件开发中将要面临的问题及其解决方案进行可行性分析。

预期读者程序开发人员,小组成员,指导老师,以及对本“出行小贴士”有兴趣的爱好者。

背景
项目名称:出行小贴士
用户:任何需要即时获取天气和日历信息的android 智能手机用户工程组织者:指导教师- 张强老师,开发小组- 肖立坤及小组各成员
说明:现在的an droid应用市场中有众多的天气预报软件和万年历APR其中
只有少数APP将二者相结合,但是对于这两个方面的实现程度都并不够精细(作为一个信息提供平台但是信息提供不够详细)。

也就是说目前的所有APP并不能满足用户对于详细天气信息和万年历信息的随时随地的获取,需要有一个精细,方便,简单的万年历/ 天气预报获取APP。

定义
安卓APP基于安卓系统的移动开发应用程序。

《软件工程导论(第6版)》
张海潘牟永敏编着清华大学出版社
参考资料
2总体设计
需求规定
出行小贴士分为三大功能模块:天气信息功能模块、万年历功能模块、日程表功能模块。

天气信息功能模块主要用于实现天气信息的及时提供,以及之后为日程表模块提供一部分数据。

它的输入为用户的地理信息,输出为天气信息。

为日程表模块中天气判断功能提供数据。

万年历功能模块主要用于实现基本的日历提醒(包括公历和农历),以及日程表中时间的提供。

它基于一部分an droid的系统函数,输入为当前的日期,输出为农历日期以及部分节气、传统节日距现在天数。

日程表功能模块用于实现在用户事先设定日程表的前提下,对用户进行时间的提醒,事件天气的提醒(若设定事件进行需要晴天,当天气预报为阴或者雨雪天时会进行提醒)。

该模块的实现依赖于前两个功能模块提供的数据。

出行小贴士需要输入的模块有天气信息模块和日程表模块。

天气信息模块在用户需求或
者服务器提示信息更新时会发送用户地理信息到服务器,经过服务器处理后,返回当地的气
象信息。

日程表模块则根据用户事先输入的日程表信息和一部分条件,当天气、时间等信息更新时进行判断,并返回判断结果以及其对应的处理方式。

运行环境
a.出行小贴士的运行平台是an droid系统平台,同时最低运行版本为an droid ,故需
要一台系统版本在an droid以上的手机才可运行外存容量、联机或脱机、媒体及其
存储格式,设备的型号及数量。

b.由于部分功能依赖于网络数据,故需要良好的网络环境。

基本设计概念和处理流程
结构
* 日程表提醒
极端天气通知天气信息功能模块
天气信息获取
并显示
服务器■发送请求获取天气信
发送请求/接收并返回数

天气信
通过向服务器发出请求获取对应位置天气信息。

向用户显示对应天气信息。

服务器■发送请求获取天气信
天气信息功能模块包括:
a)定位:通过调用An droid的GPS功能获取当前所在位置。

b)天气信息获取:
c)天气信息显示:
2)万年历功能模块
万年历功能模块包括获取系统日期时间,计算万年历信息,显示万年历信息三部分。

a)获取系统日期时间:通过函数调用获取当前的系统时间和日期。

b)计算万年历信息:通过一定的算法获取对应日期的万年历信息。

c)显示万年历信息:将处理完毕的万年历信息显示出来。

3)日程表功能模块
日程表功能模块包括创建日程表,修改日程表,判断日程表条件。

a)创建日程表:创建某天的日程表。

b)修改日程表:更改日程表的内容。

c)判断日程表条件:通过天气信息等条件,对即将发生的日程表事件进行判断,判断是否适合进行该事件。

功能器求与程序的关系
人工处理过程
本软件系统的工作过程中,唯一需要的人工操作是定期的对服务器和软件进行维护和更新。

尚未问决的问题
尚未解决的问题主要是:天气信息的获取渠道,目前指定的方案有:从一部分天气信息网上扒取信息;获取一定的接口,从接口中获取数据。

3 接口设计
用户接口
用户在使用该软件时,可以直接通过点击界面中的对应按钮进行操作,只有当用户当前网络不可用以及GPS定位服务不可用的情况下会进行错误提示,其他可能的错误操作都会在进行设计时进行避免。

外部接口
本软件并不调用其他的Android 应用,同时在服务器方面只是进行对于天气信息的获取以及更新相应的数据库条目。

客户端调用了百度提供的定位SDK。

内部接口
天气信息模块和万年历模块都会在日程表模块调用时提供所需的数据,同时在天气信息
模块进行信息更新时,会访问保存在本地数据库中的日程表中对应的信息进行条件判断。

4 运行设计
运行模块组合
不同的模块除了在主界面会显示缩略信息外,其他情况下同一时间用户只能使用一个功能模块。

但是各个模块在内部功能实现时具有相互调用的关系。

运行控制
运行控制方面,在Android 端会通过界面引导使用户执行正确的操作,在用户做出可能的错误操作时也能进行对应的响应和提示。

运行时间
说明每种运行模块组合将占用各种资源的时间。

APP运行占用时间最多的是。

5系统数据结构设计
逻辑结构设计要点
服务器天气数据字典:
客户端日程表字典:
物理结构设计要点
服务器天气数据保存在服务器端的数据库中,每过一定周期进行更新。

在用户需求数据时,数据进行加密传输。

客户日程表字典保存在用户本地数据库,根据用户需求进行变更。

数据结构与程序的关系
用户通过天气信息功能模块获取天气信息(从服务器获取数据),用户在日程表功能模块更改日程表信息。

同时在客户端在判断条件成立时会进行事件是否合适的提示(天气、时间等因素的不合适时会进行提示)。

6系统出错处理设计
出错信息
补救措施
我们对于本程序可能发生的错误进行了分析,分别进行了不同的处理。

主要的错误可能有:
a.网络连接失败:除了连接失败外,还有可能出现连接超时,有可能是用户关闭了网
络连接功能或者处在信号差的环境中,提示用户打开网络连接功能或者提示用户重
试。

b.定位失败:有可能是用户处于不可定位的位置或者未打开GPS功能,提示用户打开
GPS功能或者重试。

系统维护设计
服务器端数据库每过一定的周期进行更新,并且在一定时间后进行备份。

这样有利于服
务器维护的自动化和简单化。

客户端本地数据库管理依赖于用户的使用习惯。

当客户端卸载时,数据库会删除,防止
数据被泄露。

7天气信息功能模块设计说明
程序描述
该模块主要用于获取用户所在位置的天气信息(包括温度,湿度,天气,风级等信息),一方面向用户提供完整及时的信息,另一方面为之后的功能模块提供部分重要信息。

在获取信息方面,是在后台进行信息的发送和获取。

功能
说明该程序应具有的功能,可采用IPO 图(即输入一处理一输出图)的形式。

性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。

输人项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。

数量和频度、输入媒体、输入数据的来源和安全保密条件等等。

输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。

详细说明本程序所选用的算法,具体的计算公式和计算步骤。

流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。

接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说
明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。

存储分配
根据需要,说明本程序的存储分配。

注释设计
说明准备在本程序中安排的注释,如:
a.加在模块首部的注释;
b.加在各分枝点处的注释;
c.对各变量的功能、范围、缺省条件等所加的注释;
d.对使用的逻辑所加的注释等等。

限制条件
说明本程序运行中所受到的限制条件。

测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。

尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。

8 万年历功能模块设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。

以下给出的提纲是针对一般情况的。

对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。

程序描述
给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?是否子程序?是可重人的还是不可重人的?有无覆盖要求?是顺序处理还是并发处理等)。

功能
说明该程序应具有的功能,可采用IPO 图(即输入一处理一输出图)的形式。

性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。

输人项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。

数量和频度、输入媒体、输入数据的来源和安全保密条件等等。

输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。

详细说明本程序所选用的算法,具体的计算公式和计算步骤。

流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。

接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。

存储分配
根据需要,说明本程序的存储分配。

注释设计
说明准备在本程序中安排的注释,如:
e.加在模块首部的注释;
f.加在各分枝点处的注释;
g.对各变量的功能、范围、缺省条件等所加的注释;
h.对使用的逻辑所加的注释等等。

限制条件
说明本程序运行中所受到的限制条件。

测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。

尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。

9 日程表功能模块设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。

以下给出的提纲是针对一般情况的。

对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。

程序描述
给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?是否子程序?是可重人的还是不可重人的?有无覆盖要求?是顺序处理还是并发处理等)。

功能
说明该程序应具有的功能,可采用IPO 图(即输入一处理一输出图)的形式。

性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。

输人项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。

数量和频度、输入媒体、输入数据的来源和安全保密条件等等。

输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。

详细说明本程序所选用的算法,具体的计算公式和计算步骤。

流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。

接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。

存储分配
根据需要,说明本程序的存储分配。

注释设计
说明准备在本程序中安排的注释,如:
i.加在模块首部的注释;
j.加在各分枝点处的注释;
k.对各变量的功能、范围、缺省条件等所加的注释;
l.对使用的逻辑所加的注释等等。

限制条件
说明本程序运行中所受到的限制条件。

测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。

尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。

相关文档
最新文档