| 软件工程概要设计文档 |
| 酒店预订位系统的分析与设计 |
| 学院名称 | 信电工程学院 | ||
| 专业名称 | 软件工程 | ||
| 所属学期 | 2016-2017(二) | ||
| 小组名单 | 班级 | 学号 | 姓名 |
| 13计1 | 20130501103 | 朱敏 | |
| 13计1 | 20130501104 | 戴敏 | |
| 13计1 | 20130501105 | 乔珊 | |
| 13计1 | 20130501122 | 龚万一 | |
| 任课教师 | 王小磊 | ||
E.1 引言
E.1.1 编写目的
从该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。
根据需求文档的要求规划整个系统的总体组成结构、子系统或模块边界、协作方式、数据分布、部署模型等内容。并对后来所有的技术工作进行约束和规范,并起到一定的指南作用。
本文档的预期读者主要为开发人员和架构师。
E.1.2 背景
.在酒店的在线预订方式上,美国有70%以上的网民会通过互联网在线预订的方式进行酒店预订,但在中国,这个比例只有5%,市场发展的潜力巨大,随着中国使用互联网的人数越来越多,以及在线酒店预订市场慢慢走向成熟,中国已经成为了此块业务发展的首选,以填补中国酒店信息资源和服务的空缺!
.在高节奏生活的今天,随着服务行业的不断发展,宾馆和酒店等服务 行业的信息量和工作量日益增大。为解决这一问题,很多酒店开始采用B/S系统的酒店预订系统
E.1.3 定义
(1)C#: 微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言,是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。
(2)SQL Server:一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
E.1.4 参考资料
《软件工程导论》第六版,张海藩等著
《软件工程案例教程:软件项目开发实践》第2版,韩万江等著
《实用软件工程》第二版,郑人杰、殷人昆、陶永雷等著
《微软项目:求生法则》Steve McConnell著,余孟学译
《软件工程:实践者的研究方法》(第5版)Roger S.Pressman著
《软件构架实践》SEI软件工程译丛,林·巴斯著
《RUP2000》电子版;
《面向对象的分析与设计》杨正甫著;
《饭店企业文化塑造》林璧属,郭艺勋著
《饭店管理》李洁,李倩著
E.2 总体设计
E.2.1 需求规定
(1)系统的输入项目是系统外部向系统输入的数据等信息。
酒店预订位系统的主要输入项目包括:
1 会员信息填写
2 订位时间填写
3 订位人数填写
4 订房间种类填写
5 订菜品信息填写
6 预订桌位信息填写
(2)系统的输出项目:
1会员信息
2 积分信息
3 订单信息
4 付款信息
5 菜单信息
(3)系统处理功能:
1数据录入与修改:
会员注册信息数据录入
菜单基本信息录入
顾客点菜单填写录入
更换菜品信息录入
桌位信息录入
2常规查询:
3随机查询:
桌号信息查询
点菜单信息查询
菜单上传情况查询
点菜单生成情况查询
4报表生成:
从数据库中获取数据生成桌号信息表,点菜信息表,菜单信息表,账单信息表,会员信息表等一众表格,具体详细信息将在详细设计中介绍。
5一般分析:
数据可靠性:在应用系统投入运行数据不得丢失;一旦数据转为历史记录后只有管理员可以更改。
应用程序试用期结束后,程序运行过程中不允许出现程序逻辑与算法错误。
程序系统运作在运作过程中,由于操作错误或输入/输出数据溢出时,不应死机而应提示故障原因,然后以正常出口退出当前操作环境。
非授权用户不得进入程序系统。
无修改权的用户不得修改档案和更新以及执行处理功能。
E.2.2 运行环境
E2.2.1硬件系统
PC机要求:
硬件:CPU:Intel 双核 @ 1.73GHz或以上(CPU越高越好,运行越流畅)
硬盘:500M以上
内存: 1G以上
显示器:分辨率1024*768或以上;
外设:键盘鼠标
网络带宽:要求512K带宽;
操作系统:支持Windows 2000/2003/XP/Vista/Windows7/Window8/Window10,包括32位和位版本。
移动端要求:
硬件环境:各类android手机或者平板,或者IOS手机或者平板。
软件环境:android2.2及以上版本,或者IOS7.0及以上版本。
E2.2.2 软件系统
操作系统:Windows 7及以上版本系列
数据库:Microsoft SQL SERVER2008及以上版本
服务器:IIS 5.0
浏览器:IE8.0及以上版本或其他常用浏览器均可
E.2.3 基本设计概念和处理流程
E.2.3.1 系统基本设计概念
酒店预订位系统的需求分析是基于订位工作的业务流程,因此订位业务决定了系统的基本设计思想。此系统是为酒店提高订位的工作效率开发的信息系统,系统的顾客、后厨、管理员等,不同类型的角色可对系统的操作不同。从完成系统功能的角度出发,为了保证系统运行时的数据安全性、一致性,对系统的基本设计思想包括以下几点:
(1)在服务端建立的数据库,集中管理系统所涉及的桌号信息数据、菜单信息数据、点菜单信息数据,账单信息数据和会员信息数据等。
(2)用户界面设计应反映用户分组和各用户组操作权限的基本要求,即各用户只能对与自己操作相关的功能和数据是可见的,因此增加管理员管理和权限管理功能设计,管理员权限与经理权限重合。
(3)以需求用例图作为系统设计的依据,将整个系统按用例参与者划分为与参与者对应的功能群,由此形成整个系统的主体逻辑结构。
根据系统的需求分析系统的功能群如下:
a.系统管理:管理员管理、权限管理
b.订位管理:预定位管理、处理订单信息管理
c.管理员管理:查看订单信息管理,查看会员信息管理
(4)安全性设计
a.身份验证:会员,管理员和员工登录系统后才能进行操作
b.数据:访问数据库用户的分部属性决定的访问数据的范围
c.功能:通过用户功能视图用户对数据的操作
E.2.3.2 系统处理流程
E.2.4 结构
系统业务流程图
(1)登录模块
(2)订单处理模块
(3)管理员模块
该模块分为订单管理子系统和会员信息管理子系统两个部分
1.订单管理子系统:
a.用户提交订单信息
b.管理人员接收订单
c.电话确认订单信息
d.如违约扣除定金
2.会员信息管理子系统:对会员信息进行查看和管理
E.2.5 功能需求与程序的关系
各项功能需求的实现同各块程序的分配关系如下:
| 序号 | 功能需求 | 程序模块 | 备注 |
| 一、用户登录 | |||
| 1 | 用户登录及验证 | 用户登录 | 包括管理员、后厨和会员的登录 |
| 2 | 用户修改密码 | 用户修改密码 | 用户修改自己账号的密码 |
| 二、系统管理 | |||
| 3 | 管理员管理 | ||
| (1) | 管理员注册 | 管理员注册 | |
| (2) | 修改管理员信息 | 管理员信息修改 | 管理员可修改自己的基本信息 |
| 4 | 权限管理 | ||
| (1) | 模块维护 | 模块维护 | |
| (2) | 权限分配 | 权限分配 | 为用户分配功能模块 |
| 三、点菜服务子系统 | |||
| 5 | 桌号管理 | ||
| (1) | 桌号信息填写 | 桌号信息填写 | |
| (2) | 桌号信息更改 | 桌号信息更改 | 不可重复 |
| (3) | 桌号信息查询 | 桌号信息查询 | |
| 6 | 点菜单管理 | ||
| (1) | 点菜单信息填写 | 点菜单信息填写 | |
| (2) | 点菜单信息更改 | 点菜单信息更改 | |
| (3) | 点菜单信息查询 | 点菜单信息查询 | |
| 7 | 催菜管理 | ||
| (1) | 发送催菜通知 | 发送催菜通知 | 顾客可以发送催菜通知给后厨 |
| (2) | 发送次数 | 发送次数 | 系统后厨每小时接收催菜通知的次数 |
| 四、评价子系统 | |||
| 8 | 评价信息管理 | ||
| (1) | 评价信息新增 | 评价信息新增 | 顾客用完餐之后对菜色及服务进行评价 |
| (2) | 评价信息删除 | 评价信息删除 | 顾客删除自己的评价信息 |
| (3) | 评价信息修改 | 评价信息修改 | 顾客修改自己的评价信息 |
| (4) | 评价信息查询 | 评价信息查询 | 用户可以查看所有评价信息 |
| 五、会员管理子系统 | |||
| 9 | 会员信息管理 | ||
| (1) | 会员信息注册 | 会员信息注册 | 管理员对消费满一定金额的顾客进行会员注册 |
| (2) | 会员信息修改 | 会员信息修改 | 会员可以修改自己的注册信息 |
| (3) | 会员信息删除 | 会员信息删除 | 会员可以去管理员那删除自己的会员账号各信息 |
| 六、制菜统筹子系统 | |||
| 10 | 提示菜品 | 提示菜品 | 提示厨师制作的菜品,提示学徒下一道菜的配菜信息 |
| 11 | 智能统筹系统 | 智能统筹系统 | 计算机系统智能的对点菜信息进行排序 |
| 12 | 提示退换菜 | 提示退换菜 | 正在制作的菜品提示不可退换 |
| 七、新菜推送子系统 | |||
| 13 | 新菜推送 | 新菜推送 | 厨师可以将自己研制的新菜或者饭店新增的菜色加入菜单供顾客选择 |
| 14 | 顾客评价新菜 | 顾客评价新菜 | |
| 八、账单管理子系统 | |||
| 15 | 账单信息管理 | ||
| (1) | 账单信息生成 | 账单信息生成 | 根据当天的消费情况生成账单 |
| (2) | 账单信息查询 | 账单信息查询 | |
| (3) | 计算饭店收益 | 计算饭店收益 | |
| 九、菜单管理子系统 | |||
| 16 | 菜单信息管理 | ||
| (1) | 菜单信息的添加 | 菜单信息的添加 | 只有管理员可操作 |
| (2) | 菜单信息的删除 | 菜单信息的删除 | |
| (3) | 菜单信息的修改 | 菜单信息的修改 | |
| (4) | 菜单信息的查询 | 菜单信息的查询 | 用户可查询 |
(1)需要人为的从键盘或者手机屏幕进行相应的操作,录入数据
(2)服务员需要在厨师做完菜之后为顾客上菜
(3)管理员审核评价
E.2.7 尚未解决的问题
无
E.3 接口设计
E.3.1 用户接口
用户通过手机APP的方式访问系统,系统各类角色访问后台管理网站。用户成功登录该系统后,按APP使用该系统与角色权限相关的功能。管理员可在各种终端上操作。
E.3.2 外部接口
USB接口:鼠标和键盘
DVI接口,DVI(Digital Visual Interface,数字视频接口),它是D-SUB接口的继承者,用来传输数字信号。
操作系统:Windows 7及以上
数据库:SQLSERVER 2008及以上
服务器:IIS5.0
浏览器:IE8.0及以上版本
E.3.3 内部接口
各模块间的功能比较,在程序逻辑上没有联系。而各模块间的数据联系主要通过访问数据库接口。对于一些公用函数、用户对象和窗口,提供调用接口说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。具体参数的结构将在下面数据结构设计的内容中说明。
E.4 运行设计
E.4.1 运行模块组合
整个系统按照功能分为七大子系统,划分如下:
E4.1.1 制菜统筹
1.菜品提示功能
提示厨师正在制作的菜品和下一道菜品,同时提示学徒下一道菜所需的
食材种类和分量。还有提示顾客菜品正在制作。
2.制菜的统筹功能
算法:通过客人点菜的时间可以优先做菜,有和这道菜一样的菜就可以一块做,然后再通过算法显示下一道菜,前一个桌号总比下一个桌号多一道菜该功能实现了制菜的统筹合理安排制菜顺序。同时将正在制作的菜状态设置为不可退。还能提示下一道菜的菜名和具体信息,给厨师的下手准备食材。
3.无食材提示
当一道菜的食材不够用了会提示客户退菜或换一道菜。顾客根据提示退换菜。
E4.1.2 菜单管理
1.顾客可以在各个类别(特色菜、招牌菜、优惠菜、套餐)下选择自己中意的菜,并查看该菜的介绍,评价,所需时间,还可以选择口味(拉框),如没有,可以在备注里填写。
2.顾客可以在总价这项里查询,增添和删除菜,也可以看到自己的消费金额。
3.顾客在消费完毕后,可以留下自己的意见和建议。
4.服务员可以帮顾客点菜。
5.顾客或服务员点菜完毕后,系统会自动将菜单传送到制菜统筹子系统。
E4.1.3 推送新菜管理
1.新菜录入
厨师新研制的菜肴的食材种类和分量详细的录入系统,储存在新菜菜单中。
2.评分机制
根据一周顾客的评分,若低于所有菜品的平均分则删除这道新菜,若高于平均分则加入菜单中。
E4.1.4 点菜服务管理
(1)桌号的输入
顾客进入饭店之后选择座位坐下,在系统中先录入自己的桌号以方便点菜。
(2)口味的选择与菜色推荐
顾客进入系统之后,可以根据自己的偏好选择酸甜辛辣,淡咸之类的口味,从而系统自动进行推荐菜色,如以前顾客品尝过后评分较高的菜色或者该口味本饭店的招牌菜之类的菜色,同时,系统还可以自动推荐其他口味的评分较高的菜色以供顾客选择。
(3)点菜与写备注
顾客确定了自己所点的菜色之后,可以在系统上进行确认点菜,在点菜的同时,可以对自己所点的菜写入相应备注,如需要多一点辣味或者少加某样调料等等来满足自己的需求。
(4)生成菜单与提交至厨房
顾客点完菜之后,系统自动生成桌号+菜色+备注的菜单并将其提交至厨房让厨师进行做菜。
E4.1.5 会员服务管理
1.注册会员
顾客可以通过系统中的注册会员按钮进入注册会员选项,然后填写注册会员需要写明的各项具体信息提交给系统,系统从自身数据库中判断,某些不能重复的项目如手机号码等如和数据库重复冲突了则不能通过,并且提示顾客重新确认自己所填写的信息,而填写完成并且通过之后,则进入会员缴纳相应的会员费部分,缴纳会员费之后则正式成为饭店会员,同时系统为该客户分配唯一的会员号码,并以此作为识别会员身份的凭证。
2.会员服务
会员登录系统之后,便可以在其他任何地方都可以打电话预约座位(预留时间确定,超过预留时间半个小时就取消预留)和提前点菜,到饭店之后只需在预留的座位上等待直至菜品上桌,或者到饭店在进行点菜也可以。点完菜之后,可以为会员提供相应的打折措施,消费500元以内打9折,500到1000元打8.5折,1000元以上打8折,与此同时还可以进行积分措施,消费多少则积相应的分数,到了一定程度后,每100分可以兑换5元现金券或者相应小礼品。
E4.1.6 评价管理
1.判断顾客是否已经付款
2.如果没付款等待付款,如果付款显示评论界面,系统给出非常好,很好,一般,很差四个选项给顾客选择,顾客可以根据服务态度,菜色,就餐环境等进行评价,评价完成后在顾客评价界面显示
3.顾客评价完成后,根据算法显示饭店的好评率
4.经理登录系统可以查看顾客的评论进行调整,然后辩论其真实性再把评论反馈给相关人员,相关人员根据评论作出相应的调整
E4.1.7 账单管理
1.顾客提出付款信息
2.收银员收到消费清单后和顾客进行付款等操作,操作成功后,确定金额并打出清单
3.收银员向经理报告日收益,经理核实并确定
4.经理对厨房对外采购支出信息,饭店税收支出信息,员工信息支出统计,再根据月收益形成饭店支出表,最后算出饭店的日收益。
E.4.2 运行控制
本软件控制流程:主程序运行,等待用户的输入,根据用户的输入调用各子模块。本系统在局域网内采用cs操作方式运行系统按功能要求设计用户操作界面用户操作界面按树形层次菜单结构设计。
操作步骤:
E.4.3 运行时间
检索业务响应时间<2s;
运行响应时间<1s;
付款响应时间<10s;
E.5 系统数据结构设计
E.5.1 逻辑结构设计
E5.1.1 数据库
(1)菜单: 菜色编号 整型,唯一且自动生成
类别编号 整型,和菜单类别表中相对应
菜名 字符型,用于存储菜的名字
价格 浮点型,用于存储菜的价格
制作时间 时间型,用于存储一道菜制作的时间
简介 字符型,用于存储关于一道菜的介绍(不 得超过20字)
图片 image类型,用二进制流的形式存放一 道菜的效果的图片
(2)菜单类别: 类别编号 整型,唯一,和菜单表中相对应
所属类别 字符型,用于存储所有菜色的类别
(3)桌子信息: 桌号 字符型,三位数,唯一
是否使用 布尔型,用0,1表示使用状态
(4)订餐信息: 订餐编号 整型,唯一且自动生成
桌号 字符型,与桌子信息对应
菜名 字符型,和菜单相对应
份数 整型,用于存储一道菜的份数
价格 浮点型,和菜单对应
订餐时间 时间型,用于存储用户点餐的时间
制作状态 布尔型,用0,1表示正在制作还是未制作
制作时间 时间型,和菜单对应
上菜状态 布尔型,用0,1表示是否已上菜
(5)配菜: 配菜编号 整型,唯一且自动生成
菜色编号 整型,和菜单对应
食材名 字符型,用于存储一道菜的食材名
数量 整型,用于存储食材数量
处理方式 字符型,用于描述配菜的处理方式
(6)库存: 食材名 字符型,用于存储食材的名称
库存量 浮点型,用于存储食材的余量
(7)收入: 收入编号 整型,唯一且自动生成
收入项目 字符型,用于存储收入项目名称
时间 时间型,用于存储收入发生的时间
金额 浮点型,用于存储收入金额
(8)支出: 支出编号 整型,唯一且自动生成
支出项目 字符型,用于存储支出项目名称
时间 时间型,用于存储支出发生的时间
金额 浮点型,用于存储支出金额
(9)员工账号: 账号 字符型,用于存储员工登录账号
密码 字符型,用于存储员工登录密码
权限编号 整型,和权限表对应
(10)权限: 权限编号 整型,唯一,用于存储员工具有的权限的编 号
权限类别 字符型,用于存储员工具有权限的名称
(11)会员: 会员账号 字符型,用于存储会员登录账号
密码 字符型,用于存储会员登录密码
权限编号 整型,和权限表对应
消费记录 整型,和消费记录表对应
积分 整型,用于存储会员消费的总共的积分
兑换记录 整型,和兑换记录表对应
联系电话 字符型,用于存储会员的联系电话
(12)消费记录: 消费记录编号 整型,唯一且自动生成
消费时间 时间型,用于存储会员的消费时间
消费金额 浮点型,用于存储会员的消费金额
(13)兑换记录: 兑换记录编号 整型,唯一且自动生成
兑换时间 时间型,用于存储会员的兑换时间
兑换详情 字符型,用于存储会员兑换商品的具体情况
(14)评价表: 评价编号 整型,唯一且自动生成
评价内容 字符型,用于存储顾客对饭店菜色及服务的 评价信息,不得超过150字
E5.1.2 关系模式
各关系模式的功能如下:
菜单:用于添加、修改和更新菜单类别的资料
菜单类别:用于添加、修改和更新菜单信息的资料
桌子信息:用于添加饭店桌子的资料
订餐信息:用于添加、删除、修改、查询用户订餐的资料
配菜:用于添加、删除、修改、查询配菜的资料
库存信息:用于添加、删除、修改、查询库存信息的资料
收入:用于添加、查询收入信息
支出:用于添加、查询支出信息
员工账号:用于添加、删除、修改、查询员工账号的资料
权限:不可改动
会员:用于添加、删除、修改、查询会员资料
消费记录:用于添加、删除、查询会员消费记录
兑换记录:用于添加、删除、查询会员兑换记录
评价表:用于添加、删除、查询顾客的评价记录
E.5.2 物理结构设计
采用索引法对数据库进行查询修改等操作。
将比较大的表分别存放在不同的磁盘上,可以加快存取的速度,特别是在多 用户的环境下。
同时使用数据库的用户数、同时打开的数据库对象数,使用的缓冲区长 度、个数,数据库的大小,索引文件的大小,锁的数目等可以采用SQL Server2008中默认值。
E.5.3 数据结构与程序的关系
| 点菜服务子系统 | 会员服务子系统 | 制菜统筹子系统 | 推送新菜子系统 | 菜单管理子系统 | 账单管理子系统 | 评价子系统 | |
| 菜单 | √ | √ | √ | √ | |||
| 菜单类别 | √ | ||||||
| 桌子信息 | √ | √ | |||||
| 订餐信息 | √ | √ | |||||
| 配菜表 | √ | √ | √ | ||||
| 库存信息表 | √ | √ | |||||
| 收入表 | √ | √ | |||||
| 支出表 | √ | √ | |||||
| 员工账号表 | √ | √ | |||||
| 权限表 | √ | ||||||
| 会员表 | √ | √ | √ | √ | |||
| 消费记录表 | √ | √ | |||||
| 兑换记录表 | √ | ||||||
| 评价表 | √ | √ |
E.6.1 出错信息
程序在运行时主要会出现以下几种错误:
| 错误类型 | 系统输出信息形式 | 原因 | 处理方法 |
| 输入信息错误 | 弹出对话框 | 输入不规范或出错 | 通过对话框,提醒用户,然后再次操作 |
| 查询错误 | 弹出对话框 | 未找到相应信息 | 系统提示所查询信息不存在 |
| 登录错误 | 在登录界面出现提示 | 用户名或密码输入错误 | 系统提示用户名或密码错误 |
| 注册错误 | 在注册界面出现提示 | 该用户已被注册 | 重新输入信息注册 |
| 网络连接错误 | 弹出对话框 | 网络故障 | 检查重新连接网络 |
| 数据库连接错误 | 弹出对话框 | 数据库设置不正确或SQL Server异常 | 取消本次操作,尝试重新连接或检查数据库 |
| 其他操作错误 | 不可预知 | 用户的不正当操作使程序发生错误 | 中止操作提醒用户中止的原因和操作的规范 |
| 不可预知错误 | 不可预知 | 未知异常 | 进行数据库备份,帮助开发者完善程序 |
说明故障出现后可能采取的变通措施,包括:
(1)输入信息错误:这类错误通常是由于用户输入不正确引起的,我们在尽量减少用户出错的条件的情况下,主要也是通过对话框,提醒用户,然后再次操作。
(2)查询错误:这类错误通常是查询条件不符合系统要求,此时我们只需要让系统提示所查询信息不存在,再进行重新查询即可。
(3)登录错误:这类错误通常是由于用户输入错误,只需提示用户名或密码错误重新输入即可。
(4)注册错误:这类错误通常是由于用户输入错误或者输入手机号已被注册引起的,那么只要提醒用户重新输入信息注册。
(5)网络连接错误:这类错误通常是由于用户的网络不好引起的,那么需要用户检查重新连接网络。
(6)数据库连接错误:这类错误主要是数据库设置不正确,或SQL Server异常引起的。此时则需要取消本次操作,尝试重新连接或检查数据库。
(7)其他操作错误:对于用户的不正当操作,有可能使程序发生错误。我们主要是中止操作,提醒用户中止的原因和操作的规范。
(8)不可预知错误:程序也会有一些我们无法预知或没考虑完全的错误,我们对此不可能作出安全的异常处理,这时我们主要要保证数据的安全,所以要经常的进行数据库备份,并能及时的和我们联系,以逐步的完善我们的程序。
E.6.3 系统维护设计
软件的维护主要包括数据库的维护和软件功能的维护。
对于数据库的维护,SQL Server 2008及以上版本已经提供了数据库的备份和恢复的功能,可以方便的实现数据库的维护管理。
对于软件功能方面的维护,由于我们采用的是模块化的设计方法,每个模块(窗口)之间相互性较高,这样对软件的维护带来了很大的方便,对于单独功能的修改只需修改一个窗口就行了。下载本文