马会青-系统详细设计说明书_第1页
马会青-系统详细设计说明书_第2页
马会青-系统详细设计说明书_第3页
马会青-系统详细设计说明书_第4页
马会青-系统详细设计说明书_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上中国矿业大学银川学院Java语言程序设计课程设计报告(2010/2011学年第二期学期)题目名称 科方餐饮管理信息系统 系 部 机电动力与信息工程系 专 业 软件开发 班 级 计算机科学与技术 学 生 从斯文 完成时间 2012-06-18 指导老师 李石山 科方餐饮管理信息系统详细设计1. 引言课程设计是教学计划中的一个重要环节,通过课程设计学生能够得到系统机能训练,巩固和加强所学专业理论知识,其目的是培养学生对所学知识的综合运用能力,使学生具有扎实的理论基础和较强的动手能力。本科方餐饮管理信息系统在应用SQL Server 2005数据库和java语言的基础上开发

2、的数据管理信息系统。本餐饮管理信息系统是专门为天然居餐饮公司设计的餐饮管理信息系统,天然居是一个虚拟的餐饮公司,科方是一个系列软件商标名。开发餐饮管理信息系统的原因是,设计者曾经在餐饮公司工作过一段时间,看到了餐饮公司落后的手工管理而想到用软件管理。本科方餐饮管理信息系统的设计主要分为管理员管理、前台管理、库存管理、后厨管理、财务管理、升级管理。由于是初次设计这样大的管理信息系统,肯定存在很多设计上的缺陷。所以在设计之初我们就考虑到了留下许多可扩展的接口。1.1编写目的信息发达的今天手工管理已经不能适应社会发展的需要,为了能提高工作效率需要借助先进的管理软件管理餐饮公司。所以开发这套科方餐饮管

3、理信息系统旨在为餐饮公司服务。1.2背景目前很多的餐饮公司的管理都比较落后,管理成效相对来说比较底。科方餐饮管理信息系统是专门为天然居餐饮公司设计的管理信息系统,为了能适应其他餐饮公司,我们留下了很多可扩展的接口,方便其他的餐饮公司使用。这套管理信息系统其宗旨是:提高餐饮公司前台、后厨和仓库的管理。通过该系统来提高餐饮公司的管理水平和工作的效率。1.3定义1. SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。2. SQL: 一种用于访问查询数据库的语言3. 事务流:数据进入模块后可能有多种路径进行处理。4. 主键:数据库表中的关键域。值互不相同。5. 外部主键:数据库表中

4、与其他表主键关联的域。6. ROLLBACK: 数据库的错误恢复机制。7. SQL: Structured Query Language(结构化查询语言)。8. ATM: Asynchronous Transfer Mode (异步传输模式)。1.4参考资料1. 张海藩.软件工程(第五版).北京:清华大学出版社2.曲培新、庞永庆、林树泽、许晓荣.java项目开发案例精粹.北京:电子工业大学3.SQL Server2005数据库课程设计案例精粹.北京:中国铁道出版社4.李遵朝、苏军java语言程序设计(第二版).北京:中国铁道出版社5.科方餐饮管理信息系统概要设计6.科方餐饮管理信息系统可行性分

5、析7.科方餐饮管理信息系统数据库设计8.软件工程课程设计报告之详细设计报告2.1程序系统组织结构 进入系统 输入用户名、密码 N 存在 超级 管理员 前台 管理员 后勤 管理员 人员管理 菜单管理 查看账单 查看库存 查看空桌 统计账单 查看菜单 查看人员短缺成功 N N 缺货报表 点菜 添 加修改 删 添 加修改 删 N N 采购员 修改人员 修改菜单 进货确定D N 结账 进货记录 注册VIP N 更新库存 注册信息 登录模块登 录输入错误输入账号输入格式是否正确密码错误找回密码正确管理员进入找回密码点击登录密码正确密码错误进入科方餐饮管理信息系统是退出注释:账户必须输入六位数字(员工编号

6、)或姓名(汉子最多输入十个),并且数字和汉字不能交叉输入,一定要符合中国人的习惯。密码的输入格式也有一定的要求,输入的数据中不能包含空格,但允许输入特殊符号。这个地方利用一个循环和数据库中的数据比对,直到找到正确的密码后方可跳转到指定的页面中。不同权限的账户会跳转到不同的界面,显示与本部门相关的内容。这样做是为了保护数据库中的数据的完整性,也是保证数据库中数据的安全性的必要措施之一。如果你输入的账户和密码超过三次登不上,那么系统就会绑定此用户,那么用户就要提出申请,超级管理进入用户管理界面,先对绑定的用户进行解绑在为用户找到正确的用户名和密码。如果超级管理员由于某种原因忘记了账户和密码,无法进

