step by step 之餐饮管理系统二

  昨天写了餐饮管理系统的相关需求,得到了园友的一些好的建议,感到很高兴,确实写的也不全面,现在补充一下需要的业务,这次主要做的主要是前台收银系统,所以业务主要集中在前台点菜收银这块,而后面数据管理这块则暂时先不考虑。

至于像权限,不同的组门应该有不同的权限不同级别的员工也有相应的权限,比如收银员只有9折的打折权限,而收银主管则可以打折到8.5折,而经理可以打折到8折。至于一个园友说的前景,希望系统可以应用在中小型的餐饮,都说民以食为天,特别是现在社会发展如此快,人民对生活水平的需求越来越高,她们不仅仅满足于吃饱,更在乎餐厅的环境,而一个拥有好环境的餐厅不仅仅指餐厅装饰是多么的华丽,当然还包括像管理系统这样的软件环境,它代表的是一种先进的管理水平,现在全国各地每年都有好多新餐厅开张或改装,而且它们也越来越认可信息技术在管理中的重要作用,以前像手持点菜宝,PDA到现在的O2O技术的应用,现在像手机或IPad等平板硬件都已经应用的越来越普遍。所以说前景还是比较看好的,只有使用方便,个性化以及很好的用户体验,肯定会有一席之地。好,开始今天的系统概要设计。

第一部分  引言

一、编写目的

  本系统是系统系统的总体设计和实现说明,记录了整个系统实现上的技术实现的考虑,以需求说明为依据,同时作为系统要求的控制的依据。

二、背景

说明:名称: RMS(Restaurant manage system)

     开发:LZ

     本系统将实现真实情况下客人从进入餐厅到吃完饭后结账离开时一系统流程。帮助餐厅高效管理,提前员工工作效率。实现无纸化管理。

     数据库:sqlser2008R2

     数据库设计工具:Power Designer 15 + 设计表导出工具

   代码开发环境:VS2012,主要使用WINForm + wpf设计界面。

三、定义

  暂无

四、参考资料

  《CLR via C#》

  《.NET组件程序设计》

《C#程序开发范例宝典》

《First Head 设计模式》

《大话设计模式》

第二部分  总体设计

一、系统流程与基本概念

本系统采用典型的C/S来实现,不同的客户端通过网络连接到数据库服务器来访问或操作数据。如下图所示:

功能的模块划分如下图所示:

二、功能需求

1、开始界面设计

a.系统启动后首先运行的是欢迎界面,在启动的过程中会显示相关的初始化进度,并且显示各初始化模块的名称,启动完成后进入登录界面,此界面与QQ相似,用户名能够保存之前保存过的用户名,能够实现模糊查询用户名。输入错误的用户名或密码会有相应的错误提示。

b.系统退出可以提示不直接退出与直接退出两种,不直接退出就是相当于锁定系统,只要再次输入密码就可以登入系统。

c.系统有统一的界面风格,统一的logo.有统一的信息提示框。

2、台桌界面

a.输入正确的用户名与密码后进入台桌显示界面,界面会根据不同的状态显示不同的颜色来标识,能够根据不同的条件实现台桌的查询,如位置像包厢,大厅,状态像空台,已上菜或结账,当台桌状态是已上菜时,单击时会显示它对应的菜品与金额,双击后直接进入此台桌已点菜界面。空台则直接进入到点菜界面。

b.台桌界面能够显示台桌名称并且可以根据不同的配置来设置。能够有相应的颜色标识来标识台桌的状态。

3、点菜界面

a.当客人需要点菜或加菜时,可以进入到点菜界面进入操作,界面上能够根据类型来显示餐厅所有的菜品,可以根据菜品代码和拼音码进行点菜,点菜界面同时能显示已点菜的记录,选中要修改的菜品,可以个性它的数量,上菜模式,发送到厨房,或整单发送到厨房,可以删除已点菜,对已点菜记录可以根据类型进行排序,系统能够自动算出已点菜数量,金额等相关信息。

4、已发送菜界面

