餐馆点菜系统概要设计.docx
《餐馆点菜系统概要设计.docx》由会员分享,可在线阅读,更多相关《餐馆点菜系统概要设计.docx(18页珍藏版)》请在冰豆网上搜索。
![餐馆点菜系统概要设计.docx](https://file1.bdocx.com/fileroot1/2023-7/5/03ad4051-55e0-4016-ab28-dcd8a254cca6/03ad4051-55e0-4016-ab28-dcd8a254cca61.gif)
餐馆点菜系统概要设计
餐馆点菜系统
——概要设计说明书
学院:
数学与计算机科学学院
专业:
计算机科学与技术(软件工程方向)
班级:
软件12
学号:
1060612014049
姓名:
邓茂记
日期:
2015年5月10日
餐馆点菜系统
--概要设计说明书
1引言
1.1编写目的
概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。
软件结构是将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。
数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。
主要是基于以下目的编写此说明书。
1.对系统概要设计阶段的任务成果形成文档,以便阶段验收、评审,以及最终的文档验收。
2.对需求阶段的文档再次确认的过程,对前一阶段需求提出修改。
3.明确整个系统的功能框架和数据库结构,为下一阶段的详细设计、编码、和测试提供参考依据。
4.明确编码规范和命名规范,统一程序界面。
1.2项目背景
项目名称:
餐馆点菜系统
用户:
各大中小型餐厅
项目开发者:
邓茂记、王晓武、颜学宏、胡皓钧
产生背景:
随着科技的快速发展,互联网时代已融入我们生活的各方各面,基于高校学生人数较多,而学校周边餐馆较少,餐馆服务人员单凭手工操作,不仅效率低下,给餐馆服务人员带来一定的困难,而且还会影响师生的就餐效率。
餐馆点菜系统集点菜、结账、查询等功能一体,能很好地缓解这一严重问题。
1.3参考资料
[1]张俊兰,王文发,马乐荣,冯伍.软件工程[M].西安:
西安交通大学出版社,2009.4
[2]刁成嘉.UML系统建模与分析设计[M].北京:
机械工业出版社,2007.6
[3]贾经冬,林广艳.软件项目管理[M].北京:
高等教育出版社,2012.12
[4]张志美.21天学通VisualC++[M].3版.北京:
电子工业出版社,2014.1
2任务概述
2.1目标
《餐馆点菜系统》针对的用户是各种大中小型餐馆、酒店,提供一个方便快捷的点菜环境,给予顾客一个轻松的点菜方式,方便餐馆服务人员点菜时省时省力。
系统要求运行稳定,不会出现崩溃现象;系统功能齐全,运行速度小于10秒;系统要求准确运行,不会出现信息错误现象;能够支持多个用户同时登录使用;能够提供一定的安全机制,提供数据信息的授权访问,防止对信息的随意修改和删除。
2.2运行环境与资源
运行环境:
windows7及以上版本
资源:
MicrosoftSQLServer2005
微软基础类库(MFC)
2.3需求概述
该系统由客户端和服务器端两部分组成,客户端供餐馆消费人员使用,服务器端供餐馆工作人员使用,两者通过数据库实现数据的交互。
相应的需求有:
1.系统能够存储一定数量的菜品信息,并方便有效的进行相应菜品的操作和管理,主要包括对菜品信息的录入、删除、修改和查询。
2.能够对顾客的菜单信息进行相应的计算与管理,主要包括对顾客菜单的金额统计、菜单查询。
3.顾客能够通过客户端进行相应的操作,主要包括点菜、退菜、下单及支付功能。
4.能够对需要的结果提供列表显示。
5.能够支持多个用户同时登录使用。
6.能够提供一定的安全机制,提供数据信息的授权访问,防止对信息的随意修改和删除。
2.4条件与限制
开发时间:
3个月
经费来源:
相关餐馆
小组技术:
小组人员能通过自身及其他合法方法获取开发此软件的一切技术。
运行环境:
Windows7及以上版本
数据库:
MicrosoftSQLServer2005
该系统可以安装在餐馆的餐桌上,顾客来到该餐馆时进行点菜;也可以在电脑上安装客户端,支持远程点菜的功能。
该系统采用MFC(微软基础类库)和MicrosoftSQLServer2005数据库进行开发,只能在windows7的环境下使用,给系统的安装及移植带来一定的困难。
3总体设计
3.1处理流程
3.1.1客户端处理流程
消费者凭借用户名及密码或餐桌号进入系统,系统会显示本餐馆的全部菜品,消费者根据菜品的名称和价格选择自己喜欢的菜品,消费者在没有下单之前可以选择性地删除已选的菜品,下单之后将不能删除,消费者点击下单之后会显示已选的菜品及总价格,提示消费者选择不同的支付方式进行付款(现金和支付宝方式),消费者在没有付款之前可以取消菜单。
消费者还可以随时查看自己已选的菜品。
其具体的处理流程图如图3.1所示。
3.1.2服务端处理流程
餐馆工作人员进入系统,可以通过“开始营业”和“停止营业”两个按钮控制客户端是否可以使用,餐馆工作人员可以增加新的菜品,删除已有菜品,修改菜品信息,查看全部消费者的下单情况及按餐桌号查看消费者的下单情况。
其具体的处理流程图如图3.2所示。
3.2总体结构和模块外部设计
《餐馆点菜系统》的总体结构包括客户端功能模块和服务器端功能模块两部分。
客户端主要包括菜单管理功能模块、菜单查询功能模块和菜单支付功能模块。
服务器端主要包括菜单查询功能模块、菜品管理功能模块。
点菜未结
束
点菜结束
图3.1餐馆点菜系统客户端处理流程图
图3.2餐馆点菜系统服务端处理流程图
3.2.1总体功能模块划分
《餐馆点菜系统》的总体模块划分如图3.3所示。
图3.3餐馆点菜系统总体功能模块
客户端模块划分如图3.4所示。
图3.4餐馆点菜系统客户端模块
服务器端模块划分如图3.5所示。
图3.5餐馆点菜系统服务端模块
3.2.2模块外部设计
该系统各模块间的输入及输出如下:
1.登录模块:
输入:
用户名或桌号。
输出:
进入系统。
2.菜单查询模块:
输入:
用户输入用户名或桌号。
输出:
该用户的菜单信息。
3.点菜模块:
输入:
用户在菜品信息中选中菜品。
输出:
被选中的菜品加入到菜单。
4.退菜模块:
输入:
用户在用户菜单中选中菜品。
输出:
被选中的菜品从用户菜单中删除。
5.增加菜品模块:
输入:
菜品信息。
输出:
菜品加入到系统。
6.修改菜品模块:
输入:
菜品信息。
输出:
系统中的菜品被修改。
7.删除菜品模块:
输入:
选中要删除的菜品。
输出:
菜品从系统中删除。
8.菜单支付模块:
输入:
账户名及密码。
输出:
从账户中扣除相应金额,菜单显示已支付。
9.退出模块:
输入:
退出指令。
输出:
无。
3.3功能分配
该系统中的各个功能所涉及到的模块如表3.1所示。
表3.1各个功能所涉及到的模块表
功能
涉及到的模块
点菜功能
菜单系统、点菜模块、数据库操作模块
退菜功能
菜单系统、点菜模块、数据库操作模块
支付功能
菜单系统、数据库操作模块
查询功能
菜单查询模块、数据库操作模块
增加菜品功能
增加菜品模块、数据库操作模块
修改菜品功能
修改菜品模块、数据库操作模块
删除菜品功能
删除菜品模块、数据库操作模块
4接口设计
4.1外部接口
4.1.1用户界面
该系统采用MFC(微软基础类库)开发,按windows应用软件用户界面规范来设计,使用以对话框为主的用户界面,便于用户使用。
1.餐馆点菜系统客户端主界面由全部菜品、推荐菜品、酒水饮料、我的菜品、点菜、退菜、下单7个功能按钮和一个列表控件构成,界面如图4.1所示。
图4.1餐馆点菜系统客户端主界面图
2.餐馆点菜系统用户下单界面由一个列表控件、一个编辑框、一个组合框、两个静态文本、提交和取消两个功能按钮构成。
界面如图4.2所示。
图4.2餐馆点菜系统用户下单界面图
3.餐馆点菜系统用户支付界面由两个编辑框、两个静态文本、三个功能按钮(绑定账户、支付和取消)构成。
界面如图4.3所示。
图4.3餐馆点菜系统用户支付界面图
4.餐馆点菜系统服务器端主界面由开始营业、停止营业、增加菜品、修改菜品、删除菜品、用户订单六个功能按钮和一个列表控件构成。
界面如图4.4所示。
图4.4餐馆点菜系统服务器端主界面图
5.餐馆点菜系统增加菜品和修改菜品界面由两个编辑框、三个静态文本框、一个组合框和两个功能按钮构成。
界面如图4.5所示。
图4.5餐馆点菜系统增加菜品和修改菜品界面图
6.餐馆点菜系统查询用户订单界面由两个编辑框、两个静态文本框、一个列表控件和两个功能按钮构成。
其界面如图4.6所示。
图4.6餐馆点菜系统查询用户订单界面图
4.1.2软件接口
使用MicrosoftSQLServer2005数据库与该系统进行交互。
4.1.3硬件接口
键盘、鼠标。
4.2内部接口
各模块接口之间采用数据耦合方式,通过函数调用、参数传递、返回值的方式进行信息传递。
服务器端执行相应功能时通过直接访问数据库来获取数据信息,客户端通过套接字与服务端连接,客户端的功能请求会发送相应的消息到服务端,由服务端访问数据库后得到相应数据信息后再发送给客户端。
5数据结构设计
5.1逻辑结构设计
1.用户登录表(UserLog):
用户名(UserName),用户密码(Userpwd),支付宝账号(AccountName)。
2.支付宝账户表(Account):
账户名(AccountName),账户密码(AccountPwd)。
3.全部菜品表(AllDishes):
菜品名称(DishName),菜品价格(DishPrice),推荐标志(flag)。
4.酒水饮料表(Drink):
名称(DrinkName),价格(DrinkPrice)。
5.用户菜品表(MyDishes):
菜品名称(DishesName),菜品价格(DishesPrice),用户名(UserName)。
依据上面的关系模式,设计数据表如下:
1.用户登录表(UserLog):
记录注册该系统的用户。
如表5.1所示。
表5.1用户登录信息表
列名
数据类型
长度
属性
描述
UserName
Nchar
16
主键
用户名
Userpwd
Nchar
16
不允许为空
登录密码
AccountName
Nchar
20
外键
账户名
2.支付宝账户表(Account):
记录支付宝账户及密码。
如表5.2所示。
表5.2支付宝账户信息表
列名
数据类型
长度
属性
描述
AccountName
Nchar
20
主键
账户名
AccountPwd
Nchar
10
不允许为空
账户密码
3.全部菜品表(AllDishes):
记录餐馆中的所有菜品。
如表5.3所示。
表5.3全部菜品信息表
列名
数据类型
长度
属性
描述
DishName
Nchar
32
主键
菜品名称
DishPrice
Int
不允许为空
菜品价格
Flag
Nchar
10
不允许为空
推荐标志
4.酒水饮料表(Drink):
记录餐馆中的酒水饮料。
如表5.4所示。
表5.4酒水饮料信息表
列名
数据类型
长度
属性
描述
DrinkName
Nchar
32
主键
名称
DrinkPrice
Int
不允许为空
价格
5.用户菜品表(MyDishes):
记录用户已点菜品信息。
如表5.5所示。
表5.5用户菜品信息表
列名
数据类型
长度
属性
描述
DishesName
Nchar
32
主键
菜品名称
DishesPrice
Int
不允许为空
菜品价格
UserName
Nchar
16
外键
用户名
5.2物理结构设计
数据库物理设计是将一个给定逻辑结构实施到具体的环境中,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。
该系统采用的工作环境为MicrosoftSQLServer2005数据库。
5.3数据结构与程序的关系
1.客户端和服务端主模块:
连接数据库。
2.登录模块:
用户输入用户名及密码或餐桌号,系统进行验证。
3.菜单查询模块:
输入用户名及密码或餐桌号,对应输出相应的菜单信息。
4.菜品管理模块:
输入相应的菜品信息,系统响应对应的操作。
6运行设计
6.1运行模块的组合
为保证系统的安全性,为系统的角色设置了操作权限,不同权限下系统运行的模块有所区别,根据权限分配,对系统运行模块划分如下:
1.登录模块:
程序启动后,进入登录模块,用户输入用户名及密码或餐桌号点击登录,系统调用密码校验模块,校验无误后进入客户端主模块。
2.客户端主模块:
用户选择菜品,单击对话框按钮事件触发模块调用各下层模块(点菜模块、退菜模块和菜单查询模块)。
3.点菜模块:
用户选择菜品,单击点菜按钮生成对应的该顾客菜单,将顾客菜单存入数据库,屏幕上显示最终的点菜菜单,点菜结束后点击支付按钮,调用支付模块进行菜品支付。
4.服务端菜品管理模块:
管理员单击对话框按钮事件触发模块调用各下层模块(增加菜品模块、修改菜品模块、删除菜品模块和菜单查询模块)。
6.2运行控制
该系统的客户端必须在服务端启动的条件下才能运行,服务端可以随时控制客户端是否能够运行,客户端运行后等待用户输入用户名及密码或餐桌号进入系统,进入系统后根据用户的输入调用相应模块。
服务端在启动服务的时通过用户输入用户名或餐桌号调用菜单查询模块,服务端在停止服务是通过用户操作调用相应的菜品管理模块。
6.3运行时间
系统运行响应时间:
小于3秒
系统检索业务响应时间:
小于5秒
7出错处理设计
7.1出错输出信息
系统根据不同的出错情况给出不同的出错信息,一般用弹出对话框提示。
各出错处理信息如下:
1.网络连接和数据库连接错误:
网络连接错误,请检查网络!
2.登录界面错误:
a、用户名或密码错误!
b、用户名或密码不能为空!
3.注册界面错误:
a、该用户已被注册!
b、用户名或密码不能为空!
7.2出错处理对策
对一般错误,给出用户提示信息,让用户重新输入或退出。
8安全保密设计
对系统不同角色设置不同的权限,每个顾客登录系统后只能给自己点菜、退菜、支付菜单,只能查看自己的菜单,其他功能无法访问。
餐馆工作人员进入系统可以对菜品进行管理,只能按用户名和餐桌号查看顾客的菜单,但不能更改顾客的菜单信息。
9维护设计
维护方面主要是对服务器上的数据库进行维护,使用SQLSERVER的数据库维护功能机制,定期对数据库进行检查维护,维护管理数据库死锁问题和维护数据库内数据的一致性。
撰写人:
邓茂记
日期:
2015年5月10日