7、入系统为普通管理员授权。为了防止这种事情出现,在设计之初我们也考虑了这个特殊的情况。 管理员添加否登录判断是否登录判断管理员是是管理员信息管理页添加、修改、删除管理员否数据库添加、修改、删除结束注释:超级管理员在进入系统时也需要登录,超级管理员忘记用户名和密码导致登录失败,那么这就需要联系系统设计者从数据库中找到超级管理员的用户名和密码信息。如果管理员登录成功跳转到指定的管理员页面,进行相关的增删改查操作,增删改查需要和数据库中的数据作对比,这之中就需要两周循环就能做到,一个循环扫面表,找到合适的表和扫面标准的字段。如果这两步都进展顺利就可以进行相关的操作了,在增加信息是要判断数据中指定的约束

8、,控制用户的输入格式。不能什么样的数据都能添加到数据库中去。同样删除管理员也一样需要一些提示性的语言,让超级管理员也能有个挽回的机会。修改管理员的信息也需要控制输入的用户名是否符合中国人的起名等。 结账模块登录否判断管理员是前台管理员结账操作数据库查询订餐信息显示菜单的计算结果扫描显示顾客信息存储结账信息否判断顾客信息是结账打印收据是否打印菜单信息及结账信息结束 报表统计模块存储 否登录是判断管理员前台操作是库房报销存储是输入操作数查询数据库返回查询结果保存报表信息过滤不需要的数据计算显示统计结果判断打印否是打印报表结束 点菜模块否登录判断服务员是顾客点菜主界面已点菜单否点菜是否完整是数据库存

9、储保存菜单顾客结账前台界面打印收据是发送消息收据后厨管理结束确认确认是否更改是做好菜否服务员 密码修改模块启动密码重设线程返回继续监听等待用户请求密码修改界面调用子线程启动子线程读取密码信息返回修改成功消息重写用户名和密码重设密码数据库验证修改正确不正确修改结果是否正确是子线程结束3.程序(标识符)设计说明3.1程序描述 程序总体描述本科方管理信息系统是有目前最流行的java语言编写的,目的是在任何计算机上能运行。本系统的功能相对来说还是比较的全面的,包含了前台管理、管理员管理、仓库管理、后厨管理、财务管理、升级管理。本系统在设计的时候考虑到软件的功能随着信息的发展需要升级,我们在设计的时候就

10、预留了很多的功能,方便适应不同的餐饮公司和计算机平台。我们后续还会推出BS科方餐饮管理信息系统,以方便在不同的角落和地点方便顾客的点菜订餐业务。在3G快速发展的今天,手机上网是在平常不过的事情,所以我们还会把本系统升级为手机客户端版本的。本系统在设计之初考虑到,操作本系统的工作人员计算机水平不是很高,我们把界面做的简洁漂亮让任何识字的人都很容易上手。本系统的逻辑思路清晰方便任何操作。为了维护的方便我们在编码的时候统一编码风格,在任何需要加入注释的地方我们都加了清晰的注释性语言。方便系统维护者很快的修改编码中的设计缺陷问题,例如我们在每个代码段的前面都会要求加入代码段的编写人姓名、代码功能、编码

11、时间等。下面就针对某些模块做一个简要的说明。/* * author :马会青 * function:前台消息管理 * time:2012-05-30 */这段解释性的代码就是本段代码段的编写者、本段代码实现的功能、本段代码什么时候编写的)像这样的编码风格在我们的任何一个程序都可以找到,我们严格按照面向对象软件设计标准来设计的。本系统大概的工作流程就是不同的部门登录显示不同的界面,看到不同的数据等,例如财务处的管理员用自己的账户登录就可以看到属于自己的数据记录,前台服务员登录自己的账户显示属于自己的界面。他就可以利用系统做他能做的事情。只有最高管理员(经理)可以看到所有的东西,以了解各部门的工作

12、情况以便制定各部门的工作计划。为了让经理了解餐厅的工作的情况,我们在系统中设计了收支曲线图直观的现实餐厅的营业状况。 程序详细描述1. 登录模块程序描述先接收数据并于数据库中存储的管理员信息表信息作比对If(true) 先判断输入的数据格式是否符合要求 If(true) Switch(Staffid) Case 常量1:跳转到系统设置 Break; Case 常量2:跳转到前台界面 Break; Case 常量3:跳转到库存管理界面 Break; Case 常量4:跳转到后厨管理界面Break;Case 常量5:跳转到财务管理界面Break; else 提示重新输入正确的格式else 推出系统

