之前写过2015年的工作计划,其中有一项就是写一套管理系统,一来可以练练手,二来可以加强自己的学习,三来可以多园友多交流,共同进步。所以从今天开始把写系统的过程记录下来。先需求分析开始。

第一部分 引言

一、编写目的

1、此分析说明书整理餐饮收银系统中的需求,为后面的系统设计作准备,也就是描述了项目设计的要求。

二、背景

1、名称:餐饮管理系统,英文缩写名:RMS(restaurant manage system).

2、任务提出者:LZ

  开发者:LZ,

  本系统将实现客人进入餐饮邢台,点菜,传菜到结账等一系列流程,还能够实现加菜,退菜,催菜等各种状况,还能够实现自动厨房打分单处理。

  系统将采用sql server2008R2数据库,用powderdesigner15来设计数据库表,采用导出工具实现数据库表的设计。采用C/S结构。

三、定义

  暂无

四、 参考资料

  暂无

第二部分 任务概述

一、目标

1、将实现能够满足正常情况下餐饮管理系统的基本功能,能够从客人进入餐饮后开台,再点菜并上菜,然后结账后翻台,当然在实现过程的,免不了要退菜,加菜,客人的特殊口味要求,不同的顾客类型还有在结账的方式,付款的方式,厨房打印的不同类型,比如热菜的打印格式是一个菜一张小单,而冷菜可以一桌显示在一个单子上。

该软件最终的使用者是服务员、收银员,以及餐厅管理人员以及餐饮管理层领导等:

a、首先可以显示一个登录界面,要求用户必须输入用户名与密码都正确的情况下才可以进入系统,在此过程中,要求能够初始化系统的一些基础数据.

b、进入系统后可以显示台桌,台桌根据状态的不同用颜色来标识。

c、选择台桌后可以根据相应的状态作不同的操作,如果是空台,则可以作开台操作,而如果是已开台,但没有上菜,则直接到点菜界面,而如果是已上菜,但还没有结账,刚直接显示到已菜点菜界面,如果是结账状态时,则直接到已点菜结账界面。

d、开台之后就可以点菜,点菜支持不同方式的点菜,如直接在界面上操作,也可以用拼音或菜代码检索来点菜,默认点菜的数量为1,可以增加或减少数量,还可以直接改数量,可以删除已点的菜,对于已经点好的菜,可以改菜的上菜模式,还可以发送到厨房,可以用不同的方式发送到厨房。

e、对于已发送到厨房的菜,如果客人说想不要了,则可以通过退菜来操作,当然如果客人想加快上菜,则可以用催菜来操作。

f、客人吃好后要求结账,系统进入结账状态,系统可以选择不同的结账方式,如现金还是银行卡还是签单什么的。可以选择不同的折扣方式,是比例的方式还是直接扣减相应数额,是菜品的类型还折扣,还是全单打折,当然还有赠送等不计入金额。

g、结完帐后系统翻台,也就完成了一系统的操作回到了原点。系统将之前点的菜品和收款金额等相关的系统保存在数据库表中,以便为报表生成数据源。

2、系统其他要求,能够实现系统日志的相关输出,如当有异常出现时,系统日志文件能够准确无误地记录下来,关记录系统的所有与数据库交互的sql语句,

能够记录其他一切要记录的数据。

a、对密码等一些敏感的数据要求进行加密,日志输出要求能够有多种格式,界面上能够显示当前操作人员,当前时间,当机机器的相关信息。如IP等

  能够实现权限管理,相应的操作人员有相应的操作权限,管理者有最高的权限。

b、代码能够按照之前写的代码标准作准则。

c、对一些常用的操作能够有对应的快捷键。

3、故障处理要求

a、在数据访问、增改时,用户输入一些不合理的数据的时候,能够进行一些合理的提示信息,不能因为输入错误而导致系统的错误,或者窗口关闭;

b、数据库要求有灾难备份机制,以防止数据的全部丢失;

二、其他专门要求

A、安全性

尽管允许非登录用户进行职位/公司信息查询,单个人/公司信息的修改,必须是已经登录的用户。

B、可扩充性

  后面再补充

C、健壮性

系统应该保证在一次开机三个月之内稳定运行,数据库在一些灾难事故中能够在系统安装好之后,两小时内恢复。

系统的健壮性,牵涉到WEB服务器的特性,这些特性和数据,应该在设计报告中提交。

D、可维护性

   代码要考虑到可维护性,在设计上要求能够好扩展。

第三部分、运行环境规定

一、设备

客户程序硬件要求

具有 Pentium II 处理器且满足以下要求的计算机:

最低 64 MB 内存

最小 1 GB 硬盘

数据库服务器硬件需求:

具有 Pentium III 处理器且满足以下要求的计算机:

