餐厅到店点餐系统需求分析
(版本v1.0.0)
成文信息 |
|||||||
主题词: |
需求分析 |
||||||
作 者: |
14商软ETC |
文档类别: |
|||||
审 核: |
|||||||
批 准: |
文档性质: |
正式稿 |
|||||
主 送: |
存档日期: |
||||||
抄 送: |
发布日期: |
||||||
签收信息 |
|||||||
发送方 |
接收方: |
接收方: |
接收方: |
||||
代表人: |
代表人: |
代表人: |
代表人: |
||||
日期: |
日期: |
日期: |
日期: |
||||
变更信息 |
|||||||
版本 |
原因 |
作者 |
日期 |
||||
目录
第一章 引言.... 1
1.1 项目名称... 1
1.2 项目背景和内容概要... 1
1.3 术语定义... 1
1.4 参考资料... 2
第二章 任务概述.... 2
2.1 目标... 2
2.2 范围... 2
2.3 用户特点... 3
2.4 假定条件和约束限制... 4
2.5 运行环境... 4
2.5.1 设备... 4
2.5.2 支持软件... 5
2.5.3 接口... 5
2.5.4 控制... 5
第三章 业务流程.... 6
3.1 主要用户群... 6
3.2 系统用例图... 7
第四章 数据描述.... 7
4.1 静态数据... 7
4.2 动态数据... 8
第五章 功能需求.... 8
5.1 用户登录功能... 8
5.1.1 功能需求简述... 8
5.1.2 功能输入、处理与输出... 8
5.2 设定桌号功能... 9
5.2.1 功能需求简述... 9
5.2.2 功能输入、处理与输出... 10
5.3 点餐功能... 10
5.3.1 功能需求简述... 10
5.3.2 功能输入、处理与输出... 10
5.4 修改用户自身信息功能... 11
5.4.1 功能需求简述... 11
5.4.2 功能输入、处理与输出... 11
5.5 显示实时公告功能... 12
5.5.1 功能需求简述... 12
5.5.2 功能输入、处理与输出... 12
5.6 顾客买单功能... 12
5.6.1 功能需求简述... 12
5.6.2 功能输入、处理与输出... 13
5.7 后厨菜品烹饪确认功能... 13
5.7.1 功能需求简述... 13
5.7.2 功能输入、处理与输出... 13
5.8 用户列表功能... 14
5.8.1 功能需求简述... 14
5.8.2 功能输入、处理与输出... 14
5.9 查看用户详细信息功能... 15
5.9.1 功能需求简述... 15
5.9.2 功能输入、处理与输出... 15
5.10 删除用户功能... 15
5.10.1 功能需求简述... 15
5.10.2 功能输入、处理与输出... 15
5.11 添加用户功能... 16
5.11.1 功能需求简述... 16
5.11.2 功能输入、处理与输出... 16
5.12 修改用户信息功能... 17
5.12.1 功能需求简述... 17
5.12.2 功能输入、处理与输出... 17
5.13 订单结单功能... 18
5.13.1 功能需求简述... 18
5.13.2 功能输入、处理与输出... 18
5.14 菜品列表功能... 18
5.14.1 功能需求简述... 18
5.14.2 功能输入、处理与输出... 19
5.15 查看菜品详细信息功能... 19
5.15.1 功能需求简述... 19
5.15.2 功能输入、处理与输出... 19
5.16 删除用户功能... 20
5.16.1 功能需求简述... 20
5.16.2 功能输入、处理与输出... 20
5.17 修改菜品信息功能... 20
5.17.1 功能需求简述... 20
5.17.2 功能输入、处理与输出... 21
5.18 添加菜品功能... 21
5.18.1 功能需求简述... 21
5.18.2 功能输入、处理与输出... 21
第六章 非功能需求.... 22
6.1 扩展性需求... 22
6.2 界面需求... 22
第一章 引言
1.1 项目名称
14商软-餐厅到店点餐系统
1.2 项目背景和内容概要
本说明书目的在于明确说明14商软-餐厅到店点餐系统需求,界定系统实现功能的范围,指导系统设计以及编码。作为14商软-餐厅到店点餐系统开发和验收的参考依据,作为测试人员设计测试用例的依据,是沟通客户和开发人员之间的桥梁,为以后应用的维护人员减少维护代价。
本说明书的预期读者为:客户、系统设计人员、系统开发程序员、系统测试人员、系统维护人员。
中国是举世闻名的美食大国,拥有五千年的饮食文化和巨大的餐饮市场,随着人民生活水平和生活方式的转变,餐饮业具有巨大的投资市场,被称为中国的黄金产业,但同样也应看到,餐饮业不仅面临着巨大的发展机遇,也面临着前所未有的挑战和考验。餐饮业的不断发展,在经营管理上也逐步向电子化迈进,通过计算机信息系统管理餐饮业的内部事务,使得作业更加简单化、高效。减轻一线操作人员的劳动强度,节省营业人员的交班时间,加强财务审核管理。提供多种点菜、结算、统计报表功能,提供分厨房直接打印前台点菜数据。在餐饮经营中,传统的纸制作业流程无法满足现代客户在信息娱乐及服务安保等方面的要求。而此系统的使用,使餐厅管理者便捷的进行经营娱乐的管理,大大增加的各店成本控制及销售额。
14商软-餐厅到店点餐系统是一套完整的针对各类型餐厅经营管理流程信息化的软件产品,从顾客进入餐厅点餐到用餐结束再到最后的结账买单,需要一套全面的、高效的信息化管理软件来辅助,以对餐厅菜品、员工、点餐流程、菜品烹饪、传菜、结账等过程进行信息化管理,能够及时向不同角色的员工发布实时的公告信息,并能检索查看餐厅的历史经营数据。
经过对市场上不同规模与运营形式的餐厅进行实地调研分析后之后,本说明书将《餐厅到店点餐系统需求报告》加以整理,并综合考虑了系统划分、系统实现方式、工期等因素,对需求进行分类和范围划定。
1.3 术语定义
1、OrderSys:本系统英文名,适用于餐厅运营过程中顾客到店后服务员远程点菜、传菜、结算等服务的信息化管理。
2、Tomcate:系统所使用的应用服务器(Application Server)。
3、MySQL:系统所使用的数据库管理系统(DBMS)。
4、SQL:Structured Query Language(结构化查询语言),一种用于访问、查询数据库的语言。
5、系统:若未特别指出,统指餐厅到店点餐系统。
6、钓鱼系统:非法模拟本系统采集用户信息的系统。
7、钓鱼请求:在钓鱼网站发起的资源请求。
8、HTTP数据推送:在HTTP环境下获取实时通讯数据的方法。
1.4 参考资料
《Think in Java》
《Java核心思想》
第二章 任务概述
2.1 目标
为了提高餐厅的运营效率,增强餐厅各部门间的配合,减少顾客到店后的点餐、等餐及结算过程消耗的时间,降低服务员点餐失误率,进一步提高餐厅管理人员对菜品、资金的管理以及更好的掌握餐厅的全局运营管理执行情况,提高餐厅形象与客户满意度,特此开发14商软-餐厅到店点餐系统软件产品,经过对市场上不同规模与运营形式的餐厅进行实地调研分析后之后,本说明书将《餐厅到店点餐系统需求报告》加以整理,并综合考虑了系统划分、系统实现方式、工期等因素,对需求进行分类和范围划定。以此分类和范围划定为依据,特此生成本需求说明书,作为系统开发和验收的参考依据。本软件是一套完整的管理信息化产品,目前未对外部提供任何可以进行功能扩展的接口,但是对移动设备等应用提供了数据HTTP URL形式和XML形式的数据接口。
2.2 范围
系统包括的功能范围:
a)
用户管理功能:
- 用户登录与权限判定
- 钓鱼网站非法请求识别
- 用户信息修改
b)
餐厅管理员功能:
- 菜品管理
- 员工管理
- 实时公告发布
- 订单详情查看
- 订单结账与取消
- 历史经营数据查看
c)
后厨人员功能:
- 接收实时公告
- 接受点餐信息
- 菜品烹饪确认
- 发布传菜推送消息
d)
点餐服务员功能:
- 接收实时公告
- 接收实时传菜推送信息
- 浏览菜品
- 点餐
- 发送买单请求
2.3 用户特点
序号 |
用户群 |
主要业务描述 |
用户群特点 |
1 |
餐厅管理人员 |
管理菜品及员工信息,确认订单收款或免单,查看经营数据 |
熟悉本系统的功能,需要对系统进行频繁的增删改查操作。 |
2 |
后厨人员 |
查看点餐信息,发送传菜请求 |
熟悉本系统的功能,在本软件内不会做增删改操作,察看是其主要操作。 |
3 |
点餐人员 |
点餐、发送买单请求 |
2.4 假定条件和约束限制
1、该软件可以通过HTTP URL及XML数据接口集成到餐厅综合管理系统中使用,也可以单独部署使用;
2、软件提供可定制的查询、统计功能。
3、由于Ajax及消息推送机制,因此如果使用IE浏览器的话建议使用IE8.0以上版本。
4、由于服务器采用的主机的内存、硬盘以及处理器的处理能力受到限制,所以应用的并行度以及抗压测试都会显得逊色,同时考虑到数据库的物理设计的非专业性也会导致系统吞吐量一般从而导致数据库成为整个系统性能的瓶颈,另外J2EE服务器Tomcat的局限性也会对系统性能产生很多的负面影响,同样也会影响整个系统的响应时间与吞吐量。
5、限于开发期限,所以会出现少量不太完善的地方以及功能的缺憾、设计漏洞。
2.5 运行环境
2.5.1
设备
服务器 |
最低配置 |
推荐配置 |
应用和数据库服务器 |
Intel® i3@2.0GHz |
Intel® i7@3.2GHz |
4G内存 |
8G内存 |
|
Apache Tomcat 6+ |
Apache Tomcat 6+ |
|
MySQL5.1+ |
MySQL5.1+ |
|
硬盘数量1个 |
硬盘数目3个,RAID5 |
2.5.2
支持软件
分类 |
名称 |
版本 |
语种 |
操作系统 |
MS Windows |
2012 server |
中文 |
数据库平台 |
MySQL |
5.1 |
英文 |
应用平台 |
Apache Tomcat |
6.0 |
英文 |
客户端软件 |
MS IE |
8.0 |
中文 |
测试软件 |
Junit |
4.6 |
英文 |
编译程序 |
Javac |
1.7.0 |
英文 |
操作系统附加功能 |
|
无 |
中文 |
2.5.3 接口
a)
为了对餐厅其他的综合型管理系统或后续的移动端APP提供支持,本软件对外提供了基于HTTP URL和XML格式的数据接口,通过接口可以在满足权限要求的情况下查看、更新本系统的数据,完整本系统的所有业务流程功能。
b)
对于和客户的接口---用户图形界面,在尽量符合普通人规则的同时考虑不同分辨率设备用户,同时尽量使界面设计的美观大方。
2.5.4 控制
本软件基于B/S架构设计实现,所有的流程控制操作均由浏览器中的可视化页面实现,所有用户均能利用鼠标点击及键盘输入完成系统中定义的所有业务流程。
第三章 业务流程
3.1 主要用户群
序号 |
用户群 |
主要业务描述 |
实施本系统将达到的主要受益 |
1 |
餐厅管理员 |
监控订单情况,查询运营数据 |
|
2 |
后厨人员 |
获取点餐信息,发布传菜请求 |
|
3 |
点餐服务员 |
点餐 |
|
3.2 系统用例图
第四章 数据描述
4.1 静态数据
序号 |
数据 |
数据描述 |
1 |
系统名称 |
数据类型:字符串 |
2 |
角色编号 |
数据类型:整数,取值范围:1-3 |
3 |
角色名称 |
数据类型:字符串,取值集合:餐厅管理员、餐厅服务员、后厨人员,分别对应角色编号1、2、3 |
4.2 动态数据
序号 |
数据 |
数据描述 |
1 |
用户数据 |
包含用户编号(整数,自动编号)、用户登录名(字符串),用户密码(字符串,非明文),用户角色编号(整数),用户头像路径(字符串) |
2 |
菜品数据 |
包含菜品编号(整数、自动编号)、菜品名称(字符串)、菜品简介(字符串)、菜品详情(字符串)、是否推荐菜品(整数,0非推荐,1推荐),菜品图像路径(字符串),菜品价格(浮点) |
3 |
订单信息 |
订单编号(整数,自动编号),订单桌号(整数),订单菜品列表(列表) |
第五章 功能需求
5.1 用户登录功能
5.1.1 功能需求简述
用户在界面中输入用户名、密码及验证码信息后点击确定将数据传输到服务器进行验证,验证成功进入到用户角色对应的系统管理界面,验证失败返回登录界面并提示失败信息。
5.1.2 功能输入、处理与输出
5.1.2.1
输入
本功能要求用户输入三个基本信息:用户登录名、用户密码及屏幕中出现的随机验证码信息,用户名长度限定在30个文字以内,可以是中文,密码长度限定在18个文字以内,只能是ASCII字符,验证码为6个字符,不区分大小写。
5.1.2.2
处理
- 当验证码输入后判定是否与系统生成的验证码一致,如果一致,界面中的登录按钮才会生效。
- 点击登录按钮后将用户名与密码发送到系统后台进行判定,判定登录成功后需要依据用户的角色进行跳转。
- 当发现登录请求来源为外站非法请求时将用户进行锁定并提示用户修改密码
- 验证码错误:无法点击登录按钮
- 错误的用户名:返回登录界面并提示用户名错误
- 错误的密码:返回登录界面并提示密码错误
- 用户被锁定:返回登录界面并提示用户被锁定
- 用户重复登录:返回登录界面并提示用户已经登录
- 餐厅管理员登录成功:跳转到餐厅管理员主页面
- 后厨人员登录成功:跳转到后厨人员主界面
- 餐厅点餐服务员登录成功:跳转到点餐服务员主界面
- 外站请求:跳转到提示用户被钓鱼网站欺骗,要求修改密码的界面
5.1.2.3
输出
5.2 设定桌号功能
5.2.1 功能需求简述
服务原点餐前设置当前点餐的桌号。
5.2.2 功能输入、处理与输出
5.2.2.1
输入
输入桌号,桌号定义为一个整形数字。
5.2.2.2
处理
- 保存桌号信息。
- 确定后在界面中显示当前桌号信息。
5.2.2.3
输出
5.3 点餐功能
5.3.1 功能需求简述
界面以分页形式显示菜品信息,显示时优先显示推荐菜品,每个菜品信息包括菜品名称、菜品图片、菜品简介,菜品信息下有点餐数量选择器,点击加号,该菜品数量加一,点击减号,菜品数量减一(不能低于1),数量选择器下有确定按钮,点击按钮后菜品及对应的数量加入点餐购物车,点击界面最下方的确定点餐按钮后,点餐信息写入数据库并推送到后厨。
5.3.2 功能输入、处理与输出
5.3.2.1
输入
利用鼠标点击每个菜品下的数量选择器,可以增加和减少单一菜品的数量。
点击确定点餐按钮完成点餐操作。
5.3.2.2
处理
- 将点餐的菜品及对应的数量等订单信息存入数据库,并将状态设置为准备用餐
- 将点餐信息推送给后厨界面
- 确定点餐后在界面输出点餐成功的提示
- 后厨显示点餐信息,包括桌号、菜品名、菜品数量
5.3.2.3
输出
5.4 修改用户自身信息功能
5.4.1 功能需求简述
用户在被钓鱼网站欺骗或有自己意愿的情况下可以改变自己的用户信息,包括用户密码与头像图片(用户登录名不能修改,用户角色身份由管理员指定,不能自行修改)。
5.4.2 功能输入、处理与输出
5.4.2.1
输入
在修改用户头像界面区域通过文件域选择并上传头像图片,在修改信息界面区域输入旧密码与希望修改的新密码(需要输入两次)。
5.4.2.2
处理
- 判定旧密码是否正确。
- 判定两次输入的新密码是否匹配。
- 将新头像图片上传到指定位置。
- 将新信息输入数据库保存。
- 清除会话中的登录信息。
- 跳转到登录界面。
5.4.2.3
输出
5.5 显示实时公告功能
5.5.1 功能需求简述
在后厨人员和点餐服务员界面自动显示管理员发布的实时公告。
5.5.2 功能输入、处理与输出
5.5.2.1
输入
管理员界面输入的公告
5.5.2.2
处理
无
5.5.2.3
输出
- 将实时公告显示在公告界面上
5.6 顾客买单功能
5.6.1 功能需求简述
顾客用餐完毕后服务员将顾客的买单请求实时发送到管理员界面。
5.6.2 功能输入、处理与输出
5.6.2.1
输入
界面上显示所有正在进行的订单信息,选择需要买单的订单后,将订单的ID发送给服务器。
5.6.2.2
处理
- 根据ID获取订单的详细信息
- 将申请买单的订单信息推送到管理员界面
- 服务员界面提示买单信息推送成功
- 管理员界面自动追加申请的买单订单信息,包括订单的桌号,订单的点餐服务员、订单的菜品详细列表、订单的总价、开餐及结餐的时间信息
5.6.2.3
输出
5.7 后厨菜品烹饪确认功能
5.7.1 功能需求简述
后厨界面自动获取服务员推送的点餐信息列表,通过按钮确定对应菜品的烹制状态(准备烹制、正在烹制、烹制完毕)。
5.7.2 功能输入、处理与输出
5.7.2.1
输入
界面自动显示服务员点餐后推送的点餐信息列表,列表中包括菜品名称、菜品对应桌号、菜品数量,列表后显示菜品烹制状态按钮,可以通过按钮改变并显示菜品烹制状态。
5.7.2.2
处理
- 改变烹制状态
- 烹制结束后向服务员界面推送菜品烹制成功消息
- 确定菜品烹制状态按钮颜色:等待烹制:绿色,正在烹制:红色,烹制完毕:菜品信息及按钮从界面中消失
- 菜品烹制结束后服务员界面自动显示推送的传菜信息,包括桌号及菜品名称
5.7.2.3
输出
5.8 用户列表功能
5.8.1 功能需求简述
以分页的形式显示用户列表
5.8.2 功能输入、处理与输出
5.8.2.1
输入
无
5.8.2.2
处理
- 数据分页处理,完成上一页、下一页、首页、末页功能,并完成页码纠错
- 将单页数据列表显示在界面上,列表数据包括用户编号、登录名、角色信息。
- 列表下显示分页导航链接
5.8.2.3
输出
5.9 查看用户详细信息功能
5.9.1 功能需求简述
查看单一用户的详细信息
5.9.2 功能输入、处理与输出
5.9.2.1
输入
提供用户的用户编号
5.9.2.2
处理
- 在数据库中查询对应用户的详细信息
- 显示用户的详细信息,包括用户的编号,登录名、角色身份和头像信息
5.9.2.3
输出
5.10 删除用户功能
5.10.1 功能需求简述
删除某个特定的用户。
5.10.2 功能输入、处理与输出
5.10.2.1
输入
提供用户的用户编号。
5.10.2.2
处理
- 将用户信息在数据库中删除
- 界面提示用户删除成功
5.10.2.3
输出
5.11 添加用户功能
5.11.1 功能需求简述
管理员可以增加新用户。
5.11.2 功能输入、处理与输出
5.11.2.1
输入
在上传用户头像界面区域通过文件域选择并上传头像图片,在用户信息界面区域输入新用户账户、密码(需要输入两次),选择身份信息。
5.11.2.2
处理
- 判定新用户账户是否已经被占用。
- 判定两次输入的密码是否匹配。
- 为没有提供头像的用户设定默认的头像信息
- 将新头像图片上传到指定位置。
- 将新信息输入数据库保存。
- 输入新账户名后发现账户名已经存在,则在界面上显示用户名已经被占用提示,不能点击新增按钮。
- 两次密码不匹配,则在界面上显示密码不匹配提示,不能点击新增按钮。
- 头像图片上传成功后自动在头像区域显示预览。
- 添加操作完成后跳转会用户列表界面。
5.11.2.3
输出
5.12 修改用户信息功能
5.12.1 功能需求简述
管理员可以改变用户信息,包括用户密码、身份信息与头像图片(用户登录名不能修改)。
5.12.2 功能输入、处理与输出
5.12.2.1
输入
在修改用户头像界面区域通过文件域选择并上传头像图片,在修改信息界面区域输入旧密码与希望修改的新密码(需要输入两次),选择新的身份信息。
5.12.2.2
处理
- 判定旧密码是否正确。
- 判定两次输入的新密码是否匹配。
- 将新头像图片上传到指定位置。
- 将新信息输入数据库保存。
- 界面提示用户信息修改成功。
5.12.2.3
输出
5.13 订单结单功能
5.13.1 功能需求简述
管理员可以根据点餐员推送的待结单订单列表对订单进行操作,包括确认收款和直接免单操作。
5.13.2 功能输入、处理与输出
5.13.2.1
输入
在接收到的推送订单列表中选择确认收款和直接免单操作。
5.13.2.2
处理
- 修改订单结单状态(已收款或订单免单)。
- 执行操作前出现操作确认界面。
- 操作成功后显示操作成功提示信息
- 操作成功后将对应订单从列表中删除
5.13.2.3
输出
5.14 菜品列表功能
5.14.1 功能需求简述
以分页的形式显示菜品列表
5.14.2 功能输入、处理与输出
5.14.2.1
输入
无
5.14.2.2
处理
- 数据分页处理,完成上一页、下一页、首页、末页功能,并完成页码纠错
- 将单页数据列表显示在界面上,列表数据包括菜品编号,菜品名称、菜品简介、是否推荐菜品、菜品价格。
- 列表下显示分页导航链接
5.14.2.3
输出
5.15 查看菜品详细信息功能
5.15.1 功能需求简述
查看单一菜品的详细信息
5.15.2 功能输入、处理与输出
5.15.2.1
输入
提供菜品的编号
5.15.2.2
处理
- 在数据库中查询对应菜品的详细信息
- 显示菜品的详细信息,包括菜品编号,菜品名称、是否推荐菜品、菜品简介、菜品详细介绍、菜品价格信息
5.15.2.3
输出
5.16 删除用户功能
5.16.1 功能需求简述
删除某个特定的菜品。
5.16.2 功能输入、处理与输出
5.16.2.1
输入
提供菜品的菜品编号。
5.16.2.2
处理
- 将菜品信息在数据库中删除
- 界面提示菜品删除成功
5.16.2.3
输出
5.17 修改菜品信息功能
5.17.1 功能需求简述
管理员可以更新菜品信息,包括菜品名称、菜品简介、菜品详细介绍、菜品价格、菜品图片信息。
5.17.2 功能输入、处理与输出
5.17.2.1
输入
在修改菜品图像界面区域通过文件域选择并上传头像图片,在修改信息界面区域输入新的菜品名称、简介、详细介绍、价格信息。
5.17.2.2
处理
- 将新菜品图片上传到指定位置。
- 将新信息输入数据库保存。
- 界面提示菜品信息修改成功。
5.17.2.3
输出
5.18 添加菜品功能
5.18.1 功能需求简述
管理员可以增加新菜品。
5.18.2 功能输入、处理与输出
5.18.2.1
输入
在上传菜品图像界面区域通过文件域选择并上传头像图片,在菜品信息界面区域输入菜品名称、菜品简介、菜品详细介绍、菜品价格、是否推荐菜品信息。
5.18.2.2
处理
- 为没有提供图像的菜品设定默认的图像信息
- 将新菜品图片上传到指定位置。
- 将新信息输入数据库保存。
- 菜品图片上传成功后自动在图片区域显示预览。
- 添加操作完成后跳转到菜品列表界面。
5.18.2.3
输出
第六章 非功能需求
6.1 扩展性需求
本系统全部功能基于WEB实现,前台与后台交互通过URL和XML格式数据实现,在WEB客户端不能完全满足餐厅要求时,可以通过规范的数据接口和HTTP协议扩展包括Android平台和IOS平台在内的原生移动APP客户端。
6.2 界面需求
- WEB客户端界面兼容各类主流浏览器
- 页面能够自动适应不同分辨率设备
- 页面中交互元素大小需合适,以适应智能设备的手指触摸操作