13、重新登录或找回密码判断接收的密码和服务器中的密码是否相同,相同则返回登录成功,并发送一系列信息,不相同则返回登录失败。2. 管理员添加模块程序描述管理员添加的首先需要超级管理员登录,同样和上面的登录模块一样需要与数据库中的数据比对,只有符合超级管理员信息的人才能添加普通的管理员。否则不能进行任何的操作。If(true) 登录成功并判断登录的管理员是否是超级管理员If(true)添加、删除、修改管理员(在数据库中做查询,看是不是存在此用户)switch (true)case 1:/假如统一任何人加入在数据库中查询目前存在的用户,所有条件符合才能添加管理员 break;case 2:/进行删除操作

14、break;case 3: /进行修改操作break;else不能添加、删除、修改管理员(你添加的管理员存在或用户名格式不正确密码不够)else 提示“您不是经理不能添加管理员”3. 结账模块程序描述If(true) 判断是不是前台管理员 If(true) 可以进行结账操作,进入结账界面 Switch(true) case 1:/查询订餐信息 在数据库中查询到订餐信息才能结账 break; case 2:/在数据库中没有查到顾客的订餐信息,说明信息有误 if(true) 查询到的信息和顾客结账的信息一致,可以结账并且看是否打印收据 else 重新在查顾客的订餐信息,可能是操作失误 Break;

15、else Return 登录界面else 关闭结账窗口跳转到登录界面4. 报表统计模块程序描述这是个相对复杂的模块,程序中用到很多的ifelse判断语句,只有符合财务管理的管理员,方可生成报表或看到统计报表的内容。这样做是为了保证数据的安全性,从根本上保证了数据库中数据的完整性和保密性。If(true) 判断是不是财务管理员,如果是财务管理员尽可以进行相关的财务处理 If(true) 制作报表,查看各部门的工作资金情况else Return 登录界面else 关闭结账窗口跳转到登录界面5. 点菜模块程序描述If(true) 判断是不是服务员 If(true) 就进入服务员能看到的点菜界面,服务

16、员的操作权限就是点菜、退菜、添菜等,但没有修改菜价和结帐的功能,这些操作都与数据库有关,每一步都在数据库中都要做更新。 If(true) 前台的信息随之自动更新,前台的管理员就对服务员更新的菜单做一个处理,将菜单信息发给后厨为顾客做菜,厨房做完菜后就会给前台回馈一个信息,以便计算结账 else这个菜由于某种原因没有做,所以也就不会有什么结账信息等else Return 登录界面else 关闭结账窗口跳转到登录界面6. 密码修改模块程序描述If(true)判断是不是超级管理员 If(true) 可以添加、删除、修改普通管理员。这些操作也是与数据库中的信息做比对,如果数据库中存在记录就可修改,如果

17、没有就可以添加普通管理员,如果这个普通管理员离职就可以从系统将此管理员删除。else Return 登录界面,提示重新登录else 关闭结账窗口跳转到登录界面3.2功能本系统的功能很全面涵盖了各个部门的业务职能,由于内容包括的比较的多下面我就某些重要的模块功能做一个简要的说明,各个模块的功能介绍如下。管理员信息(Administrator Information):管理员信息是本系统中最重要的一个模块,它直接决定了系统的数据安全和系统的安全运行,管理员信息管理分为超级管理员、普通管理员、默认管理员三种不同的管理员。超级管理拥有本系统的最高权限,有超级管理员授权不同的普通管理员。它可以添加系统功

18、能模块、公告信息、财务审核、工作计划制定等等功能。超级管理员拥有各个不同普通管理员的所有功能,他们的所有工作状况经理都可以看到。设置这样的功能不是为了监视每一个员工,主要是为了提高个部门的工作效率。普通管理员又可以分为前台管理员、库存管理员、后厨管理员、财务管理员等。各个不同的普通管理员都拥有不同的操作界面和权限。每个部门都有每个部门的工作模块,他们登录不同的功能模块就可以进行不同的操作。默认管理员主要是试用本系统但还没有购买的餐饮公司,默认管理员类似超级管理员,可以查看所有的功能模块,唯一的区别就是所有的功能模块都是未激活状态,只有在付费激活之后才能使用。这个默认账户主要是为软件销售方便演示

