餐饮管理系统设计报告.doc_第1页
餐饮管理系统设计报告.doc_第2页
餐饮管理系统设计报告.doc_第3页
餐饮管理系统设计报告.doc_第4页
餐饮管理系统设计报告.doc_第5页
免费预览已结束,剩余27页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

餐饮管理系统LUOYANG NORMAL UNIVERSITY软件工程导论课程设计报告餐饮管理系统院(系)名称信息技术学院专 业 名 称 2009级网络工程 学生姓名魏曼学号091124005指导教师陈媛媛 讲师完 成 时 间2011年6月软件工程导论课程设计报告目录:第一章:可行性分析3 一、可行性 1、技术可行性 (1)软件方面 (2)硬件方面 2、经济可行性 3、操作可行性二、系统流程图4三、数据流图.5第二章:需求分析 1、需求分析任务6 (1)功能需求(2)性能需求(3)可靠性和可用性需求(4)出错处理需求(5)接口需求(6)约束(7)逆向需求(8)将来可能提出的要求2、实体-联系图.93、系统层次方框图13第三章:总体设计 1、功能模块分析14 2、系统总体说明15第四章:详细设计1、开发工具简介162、数据库设计173、用户界面设计21第五章:软件测试1、白盒测试322、黑盒测试.32第六章:软件维护第七章:总结1、我的心得332、感谢.36 第一章:可行性分析1、技术可行性(1)软件方面 我的这个程序是基于VC+平台开发的软件,现有技术实现这个系统完全没有问题。Visual C+ 6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了 Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000、Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。 Visual C+6.0不仅是一个C+ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。 此程序在一般的Windows操作系统下便可以运行。(2)硬件方面 由于程序运行需要CPU、内存、缓存、输入输出设备、运算器、等硬件的支持,而普通计算机都有这些设备,完全可以实现这个系统的各项功能。2、经济可行性这个系统是一个练习性的实验,并没有什么开发成本,若要算成本,那就只有我自己时间和精力的消耗以及电费了。它可以说没有经济效益,因为此软件并不用于商业,也就谈不上经济效益了。若是真的大型的软件开发时,要考虑经济效益肯定不会这么简单了。3、操作可行性 此系统是在vc+开发平台上开发出来的基于对话框的可视化系统,界面友好,任何用户都可以使用。二、系统流程图 说明:系统中各种数据的变化为一个事务销售报表、单品报表报告生成程序订单信息、账单信息、服务员信息、餐饮品种信息库存清单文件库存清单程序事务三、数据流图 系统的数据流图如下:(1)基本数据流图系统使用者(管理员或服务员)餐饮管理系统消费者、管理人员事务报表(2)餐饮管理系统功能级数据流图各种信息各种报表1处理事务系统使用者(管理员或服务员)事务2产生报表消费者、管理人员D1 库存清单库存清单订单信息、D2 账单信息、服务员信息、餐饮品种信息各种信息(3)餐饮管理系统功能级数据流图进一步分解:系统使用者(管理员或服务员)各种报表1.1接收事务事务2产生报表消费者、管理人员D1 库存清单库存清单订单信息、D2 账单信息、服务员信息、餐饮品种信息1.2更新事务1.3处理事务各种信息事务库存信息第二章 需求分析1、需求分析任务 需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。(1)功能需求此系统的主要功能有:对餐饮店进行管理,可以实现前台销售即在桌面上显示出开单号、桌号、就餐人数、开单时间等。每天可以进行结算,有销售汇总表,可以显示当天的销售情况以及未结账的账单。还有单品报表,即统计出当天销售的各种商品的名称、数量等信息。系统还可以显示餐馆中的各种食物的资料。以树节点的方式显示菜单,简洁、使用。基础资料里包含了商品类别、商品资料、付款方式三个分支。商品类别中又包含了名称、是否打折等信息。在商品类别中,如果是以管理员的身份进入的,或者是有修改商品的权限,那么你还可以增加商品的类别。商品资料中包括商品的名称、价格、店内码、条形码、是否打折等信息。如果是以管理员的身份进入的,或者是有修改商品的权限,还可以进行修改。在付款方式里分为人民币、信用卡、宴请、赠券、支票五种常用的付款方式。在系统维护中,可以查看各个工作人员的信息以及在相应的权限范围内进行各种插入、修改、删除等操作。 本系统仅限于餐馆人员使用,即使用者必须是本餐馆的工作人员。下班时候,点击菜单下的第一个tap按钮,弹出当天的收入汇总、未结账单据、挂账单据等信息。以谁的账号登陆就会显示谁是收银员。因为使用此系统的人员肯定在查看或修改账单情况。(2)性能需求 本系统所占用的资源并不是很多,不会影响机器的运行速度和响应时间。本系统具有清理数据的功能,只要使用者经常清理不用的数据,内存容量便可以循环利用。此系统为不同的人赋予不同的级别,管理员可以查看所有的信息,而普通员工则只有自己职权范围内的权利,不会造成信息的泄漏。每个人都有自己的帐号和密码,只有最高级的管理员才有权限添加、删除以及更改系统中的信息。所以,此系统的安全性还是有保障的。(3)可靠性和可用性需求 系统在正常情况下是不会出现异常的。一般的计算机的内存容量可以满足系统数据的要求,若内存不够了,则用户可以使用外存(移动硬盘)设备把硬盘中的数据移动出来,保证存储器可以有足够大的空间供使用。一般情况下,系统的可靠性和可用性都是可以保证的。(4)出错处理需求出错的地方一般会出现在用户使用的时候使用了不具有的权限或违反规定的操作。这个时候,系统对于错误的操作不予响应。还有,不同的用户所对应的界面是不同的,用户只能看到自己对应权限内的界面,其他界面是隐藏的。(5)接口需求 a.用户接口需求前台销售、统计报表、基础资料、系统维护都以可视的对话框形式显示的用户的面前,用户只需用鼠标点击自己需要的请求,便会满足用户的需求,内部程序的完成对用户来说是完全透明的。b.硬件接口需求该系统是基于vc+平台开发的,程序于硬件的接口的完成由应用软件生成相应的机器语言,完成与硬件的接口需求。c.软件接口需求软件内部的接口通过函数的参数调用来互相联系实现。(6)约束 目前此系统只在WindowsXP操作系统下进行过运行测试,在vc+平台上运行。用户使用的语言限于简体中文,涉及到数字的精度为正整数。(7)逆向需求 餐饮管理系统不能用于人力管理等其他管理行业。(8)将来可能提出的要求 将来可能的需求是每个员工的信息更加详细,通过该系统可以直接记录员工的上班情况,并且记录银行和每个员工的信用卡信息,每月自动发放员工的工资。还有可能的需求是,该系统记录每个员工的手机号码,形成主机与员工手机的互联,就像局域网一样,方便联系。2、实体-联系图 (1)系统设置数据库公司 楼层号公司名(2)商品种类数据库商品资料折扣上一级商品商品号商品名(3)商品资料数据库商品资料商品号商品名折扣价格商店代码条形码类型类别号供给状况特权(4)每种商品的付款细节商品付款状况帐单号打折类别原价优惠数打折后价格(5)付款方式 付款方式编号付款方式名(6)卖出账单现存账单桌号收银员就餐时间结账时间优惠数折后价总计帐单号是否结账密码权限姓名餐饮管理系统E-R图如下:1桌号收银员就餐时间结账时间优惠数折后价总计帐单号是否结账现存账单公司公司名 楼层号管理员员工姓名权限密码商品资料商品号商品名折扣价格商店代码条形码类型类别号供给状况特权消费者消费日期消费金额管理11管理n管理mn拥有拥有购买服务消费1n1nmnn1开帐日期结账日期结账人应付金额结账日期开帐日期消费金额3、系统层次方框图人民币信用卡宴请赠券名称价格店内码条形码类别名称面点酒类点心冷菜饮料付款方式商品资料商品类别销售报表单品报表打印报表统计日期范围选择报表厨房打印本地打印开钱箱查找结账隐单调单销单开单下班需要的服务单据状态结账人员桌号结账时间开单时间就餐人员系统维护基础资料统计报表前台销售删除新增公司名称楼层号权限基本资料清除数据系统设置用户资料餐饮管理系统 第三章 总体设计1、功能模块分析 系统的设计主要是基于对话框的,每一个对话框对应于一个类,每个类中分装有相应的实现函数。在系统中大约存在有这样一些类:CaboutDlg第一个对话框餐饮管理系统CcallDlg调单对话框Ccheck结账对话框Cclass商品类别对话框CcleardataDlg清除数据对话框ClogonDlg登陆对话框CmaterielDlg商品对话框CmodifyqaDlg修改数量对话框CmyPosDlg餐馆管理系统Tab对话框CoffdutyDlg下班对话框CpaymodeDlg付款方式对话框Cpicture管理图片的类CposDlg开单对话框CselectDlg选择商品对话框CstatDlg开始消费对话框CsysmtDlg餐馆管理系统Tab对话框CsyssetDlg设置楼层以及公司名称对话框CuserDlg用户对话框这些类和对话框一一对应,显示了软件的模块儿化。而每一个类中又有相应的实现函数,每个函数又是相对独立的模块。把这些相对独立的模块组合起来,变成了这样一个餐饮管理系统。 采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。因为程序错误通常局限于有关的模块以及他们之间的接口中,所以模块化使软件容易测试和调试,因而有助于提高软件的可靠性。因为变动往往只涉及少数几个模块,所以模块化能提高软件的可修改性。模块化也有助于软件开发工程的组织管理。 针对这个软件来说,采用模块化的形式编程,可以让我们在不同的时间段里开发系统的不同功能,而不会收到思路上的断路影响。有时候,灵感只是一时的,若错过了,可能就不会再来了。所以,当灵感来临时,要及时的记录下来。若不采用模块化编程,我们也许就要几天几夜连续工作,以免思路连贯不起来。而采用模块化编程,把任务分成多块,分段完成,则不会出现上述问题。2、系统总体说明 Visual C+ 6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+是一个功能强大的可视化软件开发工具。主要部分(3个):1、 Developer Studio,这是一个集成开发环境, 我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“Microsoft Visual C+”,所以很多人理所当然的认为,那就是Visual C+了。其实不然,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。我们也知道,Developer Studio并不是专门用于VC的,它也同样用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio当成Visual C+, 它充其量只是Visual C+的一个壳子而已。这一点请切记! 2、 MFC。从理论上来讲,MFC也不是专用于Visual C+,Borland C+,C+Builder和Symantec C+同样可以处理MFC。同时,用Visual C+编写代码也并不意味着一定要用MFC,只要愿意,用Visual C+来编写SDK程序,或者使用STL,ATL,一样没有限制。不过,Visual C+本来就是为MFC打造的,Visual C+中的许多特征和语言扩展也是为MFC而设计的,所以用Visual C+而不用MFC就等于抛弃了Visual C+中很大的一部分功能。但是,Visual C+也不等于MFC。 3、Platform SDK。这才是Visual C+和整个Visual Studio的精华和灵魂,虽然我们很少能直接接触到它。大致说来,Platform SDK是以Microsoft C/C+编译器为核心(不是Visual C+,看清楚了),配合MASM,辅以其他一些工具和文档资料。上面说到Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成Visual Studio的基石。 第四章 详细设计1、开发工具简介 在第三章的总体说明部分我们已经简要介绍了开发工具VC+6.0,这里就不再赘述。2、数据库设计 数据库:系统设置数据库:商品资料数据库:商品种类数据库截屏:商品种类数据库2:付款方式截屏:前台服务是否结账信息数据库:所开出账单列表数据库:结账:3、用户界面设计3.1 用户管理模块(以开发人员的角度看系统中的各个对话框)3.1.1主界面3.1.2 Tab按钮窗口,用于在同一个界面上选择不同的操作3.1.3调单对话框,用于调出已经开出的账单3.1.4结账3.1.5商品类别3.1.6清除数据3.1.7登陆3.1.8商品资料3.1.9修改数量3.1.10下班3.1.11付款方式:3.1.12前台销售3.1.13选择商品3.1.14系统设置3.1.15用户资料3.1.16餐馆管理(tab)这是站在设计者的角度,用对话框的形式把应用程序的大致工作过程以及界面设计显示出来了。相信学过vc+的人都会一目了然的。 下面我会在第四章中站在用户的角度介绍怎样使用这个餐饮管理系统。 下面以用户的视角来看界面设计:打开界面弹出一个登录对话框,如图所示:登录完成后,会出现一个对话框,如下图:如果你是普通工作人员的话,那么可以根据自己的权限执行相应的功能,如开单、销单、调单、隐单、结账、查找等操作。如果想增加食品的数量,可以按照下面的方式进行:操作提示: 要是选择商品时,可以单击中间视图窗口中的第一行空的空格,在名称一列的右下角会出现一个小按钮,小按钮上有一个小米花,点击这个按钮会弹出一个对话框,这个对话框里有本店里所有的商品,你可以任意选择。如下图:统计报表对话框: 第五章 软件测试1、白盒测试 如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。这就是白盒测试。 此系统在使用白盒测试时,利用临界值进行测试,运行结果与预期结果一致。2、黑盒测试如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用,这就是黑盒测试。此系统在使用黑盒测试时,测试了系统的对餐饮店进行管理,实现前台销售即在桌面上显示出开单号、桌号、就餐人数、开单时间等功能。还测试了每天进行结算,销售汇总表,显示当天的销售情况以及未结账的账单。还有单品报表,即统计出当天销售的各种商品的名称、数量等信息等功能。最后又测试了系统显示餐馆中的各种食物的资料,以树节点的方式显示菜单,基础资料里商品类别、商品资料、付款方式;商品类别中名称、是否打折等子菜单功能。在商品类别中,并且测试了以管理员的身份进入,增加、删除、更改商品的信息等功能。测试之中,发现这个程序中“系统维护”里不能添加用户,我想起了我们的老师教过我的方法,就是逐个排除的办法。我一一检验了其他的程序代码,并一个一个实验了其他部分都没有问题可能出问题的部分应该是CUserDlg:OnButtonUsave()这部分。于是,我开始一点一点儿的检验,最终找到了答案。测试结果是,系统现阶段正常运行。 第六章 软件维护为了保证软件在一个较长的时期内能够正常的运行,软件还需要维护。此软件的维护主要是适应性维护,也即修改软件以满足用户不断增长的需求。1、软件的可维护性首先,此系统设计过程采用了模块化设计,易于理解和测试。软件的耦合程度较低,内聚程度较高,可以进行修改。而且,系统可以进行移植,移植较易。系统开发的过程以及与系统有关的界面、操作等都记入文档,以便于以后再次使用时参阅。第七章 总结1、我的心得这学期,我们学习了软件工程导论这门课,细致的了解了软件开发的过程。纠正了我们以前在做软件开发的时候的一些错误的观点。例如:以前我们总以为开发软件就是编写代码,代码写出来了并且没有错误,那么这个软件就算是开发出来了。而学习了软件工程导论之后才知道,其实写代码并不等于开发软件,而只是软件开发的其中一个步骤,只占整个开发过程的30%左右,而很大的一部分时间是用来做需求分析、软件测试等工作的。还有,软件测试的理解也是我们以前的一个误区。学习软件工程导论之前,我总以为,软件测试就是为了证明软件的正确性。而学习了软件工程导论之后我才明白,原来软件测试的目的竟然是在软件投入生产性运行之前,尽可能多的发现软件中的错误。而且,软件测试的工作量往往占软件开发总工作量的40%以上。通过软件工程导论的学习,我们纠正了以前的很多很多的错误观念,树立了正确的编程思想,为以后养成良好的编程习惯打下了基础。此系统是我去年学习VC+的时候做的。现在,重新来看这个系统的时候,有一种不一样的感觉。回想起开发这个系统的过程,还能感觉到当时的一些困惑,那时候才是举步维艰呢!这不是我自己独立完成的程序,其中很大部分是参考树上的以及网上的程序来做的。其中,还有一些我不是很明白的地方,还有待于我进一步的研究与学习。做这个大程序的过程中也遇到了很多的困难,有些是我们的同学帮忙解决,有些是询问网上的一些网友解决的问题。我觉得,网络使现在学习方便多了。比如说学习vc+吧,我们可以加入网上的很多vc+群,在群里有很多高手,他们很精通这门语言,可以解决各种各样的难题。全国各个大学的高材生、社会上已经参加工作的程序员、和我一样的初学者我们在一起讨论问题,解决问题很方便,是一个很好的学习平台。我建议同学们可以试一试在网上学习各种编程语言,个人认为很好的。比如说我在上面提到的几个问题,其中有一个就是我觉得vc+的库里有太多的功能函数,怎么掌握这些功能函数呢?有人就告诉我说这主要是因为基于windows的开发经验不足,就是自己尝试写代码的勇气不足,一出现不会的就想去寻求现成代码,代码的设计经验较差。他们说选择了vc就选择了深入编程的本质,因为vc就像C语言一样,是比较低级的,不像vb等开发工具替你想到了很多很多。使用vc自己需要做的工作很多,就连要在窗口上创建工具栏,都需要自行写代码设计,而不像别的一些高级语言,动动鼠标就可以了。所以使用vc开发,学习和使用都是一个经验积累的过程,从小程序开始,一点一点扩展程序规模,比如载入图片到程序中显示是简单的;但是如果载入图片以渐变色的方式显示,或者以绚丽的过渡方式显示就是困难了,这就涉及一个代码设计的问题,没有足够的代码经验,这道沟很难跨过。他们还告诉我说,其实vc提供的库,包括标准库和MFC都是比较小的,相比于VCL库,.net库简直是小巫见大巫。之所以感觉函数比较多,关键字很杂,主要是因为没有理顺VC的结构。MFC库属于浅层封装,主要是为了降低开发难度。它其实是有自己的结构的,主要分为界面库,网络库,ole库,数据库相关库(DAO,ADO,OLEDB等)等(这一点我是不懂得)。其实不用在意全部掌握,也没有必要,而且有了MSDN,可以随时查询,只要知道自己要实现的功能大概和什么相关,怎样在MSDN中找到自己需要的相关函数或

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论