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

上传人:b****4 文档编号:5003267 上传时间:2022-12-12 格式:DOCX 页数:13 大小:223.43KB
下载 相关 举报
出行小贴士app概要设计说明书.docx_第1页
第1页 / 共13页
出行小贴士app概要设计说明书.docx_第2页
第2页 / 共13页
出行小贴士app概要设计说明书.docx_第3页
第3页 / 共13页
出行小贴士app概要设计说明书.docx_第4页
第4页 / 共13页
出行小贴士app概要设计说明书.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

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

《出行小贴士app概要设计说明书.docx》由会员分享,可在线阅读,更多相关《出行小贴士app概要设计说明书.docx(13页珍藏版)》请在冰豆网上搜索。

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

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

概要设计说明书

1引言

编写目的

目的

经过对“出行小贴士”项目进行详细调查研究,初步拟定项目实现报告,明确开发风险及其所带来的经济效益,对软件开发中将要面临的问题及其解决方案进行可行性分析。

预期读者

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

背景

项目名称:

出行小贴士

用户:

任何需要即时获取天气和日历信息的android智能手机用户

工程组织者:

指导教师-张强老师,开发小组-肖立坤及小组各成员

说明:

现在的android应用市场中有众多的天气预报软件和万年历APP,其中只有少数APP将二者相结合,但是对于这两个方面的实现程度都并不够精细(作为一个信息提供平台但是信息提供不够详细)。

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

定义

安卓APP:

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

参考资料

《软件工程导论(第6版)》张海潘牟永敏编著清华大学出版社

2总体设计

需求规定

出行小贴士分为三大功能模块:

天气信息功能模块、万年历功能模块、日程表功能模块。

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

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

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

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

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

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

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

INPUT输入

PROCESS处理

OUTPUT输出

LOAD负载量

用户地理信息(通过GPS定位获取)

提交到服务器,在数据库查询

对应地区的天气信息

根据服务器性能而定

日程信息

存储在本地数据库,在天气等信息更新时进行判断处理

在对应条件成立时使用toast进行提醒

在本地进行数据处理,在数据更新时会对所有条件进行判断

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

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

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

运行环境

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

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

基本设计概念和处理流程

结构

1)天气信息功能模块

天气信息功能模块包括:

天气信息获取,天气信息显示,定位三部分。

a)定位:

通过调用Android的GPS功能获取当前所在位置。

b)天气信息获取:

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

c)天气信息显示:

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

2)万年历功能模块

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

a)获取系统日期时间:

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

b)计算万年历信息:

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

c)显示万年历信息:

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

3)日程表功能模块

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

a)创建日程表:

创建某天的日程表。

b)修改日程表:

更改日程表的内容。

c)判断日程表条件:

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

 

功能器求与程序的关系

天气信息获取

万年历

地址信息获取

日程表信息录入

天气信息提示

万年历信息

日程表

人工处理过程

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

尚未问决的问题

尚未解决的问题主要是:

天气信息的获取渠道,目前指定的方案有:

从一部分天气信息网上扒取信息;获取一定的接口,从接口中获取数据。

3接口设计

用户接口

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

外部接口

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

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

内部接口

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

4运行设计

运行模块组合

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

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

运行控制

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

运行时间

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

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

5系统数据结构设计

逻辑结构设计要点

服务器天气数据字典:

属性名

存出代码

类型

备注

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

活动发生地点

物理结构设计要点

服务器天气数据保存在服务器端的数据库中,每过一定周期进行更新。

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

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

数据结构与程序的关系

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

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

6系统出错处理设计

出错信息

错误类型

原因

解决方法

网络连接失败

用户端网络连接出现问题

提示用户检查网络连接

定位失败

用户GPS功能未开启

提示用户打开GPS功能

补救措施

我们对于本程序可能发生的错误进行了分析,分别进行了不同的处理。

主要的错误可能有:

a.网络连接失败:

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

b.定位失败:

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

系统维护设计

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

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

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

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

 

7天气信息功能模块设计说明

程序描述

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

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

功能

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

性能

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

输人项

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

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

输出项

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

算法

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

流程逻辑

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

接口

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

存储分配

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

注释设计

说明准备在本程序中安排的注释,如:

a.加在模块首部的注释;

b.加在各分枝点处的注释;

c.对各变量的功能、范围、缺省条件等所加的注释;

d.对使用的逻辑所加的注释等等。

限制条件

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

测试计划

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

尚未解决的问题

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

8万年历功能模块设计说明

从本章开始,逐个地给出各个层次中的每个程序的设计考虑。

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

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

程序描述

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

功能

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

性能

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

输人项

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

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

输出项

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

算法

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

流程逻辑

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

接口

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

存储分配

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

注释设计

说明准备在本程序中安排的注释,如:

e.加在模块首部的注释;

f.加在各分枝点处的注释;

g.对各变量的功能、范围、缺省条件等所加的注释;

h.对使用的逻辑所加的注释等等。

限制条件

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

测试计划

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

尚未解决的问题

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

9日程表功能模块设计说明

从本章开始,逐个地给出各个层次中的每个程序的设计考虑。

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

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

程序描述

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

功能

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

性能

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

输人项

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

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

输出项

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

算法

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

流程逻辑

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

接口

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

存储分配

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

注释设计

说明准备在本程序中安排的注释,如:

i.加在模块首部的注释;

j.加在各分枝点处的注释;

k.对各变量的功能、范围、缺省条件等所加的注释;

l.对使用的逻辑所加的注释等等。

限制条件

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

测试计划

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

尚未解决的问题

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1