第六次会议
一.会议目的
- 汇总概要设计文档
- 针对各种细节方面进行进一步讨论
- 计划下一周任务
二.会议时间及地点
2019.4.26 10:00-10:40
华中农业大学桃园食堂维克多
三.会议人员
小组全体成员
四.会议内容
本次会议总,将各个成员分配的概要设计文档的任务进行了汇总以及讨论修改
下周任务,学习Android UI界面,尝试制作出登陆主页面,并试着做出其他主要的页面
附:汇总得到的概要设计文档:(由于格式问题,另上传原文件)
概要设计文档
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 |
全部 |
完成第二次编写 |
2、 数据设计
本部分主要描述软件所涉及的外部数据的结构描述。如果数据以数据库文件呈现,则描述表的名称和表字段结构;如果数据以外部文件形式呈现,则要描述文件的内部结构。
2.1数据对象和形成的数据结构
作旅游”app所设计的主要数据结构如下:
旅游攻略表:旅游地点,旅游人数、旅游天数、花费金额。
社区表:用户编号,用户昵称,博客编号,博客名,发博客所在日期。
个人信息表:用户编号,用户昵称,用户密码,个人收藏,偏好旅游路线、发表的旅游攻略。
用户总表:用户名,用户密码,用户注册用手机号,用户是否绑定邮箱号,用户邮箱号,用户创建日期,用户更新日期。
2.2 文件和数据库结构
描述文件的数据库结构。
2.2.1 外部文件结构
包括文件的逻辑结构、逻辑记录描述、访问方法。
2.2.2全局数据
“做作旅游”app的全局变量有:
系统时钟Timer
2.2.3 文件和数据交叉索引
用户信息文件在用户管理和用户个人信息(即“我的”)功能中;
旅游路线表用于旅游搜索功能中;
社区表文件用于社区功能中;
个人信息表文件用于个人信息模块记录搜索偏好功能中。
3、体系结构设计
这一部分主要描述软件的逻辑组成接口,即软件结构图的绘制。
3.1数据和控制流复审
对需求规格说明或产品规格说明中要实现的功能进行归纳分析,对涉及的数据和控制流进行汇总和归并,为概要设计做准备。
一般对数据流图的精化分析包括两个方面的内容,一是审查整个数据流图,查看有没有遗漏的地方,并补充和完善;二是分析每一个数据流图,去掉一些细节的内容,这里去掉的是数据存储和外部用户。
总的数据流图如下表所示:
对部分数据流图进行进化:
(1)、对客服部分的精化
(2)、对旅游圈部分的精化
3.2得出的程序结构
根据复审的数据流图(活动图),逐步得出软件的逻辑结构组成。利用优化思想,对软件结构图进行优化设计,得出模块层次结构适中的软件结构图。如下所示:
4、界面设计
这一部分主要给出界面设计的总体要求和界面序列,以及界面设计规约。
4.1人机界面规约
给定界面风格、约定和操作要求,设计出用户的多有界面。
(1)、登录首界面:登录该界面需要输入登录名和短信验证码,用户名是合法的用户手机号,通过获取验证码的方式进行登录。在登录界面还应该有新用户注册功能。
(2)、攻略查询界面:该界面首先提供搜索内容,包含出游地点,人数,时间以及费用。用户输入自己的数据以后,系统会根据用户需求给出一系列合适的旅游攻略。
(3)、客服界面:该界面提供人工客服,用户可以根据自己对产品的使用提出相应的意见,也可以提交改良版的旅游攻略以及举报不良内容。
(4)、旅游圈界面:用户可以浏览他人的旅游攻略,也可以上传自己的攻略。
(5)、我的信息界面:该界面主要能够进行个人信息设置和显示偏好的旅游攻略,设置个人信息包括头像,昵称,性别,所在大学等;显示的偏好旅游攻略应该有旅游人数,旅游类型等。
(6)、推荐界面:该界面主要根据用户的搜索内容推荐合适他的,与他喜好相吻合的攻略内容,也会包含默认推荐。
(7)、总控界面:是该软件的主界面,主要完成与用户的交互任务,接收用户请求,并调用相应模块。
4.2人机界面设计规约
给出界面序列关系,以及每个界面的操作规则和处理规则,该软件有以下几种界面序列。
登录首界面:
新用户登录序列:注册—进入总控界面;
老用户登录序列:登录—进入总控界面;
总控界面与攻略查询界面序列:总控界面—按所输入的需求信息进行查询—得到查询结果;
总控界面与客服界面序列:总控界面—客服界面序列—与客服进行沟通交流—达到目的;
总控界面与旅游圈界面序列:总控界面—浏览旅游圈界面;
总控界面与我的信息界面序列:总控界面—个人信息序列—修改个人信息并保存—返回个人信息界面;
总控界面与推荐界面序列:总控界面—浏览推荐界面信息。
5、接口设计
本部分主要描述模块的接口参数和类型等。
5.1外部接口设计
与外部系统或设备的连接关系和通信方式。
5.1.1外部数据接口
描述外部数据格式和规范等。
5.1.2外部系统或设备接口
与外部系统或设备接口的连接方式和通信方式。
5.2内部接口设计规约
内部接口是指软件逻辑模块之间的调用接口。内部接口设计规约定义内部模块之间的调用关系和传递的数据结构。
5.2.1内部模块接口调用关系
内部模块的接口调用关系可参考下图,为了便于讨论,我们给每个模块一个编号,并对结构图进一步进行优化,他们的接口调用关系如下:
其余待更新
6.模块过程设计
6.1查阅课程子系统
1.外部用户
用户:系统的合法用户。
2.功能
通过搜索出发地与目的地查询路线;
通过出行方式查询路线;
通过出行预算查询路线。
3.用例模型视图
4.活动图
5.场景描述
用例名称:通过出发地和目的地查询路线
范围:查阅路线子系统
级别:重要
主要参与者:用户(注意身份的合法性)
涉众及其关注点:无。
前置条件:合法用户。
成功保证:进入app。
主成功场景:
(1)选择按照课程名称查阅课程按钮。
(2)输入课程名称。
(3)得到查阅的课程结果。
扩展:
(2a)选择了按照其他条件查找课程的按钮
特殊需求:无。
技术和数据变元素:采用数据库管理。
发生频率:经常
用例名称:通过上课老师查阅课程。
范围:查阅课程子系统。
级别:重要。
主要参与者:用户(关注身份的合法性)。
涉众及其关注点:无。
前置条件:合法用户。
成功保证:进入app。
主成功场景:
(1)选择按照按照出发地与目的地查询按钮。
(2)输入出发地与目的地。
(3)得到查询的路线结果。
扩展:
(2a)选择了按照其他条件查找路线的按钮
特殊需求:无。
技术和数据变元素:采用数据库管理。
发生频率:经常
用例名称:通过出行方式查询路线。
范围:查询路线子系统。
级别:重要。
主要参与者:用户(关注身份的合法性)。
涉众及其关注点:无。
前置条件:合法用户。
成功保证:进入app。
主成功场景:
(1)选择按照出行方式查询路线按钮。
(2)选择出行方式。
(3)得到查询的路线结果。
扩展:
(2a)选择了按照其他条件查询路线的按钮
特殊需求:无。
技术和数据变元素:采用数据库管理。
发生频率:经常
6.2公告板子系统
1.外部用户
用户:系统的合法用户。
2.功能
跳转路线查询页面;
跳转百度网站。
3.用例模型视图、
4.活动图
5 .场景描述
用例名称:跳转路线查询界面。
范围:公告板子系统。
级别:重要。
主要参与者:用户(关注身份合法性)。
涉众及其关注点:无。
前置条件:合法用户。
成功保证:进入app并连接上互联网。
主成功场景:
(1)选择跳转路线查询按钮。
(2)跳转至路线查询页面。
扩展:
(2a)选择了跳转百度网站的按钮
特殊要求:无。
技术和数据变元素:无。
发生频率:经常
用例名称:跳转百度网站。
范围:公告板子系统。
级别:重要。
主要参与者:用户(关注身份合法性)。
涉众及其关注点:无。
前置条件:合法用户。
成功保证:进入app并连接上互联网。
主成功场景:
1) 选择跳转百度网站按钮。
2) 跳转至百度网站(仍在app内部)。
6.3社区子系统
1.外部用户
用户:系统的合法用户。
2.功能
用户发言;
用户评价路线;
用户推荐路线;
用户查看其他用户发言。
3.用例模型视图
4 .活动图
5.场景描述
用例名称:发言。
范围:社区子模块。
级别:重要。
主要参与者:用户。
涉众及其关注点:用户关注如何发言。
前置条件:合法用户。
成功保证:登录成功。
主成功场景:
(1)在文本框中输入想要发言的内容。
(2)点击发言按钮以请求发言。
(3)发送发言请求。
(4)系统同意发言请求。
(5)系统接受发言文本并在界面上显示出来。
拓展:
(5a)输入内容是空白,发言失败。
特殊需求:无
技术和数据变元素:用户的发言内容既可以用文件来存储,也可以在数据库中存储和管理。
发生频率:经常。
用例名称:评价路线。
范围:社区子模块。
级别:重要。
主要参与者:用户。
涉众及其关注点:用户关注如何评价路线。
前置条件:合法用户。
成功保证:登录成功。
主成功场景:
(1)在文本框中输入想要评价路线的内容。
(2)点击发言按钮以请求评价路线。
(3)发送评价路线请求。
(4)系统同意评价路线请求。
(5)系统接受评价路线文本并在界面上显示出来。
拓展:
(5a)输入内容是空白,评价路线失败。
特殊需求:无
技术和数据变元素:用户的评价路线内容既可以用文件来存储,也可以在数据库中存储和管理。
发生频率:经常。
用例名称:推荐路线。
范围:社区子模块。
级别:重要。
主要参与者:用户。
涉众及其关注点:用户关注如何推荐路线。
前置条件:合法用户。
成功保证:登录成功。
主成功场景:
(1)在文本框中输入想要推荐路线的内容。
(2)点击发言按钮以请求推荐路线。
(3)发送推荐路线请求。
(4)系统同意推荐路线请求。
(5)系统接受推荐路线文本并在界面上显示出来。
拓展:
(5a)输入内容是空白,推荐路线失败。
特殊需求:无
技术和数据变元素:用户的推荐路线内容既可以用文件来存储,也可以在数据库中存储和管理。
发生频率:经常。
用例名称:查看。
范围:社区子模块。
级别:重要。
主要参与者:用户。
涉众及其关注点:用户关注如何查看。
前置条件:合法用户。
成功保证:登录成功。
主成功场景:
(1)点击社区板块。
(2)进入社区板块。
(3)查看本页发言、评价路线、推荐路线的内容。
(4)单击下一页查看下一页的发言、评价路线、推荐路线的内容。
拓展:
(5a)无发言内容,查看失败。
特殊需求:无
技术和数据变元素:用户的评价路线内容既可以用文件来存储,也可以在数据库中存储和管理。
发生频率:经常。
6.4我的子系统
1.外部用户
用户:系统的合法用户。
2.功能
设置个人信息(设置昵称等);
查看偏好旅程。
3.用例模型视图
4 .活动图
5.场景描述
用例名称:设置个人信息(设置昵称)
范围:“我的”子系统。
级别:重要。
主要参与者:用户(关注身份的合法性)。
涉众及其关注点:无。
前置条件:合法用户。
成功保证:进入app。
主成功场景:
(1)选择设置个人信息按钮。
(2)输入昵称。
(3)保存修改的信息。
扩展:
(2a)输入不合法字符空格,单击重填;
特殊需求:无。
技术和数据变元素:采用数据库管理。
发生频率:经常
用例名称:查看偏好课程
范围:“我的”子系统。
级别:重要。
主要参与者:用户(关注身份的合法性)。
涉众及其关注点:无。
前置条件:合法用户。
成功保证:进入app。
主成功场景:
(1)选择我的偏好旅程按钮。
(2)得到偏好旅程的相关信息。
扩展:
无
特殊需求:无。
技术和数据变元素:采用数据库管理。
发生频率:经常
7.需求交叉索引
描述需求与模块的关系,存在交叉部分,即共享模块的调用关系。
用户管理:登录,注册
搜索相关旅游路线:按目的地搜索
社区讨论:保存记录发言,浏览其他发言。
公告板服务:联系客服反馈信息
个人页面:设置个人信息(昵称,密码),查看个人收藏。
8.测试部分
本部分描述测试的原则和方法,以及测试策略和计划
8.1 测试方针
针对主要功能优先测试
8.2 特殊考虑
考虑多部手机同时运行的稳定性,建议压力测试