1 / 17
文档名称:

【说明书】软件工程课程设计说明书酒店点菜系统.pdf

格式:pdf   大小:1,701KB   页数:17页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

【说明书】软件工程课程设计说明书酒店点菜系统.pdf

上传人:1781111**** 2024/5/11 文件大小:1.66 MB

下载得到文件列表

【说明书】软件工程课程设计说明书酒店点菜系统.pdf

相关文档

文档介绍

文档介绍:该【【说明书】软件工程课程设计说明书酒店点菜系统 】是由【1781111****】上传分享,文档一共【17】页,该文档可以免费在线阅读,需要了解更多关于【【说明书】软件工程课程设计说明书酒店点菜系统 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:...【关键字】说明书目录一概述二详细设计说明书……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………3软件总体结构…………………………………………………………………3软件数据结构……………………………………………………………………………………………………………………………………………………6高层控制流程图………………………………………………………………6登录模块………………………………………………………………………7退出模块………………………………………………………………………7菜单修改模块…………………………………………………………………8菜单分类模块…………………………………………………………………21菜单打印模块(用于厨房)…………………………………………………22厨房库存管理模块……………………………………………………………27结账模块…………………………………………………………………………………………………………………………………………………………31三实验体会…………………………………………………………………………32四参考文献…………………………………………………………………………33一概述概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。根据软件工程的原理:(1)用分阶段的生存周期计划进行严格的管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)软件工程结果应能清楚地审查;(6)开发小组的人员应该少而精;(7)承认不断改进软件工程实践的必要性;对软件进行开发,在开发完之后还要根据相关的维护原则对软件进行定期维护,这样才能提高软件使用周期,才算好软件。实验目的是为了加深和巩固对软件工程理论的认识和理解,掌握使用软件工程思想开发软件设计的基本步骤、思想和方法。熟练运用软件开发过程中的设计工具以及明确他们的应用范围和方法,提高软件开发的效率、可用性等。锻炼、提高应用软件工程思想及基本理论解决实际问题的能力和实际动手操作能力、创新能力以及查阅技术文献以及编写文档的能力,更加锻炼了团队协作能力。本系统的设计模拟的是餐饮企业中顾客点菜及菜单、库存管理的内容:1、服务员信息的管理:查询、增、删、改0文档来源为:.:..、菜谱信息的管理:查询、增、删、改3、厨师信息的管理:查询、增、删、改4、菜单信息管理(1)、餐桌点菜:服务员按照用户需求为其点菜并提交菜单给厨房(2)、点菜信息分类。(3)、做菜管理:可以获得自己的待做菜单,并对已做的菜进行标记(4)、上菜管理:对已上菜和待上菜进行管理(5)、修改菜单管理:退菜、加菜。5、库存管理:(1)、查看库存清单。(2)、修改库存清单。(3)、产生库存报表。6、结帐服务:审核菜单,《需求规格说明书》、《概要设计说明书》,在仔细考虑讨论之后,我们对《点菜系统》软件的功能划分、数据结构、软件总体结构的实现有了进一步的想法。我们将这些想法记录下来,作为详细设计说明书,为进一步设计软件、编写代码打下基础。,规模也逐渐增大,但却没有相应地重视点菜系统,餐厅企业经常遇到顾客抱怨上菜速度慢、漏菜、丢单、漏单,餐厅的成本很难控制等问题,加之都市生活节奏的加快,消费者在外出就餐时,就有了更高的要求。为了解决这些问题,企业可采用无线点菜系统,无需无碳复写的纸张耗材,很短时间内便可完成,大大缩短了上菜时间,同时也提高了翻台率。服务员始终不离客人视线,服务更周到更及时,并且避免了跑单漏单现象;使用PDA无线通讯,不必往返传送单子,减少了服务员的工作量,降低服务员的劳动强度,相应地节省了劳动力;避免因服务员来回跑动产生的忙乱现象,大大提升服务品质和服务形象,为营造高档就餐环境创造良好条件,吸引更多的顾客就餐;按照菜品原料构成控制成本。总之无线点菜系统可有效的提高工作效率,提高服务质量,将低运营成本,提升企业形象。本系统专为具有一定规模和经济条件的餐饮企业设计。通过集成从顾客点菜、上菜到结帐等一系列功能,为每个环节明确分工,并通过可视化的软件支持,有效减小了人为差错的概率,代之以高效、便捷、准确的数字化服务系统,使餐饮企业的管理更加规范化。:1、时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。2、可靠性。能有较强的容错能力。3、可理解性。用户容易理解和使用该系统。1文档来源为:.:..、可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。5、可用性。目标系统功能齐全,能够完全满足业务需求。6、安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。出于安全的考虑,点菜系统对信息的保护手段仅限于低级阶段,以及提供数据文件的备份,比较简单,安全性能有待进一步完善。(用层次方框图表示)(数据库应用,可用MicrosoftSQLServer实现)(1)数据库中存储结构1、表名:服务员信息表列名数据类型长度允许空编号int8姓名char20性别char1年龄smallint2参加工作时间datetime8备注varchar50√2、表名:厨师信息表列名数据类型长度允许空编号int8姓名char20性别char1年龄smallint2参加工作时间datetime8状态smallint1备注varchar50√3、表名:菜谱信息表列名数据类型长度允许空分类标志smallint1编号int4名称char30价格bigint2主厨师char20辅厨师char20√第二辅厨师char20√备注varchar50√4、表名:库存(食材)清单信息表列名数据类型长度允许空2文档来源为:.:..√5、表名:点菜菜单信息表(即汇总的菜单表项)列名数据类型长度允许空服务员编号int8餐桌编号int4点菜时间datetime8菜名varchar30分类标志smallint1价格bigint2做菜标志smallint1上菜标志smallint1催菜次数smallint1备注varchar50√(2)程序中的数据结构classorder{public:intwaiternum[8];//服务员编号inttablenum[4];//餐桌编号intordertime[8];//点菜时间charwarning[50];//备注struct{chardishname[30];//菜名,可以根据菜名和分类标志找到菜的价格intsortnum;//0表示菜,1表示主食,2表示酒水饮料inttag_cook;//0表示未做菜,1表示已做菜inttag_give;//0表示未上菜,1表示以上菜inttag_hurry;//表示催菜次数}*dish;intlength;//点菜数量………………//此处加实现的成员函数}intPDA_key;//PDA按键标志(即修改菜单类型),0表示点菜,1表示加菜,2表示删菜,3表示催菜,4表示做完菜,5表示上完菜3程序描述3文档来源为:.:..(建立连接)功能进入点菜系统与数据库、服务器建立连接?输入项目用户按键输入输入服务员编号、餐桌编号、点菜日期?程序逻辑DO输入服务员和餐桌编号以及点菜日期IF编号正确且日期正确THEN与数据库和服务器连接ELSE发出“错误信息”ENDIF测试要点:数据库连接情况:正常情况,数据库文件缺少,外部系统异常。系统设置获取:正常情况,外部系统异常。对用户输入的响应:合法输入,能够正常调用子模块;非法输入,系统能否辨别,并做出响应(提出警告);子模块的异常状况,系统能否及时作出响应。(断开连接)?功能断开点菜系统与数据库、服务器的连接?输入项目退出标志?程序逻辑测试要点:对退出系统的响应:合法输入,能够正常退出;4文档来源为:.:..,输出警告信息。、菜单修改模块功能(1)按键进行点菜,建立菜单(2)途中进行加菜,修改菜单(3)途中进行删菜,修改菜单(4)途中进行催菜(5)数据库的调用和更改、保存,以修改数据库中的汇总菜单信息?输入项目按键输入修改类型(点菜、加菜、上菜等),点或删的菜的分类标志(0-菜,1-主食,2-酒水饮料)和菜名?程序逻辑DO输入修改菜单类型IF输入“点菜”项THEN建立菜单修改数据库汇总菜单信息ELSEIF输入“加菜”项THEN进行菜单的加菜修改修改数据库汇总菜单信息(加菜)ELSEIF输入“删菜”项THEN进行菜单的删菜修改修改数据库汇总菜单信息(删菜)ELSEIF输入“催菜”项THEN进行菜单的催菜修改修改数据库汇总菜单信息(催菜标志)ELSEIF输入“做菜”项THEN进行菜单的做菜修改修改数据库汇总菜单信息(做菜标志)ELSEIF输入“上菜”项THEN进行菜单的上菜修改修改数据库汇总菜单信息(上菜标志)5文档来源为:.:..{服务员编号赋值餐桌编号赋值点菜日期赋值}WHILE没点完菜DO输入点的每道菜分类标志、菜名和备注将点菜分类标志、菜名和备注赋值给菜单相应项每道菜的上菜、做菜、催菜标志均初始化为0菜单指针length++ENDWHILE●程序逻辑DO{输入餐桌编号找到相应菜单}WHILE没加完菜DO输入加的每道菜分类标志、菜名和备注将加菜分类标志、菜名和备注赋值给菜单新增相应项每道新菜的上菜、做菜、催菜标志均初始化为0菜单指针length++ENDWHILE●程序逻辑DO{输入餐桌编号找到相应菜单}WHILE没删完菜DO输入要删的每道菜分类标志、菜名找到相应菜单项,将此菜单项之后的菜单项依次前移覆盖菜单指针length--ENDWHILE●程序逻辑6文档来源为:.:..{输入餐桌编号找到相应菜单length2=0}WHILE还有菜单项DOIF此项上菜标志为0THEN{IF此项做菜标志为0THEN此项的催菜标志tag_hurry+2ELSE催菜标志tag_hurry+1}length2++ENDWHILE程序逻辑DO{输入餐桌编号找到相应菜单}WHILE没改完DO输入已做菜的分类标志、菜名给此菜单项做完菜标志tag_cook赋1ENDWHILE●程序逻辑DO{输入餐桌编号找到相应菜单}WHILE没改完DO输入已上菜的分类标志、菜名给此菜单项上完菜标志tag_give赋1ENDWHILE●程序逻辑IF修改菜单类型为点菜THEN修改数据库汇总菜单(点菜)ELSEIF修改菜单类型为加菜THEN7文档来源为:.:..(加菜)ELSEIF修改菜单类型为删菜THEN修改数据库汇总菜单(删菜)ELSEIF修改菜单类型为催菜THEN修改数据库汇总菜单(催菜)ELSEIF修改菜单类型为做完菜THEN修改数据库汇总菜单(做菜)ELSEIF修改菜单类型为上完菜THEN修改数据库汇总菜单(上菜)ENDIF测试要点:数据库连接情况:正常连接对学生留言信息的响应:合法输入:可以正常运行此模块,并提交给系统非法输入:不能正常运行该模块系统自动辨别作出相应提示(提出报警)程序逻辑IF没有连接数据库THEN连接数据库ENDIFlength2=0WHILElength2<lengthDO数据库中新建菜单项查询菜谱相应项(通过分类标志和菜名),找到价格给菜单项赋值菜单指针length2++ENDWHILEDO{保存数据库断开数据库}END●程序逻辑8文档来源为:.:..,新建菜单项查询菜谱相应项(通过分类标志和菜名),找到价格给菜单项赋值ENDWHILEDO{保存数据库断开数据库}END程序逻辑IF没有连接数据库THEN连接数据库ENDIFWHILE没删完菜DO通过桌号、菜名、分类标志在数据库中找到菜单及菜单项删除此菜单项,释放空间ENDWHILEDO{保存数据库断开数据库}END●程序逻辑IF没有连接数据库THEN连接数据库ENDIFWHILE没催完菜DO通过桌号在数据库中找到菜单,修改其还未上菜的菜单项催菜标志在所有未上的菜中找催菜标志最大的(不分桌号)进行催菜ENDWHILEDO{保存数据库9文档来源为:.:..}END程序逻辑IF没有连接数据库THEN连接数据库ENDIFWHILE没改完DO通过桌号、菜名、分类标志在数据库中找到菜单及菜单项修改做完菜标志tag_cook=1ENDWHILEDO{保存数据库断开数据库}END●程序逻辑IF没有连接数据库THEN连接数据库ENDIFWHILE没改完DO通过桌号、菜名、分类标志在数据库中找到菜单及菜单项修改做完菜标志tag_give=1ENDWHILEDO{保存数据库断开数据库}、菜单分类模块功能将点菜菜单项分类为:菜、主食、酒水饮料,以便于以后的打印。?程序逻辑Length3=0WHILE还有菜单项DOIF此菜的分类标志为0THEN10文档来源为:.:..++、菜单打印模块(用于厨房)功能对分类的菜单进行打印。?程序逻辑DO{输入打印命令{输入“打印”输入要打印的菜单分类标志(菜、主食或酒水)}打印餐桌编号、此菜单分类标志Length3=0}WHILE还有菜单项DO打印此菜单项(包括菜名和备注)Length3++、信息管理模块?功能对该校服务员、厨师、菜谱信息进行管理(1)信息的查询(2)信息的增加(3)信息的删除(4)信息的修改(5)数据库的调用和更改、保存?程序逻辑DO输入信息管理类型flagIF是服务员信息管理DO处理服务员信息ELSEIF是厨师信息管理DO11文档来源为:.:..,设计如下:DO输入处理类型flag2IF是查询信息DO查询信息ELSEIF是增加信息DO增加信息ELSEIF是删除信息DO删除信息ELSEIF是更改信息DO更改信息ENDIF(1)查询子模块IF没有连接数据库THEN连接数据库DO输入服务员编号IF合法DO输出包括姓名,参加工作时间等的相关信息ELSE输出错误提示ENDIFDO断开数据库END(2)增加信息子模块IF没有连接数据库THEN连接数据库DO{新建数据项并初始化输入新增服务员信息}IF合法DO为数据项赋值ELSE输出错误提示12文档来源为:.:..(3)删除信息子模块IF没有连接数据库THEN连接数据库DO输入要删除的服务员编号IF合法DO删除此数据项的相关信息ELSE输出错误提示ENDIFDO断开数据库END(4)更改信息子模块IF没有连接数据库THEN连接数据库DO{输入要更改信息的服务员编号找到响应数据项输入更改后的信息}、厨房库存管理模块功能(1)数据库的调用和更改、保存,以查看或修改厨房库存清单;(2)产生定货报表。?程序逻辑IF没有连接数据库THEN连接数据库DO{13文档来源为:.:..}DO断开数据库END(1)更新库存清单WHILE还有菜单项DO{根据菜名找到相应的食谱项,查到食材WHILE还有食材DO{根据食材名找到库存清单中的相应项改变此项数量m-=use(use为用量)}}ENDWHILE(2)产生定货报表DO初始化定货报表WHILE还有数据项DO{IF此食材数量m<basici(basici为此食材基准量)THEN将此食材项填入报表,且需要量为r=basici-m}、结账模块功能对用户菜单结算、打单。?输入项目输入结帐命令和餐桌编号?程序逻辑DO{输入结帐命令和餐桌编号连接数据库调出此桌菜单sum=014文档来源为:.:..=0}WHILE还有菜单项DOsum+=此道菜价格菜单指针length2++ENDWHILEDO{打印餐桌编号、服务员编号、日期和总计sumLength3=0}WHILE还有菜单项DO打印此菜单项(包括菜名和价格)Length3++ENDWHILEDO{库存管理从数据库里删除此菜单,断开数据库}END4运行环境推荐本系统使用如下配置:硬件:,128M内存……硬件:交换机硬件:打印机任意硬件:PDA无线PDA软件:操作系统(客户机)Windows2000Professional和WindowsXP软件:操作系统(服务器)Windows2000Server软件:数据库服务器MySQL数据库协议:网络TCP/IP基于本开发小组的能力和学****程序设计语言的经验,我们决定采用C++语言作为本系统的开发语言。C++是十分灵活的程序设计语言,总体具有封装、继承和多态的特性。C++是支持面向对象的程序设计方法,特别适合于中型和大型的软件开发项目,从开发时间、费用到软件的重用性、可扩充性、可维护性和可靠性等方面,C++均具有很大的优越性,而且运行速度快,效率高。同时,C++又是C语言的一个超集,这就使得许多C代码不经修改就可被C++编译通过,有利于软件的可重用性。在类中合理安排数据和对数据的处理,信息隐藏的特性,便于软件的实现。C++是功能十分强大的程序设计语言,在页面、视图、网络编程、简单编程领域都15文档来源为:.:..,所以本系统决定采用进行开发。实验体会一、本开发小组根据软件工程生命周期的步骤,即定义分析、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试(以及将来的维护过程)这几个阶段,对点菜系统(OIHS)进行了开发。在开发过程中我们深刻了解到软件工程导论的重要性,只有根据软件工程导论所提到的一系列原理和开发原则进行软件开发,才能减少无用功,提高工作效率,开发出好的软件;二、本点菜系统实现的功能有信息的管理、菜单修改、库存管理、结帐服务等,运用的开发工具为C++程序设计语言,涉及内容有界面设计、PDA无线网络编程、数据库的应用以及C++应用编程。在了解及应用软件的过程中,我们小组成员上网查阅了相关资料和书籍,对C++的编程方法有了更深一层的认识,对我们以后的学****工作都有一定的帮助。另外,小组成员在开发时,进行频繁地讨论、踊跃提出自己的观点和想法,对于我们的能力是一种锻炼;而且小组也培养了良好的团队精神和互助精神,这些在开发过程中得到的锻炼和体会都使我们受益匪浅;三、虽然这个《点菜系统》是一个小的系统,但只有从这些小的项目中就利用软件工程学的知识,这样可以开发在系统设计和实现中我们可以总结很多经验和教训。本小组按照瀑布开发模型来开发项目。参考文献[1]张海藩《软件工程导论》(第四版)。清华大学出版社。2003。[2]萨师煊,王珊《数据库系统概论》(第三版)。高等教育出版社。2000。!16文档来源为:.