食堂管理信息系统分析与设计.docx
《食堂管理信息系统分析与设计.docx》由会员分享,可在线阅读,更多相关《食堂管理信息系统分析与设计.docx(24页珍藏版)》请在冰豆网上搜索。
食堂管理信息系统分析与设计
1.引言
1.1背景与目的
当今世界已经进入了在计算机领域中激烈竞争的时代,应用计算机已经变得十分普遍了,如同我们离不开的自行车、汽车一样。
我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效益就高,谁就能在各种竞争中立于不败之地。
随着科学技术的不断提高,计算机日益成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用,越来越多的管理人员意识到信息管理的重要性。
作为计算机应用的一部分,使用计算机对食堂信息进行管理,具有手工管理无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命查长、成本低等。
这些优点能够极大地提高信息管理的效率,也是企业科学化、正规化管理与世界接轨的重要条件。
随着高校办学规模的不断扩大,高校后勤管理工作也日趋繁杂.许多大型高校拥有多个校区,有十几个甚至几十个学生和教工食堂,这些食堂的地理位置分散,又要实现统一的协调管理,就不得不借助现代化的管理模式——网络管理模式。
这样不仅提高了工作效率,也避免了以前手工作业的麻烦,从而使得管理者能够准确,有效的管理食堂餐饮。
2.需求分析与用例建模
2.1系统目标
利用食堂信息管理系统可以做到信息的规范管理、科学统计和快速查询,从而减少管理工作方面的工作量。
大大降低食堂管理人员在信息管理精力上的投入,使企业获得更大的利润空间。
与此同时给广大学生用户带来方便。
在实用性上达到了双赢。
2.2需求分析
(1)功能分析:
根据调查,确定食堂信息管理系统主要实现以下功能:
用餐卡管理(注册,充值,挂失,退卡等),餐费管理,统计管理,用餐人员信息管理,用餐管理,系统设置等。
(2)非功能分析:
主要包括以下非功能:
性能需求;资源和环境需求;可靠性需求;安全保密要求;用户界面需求;成本消耗与开发进度需求;预先估计的可扩展性需求。
2.3可行性分析
可行性分析是系统分析阶段的重要活动,是对系统进行全面、概要的分析。
它的任务是确定项目开发是否必要和可行。
它的主要目标是:
进一步明确系统的目标、规模和功能,对系统开发背景、必要性和意义进行调查分析,并根据需要和可能提出拟开发系统的初步方案和计划,明确问题,对所提供系统大致规模和目标的几个有关约束条件进行论证,并且提出系统的逻辑模型和各种可能的方案,从而为系统开发项目的决策提供科学依据。
其主要从三个方面进行研究:
(1)管理可行性:
指系统对组织机构的影响,对现有人员和机构、设施、环境等的适应性以及进行人员培训补充计划的可行性。
食堂系统的计算机信息管理人才、计算机硬件设备、操作员的计算机应用能力都为系统的运行过程提供了可靠保证。
最后此系统是完全的人性化的,易懂,易用,在操作上是完全可行的。
(2)技术可行性:
计算机网络技术的发展和计算机硬件性价比的不断提升,使计算机全面应用于食堂管理的各个环节成为可能。
C/S开发模式、COM、DCOM技术在国内各行各业的信息管理系统开发中已经被广泛采用,实践证明这些技术都非常适合食堂管理系统的开发。
软件和操作系统都是主流水平,而且在技术上是易实现的。
(3)经济可行性:
对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行评估,对系统建成后可能取得的社会及经济效益进行估计。
此食堂管理信息系统开发成本不高,一旦开发成功,即能直接应用在所有同种性质的食堂。
综合以上可行性分析,得出结论:
此食堂管理系统的研究开发是可行。
2.4用例模型
根据系统需求分析中对系统的功能要求,可以确定系统和子系统的边界、执行者和用例,由于该系统是一个较为繁杂的系统,所以采用分层绘制用例图的方法建立系统的用例模型。
2.4.1最高层用例图
根据对“食堂管理信息系统”的整体业务功能要求,可以绘制出如图1所示的最高层用例图。
图1最高层用例图
在最高层用例图中,实线方框表示系统边界,在系统内共有6个用例。
系统内的“消费统计”用例依赖于“餐费管理”和“用餐管理”用例中的信息来进行综合和对比分析。
“餐费管理”用例依赖于“卡处理”用例来处理消费明细的统计工作。
系统外有3个人执行者;
“管理员”执行者参与系统内所有用例的操作。
“用餐人员”执行者分为学生和教师,其要查询各自信息,进行数卡或现金交易用餐,查询各自的消费信息和存款明细信息。
“食堂工作人员”执行者参与系统内“餐费管理”用例的执行。
2.4.2第二层用例图
将“食堂管理系统”内每个用例作为第二层用例图之一加以展开,可得如下用例图。
(1)“系统设置”用例图
图2系统设置用例图
在“系统设置”用例图中,实线方框表示系统边界,在系统内共有4个用例。
“系统设置”用例包含“添加用户”、“修改密码”、“退出”3个用例。
系统外有1个人执行者;
“管理员”执行者参与系统内所有用例的操作。
(2)“用餐人员信息管理”用例图
图3用餐人员信息管理
在“用餐人员信息管理”用例图中,实线方框表示系统边界,在系统内共有11个用例。
“学生信息管理”和“教师信息管理”用例都是“用餐人员信息管理”用例的扩展。
“学生信息管理”用例包含“添加”“删除”“修改”“查询”4个用例,“教师信息管理”用例包含“添加”“删除”“修改”“查询”4个用例。
系统外有2个人执行者;
“管理员”执行者参与系统内所有用例的操作。
“用餐人员”执行者参与系统内用餐人员信息“查询”用例的操作。
(3)“用户消费系统”用例图
图4用户消费系统用例图
在“用餐消费系统”用例图中,实线方框表示系统边界,在系统内共有18个用例。
“卡处理”用例包含“餐卡挂失”、“餐卡充值”、“补发新卡”“退卡”用例。
“餐费管理”用例包含“个人消费明细”、“个人存款明细”用例。
“用餐管理”用例包含“消费信息录入”、“消费信息查询”、“现金消费信息录入”、“现金消费信息查询”用例。
“消费统计”用例包含“日消费统计”、“餐卡余额查询”、“挂失人员查询”、“退卡人员查询”用例。
“餐费管理”和“消费统计”是“用餐管理”的扩展。
“消费统计”用例使用“餐费管理用例”。
“餐费管理”用例使用“卡处理”用例。
系统外有3个人执行者;
“管理员”执行者参与系统内所有用例的操作。
“用餐人员”执行者参与系统内“卡处理”、“个人存款明细”、“个人消费明细”、“消费信息查询”、“现金消费信息查询”用例的操作。
“食堂管理人员”执行者参与系统内“用餐管理”用例中的“消费信息录入”和“现金消费信息录入”用例的操作。
3.系统分析与对象类建模
3.1系统功能分析
系统开发的总体任务是受用计算机信息管理技术,实现食堂各种信息的系统化,规范化,自动化,提高食堂管理的效率。
对应用系统项目的开发,首先要对程序要实现的功能和目标进行整体分析和规划,确保在后期开发中不会出现遗漏或重大缺陷。
因此在软件开发中,要严格按照软件工程的流程进行系统的分析和设计。
系统功能分析是在系统开发的总体任务的基本上完成的。
主要功能:
1、用餐人员信息管理
2、用餐卡管理
3、用餐管理
4、餐费管理
5、统计查询
6、系统设置
期望实现以下目标:
●提高经济效益、增效资源
●提高食堂服务质量、建立良好形象
●实现全面综合查询,提高食堂工作人员工作效率
●全面了解食堂内部营业情况
●完善食堂内部管理机制
3.2系统功能模块设计
对上述各项功能进行集中、分块分析,按照结构化程序设计的要求,得到如图所示的这个系统的功能模块图。
系统功能管理模块
图5系统功能模块图
3.3类图
在面向对象的分析与设计中,类图和对象图组成的可视化模型能有效的描述一个软件系统,它具有强大的模型描述表达能力,建立类和对象模型是软件开发的基础。
类图是由若干类的图形符号及表示其之间关系的图形符号组成。
在“食堂管理信息系统”中存在8个类,其具体的属性和操作及其之间的关系如图3—1所示。
图6食堂管理系统类图
在该类图中,一个管理员对应着多名用户,用户包括学生和教师。
管理员为学生和教师管理着个人的基本信息和密码及权限服务。
管理员不止一个,所以管理员与教师和学生类的关系为多对多的关系。
管理员可以管理食堂工作人员的系统登录ID及密码及登录权限限制,食堂有多名工作人员,管理员也不止一个,所以管理员与食堂工作人员的关系为多对多的关系。
学生去食堂消费用餐,通过食堂工作人员输入消费金额或者现金消费来完成整个消费过程,食堂工作人员不止一个,所以学生与食堂工作人员为多对多的关系。
教师去食堂消费用餐,通过食堂工作人员输入消费金额或者现金消费来完成整个消费过程,食堂工作人员不止一个,所以教师与食堂工作人员为多对多的关系。
一个学生只有一张可以使用的餐卡,所以学生与餐卡之间为一对多的关系。
一个教师只有一张可以使用的餐卡,所以教师与餐卡之间为一对多的关系。
管理员可以为学生和教师办理餐卡充值、挂失、补发新卡、退卡的业务操作。
一个管理员可以为多张餐卡办理以上业务,办理此项业务的管理员不止一个,所以管理员与餐卡之间的关系为多对多的关系。
4.系统设计与对象动态交互模型
在进行面向对象的系统分析与设计中,如何理解和掌握系统的全部控制流是最困难的事情,在UML中,利用顺序图可以有效的帮助人们观察和分析系统的交互行为。
顺序图描述了系统的行为,并具体描述了为完成某种系统功能,系统中各对象间的交互与协作,有效的帮助人们理解系统的行为,在“食堂管理信息系统”中有多种功能,其主要的几种顺序图如下所示。
(1)食堂餐卡的充值过程是:
用户要求管理员进行餐卡充值,在管理员登录充值系统成功后,用户将饭卡及充值金额交给管理员,管理员在操作界面进行充值操作,信息提交到数据库后,数据库保存相应信息,并将成功充值信息返回到主界面,呈献给管理员及用户。
其顺序图如下图所示:
图7食堂餐卡充值顺序图
(2)食堂餐卡挂失的过程是:
用户要求挂失餐卡,在操作员登录系统成功后,用户将挂失卡号告知管理员,管理员通过操作界面进行挂失操作,挂失信息提交数据库并返挂失成功信息到操作界面,呈献给操作员及用户。
其顺序图如下图所示:
图8食堂餐卡挂失顺序图
(3)食堂餐卡补发新卡的过程是:
用户要求补发新卡,在操作员登录系统成功后,用户将用户信息告知管理员,管理员通过操作界面进行补发新卡操作,新卡信息提交数据库并返成功保存新卡信息到操作界面,呈献给操作员及用户。
其顺序图如下图所示:
图9食堂餐卡补发新卡顺序图
(4)食堂餐卡退卡的过程是:
用户要求退卡,在操作员登录系统成功后,用户将餐卡交给管理员,管理员通过操作界面进行退卡操作,退卡信息提交数据库并返成功删除餐卡信息到操作界面,呈献给操作员及用户。
其顺序图如下图所示:
图10食堂餐卡退卡顺序图
(5)个人消费明细查询的过程是:
用户通过自己的用户名和密码登录系统,待验证正确进入系统主界面,点击个人消费明细查询项,输入卡号和姓名将信息提交数据库,数据库验证后返回所需要的信息。
其顺序图如下图所示:
图11个人消费明细查询顺序图
(6)个人存款明细查询,日统计查询,挂失人员查询,退卡人员查询等顺序图与个人消费明细查询基本相同,此处不再画出其顺序图。
(7)用户刷卡消费的过程是:
用户要求刷卡消费,食堂工作人员根据用户消费情况键入消费金额,刷卡机进行数据处理,若餐卡无效,即为挂失卡或者餐卡消磁不能使用,刷卡机返回初始状态,并返回消费不成功的消息给食堂工作人员和用户。
若餐卡有效,当餐卡剩余金额小于此次消费金额时,刷卡机发出嘟嘟响声,提示金额不足,返回刷卡消费失败的消息;当餐卡剩余金额大于等于此次消费金额时,刷卡机正常工作,返回刷卡消费成功的消息给食堂工作人员和用户。
其顺序图如下图所示:
图12用户刷卡消费顺序图
5.数据库设计
5.1设计E-R图
根据上面的设计规划出的实体有:
卡信息实体、学生信息实体、教师信息实体、消费者实体、消费情况实体、管理员信息实体。
各个实体具体的描述E-R图及其之间的关系描述如下。
5.1.1分E-R图
图12卡信息实体E-R图
图13学生信息实体E-R图
图14教师信息实体E-R图
图15消费情况实体E-R图
图16管理员信息实体E-R图
图17管理员信息实体、消费情况实体、消费者实体关系E-R图
图18卡信息实体、学生信息实体、消费者实体关系E-R图
图19卡信息实体、教师信息实体、消费者实体关系E-R图
3.2.1.2整体E-R图
由上面的分E-R图可以得到整体E-R图,如下图所示
图20为整体E-R图
在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。
食堂管理系统数据库中各个表格的设计结果如下面的几个表格所示。
每个表格表示在数据库中的一个表。
5.2数据库表
创建用户表Users
表1用户表Users
列名
数据类型
可否为空
声明
UserID
char(10)
NOTNULL
主键
UserName
char(10)
NOTNULL
PassWord
char(10)
NOTNULL
GroupID
char(10)
NOTNULL
创建学生信息表Student
表2学生信息表Student
列名
数据类型
可否为空
声明
学号
char(20)
NOTNULL
主键
姓名
char(10)
NOTNULL
性别
char
(2)
NOTNULL
班级
char(20)
NULL
系别
char(20)
NULL
宿舍
char(20)
NULL
备注
char(100)
NULL
联系方式
char(15)
NULL
创建教师信息表Teacher
表3教师信息表Teacher
列名
数据类型
可否为空
声明
教师编号
char(20)
NOTNULL
主键
姓名
char(10)
NOTNULL
性别
char
(2)
NULL
工资
char(20)
NULL
家庭住址
char(20)
NULL
备注
char(100)
NULL
联系方式
char(15)
NULL
创建卡信息表card
表4卡信息表card
列名
数据类型
可否为空
声明
卡号
char(20)
NOTNULL
主键
剩余金额
int
NOTNULL
办卡日期
datetime
NOTNULL
姓名
char(10)
NOTNULLL
性别
char
(2)
NOTNULL
创建挂失表
表5挂失表
列名
数据类型
可否为空
声明
卡号
char(20)
NOTNULL
挂失日期
datetime
NOTNULL
创建退卡表
表6退卡表
列名
数据类型
可否为空
声明
卡号
char(20)
NOTNULL
退卡日期
datetime
NOTNULL
创建充值表
表7充值表
列名
数据类型
可否为空
声明
卡号
char(20)
NOTNULL
金额
char(20)
NOTNULL
日期
datetime
NOTNULL
创建消费情况表
表8消费情况表
列名
数据类型
可否为空
声明
日期
char(20)
NOTNULL
一天消费总额
int
NOTNULL
一楼窗口
char(10)
NOTNULL
二楼窗口
char(10)
NOTNULL
卡号
char(20)
NOTNULL
创建现金消费表
表9现金消费表
列名
数据类型
可否为空
声明
日期
char(10)
NOTNULL
金额
int
NOTNULL
创建日消费统计表
表10为消费统计表
列名
数据类型
可否为空
日期
char(20)
NOTNULL
日金额
int
NULL
6.总结
这一次的课程设计主要是面向对象分析与设计中的有关食堂管理信息系统中各种图的分析设计,如用例图,类图,顺序图等。
食堂用餐,每天都在接触,而且看起来又是如此简单,饭卡在刷卡机轻轻一放,交易就完成了。
大大节省了时间,方便了生活。
然而事实往往不是想象的那么简单,这小小食堂管理系统确实让我花费了不少脑筋。
这次实习仍然根据自己上学期的课程设计,也就是食堂管理信息系统分析与设计,根据上次的分析结果及具体实施出来的系统,自己画出上述各类图。
由于这些图在平时的课上以及课下的练习中都接触过,所以开始并没有那么着急,以为自己已经设计的挺周密,挺详细的了,可是通过这次实习,我发现,这其中存在着不少小的细节方面的问题,比如用例图中有的用例并没有充分体现在用例图中,类图中有的设计不合理,还有就是数据库表结构的设计,当时并没有太多考虑周全,这次实际画类图发现有的与数据库中的表结构不能做到相符。
两周的课程设计很快就要过去了,但是在短短的两周里我都收获了很多,我不仅把本学期学习的面向对象分析与设计的理论知识温习了一遍,而且做到了与实践有效的结合起来,充分展示了知识的活力,与此同时,我积极调查思索实际情况,有取舍的借鉴相关系统的成功实例,从中得到宝贵了经验。
利用计算机的功能,我的食堂管理系统实现了电子化,逐步摆脱了繁杂的手工记录等,使得食堂管理工作变得轻松。
同时也提高了食堂经济效益,提高了食堂服务质量、建立了良好形象,完善了食堂内部管理机制,使工作人员的工作效率得到了大大的提高。
这一次的课程设计,我谨记上次课程设计时出现的失误,不骄不躁,认真仔细的去思考,去探索。
在今后工作中我会继续保持这种态度,通过多巩固已学知识,接触些新的技术和实践的操作,不断完善自己。
最后要感谢学校和老师给自己这么一次锻炼的机会,让自己在磨练中体验成长,使自己更加有信心面向未来。