医务所药品仓储管理系统面向对象设计报告2.docx
《医务所药品仓储管理系统面向对象设计报告2.docx》由会员分享,可在线阅读,更多相关《医务所药品仓储管理系统面向对象设计报告2.docx(45页珍藏版)》请在冰豆网上搜索。
医务所药品仓储管理系统面向对象设计报告2
医务所药品仓储
管理系统
面向对象分析与设计
——谢海钊
1.系统需求
当今社会,信息技术突飞猛进,越来越多的医疗机构开始注重计算机这个辅助工具为自己带来的效益,方便、准确、快捷的库存管理也是他们关注的问题。
为了减少医务仓库管理人员的工作量,提高工作效率,需要一个库存管理系统,可以做到管理规范、快速查询、科学分析、实时处理,从而减少管理的工作量。
该仓储管理系统软件,可以对药品出、入库的管理,可以帮助用户利用计算机管理库存,实现快速查询、入出库方便、可靠性高、存储量大、保密性好,还能在很多方面减少存货的积压导致的资金流转不利等问题,同时也能管理供应商、用户等基本信息,改变传统企业库存人工管理的方式。
通过对上面描述的系统的基本需求进行分析后,可以得知这个系统至少应该具有以下功能:
1)管理员可以进行药品入出库管理。
2)管理员可以对药品信息进行增删改查。
3)管理员可以查看库存药品是否过期、短缺、积压。
4)采购员可以对供应商信息进行增删改查。
5)系统管理员可以对用户信息进行增删改查。
6)用户可以对个人信息进行修改。
2.分析问题领域
1
2
2.1识别参与者
通过分析药品仓储管理系统的功能需求,可以识别出3个参与者:
仓管员、采购员、系统管理员。
参与者描述如下:
(1)仓管员
描述:
仓管员可以进行药品入出库管理、对药品信息进行增删改查、查看库存药品是否过期、短缺、积压,并且可以对个人信息进行修改。
(2)采购员
描述:
采购员可以对供应商信息进行增删改查、查看库存药品是否过期、短缺、积压,并且可以对个人信息进行修改。
(3)系统管理员
描述:
系统管理员权限最大,除了拥有仓管员、采购员的权限外,还能对用户信息进行增删改查。
2.2识别用例
(1)登录
本用例提供了验证用户身份的功能。
(2)入库处理
本用例提供了把入库信息存入库存的功能。
(3)出库处理
本用例提供了把出库药品信息移出库存的功能。
(4)查询药品信息
本用例提供了从库存读取药品信息的功能。
(5)添加药品信息
本用例提供了把药品信息存入库存的功能。
(6)修改药品信息
本用例提供了修改在库药品信息的功能。
(7)删除药品信息
本用例提供了删除在库药品信息的功能。
(8)查询供应商信息
本用例提供了从数据库读取供应商信息的功能。
(9)添加供应商信息
本用例提供了添加供应商信息到数据库中的功能。
(10)修改供应商信息
本用例提供了修改供应商信息的功能。
(11)删除供应商信息
本用例提供了删除供应商信息的功能。
(12)查询用户信息
本用例提供了从数据库读取用户信息的功能。
(13)添加用户信息
本用例提供了添加用户信息到数据库中的功能。
(14)修改用户信息
本用例提供了修改用户信息的功能。
(15)删除用户信息
本用例提供了删除用户信息的功能。
(16)查看积压药品信息
本用例提供了查看库存中处于滞涨状态的药品的功能。
(17)查看短缺药品信息
本用例提供了查看库存处于短缺状态的药品的功能。
(18)查看过期药品信息
本用例提供了查看库存处于过期状态的药品的功能。
(19)修改个人信息
本用例提供了用户修改本人信息的功能。
2.3用例图
2.4用例描述
表1用户登录系统
名称
用户登录系统
标识
UC001
描述
用户通过登录界面进行登录
前提
N/A
结果
如果用例成功,则用户登录到系统中,否则,系统状态不变
扩展
N/A
包含
N/A
继承
N/A
基本工作流程如下:
(1)用户希望通过用户登录界面登录到系统。
(2)用户通过用户登录界面LoginWindow录入用户名、密码。
(3)系统验证从用户登录界面LoginWindow传来的用户名、密码。
(4)用户登录系统成功。
备选流(用户登录失败)的流程如下:
(1)系统提示用户名或密码错误,用户可以重新输入或终止用例。
活动图:
表2仓管员处理入库
名称
仓管员处理入库
标识
UC002
描述
仓管员通过登录系统处理入库
前提
成功登录系统
结果
处理入库是否成功
扩展
打印报表用例
包含
N/A
继承
N/A
基本工作流程如下:
(1)仓管员在登录系统后希望通过系统对药品进行入库处理。
(2)仓管员通过入库处理界面InputWindow录入新进药品信息。
(3)入库处理界面InputWindow通过Medicine实例添加到数据库中。
(4)入库处理界面InputWindow向仓管员显示显示药品入库成功。
备选流(新进药品信息不存在)的流程如下:
(1)提供给查询药品信息界面QueryMedicineWindow药品信息为空。
(2)查询药品信息界面QueryMedicineWindow向仓管员提示药品信息不存在
表3仓管员处理出库
名称
仓管员处理出库
标识
UC003
描述
仓管员通过登录系统处理出库
前提
成功登录系统
结果
处理出库是否成功
扩展
打印报表用例
包含
继承
N/A
基本工作流程如下:
(1)仓管员在登录系统后希望通过系统对药品进行出库处理。
(2)仓管员通过出库处理界面OutputWindow录入要出库的药品编号或名称。
(3)出库处理界面OutputWindow通过将Medicine实例化,显示药品的信息。
(4)仓管员通过出库处理界面OutputWindow录入出库药品的数量和其他信息。
(5)Medicine类实例请求Output对象检查药品信息和出库数量是否合法。
(6)Output对象减少出库药品的数量。
(7)Output对象返回是否成功减少药品的数量
(8)出库处理界面OutputWindow显示是否出库成功。
备选流(出库数量大于在库量)的流程如下:
(1)出库处理界面OutputWindow弹出药品数量不足对话框。
(2)出库处理界面OutputWindow显示该在库药品的数量。
活动图:
表4仓管员(或系统管理员)添加药品
名称
仓管员(或系统管理员)添加药品
标识
UC004
描述
仓管员(或系统管理员)通过管理界面添加药品
前提
仓管员(或系统管理员)成功登录系统
结果
显示药品是否被成功添加
扩展
N/A
包含
N/A
继承
N/A
(1)仓管员(或系统管理员)在登录系统后希望通过系统添加某些药品。
(2)仓管员(或系统管理员)通过添加药品界面AddMedicineWindow添加药品信息。
(3)添加药品界面AddMedicineWindow通过Medicine实例添加到数据库中。
(4)添加药品界面AddMedicineWindow显示药品是否添加成功。
备选流(药品信息不存在)的流程如下:
(1)提供给查询药品界面SearchMedicineWindow药品信息为空。
(2)查询药品界面SearchMedicineWindow向仓管员(或系统管理员)提示该药品信息不存在。
表5仓管员(或系统管理员)删除药品
名称
仓管员(或系统管理员)删除药品
标识
UC005
描述
仓管员(或系统管理员)通过管理界面删除某药品
前提
仓管员(或系统管理员)成功登录系统
结果
显示药品是否被成功删除
扩展
N/A
包含
N/A
继承
N/A
基本工作流程如下:
(1)仓管员(或系统管理员)在登录系统后希望通过系统删除某些药品。
(2)仓管员(或系统管理员)通过删除药品界面DeleteMedicineWindow删除药品。
(3)仓管员(或系统管理员)通过删除药品界面DeleteMedicineWindow查找药品的信息并返回药品信息。
(4)删除药品界面DeleteMedicineWindow通过Medicine实例将药品信息删除,并返回删除信息。
(5)删除药品界面DeleteMedicineWindow向仓管员(或系统管理员)显示药品删除是否成功。
备选流(药品信息不存在)的流程如下:
(1)提供给删除药品界面DeleteMedicineWindow药品信息为空。
(2)删除药品界面DeleteMedicineWindow向仓管员提示该药品信息不存在。
表6仓管员(或系统管理员)修改药品
名称
仓管员(或系统管理员)修改药品
标识
UC006
描述
仓管员(或系统管理员)通过管理界面修改某药品
前提
仓管员(或系统管理员)成功登录系统
结果
显示药品是否被成功修改
扩展
N/A
包含
N/A
继承
N/A
基本工作流程如下:
(1)仓管员(或系统管理员)希望通过系统修改某些药品。
(2)仓管员(或系统管理员)通过修改药品界面UpdateMedicineWindow修改药品信息。
(3)仓管员(或系统管理员)通过修改药品界面UpdateMedicineWindow查找药品的信息并返回药品信息。
(4)修改药品界面UpdateMedicineWindow,通过Medicine实例将修改后的药品信息保存到数据库中,并返回是否成功修改信息。
(5)修改药品界面UpdateMedicineWindow向仓管员(或系统管理员)显示修改是否成功。
备选流(药品信息不存在)的流程如下:
(1)提供给修改药品界面UpdateMedicineWindow药品信息为空。
(2)修改药品界面UpdateMedicineWindow向仓管员提示该药品信息不存在。
表7仓管员(或系统管理员)查询药品
名称
仓管员(或系统管理员)查询药品
标识
UC007
描述
仓管员(或系统管理员)通过管理界面查看药品信息
前提
仓管员(或系统管理员)成功登录系统
结果
显示药品的相关信息
扩展
N/A
包含
N/A
继承
N/A
基本工作流程如下:
(1)仓管员(或系统管理员)在登录系统后希望通过系统查询某药品的信息。
(2)仓管员(或系统管理员)通过系统的查询药品界面SearchMedicineWindow录入药品的编号或名称,请求查找药品信息。
(3)查询药品界面SearchMedicineWindow根据药品的编号或名称将Medicine类实例化并请求药品信息。
(4)Medicine类实例化对象根据药品的编号或名称加载药品信息,并提供给查询药品界面SearchMedicineWindow。
(5)查询药品界面SearchMedicineWindow向仓管员(或系统管理员)显示药品信息。
备选流(药品信息不存在)的流程如下:
(1)提供给查询药品界面SearchMedicineWindow药品信息为空。
(2)查询药品界面SearchMedicineWindow向仓管员提示该药品信息不存在。
活动图:
表8仓管员(或系统管理员/采购员)查看过期药品
名称
仓管员(或系统管理员/采购员)查看过期药品
标识
UC008
描述
仓管员(或系统管理员/采购员)通过库检管理界面查看过期药品
前提
仓管员(或系统管理员/采购员)成功登录系统
结果
显示过期药品信息
扩展
N/A
包含
N/A
继承
N/A
基本工作流程如下:
(1)仓管员(或系统管理员/采购员)在登录系统后希望通过系统查询过期药品的信息。
(2)仓管员(或系统管理员/采购员)通过系统的查询过期药品界面SearchMedicineOverDateWindow请求查看过期药品信息。
(3)查询过期药品界面SearchMedicineOverDateWindow将Medicine类实例化并请求过期药品信息。
(4)Medicine类实例化对象通过检索库存加载过期药品信息,并提供给查询过期药品界面SearchMedicineOverDateWindow。
(5)查询过期药品界面SearchMedicineOverDateWindow向仓管员(或系统管理员/采购员)显示药品信息。
备选流(过期药品信息不存在)的流程如下:
(1)提供给查询过期药品界面SearchMedicineOverDateWindow药品信息为空。
(2)查询过期药品界面SearchMedicineOverDateWindow向仓管员(或系统管理员/采购员)提示没有过期药品。
表9仓管员(或系统管理员/)查看短缺药品
名称
仓管员(或系统管理员/采购员)查看短缺药品
标识
UC009
描述
仓管员(或系统管理员/采购员)通过库检管理界面查看短缺药品
前提
仓管员(或系统管理员/采购员)成功登录系统
结果
显示短缺药品信息
扩展
N/A
包含
N/A
继承
N/A
基本工作流程如下:
(1)仓管员(或系统管理员/采购员)在登录系统后希望通过系统查询短缺药品的信息。
(2)仓管员(或系统管理员/采购员)通过系统的查询短缺药品界面SearchMedicineLackWindow请求查看短缺药品信息。
(3)查询短缺药品界面SearchMedicineLackWindow将Medicine类实例化并请求短缺药品信息。
(4)Medicine类实例化对象通过检索库存加载短缺药品信息,并提供给查询短缺药品界面SearchMedicineLackWindow。
(5)查询短缺药品界面SearchMedicineLackWindow向仓管员(或系统管理员/采购员)显示短缺药品信息。
备选流(短缺药品信息不存在)的流程如下:
(1)提供给查询短缺药品界面SearchMedicineLackWindow药品信息为空。
(2)查询短缺药品界面SearchMedicineLackWindow向仓管员(或系统管理员/采购员)提示没有短缺药品。
表10仓管员(或系统管理员/采购员)查看积压药品
名称
仓管员(或系统管理员/采购员)查看积压药品
标识
UC010
描述
仓管员(或系统管理员/采购员)通过库检管理界面查看积压药品
前提
仓管员(或系统管理员/采购员)成功登录系统
结果
显示积压药品信息
扩展
N/A
包含
N/A
继承
N/A
基本工作流程如下:
(1)仓管员(或系统管理员/采购员)在登录系统后希望通过系统查询积压药品的信息。
(2)仓管员(或系统管理员/采购员)通过系统的查询积压药品界面SearchMedicineOverStockWindow请求查看积压药品信息。
(3)查询积压药品界面SearchMedicineOverStockWindow将Medicine类实例化并请求积压药品信息。
(4)Medicine类实例化对象通过检索库存加载积压药品信息,并提供给查询积压药品界面SearchMedicineOverStockWindow。
(5)查询积压药品界面SearchMedicineOverStockWindow向仓管员(或系统管理员/采购员)显示积压药品信息。
备选流(积压药品信息不存在)的流程如下:
(1)提供给查询积压药品界面SearchMedicineOverStockWindow药品信息为空。
(2)查询积压药品界面SearchMedicineOverStockWindow向仓管员(或系统管理员/采购员)提示没有积压药品。
活动图:
表11用户管理个人信息
名称
用户管理个人信息
标识
UC011
描述
用户通过登录系统管理个人信息
前提
用户成功登录系统
结果
显示个人信息,包括姓名、性别、住址等
扩展
N/A
包含
继承
N/A
基本工作流程如下:
(1)用户希望通过系统管理个人的信息。
(2)用户通过系统的用户登录界面LoginWindow录入用户编号、密码,请求管理个人信息。
(3)用户登录界面LoginWindow根据用户编号将User类实例化,并返回给用户信息管理界面PersonInfoMWindow。
(4)用户信息管理界面PersonInfoMWindow向用户显示本人信息。
(5)用户通过用户信息管理界面PersonInfoMWindow管理(修改)个人信息。
(6)用户信息管理界面PersonInfoMWindow通过User实例将修改后的信息保存在数据库中,并返回是否修改成功。
(7)用户信息管理界面PersonInfoMWindow向用户显示修改是否成功。
备选流(用户登录不成功)的流程如下:
(1)用户登录界面LoginWindow提示登录不成功信息,程序不执行。
活动图:
表12采购员(或系统管理员)添加供应商
名称
采购员(或系统管理员)添加供应商
标识
UC012
描述
采购员(或系统管理员)通过管理界面添加供应商信息
前提
采购员(或系统管理员)成功登录系统
结果
显示供应商是否被成功添加
扩展
N/A
包含
N/A
继承
N/A
(1)采购员(或系统管理员)在登录系统后希望通过系统添加供应商信息。
(2)采购员(或系统管理员)通过添加供应商界面AddSpplierWindow添加供应商信息。
(3)添加供应商界面AddSupplierWindow通过Supplier实例添加到数据库中。
(4)添加供应商界面AddSpplierWindow显示供应商是否添加成功。
备选流(供应商信息不存在)的流程如下:
(1)提供给查询供应商界面SearchSupplierWindow供应商信息为空。
(2)查询供应商界面SearchSupplierWindow向采购员(或系统管理员)提示该供应商信息不存在。
表13采购员(或系统管理员)删除供应商
名称
采购员(或系统管理员)删除供应商
标识
UC013
描述
采购员(或系统管理员)通过管理界面删除某供应商
前提
采购员(或系统管理员)成功登录系统
结果
显示供应商是否被成功删除
扩展
N/A
包含
N/A
继承
N/A
基本工作流程如下:
(1)采购员(或系统管理员)在登录系统后希望通过系统删除某些供应商。
(2)采购员(或系统管理员)通过删除供应商界面DeleteSupplierWindow删除供应商。
(3)采购员(或系统管理员)通过删除供应商界面DeleteSupplierWindow查找供应商的信息并返回供应商信息。
(4)删除供应商界面DeleteSupplierWindow通过Supplier实例将供应商信息删除,并返回删除信息。
(5)删除供应商界面DeleteSupplierWindow向采购员(或系统管理员)显示供应商删除是否成功。
备选流(供应商信息不存在)的流程如下:
(1)提供给删除供应商界面DeleteSupplierWindow供应商信息为空。
(2)删除供应商界面DeleteSupplierWindow向采购员(或系统管理员)提示该供应商信息不存在。
表14采购员(或系统管理员)修改供应商
名称
采购员(或系统管理员)修改供应商
标识
UC014
描述
采购员(或系统管理员)通过管理界面修改某供应商
前提
采购员(或系统管理员)成功登录系统
结果
显示供应商是否被成功修改
扩展
N/A
包含
N/A
继承
N/A
基本工作流程如下:
(1)采购员(或系统管理员)希望通过系统修改某些供应商。
(2)采购员(或系统管理员)通过修改供应商界面UpdateSupplierWindow修改供应商信息。
(3)采购员(或系统管理员)通过修改供应商界面UpdateSupplierWindow查找供应商的信息并返回供应商信息。
(4)修改供应商界面UpdateSupplierWindow,通过Supplier实例将修改后的供应商信息保存到数据库中,并返回是否成功修改信息。
(5)修改供应商界面UpdateSupplierWindow向采购员(或系统管理员)显示修改是否成功。
备选流(供应商信息不存在)的流程如下:
(1)提供给修改供应商界面UpdateSupplierWindow供应商信息为空。
(2)修改供应商界面UpdateSupplierWindow向采购员(或系统管理员)提示该供应商信息不存在。
表15采购员(或系统管理员)查询供应商
名称
采购员(或系统管理员)查询供应商
标识
UC015
描述
采购员(或系统管理员)通过管理界面查看供应商信息
前提
采购员(或系统管理员)成功登录系统
结果
显示供应商的相关信息
扩展
N/A
包含
N/A
继承
N/A
基本工作流程如下:
(1)采购员(或系统管理员)在登录系统后希望通过系统查询某供应商的信息。
(2)采购员(或系统管理员)通过系统的查询供应商界面SearchSupplierWindow录入供应商的编号或名称,请求查找供应商信息。
(3)查询供应商界面SearchSupplierWindow根据供应商的编号或名称将Supplier类实例化并请求供应商信息。
(4)Supplier类实例化对象根据供应商的编号或名称加载供应商信息,并提供给查询供应商界面SearchSupplierWindow。
(5)查询供应商界面SearchSupplierWindow向采购员(或系统管理员)显示供应商信息。
备选流(供应商信息不存在)的流程如下:
(1)提供给查询供应商界面SearchSupplierWindow供应商信息为空。
(2)查询供应商界面SearchSupplierWindow向采购员(或系统管理员)提示该供应商信息不存在。
活动图:
表16系统管理员添加用户信息
名称
系统管理员添加用户信息
标识
UC016
描述
系统管理员通过管理界面添加用户信息
前提
系统管理员成功登录系统
结果
显示用户信息是否被成功添加
扩展
N/A
包含
N/A
继承
N/A
基本工作流程:
(1)系统管理员在登录系统后希望通过系统添加用户信息。
(2)系统管理员通过添加用户界面AddUserWindow添加用户信息。
(3)添加用户界面AddUserWindow通过User实例添加到数据库中。
(4)添加用户界面AddUserWindow显示用户信息是否添加成功。
备选流(用户信息不存在)的流程如下:
(1)提供给查询用户界面SearchUserWindow用户信息为空。
(2)查询用户信息界面SearchUserWindow向系统管理员提示该用户信息不存在。
表17系统管理员删除用户信息
名称
系统管理员删除用户信息
标识
UC017
描述
系统管理员通过管理界面删除某用户信息
前提
系统管理员成功登录系统
结果
显示用户信息是否被成功删除
扩展
N/A
包含
N/A
继承
N/A
基本工作流程如