资源描述
药店信息管理系统软件工程
16
资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。
1. 系统概述
从本质来说, 药店的职能就是为消费者提供服务, 所销售的药品只是其提供的服务所附实体而已。对于药店来说, 只有服务才能形成其差异化竞争特色。因此, 分析消费者的服务需求对了解药店消费者的需求具有重要意义。药店消费者的需求主要表现在以下几个方面:
( 1) 管理者能查询药店的药品库存状态, 以便进行及时的药品补进和更新;
( 2) 消费者能经过系统快速查询药品的状态( 包括是否在柜、 出售价格、 数量等) ;
( 3) 能让消费者及时获得用药指导、 合理的咨询;
( 4) 能让消费者感觉到服务的简捷和实用。
2. 系统分析
经过系统的需求分析, 初步得到了医药管理的主要步骤: 定制药品采购计划、 经审核后实施药品采购、 采购的药品由库管登记入库、 销售员根据客户的需要登记销售药品、 提交药品给客户。
经过对药店管理进行分析, 药店管理信息系统要实现的主要功能有:
( 1) 对药品的基础信息进行维护和管理。能够完成药品信息的添加、 修改和删除, 并按照一定的条件查询药品信息;
( 2) 对药品的批量销售处理, 顾客购买的药品可能是一种也可能是多种, 如果能够批量销售药品, 便会大大提高工作效率;
( 3) 库存药品查看, 可按不同字段和条件查询库存药品信息;
( 4) 查询统计功能, 要求既能够按日期查询, 也能够按用户选择的字段和输入的内容查询, 并在查询过程中统计销售数量和销售金额;
( 5) 统计分析某个客户或所有客户某段时间内药品销售品种、 销售数量和销售金额。我们把药店进—销—存管理系统划分为4 大功能模块, 分别为日常业务、 库存管理、 查询统计、 基础信息管理。其中日常业务完成药品销售、 销售退货和药品入库; 库存管理主要完成库存药品查询、 库存药品盘点; 查询统计主要完成销售查询统计和入库查询统计; 基础信息管理主要完成药品信息、 客户信息、 供货商信息的添加、 修改、 删除、 查询等。
另外, 药店管理信息系统功能模块如下:
图1 药店管理信息系统功能模块
2.1 模型设计实体的属性表
在药店管理信息系统中我们设计了多个数据表, 具体有:
药店信息表( tb_shop) : ( 药店号SId、 药店名SName、 所在地SAdd、 经理SMgr、 联系方式SPhn)
药品信息表( tb_medicine) : ( 药品编号MId、 药品名称MName、 规格MSize、 单位MUnt、 产地MAdd、 有效期MData、 批号MNub.、 商标号MTm、 出厂价MFp、 零售价MRp、 批发价MMp、 类别MS、 供货商名称MDsg)
供货商信息表( tb_provider) : ( 商家号PId、 商家名PName、 所在地PAdd、 经理PSgr、 联系方式PPhn、 供货量PNmb)
顾客信息表( tb_client) : ( 顾客编号CId、 顾客名称CName、 地址CAdd、 邮政编码CCd、 联系方式CPhn、 账款CCrd)
客户账款明细表( tb_client_arrearage) : ( 日期AData、 时间ATime、 摘要ASmm、 数量AQun、 单位AUnt、 单价AUntp、 金额小计ASbt、 客户编号AId、 客户名称AName)
销售信息表( tb_sell_detailed) : ( 药品编号DId、 药品名称DName、 规格DSize、 产地DAdd、 批号DNub、 数量DSmm、 零售价DRp、 金额DMny、 顾客编号DCid、 顾客名称DCname、 销售日期DDdata、 销售单据号DDid)
库存信息表( tb_stock_information) : ( 药品编号IId、 药品名称IName、 规格ISize、 产地IAdd、 批号INub、 有效期IData、 库存数量ISnub、 出厂价IFp、 批发价IMp、 零售价IRp)
另外, 药店管理信息系统E-R 图, 见图2。
图2 E-R图
2.2概念模型
经过对用户需求分析进行综合、 归纳与抽象、 形成一个独立于具体DBMS 的概念模型。在本药店管理系统中涉及到了2种概念模型的抽象, 如图3、 图4所示:
Is part of
图3 聚集模型
图4 概况模型
2.3用例图和顶层数据流图
图5 总体分析的用例图
图6 经理与供货商的用例图
图7 顾客与经理间的用例图
图8 顶层数据流图
2.4用户子模式设计
将概念模型转换为全局逻辑模型后, 还应该根据局部应用需求, 结合具体DBMS 的特点, 设计用户的外模式。在此, 要设计药房药库管理子系统: 经过对药品的出入库管理, 产生药品帐务的变更, 提出采购计划。能对各种药品的帐务、 库存、 财务台帐等项目进行查询、 统计、 汇总、 打印, 达到控制成本, 提高效率的目的。其主要功能有:
库房管理: 采购计划、 入库制单、 出库制单、 药品调价、 库存管理、 药房申领。
帐务明细: 库房总帐、 库房台帐、 库房明细、 药品盈亏、 部门往来。
查询报表: 供应商查询、 入库批次查询、 进销存报表、 入出库汇总、 工作量汇总、 药品营销分析。
2.5总体实施计划
不用的系统用户拥有不同的权限, 这样才能保证数据库的安全性。在本药店管理信息系统的数据库设计中, 主要用户包括店主和顾客。店主应该具有超级用户的权限, 而顾客只能对数据进行简单的查询, 不能修改数据库中的数据。因此, 在数据库总角色的创立, 只涉及到: ①店主权限: 增, 删, 改, 查; ②顾客权限: 查。在数据库初步系统设计好之后, 为了检测其基本功能是否能正常实现。先进行尝试性的运行: 检测简单的、 普通的、 常涉及到的操作是否能够正常的运行。比如: 检测药店经理是否能查询顾客库中的顾客信息、 顾客能否获知药店药品库的药品信息如药品生产日期、 单价、 功效等。
数据的载入并不是一次性的, 需要药店经理不断地更新药店信息, 而信息的更新建立在基本操作( 进—销) 之上的, 这样就能有效地把药店的基本功能联系起来, 同时也实现了顾客、 药店、 供货商之间的关系。经过此信息管理系统, 能很好地实现药店的日常管理。
在数据库刚刚设计完成后, 只有将原有系统或者手工处理的数据进行转换使之符合新系统的数据模式, 从而完成数据输入工作。
3. 系统总体设计
(1) 分解的数据流图
图9 处理消费
图10 处理采购
( 2) 类图
4. 系统详细设计
需要建立索引的属性:
字段
类型
大小
是否为主键
是否允许为空
SId
varchar
10
是
SName
varchar
30
否
SAdd
varchar
50
SMgr
varchar
10
SPhn
varchar
11
表1 tb_shop
表2 tb_client
字段
类型
大小
是否为主键
是否允许为空
Cid
varchar
10
是
Cname
varchar
20
CAdd
varchar
50
CPhn
varchar
11
CCrd
varchar
10
表3 tb_medicine
字段
类型
大小
是否为主键
是否允许为空
MId
varchar
10
是
MName
varchar
20
否
MSize
varchar
10
MUnt
varchar
10
MAdd
varchar
50
否
MData
varchar
10
MNub
varchar
20
MTm
varchar
20
MFp
varchar
10
否
MRp
varchar
10
否
MMp
varchar
10
否
MS
varchar
10
否
MDsg
varchar
30
表4 tb_clint_arrearage
字段
类型
大小
是否为主键
是否允许为空
AData
varchar
10
是
ATime
varchar
10
是
ASmm
varchar
50
否
AQun
varchar
10
AUnt
varchar
10
AUntp
varchar
10
ASbt
varchar
10
AId
varchar
10
否
AName
varchar
10
否
表5 tb_provider
字段
类型
大小
是否为主键
是否允许为空
PId
varchar
20
是
PName
varchar
20
否
PAdd
varchar
50
PSgr
varchar
10
PPhn
varchar
11
PNmb
varchar
10
表6 tb_sell_detailed
字段
类型
大小
是否为主键
是否允许为空
DID
varchar
10
是
DName
varchar
20
DSize
varchar
10
DAdd
varchar
10
DNub
varchar
20
DSmm
varchar
10
否
DRp
varchar
10
DMny
varchar
10
DCid
varchar
10
否
DCname
varchar
20
DCdata
varchar
10
DDid
varchar
10
否
表7 tb_stock_information
字段
类型
大小
是否为主键
是否允许为空
IId
varchar
10
是
IName
varchar
20
ISize
varchar
10
IAdd
varchar
10
INub
varchar
20
否
ISnub
varchar
10
IFp
varchar
10
IMp
varchar
10
IRp
varchar
10
IData
varchar
10
5. 系统实现
5.1窗体登录代码:
Option Explicit
Dim Conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i As Integer
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdLogin_Click()
Dim strUserName As String
Dim strPassword As String
strUserName = Trim(txtUserName.Text)
strPassword = Trim(txtPassword.Text)
If strUserName = "" Then
MsgBox "请输入用户名", vbOKOnly + vbExclamation, ""
txtUserName.SetFocus
Else
If strPassword = "" Then
MsgBox "请输入密码", vbOKOnly + vbExclamation, ""
txtPassword.SetFocus
Else
rs.Open "SELECT * FROM tb_user WHERE UserName = '" + strUserName + "'"
If i < 3 And rs.EOF = True Then
MsgBox "用户名或密码错误, 请重新输入", vbOKOnly + vbExclamation, ""
rs.Close
txtUserName.SetFocus
txtUserName.Text = ""
txtPassword.Text = ""
Else
If i >= 3 Then
MsgBox "您输入用户名和密码的次数已经超过三次, 本次不能登录! ", vbCritical + vbOKOnly, "错误"
Unload Me
Else
If Trim(rs.Fields(1)) = strPassword Then '账号密码均正确, 登入系统
rs.Close
Unload Me
MsgBox "欢迎进入珏缘信息管理系统! "
操作界面.Show vbModal
Else
MsgBox "用户名或密码错误, 请重新输入", vbOKOnly + vbExclamation, ""
txtUserName.SetFocus
txtUserName.Text = ""
txtPassword.Text = ""
End If
End If
End If
i = i + 1
End If
End If
End Sub
6. 结论
经过数据库的需求分析、 概念设计、 逻辑模型设计等阶段基本完成了药店管理信息系统数据库的设计, 同时也实现了数据库和VB的基本功能。可是完整性相对较弱, 在针对具体的药店应用时, 还需进一步分析其管理需求。当然, 在具体设计中还可能遇到一些有待解决的问题。
7. 参考文献
[1] 郑人杰, 马素霞, 殷人昆.软件工程概论[M].北京: 机械工业出版社, .11.
[2]王珊.数据库系统概论 [M]北京: 高等教育出版社, .5
[3] 王珊.数据库系统简明教程[M].北京: 高等教育出版社, .
[4] 王珊, 冯念真.计算机应用系统的设计与开发[M].北京: 高等教
育出版社, 1989.
[5] 范立南, 刘天惠.SQL Sever 实用教程[M].北京: 清华大学出
版社, .
[6] 张南平, 王伟, 夏红霞.基于UML 的B / S 结构校务管理系统建模
设计[J].微机发展, ( 12) .
展开阅读全文