概要设计文档
1、引言部分
引言部分主要说明编写目的、系统的范围和参考资料等。
1.1目的
该文档的目的是描述旅游软件的概要设计,主要内容包括系统功能简介、系统结构设计、模块设计和界面设计等。
本文档的预期读者包括:设计人员,开发人员,项目管理人员,测试人员。
1.2 范围
1.2.1 系统目标
我们设计这款软件主要目的是给大学生提供一款主要针对他们的旅游方式推荐旅游攻略的软件,让他们在想出游的时候可以根据自己的要求找到合适的地方可以去,既满足了自己的需求,同时也领略了更多的风光。同时,系统也可以根据该用户较多的选择性给其推荐路线,以及用户也可以在该软件上分享自己认为好的旅游攻略以及心得。
1.2.2 主要软件需求
该系统的主要功能包括:
系统初始化设置
用户管理
查询攻略
客服服务
旅游圈讨论
个人页面
1.2.3 软件设计约束、限制
本项目要求在Android Studio上进行开发,需要JDK支持,开发经费较少,开发时间为三个月左右。
1.3缩写说明
无。
1.4术语定义
无。
1.5参考资料
小组成员讨论提供的软件使用要求说明
小组讨论提供的报表样板
窦万峰.软件工程与实践[M].北京:机械工业出版社,2017
1.6版本信息
如表1所示。
表1 具体版本信息
修改编号 | 修改日期 | 修改后版本 | 修改位置 | 修改内容概述 |
1 | 2019-3-24 | 1.0 | 全部 | 完成第一次编写 |
2 | 2019-5-8 | 2.0 | 全部 | 完成第二次编写 |
3 | 2019-6-3 | 3.0 | 全部 | 完成第三次编写 |
2、数据设计
本部分主要描述软件所涉及的外部数据的结构描述。如果数据以数据库文件呈现,则描述表的名称和表字段结构;如果数据以外部文件形式呈现,则要描述文件的内部结构。
2.1数据对象和形成的数据结构
“做作旅游”app所设计的主要数据结构如下:
旅游攻略表:旅游地点,旅游人数、旅游天数、花费金额。
社区表:用户编号,用户昵称,博客编号,博客名,发博客所在日期。
个人信息表:用户编号,用户昵称,用户密码,个人收藏,偏好旅游路线、发表的旅游攻略。
用户总表:用户名,用户密码,用户注册用手机号,用户是否绑定邮箱号,用户邮箱号,用户创建日期,用户更新日期。
2.2 文件和数据库结构
描述文件的数据库结构。
2.2.1 外部文件结构
包括文件的逻辑结构、逻辑记录描述、访问方法。
2.2.2全局数据
“做作旅游”app的全局变量有:
系统时钟Timer
2.2.3 文件和数据交叉索引
用户信息文件在用户管理和用户个人信息(即“我的”)功能中;
旅游路线表用于旅游搜索功能中;
社区表文件用于社区功能中;
个人信息表文件用于个人信息模块记录搜索偏好功能中。
3、体系结构设计
这一部分主要描述软件的逻辑组成接口,即软件结构图的绘制。
3.1数据和控制流复审
对需求规格说明或产品规格说明中要实现的功能进行归纳分析,对涉及的数据和控制流进行汇总和归并,为概要设计做准备。
总的逻辑架构图:
类图
(1)、客服部分
(2)、旅游圈部分
(3)、个人信息部分
(4)、攻略查询部分
4、界面设计
这一部分主要给出界面设计的总体要求和界面序列,以及界面设计规约。
4.1人机界面规约
给定界面风格、约定和操作要求,设计出用户的多有界面。
(1)、登录首界面:登录该界面需要输入登录名和密码,在登录界面还应该有新用户注册功能。
(2)、攻略查询界面:该界面首先提供搜索内容,用户输入自己的数据以后,系统会根据用户需求给出一系列合适的旅游攻略。
(3)、客服界面:该界面提供人工客服,用户可以根据自己对产品的使用提出相应的意见,也可以提交改良版的旅游攻略以及举报不良内容。
(4)、旅游圈界面:用户可以浏览他人的旅游攻略,也可以上传自己的攻略。
(5)、我的信息界面:该界面主要能够进行个人信息设置和显示偏好的旅游攻略,设置个人信息包括头像,昵称,性别,所在大学等;显示的偏好旅游攻略应该有旅游人数,旅游类型等。
(6)、总控界面:是该软件的主界面,主要完成与用户的交互任务,接收用户请求,并调用相应模块。
4.2人机界面设计规约
给出界面序列关系,以及每个界面的操作规则和处理规则,该软件有以下几种界面序列。
登录首界面:
新用户登录序列:注册—进入总控界面;
老用户登录序列:登录—进入总控界面;
总控界面与攻略查询界面序列:总控界面—按所输入的需求信息进行查询—得到查询结果;
总控界面与客服界面序列:总控界面—客服界面序列—与客服进行沟通交流—达到目的;
总控界面与旅游圈界面序列:总控界面—浏览旅游圈界面;
总控界面与我的信息界面序列:总控界面—个人信息序列—修改个人信息并保存—返回个人信息界面;
总控界面与推荐界面序列:总控界面—浏览推荐界面信息。
5、接口设计
本部分主要描述模块的接口参数和类型等。
5.1外部接口设计
与外部系统或设备的连接关系和通信方式。
5.1.1外部数据接口
描述外部数据格式和规范等。
5.1.2外部系统或设备接口
与外部系统或设备接口的连接方式和通信方式。
5.2内部接口设计规约
内部接口是指软件逻辑模块之间的调用接口。内部接口设计规约定义内部模块之间的调用关系和传递的数据结构。
5.2.1内部模块接口调用关系
内部模块的接口调用关系可参考下图,为了便于讨论,我们给每个模块一个编号,并对结构图进一步进行优化。
6.模块过程设计
6.1查阅攻略子系统
6.1.1外部用户
用户:系统的合法用户。
6.2.2功能
通过目的地查询攻略
6.2.3主成功场景:
(1)选择按照目的地查询按钮。
(2)点击目的地。
(3)得到查询的攻略结果。
6.2旅游圈子系统
6.2.1外部用户
用户:系统的合法用户。
6.2.2功能
用户发言;
用户查看其他用户发言。
6.2.3主成功场景:
(1)查看他人旅游区动态。
(2)点击发言按钮以请求发言。
(3)发送发言请求。
(4)系统同意发言请求。
6.3客服子系统
6.3.1外部用户
用户:系统的合法用户。
6.3.2功能
查看客服信息等
6.3.3主成功场景:
(1)点击查看开发者信息。
(2查询开发者联系方式。
(3)举报用户或提交意见。
6.4我的子系统
6.4.1外部用户
用户:系统的合法用户。
6.4.2功能
查看更改个人信息昵称等;
6.4.3主成功场景:
(1)点击查看个人信息。
(2)输入更改昵称。
(3)保存修改的信息。
7.需求交叉索引
描述需求与模块的关系,存在交叉部分,即共享模块的调用关系。
7.1登录注册子系统
公共数据库可供用户使用。
7.2用户使用子系统
用户修改基本信息与管理员信息增删改查相互交叉引用。
7.3用户管理子系统
评论管理和用户评论互相交叉引用。
8.测试部分
本部分描述测试的原则和方法,以及测试策略和计划
8.1 测试方针
针对主要功能优先测试
8.2 特殊考虑
考虑多部手机同时运行的稳定性,建议压力测试