概要设计文档3.0

摘要:
大纲设计文件1.简介简介主要描述了编制目的、系统范围和参考资料。

概要设计文档

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数据和控制流复审

对需求规格说明或产品规格说明中要实现的功能进行归纳分析,对涉及的数据和控制流进行汇总和归并,为概要设计做准备。

总的逻辑架构图:

概要设计文档3.0第1张

类图

1)、客服部分

概要设计文档3.0第2张

2)、旅游圈部分

概要设计文档3.0第3张

3)、个人信息部分

概要设计文档3.0第4张

4)、攻略查询部分

概要设计文档3.0第5张

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 特殊考虑

考虑多部手机同时运行的稳定性,建议压力测试

免责声明:文章转载自《概要设计文档3.0》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Zabbix+Grafana 展示示例1蓝桥杯训练 | 递归与递推 | 01下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

google下载安装油猴

Tampermonkey 俗称“油猴子”,它其实是一个脚本引擎,它提供了脚本安装、标签中的脚本运行状况速览、自动更新检查等管理功能。它可以自由定制网页,实现你想要的各种功能:比如去除网页弹窗贴边广告,突破下载网盘文件限速,破解某些VIP的限制这些都是他的强大功能所在。比如你想要定制某一个功能,那么你只需往油猴子里面添加对应的脚本就可以了,而不用再安装其它浏...

iOS 审核被拒:Guideline 1.4.1

Guideline 1.4.1 - Safety - Physical Harm Your app provides health or medical recommendations, calculations, references, wellness reports, or diagnoses without including the source...

伟程君解决端口被占用问题(接口jmeter 本地端口被占用完了,jmeter报错的问题)(亲测是可以的)

1、在目录下创建文件local.conf(没有就创建目录和文件) touch/etc/sysctl.d/local.conf mkdir(创建文件夹) touch(创建文件) 2、往local.conf写入内容 net.inet.tcp.msl=1000 或者 0 默认是15000(15秒) 3、生效配置 cd 到 local.conf的目录下敲下面命令...

Navicat破解版下载安装

目录 【1】卸载 【2】下载安装Navicat for Permium 15.x 【3】复制注册机到navicat安装目录 【4】破解激活 不要再去搜索尝试其他人的破解方式,真是浪费时间!!!网上的所谓“Navicat Premium 15 破解补丁”,使用version.dll等破解的亲测不可用,还有一种使用“PatchNavicat.exe...

mock接口

## mock- 什么是 mock- 为什么要使用 mock- 怎么使用(两种方法)通过代码去制造假的输出。(结果)接口自动化测试客户端mock:通过代码去模拟假的接口返回数据。(访问接口的过程就可以省略) 服务 mock (mock server)开发的接口是在server, 真实的服务器。我就自己冒充开发人员,写一个假的服务器,写一个假的接口。##...

【原】移动web页面支持弹性滚动的3个方案

有段时间一直折腾移动端页面弹性滚动的各种问题,做了点研究,今天做个小分享~ 传统 pc 端中,子容器高度超出父容器高度,通常使用 overflow:auto 可出现滚动条拖动显示溢出的内容,而移动web开发中,由于浏览器厂商的系统不同、版本不同,导致有部分机型不支持对弹性滚动,从而在开发中制造了所谓的 BUG。   上图如果在PC端中,我们可以利用 pos...