HUAZHONG AGRICULTURAL UNIVERSITY
《满月客栈》
软件概要设计说明书
2020-04
版本变更历史
版本 |
提交日期 |
主要编制人 |
审核人 |
版本说明 |
1.0 |
2020/04/15 |
余阳、曹嘉麟 |
余阳 |
|
2.0 |
2020/04/22 |
余阳、曹嘉麟 |
曹嘉麟 |
|
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软件设计约束、限制
本文档经双方确认后,开发方依据本文档进行下阶段工作。若中途需求发生变更则客栈需及时告知开发方,若因客栈原因引入的需求变更造成开发方工作量的大幅增加,具体解决方案双方另行协商。若需求变更引入的工作量不大,开发方因尽量配合。该项目规定在3个月的时间内完成。
1.3术语和缩略词
无
1.4参考资料
[1]窦万峰.软件工程方法与实践(第三版).北京:机械工业出版社,2016
[2]需求规格说明书标准[S].GB 856D-1988.
[3]王珊/萨师煊.数据库系统概论(第五版).北京:高等教育出版社,2014
[4]软件设计文档国家标准GB8567
2体系结构设计
2.1 需求复审
在需求分析的过程中省略了管理酒店信息里面的具体功能,现补充如图1。
图1
酒店管理信息的功能模块里面主要分为三种:管理酒店住房信息、管理酒店订单信息和管理酒店相关信息。在这个功能模块中,使用者可以通过输入相关信息作为索引以了解到联盟中所有酒店的所有相关信息,并且可以对这些信息进行相应的管理(增加信息、修改信息、删除信息)。实现对所有酒店信息的一体化管理。
2.2 软件体系结构
(1)登录过程
在登录进入系统准备使用各种功能前,需要进行一个身份的识别。根据用户的选择判断是管理员登录还是客户登录,在根据相关的账号密码进入系统,然后才可以使用相关功能。
(2)管理员功能选择
管理员进入了系统后可以选择自己需要使用的功能模块进入相应的界面之中,然后就可以进行相关的信息处理操作。
(3)客户功能选择
客户进入了系统后可以选择预定房间的功能模块进入相应的界面之中,然后就可以查看住房的相关信息并选择自己选择的住房。
(4)管理员酒店信息管理
管理员选择了信息管理模块后,跳转到信息管理界面,选择自己想处理的信息种类,进入相关界面后就可以对该信息种类的相关信息进行查看和修改。
2.3 模块设计
(1) 登录过程
在IdentityChoice模块中,使用者需要先选择自己的身份。如果选择了客户身份,则进入CustomerLogin模块中,输入用户名和密码这两个数据项进行登录。如果选择了管理员身份,则进入DBMLogin模块中,同样需要输入用户名和密码进行登录。登录成功后方可进入功能选择模块,如果是客户登录,则进入CustomerFunctionChoice模块,可以进行预定房间的功能。如果是管理员登录,则进入DBMFunctionChoice模块,可以进行注册管理员账号、注册客户账号和管理酒店信息等功能。CustomerFunctionChoice和DBMFunctionChoice分别依赖于CustomerLogin和DBMLogin模块,而这两个模块又同时依赖于IdentityChoice模块。
(2) 管理员功能选择
在DBMFunctionChoice模块中,使用者可以选择相应的功能进入相应的界面中。在RegisterDBM和RegisterCustomer模块这两个模块中,使用者需要输入账号和密码这两个数据项实现账户的注册功能。如果要进行信息管理,则需要进入ManageInfomation模块。如果要查询客户的问题反馈,则进入InquireQuestion模块,该模块有客户ID、客户姓名、电话、酒店ID、房间ID5个数据项,输入了相关数据项的信息就可以查到指定客户所反馈的信息,也可以通过inquire()查看所有客户反馈的问题。RegisterDBM、RegisterCustomer和InquireQuestion模块和整体模块DBMFunctionChoice是聚合关系,而ManageInformation是依赖于DBMFunctionChoice模块。
(3) 客户功能选择
在CustomerFuncitonChoice模块中,有预定房间和问题提交的功能。进入预定房间的功能模块OrderRoom后,如果需要预定房间则需要输入客户ID、客户姓名、电话、酒店ID、房间ID、日期这个6个数据项进行预定,order()对输入数据项进行信息录入,以实现房间的预定。如果需要进行问题反馈,则进入SubmitQuestion模块,填入客户ID、姓名、电话、酒店ID、房间ID、问题内容这6个数据项,并通过submit()提交。
(4) 管理员酒店信息管理
在ManageInformation的模块中,聚合了ManageRoom、ManageHotel、ManageOrder这三个模块。在ManageRoom模块中,有房间等级、房间类型、房间状态、房间ID、酒店ID、价格这6个数据项,add()、inquire()、delete()、change()分别实现对以上6个数据项的填、查、删、改操作。在ManageHotel模块中,有酒店地址、酒店名称、酒店ID、房间数量这4个数据项,add()、inquire()、delete()、change()分别实现对以上4个数据项的填、查、删、改操作。在ManageOrder模块中,有客户ID、订单ID、酒店ID、房间ID、日期、总消费这6个数据项,add()、inquire()、delete()、change()分别实现对以上6个数据项的填、查、删、改操作。
3接口设计
3.1用户接口
(1) 登录选择
使用者根据自己的身份选择自己登录的身份,并进入相关的登录界面
(2) 管理者登录
酒店管理者输入自己的账号和密码,点击确定进入系统
(3) 用户登录
客户输入自己的账号和密码,点击确定进入系统
(4) 管理员功能选择
管理员根据自己的需要选择相应的选项进入对面的功能界面
(5) 酒店信息管理
Hotel:进入对联盟内部各大酒店信息的管理
Order:进入对各大酒店所有住房订单的信息管理
Room:进入对各大酒店所有房间信息的管理
Exit:返回管理员功能选择界面
(6) 酒店相关信息管理
查询所有信息:可以查看各大酒店的相关信息并显示在文本域内
查询:对文本框内输入的信息进行有方向的查询
录入:将文本框内输入的信息作为新的信息添加到数据库内
删除:将文本框内输入指定的信息删除
修改:对文本框内指定的酒店ID的其他信息用文本框内的信息替换
(7) 订单信息管理
基本操作及其使用同(6)
(8) 房间信息管理
基本操作及其使用同(6)
(9) 客户信息管理
基本操作及其使用同(6)
(10) 查看客户反馈信息
可以查看客户反馈的所有问题,同时对已解决的客户问题,通过指定的客户ID、酒店ID和房间ID对已解决的问题进行删除
(11) 注册管理员账号
输入新的管理员账号和密码实现注册过程
(12) 注册客户账号
输入新客户的账号密码以及相关信息实现新客户的账号注册过程
(13) 客户功能选择
Roomorder:进入查看住房订单界面
Orderroom:进入预定房间
Question:进入提交问题界面
Exit:退出系统
(14) 查看客户订单
输入客户ID点击查询信息,在文本域中将显示订单的相关信息
(15) 预定房间
可以查看所有空闲的房间信息并显示在文本域内,把需要预定的房间信息输入在文本框内点击预定房间即可预定成功。
(16) 问题提交
客户输入自己和酒店住房的相关信息以及问题内容点击提交即可
3.2外部接口
该系统通过Python扩展包实现与数据库软件sqlitestudio3进行连接,对数据库内部的各个表里面的属性下的数据内容进行交互,从数据库传入系统的数据内容统一为字符串类型。从系统传入数据库的数据内容通过表已知的数据格式转换为相应的格式传入数据库,确保传入的数据不会与数据库的约束产生排斥。
3.3内部接口
3.3.1 内部模块间关系
(1) 依赖关系:
CustomerLogin依赖于IdentityChoice
DBMLogin依赖于IdentityChoice
CustomerFunctionChoice依赖于CustomerLogin
DBMFunctionChoice依赖于DBMLogin
ManageInformation依赖于DBMFunctionChoice
(2) 关联关系:
RegisterDBM聚合于DBMFunctionChoice
RegisterCustomer聚合于DBMFunctionChoice
InquireQuestion聚合于DBMFunctionChoice
OrderRoom聚合于CustomerFunctionChoice
ManageRoom聚合于ManageInformation
ManageHotel聚合于ManageInformation
ManageOrder聚合于ManageInformation
3.3.2 接口数据描述
无
4数据设计
4.1 数据结构
数据结构或数据对象的逻辑描述。
4.2 文件和数据库结构
若系统使用外部文件,给出文件的逻辑结构,逻辑记录描述。
若系统使用数据库,由 E-R图建模的概念模型映射到数据库逻辑模型。
(E-R图)
5 需求交叉索引
(1) 管理员管理联盟内各大酒店的信息:MangeInformation(包括ManageRoom、ManageHotel、ManageOrder)
(2) 客户预定酒店房间:CustomerFunctionChoice(包括OrderRoom)
(3) 客户问题反馈:CustomerFunctionChoice(包括SubmitQuestion)
6 测试部分
各模块通过内部按钮的事件触发功能实现一个模块对其他模块的调用。
测试过程通过对每一个模块的每一个动态数据进行输入输出检查,同时查看数据库里面数据处理是否发生错误。另外,对一些非法的输入进行输出测试检查,观察各模块的鲁棒性,保证对错误操作有处理策略,确保系统能够正常运行。