a.对于已经发送到厨房的菜品,就不能删除了,只有通过退菜来操作,退菜时一定输入数量,当然数量不能大于已点菜数量,当客人要加菜时,则可以跳转到点菜界面再点菜然后再发送,客人想加快上菜速度,则可以点催菜操作,会打印单子到厨房。

b.客人可以转台,比如有A台到B台,特殊情况下可以拼台。

5、结账

a.当客人要结帐时,可以操作打折,赠送等操作,前提是此菜品能够打折,能够赠送。打折的类型根据配置可能有不同的情况。

b.结账界面能够显示所有金额,可以选择支付方式,如现金还是银行卡,能够自动算出像打折,赠送以及签单等相应金额。

c.结账时能够打印所有菜品的信息,显示名称,数量,金额,收银员名称,打印时间等信息。

d.结完账后实现翻台操作,一个完整流程结束。

6、其他

a.餐厅有相应的餐段,比如是午餐还是晚餐,这个根据时间来由系统自动识别,对于大型的餐厅,还有不同的餐牌,如是中餐还是西餐。

b.客人类型有散客与团队等。

c.菜品还在套餐与非套餐。

d.打印菜品的格式。

第三部分 接口设计

  系统采用Ado.net连接数据库来实现对数据的操作,复杂的操作使用存储过程,简单的数据库操作可以不使用存储过程,使用xml或其他像INI存储一些配置相关方面的信息。对用户密码等敏感信息使用md5加密技术,所有的界面继承同一个父界面,所有的错误或异常能够捕抓到到记录到日志文件或表中并将提示返回给用户,提示信息应该是友好的,不是看不懂的一些信息。

1、模块设计

之前也一直想要不要重复创轮子,前面也说了,主要是练练手,所以不使用第三方的控件,像日志记录控件log4net,微软的enterPrise都是不错的选择,像控件库telerik那么炫,但是为了加深学习,还是不使用这些非常优秀的控件。

a.解决方案名称: RMS,命名空间名称也以这开头。

b. 数据访问层:DataAccess

c.自定义控件:UserControls,所有的自定义控件放这个项目里面

d.业务层:Business,所有相关的业务处理放这里。

c.数据层:Entities,存储所有的实体类,每个实体类实现Insert,update以及Delete方法。

d.日志:Logger,存放日志相关的项目。

e.Common:所有通用类存放在此项目中。

f.UI文件夹:UI相关的文件放此文件夹中,UI下面放Resources以及Operations和FORM相关子文件夹,分别存放资源相关以及窗体和对应的操作类。

下次写数据库表设计,这次先到这,主要是概要,详细设计会以模块一个一个地介绍,然后再合起来写一个完整的详细设计文档。

时间: 2024-10-06 15:08:18

step by step 之餐饮管理系统二的相关文章

step byt step之餐饮管理系统一

之前写过2015年的工作计划,其中有一项就是写一套管理系统,一来可以练练手,二来可以加强自己的学习,三来可以多园友多交流,共同进步.所以从今天开始把写系统的过程记录下来.先需求分析开始. 第一部分 引言 一.编写目的 1.此分析说明书整理餐饮收银系统中的需求,为后面的系统设计作准备,也就是描述了项目设计的要求. 二.背景 1.名称:餐饮管理系统,英文缩写名:RMS(restaurant manager system). 2.任务提出者:LZ 开发者:LZ, 本系统将实现客人进入餐饮邢台,点菜,传

study Mvc step by step (二) 关于MVC的一些C#特有语法

在我们即将进入ASP.NET开发大门的时候.我们需要先学习一些C#的特有语法.而且对于传统的webform的开发,我们介绍的这些C#特有语法并不是每个人都熟悉的.本节将介绍一个MVC优良程序员所需要的C#语言特性. 一:c#的基本特性 1.1使用自动实现的属性 c#属性特性让你暴露一个类的数据片段,这些数据以及如何设置和接收数据采取了一种松耦合的方式.就是说并不是直接和我们类中的字段相关联,而是通过一个对外的接口.我们首先看一下下面的这个叫做   "product"  类  类里面我们

数论之高次同余方程(Baby Step Giant Step + 拓展BSGS)

