
版 本 号: V1.0
文档名称: 概要设计说明书
项目名称: 餐馆点菜系统
项目负责人: 王晓凤、曹春美
编写:曹春美、王晓凤 2013年12月9日
校对: 王晓凤 2013年12月10日
审核: 曹春美 2013年12月10日
目 录
1 引言 4
1.1 编写目的 4
1.2 背景 4
1.3 项目概述 4
1.4 文档概述 4
2 任务概述 4
2.1 目标 4
2.2 运行环境 5
2.3 条件和 5
3 总体设计 5
3.1 处理流程 5
3.2 总体结构和模块外部设计 8
3.2.1 总体结构 8
3.2.2模块外部设计 10
3.3 功能分配 11
4 接口设计 11
4.1 外部接口 11
4.2 内部接口 13
5 数据结构设计 13
5.1 逻辑结构设计 13
5.2 物理结构设计 14
5.3 数据结构和程序的关系 14
6 运行设计 14
6.1 运行模块的组合 14
6.2 运行控制 15
6.3 运行时间 15
7 出错信息 15
7.1 出错输出信息 15
7.2 出错处理对策 15
8 安全保密设计 15
9 维护设计 15
1 引言
1.1编写目的
经过对该餐馆点菜系统项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行可行性分析。明确开发风险及其所带来的经济效益。本报告经审核后,交由软件经理审查。
该需求规格说明书的采访对象是XXX餐馆点菜系统软件小组的研发工程师、测试工程师、销售工程师,版权归XXX所有,严禁外传。
1.2项目背景
项目名称:餐馆点菜系统
用户:××餐馆
说明:随着我国市场经济的快速发展,各行业都呈现出生机勃勃的发展景象。在餐饮业竞争越来越激烈的今天,酒店如何提高服务质量、管理能力显得越来越重要。如果单凭手工操作,不仅效率低下,而且会极大地影响到酒店的服务质量。酒店餐饮点菜系统作为餐饮管理规划的一部分,集点菜、结帐、查询、统计、设置等各种功能为一体,对于提高餐饮管理效率、增加收入发挥不可替代的作用。
1.3 定义
餐馆点菜系统是适用在餐馆,酒店等公共就餐场所的一款软件,该系统的开发可以加快客人的就餐速度,方便商家的运营,改变传统的点餐模式。本系统用ASP开发,利用此系统,使得前台服务不再和以前一样使用纸笔记录,只是轻点键盘就能完成,减少错误地发生,避免不必要的损失。
1.4参考资料
[1]张海藩.软件工程导论(第3版) 人民邮电出版社
[2]费贤举.Java面向对象程序设计 中国电力出版社
2任务概述
2.1目标
《餐馆点菜系统》针对的用户是单个中小型餐馆、酒店,菜品的种类和类别较少,顾客的数量和来源受到一定的。相应的需求有:
1.能够存储一定数量的菜品信息,并方便有效的进行相应的菜品的数据操作和管理,这主要包括:
1) 菜品信息的录入、删除及修改。
2) 菜品信息的多关键字检索查询。
2.能够对一定数量的客户的菜单信息进行相应的计算与管理,这其中包括:
1) 菜品信息的单价的修改、查询
2) 菜单的金额统计
3.能够对需要的统计结果提供列表显示输出。
4.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。
2.2运行环境
Intel486以上系列、AMD K6 以上系列等PC台式机和便携式电脑;
运行时占用内存:≤1MB;
所需硬盘空间:≤5MB;
软件平台:中文Windows95/98/2000/NT 4.0或更高版本;
2.3条件和
一个更为完善的餐馆点菜系统,应提供更为便捷与强大的信息查询功能,如相应的网络操作及服务,由于开发时间和计算机数量有限,该系统并未提供这一功能。对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,不能防止恶意的破坏,安全性能有待进一步完善。
3总体设计
3.1处理流程
1 模拟客户点菜流程
2 模拟客户搜索点菜查询的功能
YES
NO
3 模拟系统的管理流程
3.2 总体结构和模块外部设计
3.2.1 总体结构
菜单系统的总功能划分
菜单查询模块功能划分
菜单管理模块功能划分
系统管理模式功能划分
3.2.2模块外部设计
1.参观点菜系统主模块:
输入:操作系统传递至的各种消息以及用户的输入数据
输出:用户界面显示
2.菜单查询模块:
输入:用户的输入
输出:搜索到的包含相应关键字的信息
3. 菜单管理模块:
输入:桌号
输出:菜单中菜的类别,菜名,单价以及总金额
4.系统管理模块:
输入:用户口令
输出:各个对话框
5. 点菜模块
输入:相应的信息
输出:相应的信息
6.加菜模块:
输入:相应的信息
输出:相应的结果
7. 删除模块:
输入: 相应的信息
输出: 相应的结果
8. 退出模块:
输入:退出命令
输出:无
9.数据备份模块:
输入:用户的操作输入
输出:操作结果显示
10.数据恢复模块:
输入:用户的操作输入
输出:操作结果显示
11.密码修改模块:
输入: 用户的操作输入
输出: 操作结果显示
12.系统设置模块:
输入:用户的输入
输出:根据用户的输入显示相应的对话框
13.数据统计模块:
输入:统计方式及其关键字
输出:统计结果视图显示
14.数据库操作模块:
输入:数据操作命令
输出:操作结果显示
14.数据库操作模块:
输入:数据操作命令
输出:操作结果显示
3.3 功能分配
浏览功能: 菜单系统 数据库操作模块
查询功能: 菜单查询模块 数据统计模块
加菜功能: 菜单系统 数据库操作模块 加菜模块
删除功能: 菜单系统 数据库操作模块 删除模块
4 接口设计
4.1 外部接口
1.用户界面
按Windows应用软件用户界面的规范来设计,使用以对话框为主的用户界面,便于用户使用。
1)主对话框:由五个功能按钮构成
登陆、点菜、结算、系统操作、退出
2)点菜对话框:
菜系选择框: 用于选择菜的菜系名字;
菜名选择框: 用于选择菜的名字;
确定按钮: 确定现在所看的菜是客户自己想要的;
退出按钮: 退出点菜对话框。
3)加菜 删菜对话框:
菜系选择框: 用于选择菜的菜系名字;
菜名选择框: 用于选择菜的名字;
价格选择框: 用于选择用户可以接受的价格区间;
菜单信息显示区:用于显示客户已经点的菜(菜系,菜名,单价,数量);
已经上菜信息显示区:用于显示已经上菜的信息(菜系,菜名,单价,数量);
加菜,删菜信息显示区:用于显示客户想要增加或者删除的菜的信息(菜系,菜名,单价,数量);
提交按钮:用于提交加菜 删菜的请求;
返回按钮:用于退出点菜对话框。
4)搜索对话框:
查询方式复选框:用于选择查询所需满足的条件(菜系,菜名,单价);
关键字编辑框:用于输入查询关键字(菜系,菜名,单价);
开始查询按钮:用于提交查询请求;
退出查询按钮:用于退出搜索对话框;
5)系统操作对话框:由七个功能按钮构成
菜单系统操作、数据统计、系统设置、数据备份、数据恢复、更改口令、返回。
6)菜单操作对话框:
菜系选择框: 用于选择菜的菜系名字;
菜名选择框: 用于选择菜的名字;
价格选择框: 用于选择用户可以接受的价格区间;
数量选择框: 用于选择用户想要的每份菜的数量;
纪录总数显示:用于显示记录的总数;
当前记录序号显示:用于显示当前记录在记录集中的位置;
“前一个”按钮:显示和编辑前一个记录;
“后一个”按钮:显示和编辑后一个记录;
“移动到”按钮:显示和编辑指定菜的记录;
“加入”按钮:增加点菜记录;
“删除”按钮:删除当前的点菜记录;
“退出”按钮:退出点菜操作对话框。
7)数据统计对话框:
统计条件单选框:用于选择统计条件类别(菜系,菜名,单价,数量);
菜单统计条件复选框:用于指定统计条件包含的相关项(菜系,菜名,单价,数量);
统计输出设置单选框:用于选择统计结果的输出类别;
菜单统计输出设置复选框:用于指定输出项(菜系,菜名,单价,数量);
关键字编辑框:用于输入编辑统计关键字;
“开始统计”按钮:提交统计请求;
“返回”按钮:退出数据统计对话框。
8) 数据备份对话框
路径编辑框:用于输入编辑备份路径。
BROWSE按钮:用于选择路径
确定按钮: 确定数据备份
退出按钮: 退出数据备份系统
2.软件接口
使用Access数据库的驱动程序,通过COM接口访问。
3.硬件接口
鼠标、键盘。
4.2 内部接口
模块间接口采用数据耦合方式,通过参数表传送数据,交换信息。
5.数据结构设计
5.1 逻辑结构设计
菜单:由多中不同的菜构成
每种菜的数据结构如下:
菜系(book): 菜系编号(CXID) 整数(唯一)
菜系名(CXName) 字符串
菜系描述(CXDscribe) 字符串
菜系代表(CXPresent) 字符串
菜种(reader): 菜名识别号(ID) 整数(唯一)
菜名(Name) 字符串
菜的单价(Price) 浮点数
菜的分类:(Class) 字符串
系统设置表(configuration): 记录号(id) 整数(唯一)
最大餐桌号(MaxNum) 整数
系统服务员记录表(administer): 服务员编号(WorkerId) 整数(唯一)
账号(Account) 整数
口令(Password) 整数
权限级别(Level) 字符串
5.2 物理结构设计
采用链表结构
5.3 数据结构与程序的关系
主模块:连接数据库
录入模块:
1) 客户输出对应的菜系,菜名,单价和数量;
2) 客户输入自己的桌号;
加菜模块:
1)客户输出对应的菜系,菜名,单价和数量;
2)客户重新输入自己的桌号;
删菜模块:
1)客户输出对应的菜系,菜名,单价和数量;
2)客户重新输入自己的桌号;
菜单查询模块:
指定菜单查询条件,对应输出相应的菜系,菜名,单价等。
系统操作模块:
1)系统操作权限查验模块:读入帐号,口令,输出相应的信息。
2)菜单库操作模块:增加,修改,删除 菜单库中的信息。
3)数据统计模块:指定统计条件,输出相应的信息。
系统设置模块:增加,修改,删除系统操作员记录表中的信息。
6.运行设计
6.1 运行模块的组合
1 登陆模块:程序启动后,进入登陆模块,工作人员输入帐号密码点击登陆,系统调用密码校验模块,校验无误后进入菜单主模块。
2 菜单主模块:用户选择桌号和菜肴,单击对话框按钮事件触发主模块调用各下层模块,生成对应的该顾客的菜单,存入菜单数据库,屏幕上显示出顾客最终的点菜菜单。3 修改模块:如顾客需要修改菜单则根据需要单击加菜/删菜按钮,系统自动进入修改模块进行菜单修改。返回菜单主模块。
4 结账模块:顾客单击结账按钮,调用结账子模块,弹出对应的子对话框,显示该顾客的菜单信息及消费总金额。
6.2 运行控制
本软件控制流程:主程序运行,等待用户的输入,根据用户的输入调用各子模块
6.3 运行时间
检索业务响应时间<2s;
运行响应时间<1s;
7.出错处理
7.1 出错输出信息
根据不同的出错情况给出不同的出错信息,一般用对话框给出。
1登陆界面,输入密码错误:1〉用户名不存在
2〉输入密码格式错误
3〉用户名和密码不匹配
2 修改密码:1〉用户名不存在
2〉输入密码格式错误
3〉用户名和密码不匹配
4〉新密码格式不正确
7.2 出错处理对策
对一般错误,给用户提示信息,让用户重新输入或退出。
8.安全保密设计
为每个服务人员设置账号及口令,规定每一级操作人员的权限。
9.维护设计
由于此项目比较小,除了严格按照软件工程的科学方法开发软件、认真建立文档、编码阶段写详细的注释外,没有特殊的维护设计,如:设置维护模块等。
