软件工程课设 1.docx
《软件工程课设 1.docx》由会员分享,可在线阅读,更多相关《软件工程课设 1.docx(30页珍藏版)》请在冰豆网上搜索。
![软件工程课设 1.docx](https://file1.bdocx.com/fileroot1/2023-2/25/6d3d3410-1fa5-466b-a324-e673cd585657/6d3d3410-1fa5-466b-a324-e673cd5856571.gif)
软件工程课设1
课程设计报告
学生姓名:
学号:
学院:
经济管理学院
班级:
题目:
超市库存系统
指导教师:
职称:
2011年7月15日
1.选题背景
5.课程设计心得体会
1超市库存管理系统的选题背景
随着信息时代的快速发展,管理者意识到只有采用信息化管理,才能取得市场领域的主导地位。
由于各方面的原因,大型超市的各项管理工作以及货物的库存等相关工作还停留在相对落后的初始阶段,没有太大的发展。
随着时间的推移,超市的销售额和利润逐年增长并屡创新高,这就要求公司必须有一套适合自己发展需求的超市库存管理系统。
现有的手工核算管理,经常出现一些不必要的差错或错误,或多或少的给公司经济上带来了损失。
例如:
a)一般情况,库存数据归集都依靠手工操作进行,大部分数据的交换靠纸介质进行,无法进行货物数据的统计、分析、查询。
b)目前,超市在货物库存管理工作中面临的一个普遍现象是操作流程不规范,从而造成了公司的隐患。
c)以前,由于相对落后的库存管理手段,在决策时缺乏对进货批量的“定量”分析(一般只能作定性的分析),使得决策往往靠管理者的个人经验积累。
所以开发一个新的超市库存管理系统已成必然需要。
2超市库存管理系统需求分析
2.1超市库存管理系统的需求陈述
超市准备改进自己的仓库管理系统,改变原有系统中存在的诸多问题,开发新的仓库管理系统。
新系统由货物调度室、计算机、仓库终端、仓库构成。
货物调度室设置多台计算机,用于管理仓库的日常工作活动,仓库包含仓库终端,用于和供货商协调具体工作,调度室设置各个仓库的互联服务器,开发成本由超市完全承担。
仓库管理员负责完成仓库的日常管理活动,使用终端与货物的供应商完成最基本的功能交互。
仓库管理员在工作的最开始阶段负责接收供应商给出的货物供应单,根据数量、产地、日期等信息核对正确后,给供货商信息反馈。
接收货物后填写入库单,给采购人员确认信息,为采购人员打印相关报表,高层领导签字后拿到会计人员处,账目更改,费用报销。
将信息录入到系统后,系统根据货物的属性、日期、是否需要低温冷藏等功能,采集相关信息,分析处理后对库位进行指定。
系统的功能同时包含对货物的数量进行预警处理,防止数目低的货物货源的不到确定,货物销售时数量得不到保障。
对数量过高的货物进行预警,保证在货物数量上限不进行二次采购,不出现货物的额囤积堆压。
出库时,对于价格较高的货物需要高层领导签字确认出库,活动方可进行。
仓库管理系统在得到提货确认后,更改系统中的信息,如系统库位和货物剩余量,打印报表给财务人员和高层领导。
同时根据货物规格等信息出库。
系统包含访问权限设置,提高系统的安全性能,仓库管理员和高层领导对信息进行访问时需要输入正确的账号和密码,匹配正确后,方可登录系统查看和修改数据。
在工作过程中,首先,在仓库管理员登录到系统之后,就开始了人机交互的过程,在输入的账号、密码正确后,货物调度处根据账号密码与数据库的记录进行匹配,匹配合格后,将信息传到调度处总计算机。
账号正确,仓库管理员就可以开始相应的操作,添加仓库记录中的货物,录入货物信息,删除或是更改相关货物或是库位、供应商的记录。
当对货物进行提取时,输入货物的名称、提取数量等信息,系统自动修改数量、库位等信息记录。
确认管理员操作结束后让其继续选择操作类型:
继续添加、更改还是退出系统。
最后打印相关信息给负责人员,并对有关记录进行相关更改。
2.2需求分析
2.2.1功能需求
改进后的新系统在原有系统的基础上,完善、增加了部分功能。
使新系统在更大程度上帮助仓库管理人员或是高层的决策者完成工作。
我们在改进的过程中完善了入库、出库管理。
同时增加了如库位指定、最大、最小库存量预警功能。
(1)入库管理:
在收到入库单后,根据入库单上的信息进行身份验证,通过后检查库存量、库存状态、盘点状态,在库存不符合要求时发出警报,然后进行库位指定,更新账目。
(2)出库管理:
收提货单,进行身份验证,信息正确检查库存状态、库存量、状态盘点。
在收到不符合要求的状态反馈时发出警报。
进行库位更新,账目更新。
(3)盘点管理:
对库房物资、数量、不可用的库存进行录入。
使仓库管理者对仓库情况了如指掌。
(4)库存信息管理:
该部分是系统与其他系统的交互部分,使系统外如采购员等了解仓库存货情况,保证及时了解货物存储情况。
(5)库存信息查询:
是针对于系统内部存储的数据进行的查询操作,查询货物来源信息、剩余数量等重要数据。
(6)物资信息管理:
完整的保存存储货物的生产日期、来源产地、销售情况等信息数据。
(7)供应商信息管理:
供应商在仓库管理的过程中起到了十分重要的作用,有组织的管理供应商信息资料,保证采购速度的同时能够以最低的价格的到所需要的货物。
(8)身份验证:
保证系统的安全性,只有有访问权限的人员能够进行访问,保证数据、信息不被系统外无关人员使用。
(9)报表生成:
取消了原始人工手动操作,自动对报表进行生成。
结合入库、出库等工作。
打印工作人员需要的数据。
(10)最高库位管理:
在货物存储高于一定数量的时候,发出警报。
与入库管理有关联,在物资入库时进行查询,保证只有需要的物资进入仓库。
(11)最低库存管理:
采取预报警机制,在存储的货物地域一定数量的时候,自动发出警报,保证货物稳定的一定数量。
使得销售的正常进行。
(12)指定库位:
在进行入库操作时准备对货架进行分配,在货架不为空的情况下,将货物放在空余货架上,然后对账目进行更新。
(13)更新账目:
在入库或是出库一系列活动进行之后对账目进行更新。
保证有用信息的实时性。
(14)系统备份与恢复:
保证系统的安全性,短时间解决系统故障,使工作正常进行。
防止在有意外情况发生时,系统重要数据丢失。
2.2.2性能需求
性能需求是从各个角度对系统的约束和限制,反映了应用系统对软件系统质量和特性的额外要求,例如响应时间、数据精度、可靠性等。
下面是关于该库存管理系统的性能需求:
(1)由于超市中库存管理对于超市的日常经营起着至关重要的作用,所以对于系统的性能:
有较高的稳定性,系统采用较高的硬件配置和稳定的软件配置,能够进行系统的备份与恢复,能够快速响应使用者的操作,提供随时访问。
(2)友好性高,系统操作简单,使用人员在没有操作基础的前提下,通过短暂学习,即可掌握。
(3)有较高的安全性要求,能够进行身份验证、能进行预报警管理、证安全的货物存储数量,有库位指定功能,使货物的入库出库操作都在有相应库位保证之后发生。
(4)提供系统恢复与备份功能,在发生故障时不会影响后续工作。
超市由于进行日常经营,所以系统中也保存相关供货商的信息,及时与他们进行联系,保证超市销售货物不断。
同时采用实时报表生成功能,为超市的决策者提供第一手的经营信息。
系统的分析与设计全部采用面向对象的方法,这又进一步的保证的系统的性能。
2.3系统需求建模
系统定义:
本系统主要针对超市日常经营过程中库存管理中遇到的问题开发,解决库存管理中,入库出库混乱,报表账单管理不规范的问题。
在系统汇总设立了库存报警、库位指定、身份验证等功能。
大大提高了系统的实用性、稳定性。
2.3.1确定参与者
参与者是指与系统交互的人或者其他系统,它代表着外部实体。
使用用例并且与系统交互的任何人或者物都是参与者。
根据对现行系统进行分析,结合新系统的构造目标,并根据新系统投放使用后将会使用系统主要功能、需要系统支持完成日常工作的、对系统进行维护系统、系统所控制的硬件设备等确定出系统的主要参与者。
主要参与者有:
系统管理员、供应商、销售员、会计人员、超市经理。
1.3.2确定用例
用例是被参与者感受到的、系统提供完整的功能,在UML中用例被定义为系统完成的一系列活动,活动的结果能被特定的参与者察觉到。
根据上述过程中确定的系统参与者,根据行为者需要系统提供的功能,和参与者对系统信息的需求等确定出系统中的用例。
更新账目、最高库存管理、指定库位、最低库存管理、入库管理、出库管理、盘点管理、库存信息查询、报表生成、身份验证、分析评价。
2.3.3系统用例建模
为了理解系统所要解决的业务问题,以便掌握用户需求,我们采用用例图进行需求建模。
用例图描述了外部用户所能观察到的系统功能。
它通过列出用例和角色,显示用例和角色的关系,从而给出了目标系统的功能。
系统的用例图如图1所示。
图1业务用例图
2.3.4用例描述
在对超市进行调查之后我们总结划分出在系统中应该出现的参与者,他们的角色分别为:
库存管理员、会计人员、销售人员、经理、供应商。
UC01:
更新账目执行者:
会计人员
账目更新是在货物入库或者出库时进行,在货物发出或者货物入库之后,由于账目信息变化引起的操作,及时更改账目信息保证超市的资金不出现由于认为误操作引起的问题。
UC02:
最高库存管理
在采购时自动检查仓库中货物的存储数量,对货物进行最高数量报警,防止货物过多引起的货物囤积,防止资金流的不正常流动。
UC03:
指定库位
系统根据不同货物对于存储环境的不同要求,分析,在入库时对库位进行指定,对应库位放入相应存货,在货物出库时,对空置出的库位进行更新。
UC04:
最低库存管理
系统随时统计仓库存储的数量,库存量最低报警,保证货物数量在最低标准以上,以防止在货物销售旺季,货物出现短缺的影响运营的情况。
UC05:
入库管理
结合供应商给定的货物单,在审核通过后,生成入库单,结合入库单、最高库存预警、库位指定功能等对入库行为进行管理,在入库行为发生后,对账目进行更新。
UC06:
出库管理
结合提货单和最低库存管理,其中使用了库位指定功能,管理货物的出库行为。
UC07:
盘点管理
货物盘点,对库房的物资货物进行盘点。
UC08:
库存信息查询
使系统外的人员实时了解库存信息。
UC09:
报表生成
在进行相关操作后对报表进行更改,保证信息的实时性。
UC10:
身份验证
对系统访问者的身份进行验证,保证系统的安全性。
UC11:
分析评价
对工作和报表进行审核后,给出客观的分析与评价。
UC12:
库存信息管理
该部分是系统与其他系统的交互部分,使系统外如采购员等了解仓库存货情况,保证及时了解货物存储情况。
UC13:
供应商信息管理
有组织的管理供应商信息资料,保证采购速度的同时能够以最低的价格的到所需要的货物。
UC14:
物资信息管理
完整的保存存储货物的生产日期、来源产地、销售情况等信息数据。
UC15:
库存分析
结合超市库存管理中的得到的信息和数据,对超市整体的库存信息进行分析,得到的数据帮助决策者进行决策。
详细用例描述:
名称:
入库管理
描述:
超市库存管理中货物进入仓库操作的有关管理。
前置条件:
来自供应商的货物单经过审核通过,批准入库。
后置条件:
管理员登陆系统成功,经过检查后有符合要求的库存空位,并且该次采购量没有达到超市的最高库存预警。
活动的基本过程:
检查库存量、货物状态。
在它们都符合要求的前提下,结合库存盘点状态。
进行入库操作。
进行后续入库操作操作。
包括报表生成,账目更改。
名称:
出库管理
描述:
超市库存管理中货物退出仓库操作的有关管理。
前置条件:
管理员身份验证通过。
后置条件:
没有达到预警要求的数量、高层领导审查通过。
基本活动过程:
检查库存量、货物状态。
在上述操作符合要去的前提下,结合盘点状态。
高层领导审查通过,签字批准。
进行后续操作。
3系统分析
3.1系统用例建模
库存管理子系统中主要的业务为入库管理和出库管理。
对库存信息的管理、库位的管理和系统的预警的处理。
入库管理:
仓库管理员在工作的最开始阶段负责接收供应商给出的货物供应单,接收货物后填写入库单,给采购人员确认信息,为采购人员打印相关报表,高层领导签字后拿到会计人员处,账目更改,费用报销。
出库管理:
仓库管理员接收提货单后填写出库单,给销售人员确认性息。
对于价格较高的货物需要高层领导签字确认出库,活动方可进行。
仓库管理系统在得到提货单确认后,更改系统中的信息,如系统库位和货物剩余量,打印报表给财务人员和高层领导。
同时根据货物规格等信息出库。
图3.1入库管理用例图
图3.2出库管理的用例图
3.2静态结构模型
3.2.1 类的识别
通过对系统进行分析后可以初步确定系统中的类的候选者有:
货物调度室、计算机、仓库终端、仓库、仓库管理员、供应商、货物供应单、信息、入库单、采购人员、报表、高层领导、会计人员、账目、费用、库位、提货单、财务人员、访问权限、密码、账户。
但仅通过简单、机械的操作时不可能正确的完成分析工作,故需要对类进行仔细的筛选。
1、冗余。
“财务人员”和“会计人员”表达了同样的意思,故需要删除其中一个,选择表达更为具体的“会计人员”。
2、无关。
“货物调度室”与本系统关系不大,故可以删除。
3、笼统。
“信息”表达的意思过于笼统模糊,“费用”包含过广,故这两个类均需删除。
4、属性。
“密码”和“账号”均为类的属性项,故可以去掉。
通过对系统的分析可得的类:
仓库管理员、供应商、采购人员、高层管理人员、会计人员、销售人员、货物供应单、账目、库位、提货单、报表、计算机终端、总计算机。
系统在实际实施中还可以分析得到的类为系统权限,只有在的到系统管理员的允许限制下才可以登录,否则就为非法用户。
在货物入库的时候有一个很总要的类,易被忽略,物资类,此类中记载该物资所含有的具体信息。
以方便对入项和出项的登记。
实际使用上还有一个类仓库,在此就不加入系统类分析中。
3.2.2 类的关联分析
两个或多个对象之间的相互依赖、相互作用的关系就是关联。
类之间都是因为某种关系而并存,关联用箭头表示该关联的方向。
在需求陈述中使用的描述性动词或动词词组,表示关联关系。
通过分析可以确定初步关联。
将已删除类的关联去除,与问题无关的关联去除,删除瞬时时间、删除三元关联和派生关联的方法,得出如下关联。
1.直接提取动词短语得出关联。
计算机终端组成总计算机组。
仓库管理员定期对货物进行盘点。
供应商提供入库单给仓库管理员。
仓库管理员登记入库项。
仓库管理员盘点并填写物资并将物资放到指定库位。
会计人员更新账目。
采购人员确定信息并打印报表。
销售管理员出示出库单给仓库管理员。
仓库管理员登记出库项并盘点。
经理可以联系仓库管理员要求打印报表。
经理登录系统自行打印报表查询。
2.需求陈述中隐含的关联。
会计人员查看报表。
库位组成了仓库。
仓库管理员控制访问权限。
访问权限限定高层管理人员。
采购人员和高层管理人员通信。
销售人员与高层管理人员通信。
经过上述分析过程之后的出的超市库存管理系统的类图。
3.2.3 类图的构建
图3.3超市仓库管理系统类图
3.2.4 类的属性描述
属性用来描述类的特征,表示需要处理的数据。
借助属性人们能对类与对象和结构有更深入更具体的认识。
来表示对象间的关系,在分析阶段不需要属性来表示对象间的关系,使用关联能表示两个对象间的关系,而且使得关系更加的清晰和醒目。
属性的过程包括分析和选择两个步骤。
如下为个类的具体属性。
类名:
仓库管理员类
功能:
更新库存信息、添加用户、更新用户、删除用户、系统维护
属性:
姓名、密码、编号
类名:
供应商类
功能:
描述供应商信息
属性:
编号、公司名称、联系人名称、地址、电话、传真、邮箱
类名:
销售人员类
功能:
描述销售人员信息
属性:
姓名、编号、密码
类名:
高层管理人员类
功能:
查询、打印、确认信息
属性:
姓名、密码
类名:
会计类
功能:
更新账目
属性:
姓名、编号、密码
类名:
采购人员类
功能:
描述采购人员信息
属性:
姓名、密码、编号
类名:
货物供应单
功能:
描述供货单信息
属性:
名称、价格、数量、类型、实际单价
类名:
物资类
功能:
用于描述进货信息
属性:
编号、名称、价格、数量、类型、单位、最高预警值、最低预警值、有效期、预警天数。
类名:
仓库类
功能:
用于描述仓库信息
属性:
编号、名称、类型、地址
类名:
库位类
功能:
用于描述库位信息
属性:
编号、名称、所属仓库
类名:
入库单类
功能:
对入库物料的核对
属性:
入库单编码、库房编码、入库日期、库管员编码、支票号码
类名:
出库单类
功能:
对出库物料的核对
属性:
出库单编码、库房编码、出库日期、库管员编码、支票号码
类名:
账目类
功能:
对物资账目处理
属性:
入库单编码、物料编码、库位编码、生产标志
类名:
提货单类
功能:
描述提货单
属性:
名称、编号、数量、实际单价、销售单价
类名:
报表类
功能:
各种报表的基类
属性:
编号、名称、数量、单价、总价、时间
类名:
系统权限类
功能:
限制可用户登录
属性:
人员代码、人员密码、库房编码
3.3系统动态模型
3.3.1系统执行顺序分析
为了在罪的的程度上实现用户对于系统的功能要求,再对超市的仓库管理进行调查分析后,我们得知:
目前超市的仓库管理主要为入库和出库的操作管理。
在顺序图中,一条竖线代表一个对象,每个时间用一条水平的箭头线表示,箭头方向从事件的发送对象指向接受对象,时间从上向下递增,箭头线在垂直方向上的相对位置表示事件发生的先后。
根据我们的调查结果进行分析,入库管理的顺序流程为:
供应商提供正确的货物单,仓库管理员审核正确后清查货物,然后修改入库清单,并根据货物的属性(温度、光照要求)指定库位,有库位后货物入库,在仓库系统中进行库位更新,并把信息反馈给仓库管理员。
可以绘制出,超市仓库管理系统的入库顺序图,如图3.4所示。
分析得到,仓库管理的出库管理顺序流程为:
销售部门提供提货单给仓库管理员,仓库管理员填写出库单,并把信息反馈销售部门,销售部门提货,仓库进行货物更新,信息反馈给仓库管理员,提出货物后,对仓库的库位进行更新,将结果反馈给仓库管理员。
系统的出库顺序图如图3.5所示。
图3.4系统入库管理顺序图
图3.5超市仓库管理出库顺序图
3.3.2系统的协作分析
合作图(CollaborationDiagram),也称为协作图,用于描述相互合作的对象间的交互关系和链接(Link)关系,着重体现了交互对象间的静态链接关系。
根据对超市仓库库存管理的业务流程进行分析得出的顺序图,可以得出该系统的协作图。
库存管理的入库协作图如图3.6所示。
图3.6系统的入库管理协作图
超市库存管理的出库协作图如图2.7所示。
图3.7超市库存管理的出库协作图
3.3.3系统状态分析
状态图描述了事件和对象状态的关系。
在入库状态图中,计算机处于等待登录状态,当仓库管理员接到供应商提供的入款单时,输入密码登录进仓库管理入库模块中,若用户密码不对则登录失败。
登陆成功后,先查询库存量,若库存量超过警戒线时则会发出警报,提醒减少采购量。
若库存量出于安全线内,则用户可进行事务处理增加入库单,成功后。
可以选择取消、退出或继续。
另处理失败后系统进入等待状态,等待网络响应后退出。
如下图3.8所示。
图3.8超市仓库管理系统入库状态图
在出库状态图中,计算机处于等待登录状态,当仓库管理员接到销售人员提供的提货单时,输入密码登录进仓库管理入库模块中,若用户密码不对则登录失败。
登陆成功后,先查询库存量,若库存量低于警戒线时则会发出警报,提醒采购物资;若库存量处于安全线内,则用户可进行事务处理增加出库单,成功后。
可以选择取消、退出或继续。
另处理失败后系统进入等待状态,等待网络响应后退出。
如下图3.9所示。
图3.9系统出库状态图
3.3.4活动分析
活动图是系统一系列状态的综合体现,它描述了系统中各种活动执行的顺序,刻画了一个系统中所要进行的各项活动的执行流程。
根据上文中绘制的顺序图以及合作图,对两图中相互交互的对象进行分析可以得出系统中各部分主要的活动如下:
1.入库管理活动分析
身份验证:
验证管理员的身份和操作权限,若身份信息无误则进入下一步操作。
库位指定:
在货物入库之前查询是否有合适的货物存储位置,若有则指定库位,进入下一步操作。
入库管理:
入库之前检查货物的库存量,以及货物的存储状态,同时检查盘点状态。
预警:
若入库管理中发现货物低于或高安全库存时进行报警,以及盘点状态时发现不良数据进行相应的操作。
入库:
把货物送入仓库保存。
账目更新:
根据商品入库情况更新账目。
打印报表:
根据相关人员的需要打印报表。
高层人员签字:
针对报表,高层人员进行确认签字。
会计人员入账、报销:
会计人员根据相应的财务报表入账报销。
由以上分析入库具体的活动图如图3.10所示。
2.出库管理活动分析
身份验证:
验证管理员的身份和操作权限,若身份信息无误则进入下一步操作。
出库管理:
出库之前检查货物的库存量,以及货物的存储状态,同时检查盘点状态。
警报:
若出库管理中发现货物低于或高安全库存时进行报警,以及盘点状态时发现不良数据进行相应的操作。
否则进入下一步操作。
管理人员签字:
管理人员决定是否同意商品出库。
出库:
若管理人员同意,则商品出库。
库位更新:
根据商品出库情况,更新库位。
账目更新:
根据商品的出库更新账目。
对以上活动的分析可以得到出库活动图如图3.11所示。
图3.10入库活动图
图3.11出库活动图
3.仓库内活动分析
库存信息检查:
检查库存信息是否正确。
检查入库信息:
检查入库情况。
检查出库信息:
检查出库信息是否正确。
检查账目信息:
检查库存账务情况是否正确。
出入库:
若以上信息无误则进行商品正常的出入库。
生成报表:
若以上信息无误则根据高层人员需要生成报表,并依据报表进行库存控制,分析评价以及数据的备份与恢复。
盘点管理:
对库存商品进行盘点处理。
经过以上活动分析仓库内活动图如图3.12所示。
图3.12仓库内活动图
4系统设计与实现
4.1UML体系结构设计
4.1.1硬件体系结构设计
本系统采用C/S结构开发,三层C/S结构是在客户和服务器之间引入应用层的概念,即客户端与数据库之间加入了一个“中间层”。
它将应用逻辑移到应用层完成,而客户端弱化为一个图形用户接口,成为一个瘦客户机。
其解决方案是:
对这三层进行明确分割,并在逻辑上使其独立形成三层软件结构。
在这种结构中,表示层、业务逻辑层和数据访问层在逻辑上是彼此分离的,表示层向用户提供数据,并有选择地允许用户使用逻辑数据。
对于基于PC的应用程序来说,本机用户和基于Web的用户接口是其两个主要的用户接口。
本机用户接口使用底层操作系统服务,基于Web的用户以HTML为基础,可通过任何平台的浏览器来阅读。
本系统的三层C/S结构如图4.1所示。
图4.1三层硬件体系结构图
4.1.2软件体系结构设计
信息系统的软件结构是由信息系统软件的各子系统按照确定的关系构成的结构框架,一般呈现多层次结构模式。
子系统是对软件进行分解的一种中间形式,也是组织和描述软件的一种方法。
软件结构设计就是把软件分解成多个子系统,并确定各子系统及其接口之间的相互关系。
根据分析设计绘制出超市管理系统的软件体系结构如图3.2所示。
图4.2软件体系结构
4.2对象模型设计
根据系统构想初期我们确定出系统中存在下列类和对象:
总计算机、计算机终端、入库单、仓库管理员、经理、供应商、销售人员、会计、入库项、出库单、出库项、账目、盘点、库位描述、报表、系统权限、物资、仓库、货物供应单、采购人员、报表、物资、提货单、仓库、库位、货物供应单。
对以上候选类进行严格的考察筛选,去掉不正确的或不必要的,仅保留