什么叫高次同余方程?说白了就是解决这样一个问题: A^x=B(mod C),求最小的x值. baby step giant step算法 题目条件:C是素数(事实上,A与C互质就可以.为什么?在BSGS算法中是要求a^m在%c条件下的逆元的,如果a.c不互质根本就没有逆元.) 如果x有解,那么0<=x<C,为什么? 我们可以回忆一下欧拉定理: 对于c是素数的情况,φ(c)=c-1 那么既然我们知道a^0=1,a^φ(c)=1(在%c的条件下).那么0~φ(c)必定是一个循环节(不一定是最小的)

C++开发WPF,Step by Step

示例代码 使用C++来开发WPF,主要是如何在MFC(Win32)的窗口中Host WPF的Page.下面我就做个详细的介绍. 一.创建工程, 由于MFC的Wizard会生成很多用不到的代码,所以我准备从一个空的工程开始创建一个MFC的工程. a)         打开VS2005,菜单File->New->Projects-, 左面选择Visual C++->Win32,右面选择Win32 Console Application,给工程起个名字CPlusPlus_WPF, Ok进入下一

数据库设计 Step by Step (1)——扬帆启航

引言:一直在从事数据库开发和设计工作,也看了一些书籍,算是略有心得.很久之前就想针 对关系数据库设计进行整理.总结,但因为种种原因迟迟没有动手,主要还是惰性使然.今天也算是痛下决心开始这项卓绝又令我兴奋的工作.这将是一个系列的文 章,我将以讲座式的口吻展开讨论(个人偷懒,这里的总结直接拿去公司培训新人用). 系列的第一讲我们先来回答下面几个问题 数据库是大楼的根基 大多数程序员都很急切,在了解基本需求之后希望很快的进入到编码阶段(可能只有产出代码才能反映工作量),对于数据库设计思考得比较少. 这

数据库设计 Step by Step (2)——数据库生命周期

引言:数据库设计 Step by Step (1)得到这么多朋友的关注着实出乎了我的意外.这也坚定了我把这一系列的博文写好的决心.近来工作上的事务比较繁重,加之我期望这个系列的文章能尽可能的系统.完整,需要花很多时间整理.思考数据库设计的各种资料,所以文章的更新速度可能会慢一些,也希望大家能够谅解. 系列的第二讲我们将站在高处俯瞰一下数据库的生命周期,了解数据库设计的整体流程 数据库生命周期 大家对软件生命周期较为熟悉,数据库也有其生命周期,如下图所示. 图(1)数据库生命周期 数据库的生命周期

WPF Step By Step 自定义模板

WPF Step By Step 自定义模板 回顾 上一篇,我们简单介绍了几个基本的控件,本节我们将讲解每个控件的样式的自定义和数据模板的自定义,我们会结合项目中的具体的要求和场景来分析,给出我们实现的方案和最终的运行效果. 本文大纲 1.控件模板及数据模板 2.ListBox深度定制模板. 3.TreeView高级模板使用实例. 控件模板及数据模板 控件模板 什么是控件模板,指定可以在控件的多个实例之间共享 Control 的可视结构和性能方面的方面.控件模板其实就是我们在可视方面的自定义模板

WinForm RDLC SubReport Step by step

最近在做的一个PO管理系统,因为要用到订单打印,没有用水晶报表,直接使用VS2010的Reporting.参考了网上的一些文章,但因为找到的数据是用于WebForm的,适配到WinForm有点区别,竟然花了很久才搞通.所以现在做个Step By Step以记录. 参考Jimmy.Yang的博文: http://www.cnblogs.com/yjmyzz/archive/2011/09/19/2180940.html 开发环境:      VS2010 C# 第一步,新建项目 2.在项目中新建数

Step By Step(Lua目录)

Step By Step(Lua开篇)http://www.cnblogs.com/stephen-liu74/archive/2012/03/17/2403210.html一.简介二.主要优势三.应用场景 Step By Step(Lua基础知识)http://www.cnblogs.com/stephen-liu74/archive/2012/03/20/2407507.html一.基础知识二.类型与值 Step By Step(Lua表达式和语句)http://www.cnblogs.co