19、而设计的。前台信息管理(Foreground Information):前台是本系统中很重要的模块之一,它是使用最平凡的功能模块。这个模块主要负责餐桌的预定、宴会的预定、包间的预定、会员的管理、结账、服务员的安排等功能。前台最主要的功能就是餐桌预定和结账,本系统设计的餐桌位置都是和餐饮店的实际布局是一样,那个餐桌被预定了都要在系统中显示出来,为了适应不同的餐饮店的实际情况,我们设计了统一的模板,稍作修改就可以适应不同的餐饮公司。这一模块就是属于升级管理实现的。科方餐饮管理信息系统是针对大部分餐饮公司不是针对某一个公司,所以我们会在设计的时候都要预留不同的接口,方便日后的升级管理。结账功能是前台

20、信息管理中使用最多的操作,它是主要负责顾客消费结账。为了刺激顾客消费我们会在结账时候记录每个顾客的信息,记录他们的消费情况送给他们响应的积分。我们在设计的时候留下了接口,应用第三方软件扫面用户手机信息记录顾客消费记录。因为现在社会拿手机的人很多,用手机信息做顾客的消费记录是最理想最先进的效果。财务信息管理(Financial Information):财务管理也是本系统的主要功能之一,他最能直接反映餐饮店的经营状况。前台结账数据和财务管理部门的数据实时的更新,这样也会起到一个监督的作用。保证了结账的钱都能给财务处管理。财务部门负责员工的工资结算、设备材料报销、广告费用的支出等等。为了能够让经理

21、看到餐饮店的经营状况,财务部门可以利用本系统指定日营业额、月营业额、年营业额的报表。经理看到报表的统计和系统的走势图做出正确的决策,使得餐饮店获得最大的收入。财务管理是餐饮店最核心的部门,所以这部分的功能我们在设计上精益求精避免了很多的错误,以保证数据的安全性、可靠性、完整性、正确性等。数据正确完全不够了,为了防止数据被恶意软件或误操作导致数据丢失对于一个餐饮点来说是很大的损失。为了防止这样的事情发生,我们在设计时考虑了定时的数据备份和遇到问题时的还原。本系统的财务管理功能还有很多的功能需要实现例如利用目前最流行最热门的云计算为很多家餐饮公司提供统一的数据备份保存。以免发生意外导致数据的丢失而

22、造成的巨大损失。3.3性能本系统的性能相对来说还是比较的好的,因为我们在设计的时候应用了目前流行的面向对象语言java编写的应用软件,无论是性能还是兼容性都是很不错的。本系统最大的优势就是java的可跨平台性,在任何一个操作系统上都能运行的很流畅。本系统唯一注意的一点就是本系统最佳浏览效果是宽屏电脑,JDK版本在1.2以上。3.4输入项1.输入项主要是服务员拿着手持电脑点菜,当谷歌点完菜时候发送给前台管理员一个消息,前台管理员对服务员传来的消息做一个响应的处理,将消息转发给后厨管理员。后厨管理员根据前台发给他的消息作出响应的准备和处理。2.财务管理员根据需要输入相应的关键字检索有关的财务信息和

23、员工的信息。3.经理输入相应的关键字检索有关的财务信息和员工的信息。输入处理备注输入证件号在数据库中查找次顾客信息是否存在,如果存在给出一条存在的信息,如果不存在则提示加入此顾客的信息办理会员顾客点菜没选中一个菜名都会在后厨数据库中检索,看今天是否提供这个菜,如果没有则给出提示,如果有没有任何提示顾客点菜员工编号输入员工号就可以查出员工的所有信息,这个权限只有管理员才有,也只有他才能做相应的操作查找员工信息时间如果输入过期的时间,并且符合格式2012/06/06这样的格式,可以调出当日的营业情况经理查看营业情况报表经理输入报表名就可以看到财务部门制作的报表,查看最近餐饮店的收益趋势,从而做出相

24、关的决策经理查看报表服务员名输入服务员名字就可以查看他负责的顾客和包间名及桌号前台管理员查看服务员当前工作状态3.5输出项输出项主要包括顾客消费单、宴会消费单、后厨材料报销单等等。输出处理备注消费单这个消费单是经过财务部门计算处理后再前台结账页显示出来的,让后在结账时用于顾客确认消费记录的顾客消费日营业额报表这个表是给经理查看当日的营业情况的表,输出文档格式并且支持打印功能产生报表材料申请单这个材料申请单是后厨管理员想库存管理员申请材料的申请表,让库存管理员为后厨准备相关的材料3.6算法本系统设计到的算法很简单,主要就是财务本门的财务结算,主要涉及以下几个算法:(1).日结算=散客结算总额+宴