最低 256MB 内存

最小 20 GB 硬盘

二、支持软件

1、客户程序软件

Windows 98/NT /2000或更高版本

IE 4.0或者更高的版本

支持局域网

 

2、数据库服务器软件:

Windows NT /2000 Server或更高版本

SQL Server 2008R2企业版

好了,下次写概要设计,然后再详细设计

step byt step之餐饮管理系统一的更多相关文章

  1. EF框架step by step(6)—处理实体complex属性

    上一篇的中介绍过了对于EF4.1框架中,实体的简单属性的处理 这一篇介绍一下Code First方法中,实体Complex属性的处理.Complex属性是将一个对象做为另一个对象的属性.映射到数据库中 ...

  2. WPF Step By Step 系列-Prism框架在项目中使用

    WPF Step By Step 系列-Prism框架在项目中使用 回顾 上一篇,我们介绍了关于控件模板的用法,本节我们将继续说明WPF更加实用的内容,在大型的项目中如何使用Prism框架,并给予Pr ...

  3. WPF Step By Step 自定义模板

    WPF Step By Step 自定义模板 回顾 上一篇,我们简单介绍了几个基本的控件,本节我们将讲解每个控件的样式的自定义和数据模板的自定义,我们会结合项目中的具体的要求和场景来分析,给出我们实现 ...

  4. enode框架step by step之框架要实现的目标的分析思路剖析1

    enode框架step by step之框架要实现的目标的分析思路剖析1 enode框架系列step by step文章系列索引: 分享一个基于DDD以及事件驱动架构(EDA)的应用开发框架enode ...

  5. Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1

    摘要: Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1 安装遇到问题请文末留言. 悦动智能公众号:aibbtcom AI这个概念好像突然就 ...

  6. Step By Step(Lua编译执行与错误)

    Step By Step(Lua编译执行与错误) 1. 编译:    Lua中提供了dofile函数,它是一种内置的操作,用于运行Lua代码块.但实际上dofile只是一个辅助函数,loadfile才 ...

  7. Step by step Dynamics CRM 2011升级到Dynamics CRM 2013

    原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html 转载请注明出处 (一)检查Customizations 从2011升级到2013有一些legacy f ...

  8. Step by Step 创建一个新的Dynamics CRM Organization

    原创地址:http://www.cnblogs.com/jfzhu/p/4012833.html 转载请注明出处 前面演示过如何安装Dynamics CRM 2013,参见<Step by st ...

  9. Step by step Install a Local Report Server and Remote Report Server Database

    原创地址:http://www.cnblogs.com/jfzhu/p/4012097.html 转载请注明出处 前面的文章<Step by step SQL Server 2012的安装 &g ...

随机推荐

  1. 【Tree 3】树形结构数据加载的思考

    前面两篇文章,分别介绍了使用递归和非递归算法加载树形结构数据的方式,本篇文章,则是自己闲下来的时候,进行的一点小思考. 一.什么地方会用到树形结构 刚开始一看到这种结构的时候,最先是想到了家谱.家谱就 ...

  2. 2016-06-08:Windows中的bat脚本

    涉及循环嵌套,启用变量延时,算术运算 @echo off setlocal enabledelayedexpansion %路径以及文件名等变量设置% set x264_exe=E:\demo\c++ ...

  3. jexus

    Jexus web server V5.1 安装配置要点 一.Jexus简介:Jexus web server for linux 是一款基于.NET兼容环境,运行于Linux/unix操作系统之上, ...

  4. TCP报文段首部详解

    TCP虽然是面向字节流的,但是tcp传送的数据单元却是报文段,一个报文段分为首部和数据两部分,几乎TCP所有功能都从首部来体现,下面我们来详细的剖析下它的首部. (1):源端口与目标端口:分别写入源端 ...

  5. android 多线程 示例

    public class MyRun implements Runnable { int count = 1000; @Override public void run() { while (true ...

  6. ORACLE object_id和data_object_id

    object_id和data_object_id 都是对象的唯一标识. object_id是对象的逻辑标识 data_object_id是对象的物理标识 对于没有物理存储的对象,data_object ...

  7. WordPress主机

  8. [jQuery]最新的 3.0 已发布

    可以从 https://code.jquery.com/jquery/#jquery-all-1.x 找到历史版本 1.12.4 是支持 IE6 - 8 的最高版本. 下载地址 http://file ...

  9. android之存储篇_SQLite数据库_让你彻底学会SQLite的使用

    SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么. 例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中 ...

  10. tabbar底部标题和子控制器标题为什么会保持一致?

    原因: 1.当self.navigationItem.title,self.tabBarItem.title没有赋值情况下值和self.title一致. 2.当切换到该控制器页面的时候自己设置的sel ...