版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、黑龙江外国语学院黑龙江外国语学院2015-2016-1(学期) 专 业: 计算机科学与技术 班 级: 一班 学生姓名: 杨昊川 课程名称: 软件工程导论 任课教师: 付立平 教授 2015 年 12 月 4 日个体餐饮系统设计与实现杨昊川摘要 近几今年我国市场经济飞速发展,各行业都呈现出生机勃勃的发展景象,尤其是餐饮业的发展尤为突出。如今已呈现出高速发展的势态。随着餐饮行业的规模和数量不断增长,手工管理模式无论是在工作效率、成本还是提供决策信息整体规划方面都已无法 适应现代化经营管理的需求,制约了整个餐饮业的规模化发展和整体服务水平的提升。本文结合饭店的服务和管理内容,利用现代化科技技术MIS
2、有效的解决工作 效率和管理困难等问题。 关键词: 内聚耦合性 个体餐饮 软件工程基础 模块化分析目 录1.引言51.1研究背景与现状51.2研究目的及意义52.系统分析62.1可行性研究62.1.1可行性研究的方法62.1.2经济可行性62.1.3技术可行性72.2需求分析72.2.1 需求概述7222需求分析阶段的目标7223 需求分析阶段的任务72231处理对象72232 处理功能及要求83 系统设计831 系统设计思想83.2 系统开发环境93.2.1 系统开发程序(源码见附录1)933系统功能设计103.3.1 系统功能模块图104.数据库设计1241建立数据库(数据表,视图)124.
3、1.1建立数据库134.1.2 建立数据表134.2数据入库145.内聚155.1内聚性155.2偶然内聚155.3逻辑内聚155.4时间内聚155.5过程内聚165.6通信内聚165.7顺序内聚165.8功能内聚166系统调试与程序功能测试16结 论17附录1 源码191.引言1.1研究背景与现状随着人民群众生活水平的提高,餐饮业的功能向社会交往。休闲享受等方面不断拓展,节日家宴、婚庆消费、日常快餐等大众消费成为餐饮业的消费主流,餐饮行业的个体工商户不断的注册成立,数量不断壮大。但是目前阶段,餐饮业个体工商户由于市场准入门槛较低,技术含量不高,经营规模相对较小,产权的私有化和家庭化相融合,会
4、计核算不健全或者根本没有会计核算。现行的手工管理方式,整体科技含量低。随着餐饮业规模和数量的不断增长,手工管理模式无论是在工作效率、人员成本还是提供决策信息方面都已难以适应现代化经营管理的要求,因此制约了整个餐饮业的规模化发展和整体服务水平的提升1.2研究目的及意义本文通过以点餐系统为例,包涵用户的基本要求进行需求分析后,将系统按照不用的用户类型划分为服务员模块、管理员模块、财务管理模块。按照数据库设计流程用业务流程图、数据流程图,进行系统模型设计,系统架构设计,登录模块设计,台桌模块设计,数据同步模块设计,建立一个能满足用户对个体餐饮方便实用的个体餐饮管理系统。2.系统分析2.1可行性研究2
5、.1.1可行性研究的方法可行性研究的方法如下:(1) 个体餐饮现状调查(2) 市场相关管理软件的试用与同类软件产品的调查2.1.2经济可行性进一步实现自动化管理,提高整体效率。1)机件投资 硬件设备:PC机 软件:Windows XP以上系统环境, CentOS 4以上系统环境2)其它一次性支出 软件设计和开发费用(3)经常性支出 软件数据库维护费用,需求升级的费用。2.1.3技术可行性本个体餐饮系统采用常规的数据库系统管理方法,根据信息管理的各项特点,使程序对数据的查询、插入、删除进行了相应优化设计。数据流程和处理流程如图所示:2.2需求分析2.2.1 需求概述需求分析简单地说就是分析用户的
6、要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,并影响到设计结果是否合理和使用。222需求分析阶段的目标1.了解个体餐饮工作模式;2.了解个体餐饮个用户需求;3.优化需求方案;223 需求分析阶段的任务2231处理对象系统的处理对象涉及以下几个方面的信息:系统用户状态信息(AdminState):用户编号,用户活动。菜品基本信息(FoodInfo):菜品编号,菜品价格。消费项目基本信息(Atariff):消费项目编号,消费项目名称,消费项目价格。台桌状态信息(TableState):台桌编号,台桌活动。消费信息(Consumelist):台桌编号,消费项目编号,
7、消费项目数量,消费金额。2232 处理功能及要求1.能够存储一定数量的菜品,并方便有效的进行相应的菜品数据操作和管理,这主要包括:1)菜品信息的录入,删除和修改。2)菜品信息的编号查询。2.能够对顾客的台桌信息,点餐信息,消费信息进行相应的操作,这主要包括:1)顾客消费的登记,删除及修改。2)顾客消费信息的汇总。3.能够提供一定的安全机制,提供数据信息授权访问,修改和删除,防止随意查询,修改及删除。4.对查询,统计的结果能够列表显示。3 系统设计31 系统设计思想将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。本系统开发设计思想有一下几点:1.
8、尽量采用第配置硬件环境,充分利用个体现有资源,提高系统开发水平和应用效果的目的。2.系统应符合个体餐饮管理的需求,满足日常工作的需要,并且达到操作过程中的直观、方便、实用、安全等要求。3.采用系统模块化程序设计方法,即便于系统功能的各种组合和修改,又便于未开发的模块的开发和维护。4.系统应具备数据库维护的功能,及时根据用户进行数据的添加、删除、修改、备份等操作。3.2 系统开发环境 发采用低端硬件环境,支持Windows XP及以上工作环境。软件采用C/C+的工作开发环境,兼容性强,速度快,稳定安全。3.2.1 系统开发程序(源码见附录1)33系统功能设计3.3.1 系统功能模块图本系统的功能
9、主要包括如图几个方面:系统架构图:模块汇总(登录模块设计,台桌模块设计,数据同步模块):登录模块:台桌模块:数据同步:4.数据库设计41建立数据库(数据表,视图)4.1.1建立数据库数据库的建立Create database Fabcind;4.1.2 建立数据表(1)系统用户信息表的建立:create table admin( Ano char(20) not null, Aname char(20)not null, Apwd char(20)not null, Aid char(15) unique not null)表1 系统用户信息列名数据类型可否为空说明Anochar(20)not
10、 null管理编号Anamechar(20)not null管理类型Apwdchar(20)not null管理密码Aidchar(105)not null管理ID(2)菜品信息表的建立: create table FoodInfo( Fodno char(20), Fodname char(20)not null, Fodprice float not null, check (Fodprice 0.0) )表2菜品信息列名数据类型可否为空说明Fodnochar(20)not null菜品编号Fodnamechar(20)not null菜品名称Fodpricefloatnot null菜品
11、价格(3)台桌信息表的建立: create tableTabInfo ( Tabno char(20), TabMoney float not null, check (TabMoney 0.0)表3台桌信息列名数据类型可否为空说明Tabnochar(20)not null台桌编号FodMoneyfloatnot null消费价格4.2数据入库系统包括系统用户信息表、菜品信息表、台桌信息表,共有3张基本表,采用事先在Excel中录入数据,然后使用SQL Server 2000数据导入/导出向导功能,直接将数据导入到相应的基本表中。5.内聚5.1内聚性是对一个模块内部各个组成元素之间相互结合的紧
12、密程度的度量指标。模块中组成元素结合的越紧密,模块的内聚性就越高,模块的独立性也就越高。理想的内聚性要求模块的功能应明确、单一,即一个模块只做一件事情。模块的内聚性和耦合性是两个相互对立且又密切相关的概念。 经实践证明,保证模块的高内聚性比低耦合性更为重要,在软件设计时应将更多的注意力集中在提高模块的内聚性上。模块的内聚性主要可划分为如下几种不同的类型。 5.2偶然内聚若一个模块由多个完成不同任务的语句段组成,各语句段之间的联系十分松散或根本没有任何联系,则称此模块的内聚为偶然内聚。 5.3逻辑内聚这种模块是把几种功能组合在一起,每次调用时,则由传递给模块的判定参数来确定该模块应执行哪一种功能
13、。 5.4时间内聚若一个模块包含了需要在同一时间段中执行的多个任务,则称该模块的内聚为时间内聚。例如,将多个变量的初始化放在同一个模块中实现,或将需要同时使用的多个库文件的打开操作放在同一个模块中,都会产生时间内聚的模块。 5.5过程内聚若一个模块中的各个部分相关,并且必须按特定的次序执行,则称该模块的内聚为过程内聚。在结构化程序中,通常采用程序流程图作为设计软件和确定模块划分的工具,因此,这样得到的模块往往具有过程内聚的特性。 5.6通信内聚若一个模块中的各个部分使用同一个输入数据或产生同一个输出数据,则称该模块的内聚为通信内聚。 5.7顺序内聚若一个模块中的各个部分都与同一个功能密切相关,
14、并且必须按照先后顺序执行(通常前一个部分的输出数据就是后一个部分的输入数据),则称该模块的内聚为顺序内聚。 5.8功能内聚若一个模块中各个组成部分构成一个整体并共同完成一个单一的功能,则称该模块的内聚为功能内聚。6系统调试与程序功能测试对该个体餐饮管理系统进行测试,验证每个功能是否符合要求,具体的测试如下:1.测试系统间能否正常跳转。2 .检验数据在存储过程中是否正确存储,数据是否能够准确入表。3.测试系统是否能够按预期目标稳定运行。结 论本文从餐饮管理系统发展现状谈起,根据餐饮系统的流程,分析了系统的需求,通过总体设计、详细设计、数据库设计和编码实现几个阶段,完成了餐饮系统从用户登录到开台点
15、菜,到结账收银,到统计一条线的信息化管理。规范了餐饮业的库存管理,扩展性的增加了内部管理等功能。系统将餐饮业中点菜、退钱、预定、结账等一连串的业务用计算机来管理,解决餐饮系统的关键技术,给出了餐饮业务的解决方案,实现了现代化的餐饮管理机制。参考文献1 赵赤龙,实用软件工程M,北京:电子工业出版社,2011.2 李代平,软件工程(第三版)M,北京:清华大学出版社,2011.3 陈明,软件工程实用教程M,北京:清华大学出版社,2012.4 萨师煊 王珊,数据库系统概论(第四版),北京:高教出版社,20065 王玉雯,中小餐饮企业智能服务系统设计与实现,电子科技大学,2013附录1 源码*(部分(*
16、.h)代码 不作展示。)*1. adminui.cpp#include#include#include#includemenuui.h#includeusing namespace std;int choosemain;/主函数chooseint choosemenu;/菜单界面chooseint cm_num;/菜目编号string cm_name;/菜单名字int cm_price;/菜单价格/bool cm_zt=false;/菜单状态/bool cm_sure=false;/确定保存?char cm_zt;/菜单状态char cm_sure;/确定保存?char cm_del;/确定删
17、除?int cz_num=000;/定义餐桌号string uname;/定义人员管理class systemmainpublic:systemmain()cout+-+endl;cout+- -+endl;cout+- 管理菜单 -+endl;cout+- -+endl;cout+-+endl;coutendl;cout1 : 菜单管理endlendl;cout2 : 餐桌管理endlendl;cout3 : 人员管理endlendl;/cout4 : 切换用户endlendl;cout4 : 退出系统endlendl;coutchoosemain;/*-*/switch(choosemai
18、n)case 1:system(cls);Sleep(500);/添加menuui();break;case 2:Sleep(700);coutendl;cout本店活动的餐桌如下:endl;cout cz_num桌 正在活动中! endl;Sleep(500);systemmain();break;case 3:Sleep(700);coutendl;cout系统服务端:endl;cout活动中的服务机编号:endl;cout unameendl;break;case 4:bool quit = true;break;/在menuui.h中定义使用menuui:menuui()cout+-+
19、endl;cout+- -+endl;cout+- 菜单界面 -+endl;cout+- -+endl;cout+-+endl;coutendl;cout 增加菜目endlendl;cout 删除菜目endlendl;cout 修改菜目endlendl;cout 查询菜目endlendl;cout 所有菜目endlendl;cout 返 回endlendl;coutendl;coutchoosemenu;/*-*/switch(choosemenu)case 1:Sleep(200);coutcm_num;coutcm_name;coutcm_price;coutcm_zt;while(cm_
20、zt = n | cm_zt = N)continue;coutcm_sure;while(cm_sure = n | cm_sure = N)continue;menuui();break;case 2:cout输入您要删除的菜品编号endl;cout;cincm_num;cout菜号 菜名 价格 状态endl;coutcm_num cm_name cm_price cm_ztendl;cout是否确认删除(Y/N)?:cm_del;menuui();break;case 3:cout修改菜单endl;Sleep(800);menuui();break;case 4:cout输入您要查询的菜
21、品编号endl;cout;cincm_num;cout菜号 菜名 价格 状态endl;coutcm_num cm_name cm_price cm_ztendl;Sleep(800);menuui();break;case 5:cout系统记载所有菜单如下:endl;cout菜号 菜名 价格 状态endl;coutcm_num cm_name cm_price cm_ztendl;break;case 6:Sleep(500);system(cls);systemmain();default:coutERROR!endl;/*void main()systemmain sys;*/2. log
22、in.cpp#include#include#include#includemain.cpp#includeadminui.cpp#includeadminmenu.cpp#includeserve.cppusing namespace std;int ts=0;/定义 输入错误时提示次数class loginprotected:string uname;string passwd;public:loginok();string Getuname();string Getpasswd();login:loginok()cout+-+endl;cout+- Dragon餐饮管理 -+endl;c
23、out+- -+endl;cout+- 系统 -+endl;cout+-+endl;coutendl;cout ;cinuname;cout ;cinpasswd;string login:Getuname()return uname;string login:Getpasswd()return passwd;class matching:public loginpublic:matching(string uname,string passwd)if( uname = 123 & passwd = 123 )cout登录成功!欢迎登录餐饮管理系统!endl;Sleep(700);cout即将
24、为您跳转至管理系统.endl;Sleep(1000);system(cls);systemmain();else if( uname = admin & passwd = admin )cout登录成功!欢迎登录餐饮管理系统!endl;Sleep(700);cout即将为您跳转至管理系统.endl;Sleep(1000);system(cls);adminmenu();else if( uname = 111 & passwd = 111 )cout登录成功!欢迎登录餐饮管理系统!endl;Sleep(700);cout即将为您跳转至管理系统.endl;Sleep(1000);system(c
25、ls);serve();elsecout登录失败!请重新登录!endl;Sleep(500);ts+;/couttsendl;/测试ts值if( ts=3 )system(cls);Sleep(500);cout如错误登录次数超过3次,系统将锁定,请重试!endl;Sleep(500);cout系统提示:还有4-ts次重新登录机会!3)system(cls);Sleep(600);cout系统已经锁定,3分钟后恢复!endl;Sleep(1000);cout您也可以与管理员联系解除锁定endl;Sleep(600);int main( int argc, char *argv )initial
26、ize();Sleep(1000);system(cls);login log;log.loginok();matching(log.Getuname(),log.Getpasswd();return 0;3. serve.cpp#include#include#includeusing namespace std;class serveprivate:int chooseserve;int zt_num;/定义 桌台号;int ls_num;/定义 流水号;int menu_num;/定义 菜品号;int ok_num;/定义 点餐份数;string dd_ok;/定义 确定点餐;strin
27、g dd_go;/定义 继续点餐;string final_ok;/定义 确定结账;string zt_choose;/开桌 选择;public:serve()cout+-+endl;cout+- -+endl;cout+- 服务界面 -+endl;cout+- -+endl;cout+-+endl;coutendl;cout1 : 开 桌endlendl;cout2 : 点 菜endlendl;cout3 : 查询台桌endlendl;cout4 : 点菜记录endlendl;cout5 : 买 单endlendl;cout6 : 退出系统endlendl;coutchooseserve;bool quit = false;switch(chooseserve)case 1:cout桌号 状态 是否活动endl;cout001 Y Yendl;cout002 Y Yendl;/代码未实现,测试coutendl;cout zt_num;coutzt_choose;if( zt_choose =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西省吕梁市交城县2025-2026学年第一学期期末质量监测试题 八年级英语(人教版)(无答案)
- 信誉质量守护承诺书9篇
- 办公室电脑使用与安全防护方案
- 高效沟通与协作标准化工具
- 高端科技产品研发承诺书范文7篇
- 教育资源共享保障承诺书范文3篇
- 能源节约利用计划承诺书5篇
- 雨课堂学堂在线学堂云《教育统计与测量(陕西学前师范学院)》单元测试考核答案
- 企业员工劳动保护承诺书4篇范文
- 商务礼仪规范与实战技巧指南
- 浙江省杭州外国语学校05-06学年高二上学期期中考试英语试题
- (正式版)DB15∕T 385-2025 《行业用水定额》
- GB/T 46816-2025铝合金法兰锻件通用技术规范
- 肝癌热消融课件
- 2025年滁州职业技术学院单招(计算机)测试模拟题库附答案
- 2023降水工程技术标准
- 2025年公共英语三级考试试题及答案
- 工会安全监督工作内容
- 2025年内外妇儿联考试题及答案
- 初中英语集体备课教学案例
- 2026年证券从业之证券市场基本法律法规考试题库500道含答案(模拟题)
评论
0/150
提交评论