25、会结算总额+包间宴会结算总额-当日材料报销总额-其他支出(2) 周结算=(1天+2天+3天+26天+27天+28天+29天+30天)(3) 月结算=(第一周总额+第二周总额+第三周总额+第四周总额) (4) 年结算=(1月+2月+3月+10月+11月+12月)(5) 顾客结账计算=(菜名X菜价X菜个数+饮料名X价格X个数+包间价格)X会员优惠百分比(6) 采购=商品名X商品价格X商品数目X优惠百分比3.7流程逻辑顶层设计F2人员工资采购表P1科方餐饮管理信息系统F1菜单信息经理前台服务员F3采购材料汇总表F4营业额汇总表F9材料采购库存F5水电费报销汇总表F6月净利润汇总表F8水电气支出F7工

26、资标准财务处(顶层图)(一级细化)(二级细化)3.8接口本系统包含的接口是比较多的,像记录顾客消费记录时需要扫描顾客手机,这是和第三方开发的软件有机的相结合记录信息的。这是使用最多的接口之一,还有预留扫描会员卡的第三方软件接口。其他的接口我们都是预留下来为了升级而准备的,在本系统中暂时还没有用到。3.9存储分配本系统应用的是java语言开发的软件,由于java有个垃圾回收系统,所以在设计的时候我们并没有关注它的内存是怎么分配的。很多没有释放的内存都是java垃圾回收机制自己定期收回那些很久没有用到的存储。我们把更多的设计心思放在了界面的友好设计和业务逻辑是否清晰。3.10注释设计为了增强程序的

27、可读性,我们要求程序35%做详细的注释,程序的头部要求注释完整的功能说明、编写人、编写时间和编写程序的步骤。例如头部的注释要求如下的格式:/* * author :马会青 张圆 * function:程序的主界面,管理员可以看到的界面 * time:2012-06-1 * 完成界面的顺序,从上到下,从左到右 * 完成中间界面的设计,应用卡片布局 * 完成各个程序间的连接 */ 其他的程序段包括变量和对象的申明都要做详细的注释,在代码多的程序中详细的注释还是很有必要的,我们要求程序段的注视格式如下:/定义需要的组建Image titleIcon,timebj;JMenuBar jmb; /定义菜

28、单组件JMenu jm1,jm2,jm3,jm4,jm5,jm6,jm7; /定义一级菜单JMenuItem jmm1,jmm2,jmm3,jmm4,jmm5,jmm6,jmm7,jmm8;/定义二级菜单/工具栏JToolBar jtb;JButton jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8,jb9,jb10,jb11;/定义需要的5个JPanelJPanel jp1,jp2,jp3,jp4,jp5;/显示当前时间JLabel timenow; JLabel p1_lab1,p1_lab2,p1_lab3,p1_lab4,p1_lab5,p1_lab6,p1_lab7,

29、p1_lab8;/给p2面板定义需要的labelJLabel jp2_lab1,jp2_lab2;/java.swing包中的Timer可以定时的触发Action事件,我们可以利用他来完成一些事情javax.swing.Timer t;ImagePanel p1_imgPanel;3.11限制条件本系统在应用之前需要安装JDK程序,因为本系统是用java软件设计的,需要调用java的类库。本系统应用在CPU在奔腾以上的电脑上,内存高于512M以上。显卡要求也高一些因为这直接影响到界面的显示效果。我们的软件运行的具体环境如下:科方餐饮管理信息系统的具体开发环境要求如下:(1) 系统开发平台:My

30、Eclipse 9.0 M1(2) 数据库管理系统软件:SQL Server 2005(3) 运行平台:Windows 2000/ Windows XP/ Windows 2003/ Windows Vista(4) Java开发包:_jdk1.6.0_21(5) 最佳分辨率:1366 X 768(6) GUI开发包:Swing3.12测试计划软件测试是软件工程设计中的一项重要环节,所以我们在设计完科方餐饮管理信息系统进行详细的软件测试,测试内容包括数据的范围测试、数据的安全测试、系统的性能测试。我们测试了结算金额是汉字和字母结果显示错误,我们在设计之初就考虑到了这些,所以在编程和数据约束时我们都做了细心的限制。测试内容测试方法软件链接这一块主要测

温馨提示

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

评论

0/150

提交评论