软件概要设计说明书(初稿) 定稿
|
||||
|
《项目名称》
软件概要设计说明书
2020-04
版本变更历史
版本 |
提交日期 |
主要编制人 |
审核人 |
版本说明 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1引言... 4
1.1编写目的... 4
1.2范围... 4
1.2.1系统目标.. 4
1.2.2主要软件需求.. 4
1.2.3软件设计约束、限制... 4
1.3术语和缩略词.. 4
1.4参考资料... 4
2体系结构设计... 5
2.1 需求复审... 5
2.2 软件体系结构... 5
2.3 模块设计... 5
3接口设计.. 5
3.1用户接口... 5
3.2外部接口... 5
3.3内部接口... 6
3.3.1 内部模块间关系.. 6
3.3.2 接口数据描述... 6
4数据设计.. 6
4.1 数据结构... 6
4.2 文件和数据库结构.. 6
5 需求交叉索引... 6
6 测试部分... 6
1引言
1.1编写目的
该文档旨在明确预设计的小程序的目的、范围、定义和功能,作为小程序所有需求陈述的正式文档和概念模型,可为后续概要设计和详细设计阶段提供依据。为了描述华农图书馆占座小程序的功能和性能描述,重点描述了小程序的功能需求,并作为系统设计阶段的主要输入。
预期读者包括需求分析人员,设计人员,开发人员,项目管理人员,测试人员,用户。
1.2范围
1.2.1系统目标
开发此系统,目的在于缓解同学们在图书馆自习时出现的一些问题例如“进图书馆发现没座位”、“空座位上放置了许多书籍但是没有人”等等。
在用户遵守规则,合理使用的前提下,达到座位使用最大化,减少空间的浪费。
1.2.2主要软件需求
功能:占座-取消占座、查看空座位。
1.2.3软件设计约束、限制
为使软件得到同学们的认可并良好运行,在软件投入使用时需得到学校的大力支持。
技术上,编者多对C++有初步掌握,故在编写此适用于微信QQ的小程序可能会出现一些问题。
1.3术语和缩略词
小程序:小程序(Mini Program)是一种不需要下载安装即可使用的应用,由腾讯于2017年1月9日首次推出。这一应用形式能使用户不用再关心应用安装太多的问题,实现了应用“触手可及”的梦想,也体现了“用完即走”的理念。
1.4参考资料
[1]窦万峰.软件工程方法与实践(第三版).北京:机械工业出版社,2016
[2]窦万峰.软件工程实验教程 (第三版).北京:机械工业出版社,2016
2体系结构设计
2.1 需求复审
对于软件需求规格说明书中的数据流,实践过程中发现:违约、控制占座时间和检索读者位置较为困难,故将其取消。目前新数据流图如下
图1:顶层数据流图
图2:0层数据流图
图3:1层数据流图
2.2 软件体系结构
给出相应的软件体系结构图的表示,并使用文字描述对结构图进行总体解释说明。
如果采用结构化设计方法,采用合适的变换或事务设计方法,将数据流图映射得到软件模块结构图,并对其精化和优化。若采用面向对象设计方法,依据用例图及活动图的功能描述,给出包图、类图等描绘的软件体系结构。
2.3 模块设计
模块1:占座
模块2:取消占座
模块3:查看空座位
|
模块1:占座 |
模块2:取消占座 |
模块3:查看空座位 |
功能 |
用于同学们占座操作 |
用于同学们取消占座操作 |
用于同学们占座前查看空余空座位 |
输入数据 |
用户想要占座的位置 |
用户已占座的位置 |
无 |
处理过程 |
|
1.调用后台座位信息数据库 |
|
输出数据 |
占座成功 |
取消成功 |
显示空余座位 |
调用关系 |
后台座位信息数据库 |
后台座位信息数据库、占座用户状态 |
后台座位信息数据库 |
3接口设计
3.1用户接口
给出人机界面设计,包括界面风格、界面内容设计、界面序列关系、每个界面的操作规则和处理规则等。
3.2外部接口
说明本系统同外界的所有接口的交互包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。需要给出外部数据接口的描述(如数据格式和规范等)、与外部系统或设备接口的连接方式和通信方式。
3.3内部接口
3.3.1 内部模块间关系
一切模块的调用以及功能的实现均需调用座位信息数据库。
“占座”与“查看空座位”仅依赖于“座位信息数据库”;取消占座依赖于“座位信息数据库”与“占座的同学的占座详情”。
3.3.2 接口数据描述
1.座位均为实体,我们将空座位赋值为1,已占座位赋值为0。
2.程序启动,所有座位赋值为1,查看空座位不改变赋值信息。占座和取消占座改变赋值并更新至座位信息数据库
4数据设计
4.1 数据结构
用户基本信息,包括用户名、密码,用顺序数据结构。
座位:图书馆信息化的座位的空闲与否,用链式存储结构。
4.2 文件和数据库结构
使用数据库结构:
所有用户信息封装在一个静态表中,表中每一行对应一位用户的信息,每行记录用户的姓名、学号、手机号。
图书馆中所有座位的占座情况存放在一个动态表中,表中的每一行对应一个座位,每行记录不同座位的占座情况,以0、1代表已占和空余并进行动态更新。
5 需求交叉索引
占座以 占座模块 实现
取消占座以 取消占座模块 实现
新增查看空座位以 查看空座位模块实现
时间空间定位已删除,无对应模块。
6 测试部分
白盒测试由编写者自行检查
黑盒测试用编者手机以及虚拟手机运行,查看其运行结果。