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