1、1. 系统概述从本质来说,药店的职能就是为消费者提供服务,所销售的药品只是其提供的服务所附实体而已。对于药店来说,只有服务才能形成其差异化竞争特色。因此,分析消费者的服务需求对了解药店消费者的需求具有重要意义。药店消费者的需求主要表现在以下几个方面:(1)管理者能查询药店的药品库存状态,以便进行及时的药品补进和更新;(2)消费者能通过系统快速查询药品的状态(包括是否在柜、出售价格、数量等);(3)能让消费者及时获得用药指导、合理的咨询;(4)能让消费者感觉到服务的简捷和实用。2. 系统分析经过系统的需求分析, 初步得到了医药管理的主要步骤:定制药品采购计划、经审核后实施药品采购、采购的药品由库
2、管登记入库、销售员根据客户的需要登记销售药品、提交药品给客户。经过对药店管理进行分析,药店管理信息系统要实现的主要功能有:(1)对药品的基础信息进行维护和管理。能够完成药品信息的添加、修改和删除,并按照一定的条件查询药品信息;(2)对药品的批量销售处理,顾客购买的药品可能是一种也可能是多种,如果能够批量销售药品,便会大大提高工作效率;(3)库存药品查看,可按不同字段和条件查询库存药品信息;(4)查询统计功能,要求既可以按日期查询,也可以按用户选择的字段和输入的内容查询,并在查询过程中统计销售数量和销售金额;(5)统计分析某个客户或所有客户某段时间内药品销售品种、销售数量和销售金额。我们把药店进
3、销存管理系统划分为4 大功能模块,分别为日常业务、库存管理、查询统计、基础信息管理。其中日常业务完成药品销售、销售退货和药品入库;库存管理主要完成库存药品查询、库存药品盘点;查询统计主要完成销售查询统计和入库查询统计;基础信息管理主要完成药品信息、客户信息、供货商信息的添加、修改、删除、查询等。另外,药店管理信息系统功能模块如下:图1 药店管理信息系统功能模块2.1 模型设计实体的属性表在药店管理信息系统中我们设计了多个数据表,具体有:药店信息表(tbshop):(药店号SId、药店名SName、所在地SAdd、经理SMgr、联系方式SPhn)药品信息表(tbmedicine):(药品编号MI
4、d、药品名称MName、规格MSize、单位MUnt、产地MAdd、有效期MData、批号MNub.、商标号MTm、出厂价MFp、零售价MRp、批发价MMp、类别MS、供货商名称MDsg)供货商信息表(tbprovider):(商家号PId、商家名PName、所在地PAdd、经理PSgr、联系方式PPhn、供货量PNmb)顾客信息表(tbclient):(顾客编号CId、顾客名称CName、地址CAdd、邮政编码CCd、联系方式CPhn、账款CCrd)客户账款明细表(tbclientarrearage):(日期AData、时间ATime、摘要ASmm、数量AQun、单位AUnt、单价AUntp
5、、金额小计ASbt、客户编号AId、客户名称AName)销售信息表(tbselldetailed):(药品编号DId、药品名称DName、规格DSize、产地DAdd、批号DNub、数量DSmm、零售价DRp、金额DMny、顾客编号DCid、顾客名称DCname、销售日期DDdata、销售单据号DDid)库存信息表(tbstock_information):(药品编号IId、药品名称IName、规格ISize、产地IAdd、批号INub、有效期IData、库存数量ISnub、出厂价IFp、批发价IMp、零售价IRp) 另外,药店管理信息系统E-R 图,见图2。图2 E-R图2.2概念模型通过对
6、用户需求分析进行综合、归纳与抽象、形成一个独立于具体DBMS 的概念模型。在本药店管理系统中涉及到了2种概念模型的抽象,如图3、图4所示:Is part of 图3 聚集模型图4 概况模型2.3用例图和顶层数据流图图5 总体分析的用例图图6 经理与供货商的用例图图7 顾客与经理间的用例图图8 顶层数据流图2.4用户子模式设计将概念模型转换为全局逻辑模型后, 还应该根据局部应用需求,结合具体DBMS 的特点,设计用户的外模式。在此,要设计药房药库管理子系统:通过对药品的出入库管理,产生药品帐务的变更,提出采购计划。能对各种药品的帐务、库存、财务台帐等项目进行查询、统计、汇总、打印,达到控制成本,
7、提高效率的目的。其主要功能有:库房管理:采购计划、入库制单、出库制单、药品调价、库存管理、药房申领。帐务明细:库房总帐、库房台帐、库房明细、药品盈亏、部门往来。查询报表:供应商查询、入库批次查询、进销存报表、入出库汇总、工作量汇总、药品营销分析。2.5总体实施计划不用的系统用户拥有不同的权限,这样才能保证数据库的安全性。在本药店管理信息系统的数据库设计中,主要用户包括店主和顾客。店主应该具有超级用户的权限,而顾客只能对数据进行简单的查询,不能修改数据库中的数据。因此,在数据库总角色的创建,只涉及到:店主权限:增,删,改,查;顾客权限:查。在数据库初步系统设计好之后,为了检测其基本功能是否能正常
8、实现。先进行尝试性的运行:检测简单的、普通的、常涉及到的操作是否能够正常的运行。比如:检测药店经理是否能查询顾客库中的顾客信息、顾客能否获知药店药品库的药品信息如药品生产日期、单价、功效等。数据的载入并不是一次性的,需要药店经理不断地更新药店信息,而信息的更新建立在基本操作(进销)之上的,这样就能有效地把药店的基本功能联系起来, 同时也实现了顾客、药店、供货商之间的关系。通过此信息管理系统,能很好地实现药店的日常管理。在数据库刚刚设计完成后,只有将原有系统或者手工处理的数据进行转换使之符合新系统的数据模式,从而完成数据输入工作。3. 系统总体设计(1) 分解的数据流图图9 处理消费图10 处理
9、采购(2)类图4. 系统详细设计需要建立索引的属性:字段类型大小是否为主键是否允许为空SIdvarchar10是SNamevarchar30否SAddvarchar50SMgrvarchar10SPhnvarchar11表1 tb_shop表2 tb_client字段类型大小是否为主键是否允许为空Cidvarchar10是Cnamevarchar20CAddvarchar50CPhnvarchar11CCrdvarchar10表3 tb_medicine字段类型大小是否为主键是否允许为空MIdvarchar10是MNamevarchar20否MSizevarchar10MUntvarchar1
10、0MAddvarchar50否MDatavarchar10MNubvarchar20MTmvarchar20MFpvarchar10否MRpvarchar10否MMpvarchar10否MSvarchar10否MDsgvarchar30表4 tbclintarrearage字段类型大小是否为主键是否允许为空ADatavarchar10是ATimevarchar10是ASmmvarchar50否AQunvarchar10AUntvarchar10AUntpvarchar10ASbtvarchar10AIdvarchar10否ANamevarchar10否表5 tbprovider字段类型大小是否
11、为主键是否允许为空PIdvarchar20是PNamevarchar20否PAddvarchar50PSgrvarchar10PPhnvarchar11PNmbvarchar10表6 tbselldetailed字段类型大小是否为主键是否允许为空DIDvarchar10是DNamevarchar20DSizevarchar10DAddvarchar10DNubvarchar20DSmmvarchar10否DRpvarchar10DMnyvarchar10DCidvarchar10否DCnamevarchar20DCdatavarchar10DDidvarchar10否表7 tbstock_in
12、formation字段类型大小是否为主键是否允许为空IIdvarchar10是INamevarchar20ISizevarchar10IAddvarchar10INubvarchar20否ISnubvarchar10IFpvarchar10IMpvarchar10IRpvarchar10IDatavarchar105. 系统实现5.1窗体登录代码:Option ExplicitDim Conn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim i As IntegerPrivate Sub cmdCancel_Click()Unlo
13、ad MeEnd SubPrivate 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
14、+ vbExclamation, txtPassword.SetFocus Else rs.Open SELECT * FROM tb_user WHERE UserName = + strUserName + If i = 3 Then MsgBox 您输入用户名和密码的次数已经超过三次,本次不能登录!, vbCritical + vbOKOnly, 错误 Unload Me Else If Trim(rs.Fields(1) = strPassword Then 账号密码均正确,登入系统 rs.Close Unload Me MsgBox 欢迎进入珏缘信息管理系统! 操作界面.Show v
15、bModal Else MsgBox 用户名或密码错误,请重新输入, vbOKOnly + vbExclamation, txtUserName.SetFocus txtUserName.Text = txtPassword.Text = End If End If End If i = i + 1 End If End IfEnd Sub6. 结论通过数据库的需求分析、概念设计、逻辑模型设计等阶段基本完成了药店管理信息系统数据库的设计,同时也实现了数据库和VB的基本功能。但是完整性相对较弱,在针对具体的药店应用时,还需进一步分析其管理需求。当然,在具体设计中还可能遇到一些有待解决的问题。7.
16、 参考文献1 郑人杰,马素霞,殷人昆软件工程概论M北京:机械工业出版社,2009.112王珊数据库系统概论 M北京:高等教育出版社,2006.53 王珊数据库系统简明教程M北京:高等教育出版社,20044 王珊,冯念真计算机应用系统的设计与开发M北京:高等教育出版社,1989.5 范立南,刘天惠SQL Sever 2000 实用教程M北京:清华大学出版社,20046 张南平,王伟,夏红霞基于UML 的B S 结构校务管理系统建模设计J微机发展,2003(12) 3、通过活动,使学生养成博览群书的好习惯。B比率分析法和比较分析法不能测算出各因素的影响程度。C采用约当产量比例法,分配原材料费用与分
17、配加工费用所用的完工率都是一致的。C采用直接分配法分配辅助生产费用时,应考虑各辅助生产车间之间相互提供产品或劳务的情况。错 C产品的实际生产成本包括废品损失和停工损失。C成本报表是对外报告的会计报表。C成本分析的首要程序是发现问题、分析原因。C成本会计的对象是指成本核算。C成本计算的辅助方法一般应与基本方法结合使用而不单独使用。C成本计算方法中的最基本的方法是分步法。XD当车间生产多种产品时,“废品损失”、“停工损失”的借方余额,月末均直接记入该产品的产品成本 中。D定额法是为了简化成本计算而采用的一种成本计算方法。F“废品损失”账户月末没有余额。F废品损失是指在生产过程中发现和入库后发现的不
18、可修复废品的生产成本和可修复废品的修复费用。F分步法的一个重要特点是各步骤之间要进行成本结转。()G各月末在产品数量变化不大的产品,可不计算月末在产品成本。错G工资费用就是成本项目。()G归集在基本生产车间的制造费用最后均应分配计入产品成本中。对J计算计时工资费用,应以考勤记录中的工作时间记录为依据。()J简化的分批法就是不计算在产品成本的分批法。()J简化分批法是不分批计算在产品成本的方法。对 J加班加点工资既可能是直接计人费用,又可能是间接计人费用。J接生产工艺过程的特点,工业企业的生产可分为大量生产、成批生产和单件生产三种,XK可修复废品是指技术上可以修复使用的废品。错K可修复废品是指经
19、过修理可以使用,而不管修复费用在经济上是否合算的废品。P品种法只适用于大量大批的单步骤生产的企业。Q企业的制造费用一定要通过“制造费用”科目核算。Q企业职工的医药费、医务部门、职工浴室等部门职工的工资,均应通过“应付工资”科目核算。 S生产车间耗用的材料,全部计入“直接材料”成本项目。 S适应生产特点和管理要求,采用适当的成本计算方法,是成本核算的基础工作。()W完工产品费用等于月初在产品费用加本月生产费用减月末在产品费用。对Y“预提费用”可能出现借方余额,其性质属于资产,实际上是待摊费用。对 Y引起资产和负债同时减少的支出是费用性支出。XY以应付票据去偿付购买材料的费用,是成本性支出。XY原材料分工序一次投入与原材料在每道工序陆续投入,其完工率的计算方法是完全一致的。Y运用连环替代法进行分析,即使随意改变各构成因素的替换顺序,各因素的影响结果加总后仍等于指标的总差异,因此更换各因索替换顺序,不会影响分析的结果。()Z在产品品种规格繁多的情况下,应该采用分类法计算产品成本。对Z直接生产费用就是直接计人费用。XZ逐步结转分步法也称为计列半成品分步法。A按年度计划分配率分配制造费用,“制造费用”账户月末(可能有月末余额/可能有借方余额/可能有贷方余额/可能无月末余额)。A按年度计划分配率分配制造费用的方法适用于(季节性生产企业)