出行小贴士APP概要设计说明书.docx
- 文档编号:23244493
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:15
- 大小:223.49KB
出行小贴士APP概要设计说明书.docx
《出行小贴士APP概要设计说明书.docx》由会员分享,可在线阅读,更多相关《出行小贴士APP概要设计说明书.docx(15页珍藏版)》请在冰豆网上搜索。
出行小贴士APP概要设计说明书
概要设计说明书
1引言
1.1编写目的
1.1.1目的
经过对“出行小贴士”项目进行详细调查研究,初步拟定项目实现报告,明确开发风险及其所带来的经济效益,对软件开发中将要面临的问题及其解决方案进行可行性分析。
1.1.2预期读者
程序开发人员,小组成员,指导老师,以及对本“出行小贴士”有兴趣的爱好者。
1.2背景
1.2.1项目名称:
出行小贴士
1.2.2用户:
任何需要即时获取天气和日历信息的android智能手机用户
1.2.3工程组织者:
指导教师-张强老师,开发小组-肖立坤及小组各成员
1.2.4说明:
现在的android应用市场中有众多的天气预报软件和万年历APP,其中只有少数APP将二者相结合,但是对于这两个方面的实现程度都并不够精细(作为一个信息提供平台但是信息提供不够详细)。
也就是说目前的所有APP并不能满足用户对于详细天气信息和万年历信息的随时随地的获取,需要有一个精细,方便,简单的万年历/天气预报获取APP。
1.3定义
安卓APP:
基于安卓系统的移动开发应用程序。
1.4参考资料
《软件工程导论(第6版)》张海潘牟永敏编著清华大学出版社
2总体设计
2.1需求规定
出行小贴士分为三大功能模块:
天气信息功能模块、万年历功能模块、日程表功能模块。
天气信息功能模块主要用于实现天气信息的及时提供,以及之后为日程表模块提供一部分数据。
它的输入为用户的地理信息,输出为天气信息。
为日程表模块中天气判断功能提供数据。
万年历功能模块主要用于实现基本的日历提醒(包括公历和农历),以及日程表中时间的提供。
它基于一部分android的系统函数,输入为当前的日期,输出为农历日期以及部分节气、传统节日距现在天数。
日程表功能模块用于实现在用户事先设定日程表的前提下,对用户进行时间的提醒,事件天气的提醒(若设定事件进行需要晴天,当天气预报为阴或者雨雪天时会进行提醒)。
该模块的实现依赖于前两个功能模块提供的数据。
INPUT输入
PROCESS处理
OUTPUT输出
LOAD负载量
用户地理信息(通过GPS定位获取)
提交到服务器,在数据库查询
对应地区的天气信息
根据服务器性能而定
日程信息
存储在本地数据库,在天气等信息更新时进行判断处理
在对应条件成立时使用toast进行提醒
在本地进行数据处理,在数据更新时会对所有条件进行判断
出行小贴士需要输入的模块有天气信息模块和日程表模块。
天气信息模块在用户需求或者服务器提示信息更新时会发送用户地理信息到服务器,经过服务器处理后,返回当地的气象信息。
日程表模块则根据用户事先输入的日程表信息和一部分条件,当天气、时间等信息更新时进行判断,并返回判断结果以及其对应的处理方式。
2.2运行环境
a.出行小贴士的运行平台是android系统平台,同时最低运行版本为android4.0.3,故需要一台系统版本在android4.0.3以上的手机才可运行外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量。
b.由于部分功能依赖于网络数据,故需要良好的网络环境。
2.3基本设计概念和处理流程
2.4结构
1)天气信息功能模块
天气信息功能模块包括:
天气信息获取,天气信息显示,定位三部分。
a)定位:
通过调用Android的GPS功能获取当前所在位置。
b)天气信息获取:
通过向服务器发出请求获取对应位置天气信息。
c)天气信息显示:
向用户显示对应天气信息。
2)万年历功能模块
万年历功能模块包括获取系统日期时间,计算万年历信息,显示万年历信息三部分。
a)获取系统日期时间:
通过函数调用获取当前的系统时间和日期。
b)计算万年历信息:
通过一定的算法获取对应日期的万年历信息。
c)显示万年历信息:
将处理完毕的万年历信息显示出来。
3)日程表功能模块
日程表功能模块包括创建日程表,修改日程表,判断日程表条件。
a)创建日程表:
创建某天的日程表。
b)修改日程表:
更改日程表的内容。
c)判断日程表条件:
通过天气信息等条件,对即将发生的日程表事件进行判断,判断是否适合进行该事件。
2.5功能器求与程序的关系
天气信息获取
万年历
地址信息获取
日程表信息录入
天气信息提示
√
万年历信息
√
日程表
√
√
√
√
2.6人工处理过程
本软件系统的工作过程中,唯一需要的人工操作是定期的对服务器和软件进行维护和更新。
2.7尚未问决的问题
尚未解决的问题主要是:
天气信息的获取渠道,目前指定的方案有:
从一部分天气信息网上扒取信息;获取一定的接口,从接口中获取数据。
3接口设计
3.1用户接口
用户在使用该软件时,可以直接通过点击界面中的对应按钮进行操作,只有当用户当前网络不可用以及GPS定位服务不可用的情况下会进行错误提示,其他可能的错误操作都会在进行设计时进行避免。
3.2外部接口
本软件并不调用其他的Android应用,同时在服务器方面只是进行对于天气信息的获取以及更新相应的数据库条目。
客户端调用了XX提供的定位SDK。
3.3内部接口
天气信息模块和万年历模块都会在日程表模块调用时提供所需的数据,同时在天气信息模块进行信息更新时,会访问保存在本地数据库中的日程表中对应的信息进行条件判断。
4运行设计
4.1运行模块组合
不同的模块除了在主界面会显示缩略信息外,其他情况下同一时间用户只能使用一个功能模块。
但是各个模块在内部功能实现时具有相互调用的关系。
4.2运行控制
运行控制方面,在Android端会通过界面引导使用户执行正确的操作,在用户做出可能的错误操作时也能进行对应的响应和提示。
4.3运行时间
说明每种运行模块组合将占用各种资源的时间。
APP运行占用时间最多的是。
5系统数据结构设计
5.1逻辑结构设计要点
服务器天气数据字典:
属性名
存出代码
类型
备注
省
Province
Int
省代码
市
City
Int
市代码
天气
Weather
Int
天气代码
最低温度
L_Temp
Int
最低温度
最高温度
H_Temp
Int
最高温度
风级
L_Wind
Int
风的级数
湿度
W_humidity
Int
空气湿度
客户端日程表字典:
属性名
存出代码
类型
备注
省
Province
Int
省代码
市
City
Int
市代码
适宜天气
B_Weather
Int
对应活动最适宜的天气
开始时间
S_time
Date
活动开始时间
结束时间
E_time
Date
活动结束时间
活动名
Name
Varchar
活动名称
活动地点
E_Location
varchar
活动发生地点
5.2物理结构设计要点
服务器天气数据保存在服务器端的数据库中,每过一定周期进行更新。
在用户需求数据时,数据进行加密传输。
客户日程表字典保存在用户本地数据库,根据用户需求进行变更。
5.3数据结构与程序的关系
用户通过天气信息功能模块获取天气信息(从服务器获取数据),用户在日程表功能模块更改日程表信息。
同时在客户端在判断条件成立时会进行事件是否合适的提示(天气、时间等因素的不合适时会进行提示)。
6系统出错处理设计
6.1出错信息
错误类型
原因
解决方法
网络连接失败
用户端网络连接出现问题
提示用户检查网络连接
定位失败
用户GPS功能未开启
提示用户打开GPS功能
6.2补救措施
我们对于本程序可能发生的错误进行了分析,分别进行了不同的处理。
主要的错误可能有:
a.网络连接失败:
除了连接失败外,还有可能出现连接超时,有可能是用户关闭了网络连接功能或者处在信号差的环境中,提示用户打开网络连接功能或者提示用户重试。
b.定位失败:
有可能是用户处于不可定位的位置或者未打开GPS功能,提示用户打开GPS功能或者重试。
6.3系统维护设计
服务器端数据库每过一定的周期进行更新,并且在一定时间后进行备份。
这样有利于服务器维护的自动化和简单化。
客户端本地数据库管理依赖于用户的使用习惯。
当客户端卸载时,数据库会删除,防止数据被泄露。
7天气信息功能模块设计说明
7.1程序描述
该模块主要用于获取用户所在位置的天气信息(包括温度,湿度,天气,风级等信息),一方面向用户提供完整及时的信息,另一方面为之后的功能模块提供部分重要信息。
在获取信息方面,是在后台进行信息的发送和获取。
7.2功能
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
7.3性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
7.4输人项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。
数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
7.5输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。
7.6算法
详细说明本程序所选用的算法,具体的计算公式和计算步骤。
7.7流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
7.8接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。
7.9存储分配
根据需要,说明本程序的存储分配。
7.10注释设计
说明准备在本程序中安排的注释,如:
a.加在模块首部的注释;
b.加在各分枝点处的注释;
c.对各变量的功能、范围、缺省条件等所加的注释;
d.对使用的逻辑所加的注释等等。
7.11限制条件
说明本程序运行中所受到的限制条件。
7.12测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。
7.13尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。
8万年历功能模块设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。
以下给出的提纲是针对一般情况的。
对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
8.1程序描述
给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?
是否子程序?
是可重人的还是不可重人的?
有无覆盖要求?
是顺序处理还是并发处理等)。
8.2功能
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
8.3性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
8.4输人项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。
数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
8.5输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。
8.6算法
详细说明本程序所选用的算法,具体的计算公式和计算步骤。
8.7流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
8.8接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。
8.9存储分配
根据需要,说明本程序的存储分配。
8.10注释设计
说明准备在本程序中安排的注释,如:
e.加在模块首部的注释;
f.加在各分枝点处的注释;
g.对各变量的功能、范围、缺省条件等所加的注释;
h.对使用的逻辑所加的注释等等。
8.11限制条件
说明本程序运行中所受到的限制条件。
8.12测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。
8.13尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。
9日程表功能模块设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。
以下给出的提纲是针对一般情况的。
对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
9.1程序描述
给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?
是否子程序?
是可重人的还是不可重人的?
有无覆盖要求?
是顺序处理还是并发处理等)。
9.2功能
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
9.3性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
9.4输人项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。
数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
9.5输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。
9.6算法
详细说明本程序所选用的算法,具体的计算公式和计算步骤。
9.7流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
9.8接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。
9.9存储分配
根据需要,说明本程序的存储分配。
9.10注释设计
说明准备在本程序中安排的注释,如:
i.加在模块首部的注释;
j.加在各分枝点处的注释;
k.对各变量的功能、范围、缺省条件等所加的注释;
l.对使用的逻辑所加的注释等等。
9.11限制条件
说明本程序运行中所受到的限制条件。
9.12测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。
9.13尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出行 小贴士 APP 概要 设计 说明书