《祥乐大药房进销管理系统的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《祥乐大药房进销管理系统的设计与实现毕业论文.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机系本科毕业(设计)论文课题名称祥乐大药房进销管理系统的设计与实现专 业计 算 机 科 学 与 技 术姓 名学 号指导教师二零一零年六月1目录1引言31.1 系统研究的现状31.2 系统目的和要求41.3 论文组织与结构42需求分析22.1用户需求分析22.2 系统的可行性分析22.3 系统需求分析32.4 数据流图33概要设计43.1 功能模块图43.2 处理流程设计43.3 数据库设计53.4 系统功能设计63.5 实体关系图54详细设计64.1 系统设置管理模块设计64.2 采购管理模块设计7.3 到货管理模块设计74.2 库存管理模块设计84.5 销售管理模块设计95系统实现95.
2、1 vb 访问 SQL Server 2000 技术95.2 主窗体实现95.3 采购订单管理实现105.4 到货管理模块实现115.4 库存管理模块实现125.4 销售管理模块实现136系统调试与维护146.1 系统调试146.2 系统维护147结束语14致 谢15参考文献1621忻州师院计算机系本科学士学位论文祥乐大药房进销管理系统 摘 要:本文论述了药房进销管理系统的开发全过程,主要功能有:用户管理、药品入库、药品查询、药品销售和报表制作等。本设计采用现代的数据库开发技术,还结合实际需求,进行了创造性开发。该系统是以Microsoft Visual Basic 6.0 为前台开发环境,应
3、用Microsoft SQL server2000作为后台数据库,结合Windows操作系统建立起来的C/S结构的数据库管理系统,以实现药房进销的系统化、规范化和自动化。关键词:药品进销 Microsoft Visual Basic 6.0 Microsoft SQL server2000Abstract: This text has discussed the whole development process of medicine-management system. Main functions: user-management、medicine-storage、medicine-in
4、quiry、medicine-sale and form-fabrication. This system adopted the modern database development technology, combined with actuality requirement, and carried on the creativeness development. The system is based on Microsoft Visual Basic 6.0 development environment for the future. Application of Microso
5、ft SQL server2000 database as background Windows operating system with built server architecture of the database management system PSI merchandise to achieve the systematic、standardization and automation.Keywords: Purchase and Sales for Pharmaceutical Microsoft Visual Basic 6.0Microsoft SQL1引言1.1 系统
6、研究的现状祥乐大药房是一间以经营各种中成药、西成药材为主的中等规模的药店。该药店的主要业务是采购药品和销售药品。日常业务主要包括销售药品、药品来货验收登记与入库、药品缺货登记等。目前,药房仍然是用手工来处理各项日常业务,而这些业务的特点是复杂度低,重复性强,手工操作会造成工作效率低下,人力资源得不到合理利用,且工作时间一长容易出现工作失误,给药房带来不必要的经济损失。在这种老式的管理模式中主要存在以下难题:(1)药品调价频繁,且品种繁多,增加了药品销售定价的难度。(2)药品来货验收登记中的审查有效期环节容易出错,错收过期或有效期不足的药品。(3)手工模式下的药品库存难以及时掌握,虽然采取了每日
7、进行缺货登记的措施来控制库存,却增加了登记尚未缺货药品库存的多余工作,费时费力。(4) 不能及时了解每种药品的所剩有效期,使一些药品错过退货期限,造成过期药品库存堆积,带来严重的经济损失。为了适应时代的发展,提高该药房的工作效率,优化库存的数量与质量,以增加药房的经济效益和使药房运转更顺利,应尽量减少手工操作的工序,实现对药品的各项管理的电脑化,使高新技术在降低运营成本、提高管理水平和综合经济效益中发挥积极的作用。1.2 系统目的和要求通过分析研究任务书要求,以及实地调研,对系统进行进一步需求分析,设计商品管理系统的主要功能,把其分为了五大模块:采购管理模块、销售管理模块、库存管理模块和系统设
8、置管理模块、退货管理模块。采购管理模块包括采购员管理、采购材料管理、采购订单管理情况;销售管理模块包括销售信息维护、销售信息查询等管理;库存管理模块对库存信息维护、库存信息查询;系统管理模块包括用户的增加和删除、用户本身密码修改及各个用户操作该系统的权限。在以上工作的基础上,对系统进行详细设计和实现系统的所有功能,最后进入论文撰写阶段,完成系统设计和论文撰写的工作。1.3 论文组织与结构第一章:引言。介绍祥乐大药房进销管理系统的开发背景和现状,以及本人的研究工作;第二章:需求分析。分别对需求和可行性进行了分析;第三章:概要设计。介绍祥乐大药房进销管理系统需要实现的功能模块以及开发环境和数据库设
9、计;第四章:详细设计。对系统的功能进行了详细介绍;第五章:系统实现。对系统的各个功能的实现进行说明介绍;第六章:系统测试。对系统的各个功能部分进行了调试。2需求分析2.1用户需求分析通过实际调查,要求本系统具有以下功能:q 由于操作人员的计算机知识普遍偏低,因此要求系统具有良好的人机界面。q 如果系统的使用对象较多,则要求有较好的权限管理。q 方便的数据查询,支持多条件查询。q 批量填写进货单及销售单。q 与代理商和供应商往来账本明细,绝不存在假账、漏账、差账等情况。q 当外界环境(停电、网络病毒)干扰本系统时,系统可以自动保护原始数据的安全。q 在相应的权限下,删除数据方便简单、数据稳定性强
10、。q 强大的报表打印功能。2.2 系统的可行性分析根据调查发现我国的药品市场还不是很规范,一般的药店都是有采用人功操作,对卖出买进来的药品都是人功记录,有些甚至没有记录,这对一个药店来说是极不利的,很难掌握药店的运行状况,不利于药店参与激烈的竞争。随着计算机的广范应用和管理系统越来越成熟,药品的手功操作已不能满足药房的日常管理,故有必要建立一套适合药房管理的系统来管理药店的进、销等业务。下面主要是对操作可行性、技术可行性、经济可行性进行分析:2.1.1 操作可行性从以上的医药行业的背景和初步调查可知此系统是合乎需要的,它能使药店更加方便科学地管理日常运营,增强药店的社会竞争力。2.1.1 技术
11、可行性 药店有此系统开发的软硬件和网络资源,操作系统为WINDOW系列,技术已比较成熟,系统数据库为SQL server 数据库提供更加强大的数据库管理,此系统能满足此药店未来的需要,并且可以扩展,能应付药店未来的业务量的增加。2.1.1 技术可行性进行初步调查和相关资料的搜集大概一周,总工作量90天左右,包括资料整理、资料汇总、编写文档等,研究分析多个类似系统,吸收其优点,编写需求分析,然后进行系统分析,系统设计与开发,由于本次系统开发是毕业设计,基本上没有花费。2.3 系统需求分析 为药房开发一个管理信息系统,使药店行业更加现代化。其主要目的是为了给药店提供一个良好的业务流程,节省时间,更
12、好地为客户服务,也能使药店的经营利润提高,下面就我所做的采购、销售、入库及系统设置等部分进行功能需求分析 :输入需求:销售单输入、入库单输入、操作员添加修改输入等。输出需求:到货报表、库存报表、退货报表的打印输出等。性能需求:能够根据输入的信息从库存表中取出存在药品进行销售 ,系统用户信息会自动添加信息并保存。功能需求:本系统主要是系统设置、采购管理、入库管理、退货管理和打印报表等。2.4 数据流图在设计系统的过程中,用数据流图来刻画数据流和转换信息。它用简单的图形记号分别表示数据流、转换、数据源以及外部实体,数据流图是软件系统中各个处理子功能以及它们之间的数据流动的图形表示。经过对系统的分析
13、初步得到系统的顶级DFD,如图2.1所示。 销售管理库存管理用户命令采购管理用户祥乐大药房进销管理系统系统管理体如图2.1 系统的顶级DFD3概要设计3.1 功能模块图系统功能模块如图3.1所示。操作员管理打印库存信息祥乐大药房进销管理系统采购员订单管理销售信息查询采购员管理采购员材料管理到货信息维护系统设置打印管理数据备份到货信息查询库存信息查询库存信息查询销售信息查询退货信息查询退信息查询打印到货信息采购管理到货管理库存管理销售管理退货管理图3.1系统功能模块图3.2 处理流程设计 在祥乐大药房进销管理系统中,主要按着【采购】【到货】 【入库】 【销售】 【退货】的流程对采购的货物进行管理
14、,其业务流程如图所示:采购管理打印到货单打印库存单打印销售单统计库存信息到货管理库存管理销售管理图3.2 业务流程图3.3 数据库设计在祥乐大药房进销管理系统当中,共设计了8张数据表。其中采购订单表Table_cgdd、库存信息表Table_kcb和销售表是系统中是重要的数据表,下面就来介绍一个这三张数据表的逻辑结构设计过程。表1 采购订单表字段名称字段类型字段大小非空关键字单号decimal22是是药品名称varchar30否供应商编号decimal20否收货日期date time32否单位varchar20否币种varchar15否单价float8否数量int18否表2 库存信息表体制 字
15、段类型字段大小非空关键字药品编号Decimal6是是单号Decimal50否药品名称Varchar10否收货日期Dateime10否单位Varchar30否 续表2单价Varchar20否数量Float12否金额Float10否表3 库存信息表字段名称字段类型字段大小非空关键字药品编号varchar8是是票号varchar8否药品名称Varchar200否客户编号Varchar18否操作员编号Varchar4否单位char50否单价float30否数量int30否金额float60否3.4 系统功能设计用户通过密码验证后进入主窗口。系统的主窗口主要为用户提供七项功能选择:系统设置,采购管理,到
16、货管理, 库存管理,销售管理,退货管理,打印报表。系统设置:系统设置中可以增加操作员、修改操作员的密码和删除操作员。在增加完操作员信息之后,可以给操作员分配操作权限。可以备份和恢复数据,保证系统的安全。采购管理:对采购员信息、供应商信息和采购员材料信息进行管理:录入采购订单和查询采购订单信息,完成从供应商处购进货物并且签订订单的过程。在查询采购订单的时候可以根据各种基本查询或根据日期查询。到货管理:管理签订采购订单后的到货信息,对同一张订单可以分批次地到货。并且可以随时查询到任何一张订单的任何一笔到货信息记录。库存管理:药品到货以后,就应该对货物进行盘点入库。入库是对到货而言的,每一张到货单对
17、应一张入库单。出库是对出货而言的,每一张出售单对应一张出库单。退货管理:维护退货信息和查询退货信息。 系统维护模块:本单位信息、操作员设置、操作权限设置、数据备份和数据库恢复、数据清理。3.5 实体关系图系统实体关系图如图3.3所示。客户编号住址药品名称供应商编号籍贯年龄电话药品编号姓名药品m数量供应商订购销售顾客销售员采购员供应商名称nnnn客户名称n收货日期住址性别姓名电话图3.3 系统E-R图4详细设计4.1 系统设置管理模块设计系统管理模块是每个系统都应该具备的,主要是对操作该系统的使用者进行管理,即用户管理。包括用户的增加和删除、用户本身密码的修改及各个用户操作该系统的权限。操作员权
18、限数据备份操作员管理系统设置图4.1系统管理模块功能图4.2 采购管理模块设计采购管理系统主要是对采购员信息、供应商信息和采购材料信息进行管理: 采购员管理采购管理供应商管理采购材料管理采购订单管理采购订单查询图4.2 采购管理模块功能4.3 到货管理模块设计管理签订采购订单后的到货信息。对同一张订单可以分批次地到货,并且可以随时查询到任何一张订单的任何一笔到货信息记录。到货管理到货信息维护到货信息查询4.3 采购管理模块功能4.2 库存管理模块设计库存查询模块用于查询超市商品的库存情况,可以查询总库存和各分仓库的库存情况,该模块便于管理者对自己企业库房的货物进行掌握。库存信息维护库存信息查询
19、库存管理图4.4 采购管理模块功能4.5 销售管理模块设计销售管理模块是对商品的基础信息进行维护和管理。能够完成商品信息的添加修改和删除,也可以按照一定的条件查询商品信息。销售员管理销售信息查询销售员管理销售信息维护图4.5 采购管理模块功能5系统实现5.1 vb 访问 SQL Server 2000 技术运用ODBC驱动程序实现数据库的访问。访问程序实现如下:1、使用ADODC 和 Data Grid 相结合来访问数据库。 2、配置ODBC数据源,然后访问数据库。如:Public adoCon As New ADODB.ConnectionPublic adorns As NewADODB.
20、RecordsetPublic Sub main ()adoCon.Open Provider=MSDASQL.1; Persist Security Info=False; User ID=sedated Source=cgglEnd Sub5.2 主窗体实现在大多数应用软件中,系统主界面主要起到控制系统的其他模块运行的作用,系统中采用菜单控制的方式控制各子窗体的运行。窗口如图5.1所示:图5.1 主窗体界面其主要代码实现如下:Private Sub Form Activate ()If Check1.Value = 1 ThenSTSZ.Enabled = TrueElse If Chec
21、k1.Value = 0 ThenSTSZ.Enabled = FalseElseEnd IfIf Check2.Value = 1 ThenCGGL.Enabled = TrueElse If Check2.Value = 0 ThenCGGL.Enabled = FalseElseEnd IfIf Check3.Value = 1 ThenDHGL.Enabled = TrueElse If Check3.Value = 0 ThenDHGL.Enabled = FalseElseEnd IfIf Check4.Value = 1 Thenkcgl.Enabled = TrueElse I
22、f Check4.Value = 0 Thenkcgl.Enabled = FalseElseEnd IfIf Check5.Value = 1 Thenxsgl.Enabled = TrueElse If Check5.Value = 0 Thenxsgl.Enabled = FalseElseEnd IfIf Check6.Value = 1 ThenTHGL.Enabled = TrueElse If Check6.Value = 0 ThenTHGL.Enabled = FalseElseEnd IfPrivate Sub Form Load ()End Sub5.3 采购订单管理实现
23、在采购订单管理中,单击添加按钮,单号自动生成,然后在”药品名称”文本框中按下键选择订货信息,选择完毕后按下键,订单管理窗体中除了数量、批号、金额和备注信息之外,其他信息全部自动录入到相应的文本框中,最后输入数量,系统自动核算金额。如图5.3所示:图5.2 采购订单管理界面其主要代码实现如下:Private Sub Text1_KeyDown (Key Code As Integer, Shift As Integer) Adodc1.RecordSource = select * from Table_cgdd where 单号= + Text1.Text + Adodc1.Refresh I
24、f Adodc1.Recordset.RecordCount 0 Then Cmd_del.Enabled = True Cmd_save.Enabled = True Cmd_edit.Enabled = True Text1.Text = Adodc1.Recordset.Fields(单号) Text2.Text = Adodc1.Recordset.Fields(药品名称) Text3.Text = Adodc1.Recordset.Fields(批号) Text5.Text = Adodc1.Recordset.Fields(单价) Text6.Text = Adodc1.Recor
25、dset.Fields(数量) Text7.Text = Adodc1.Recordset.Fields(备注) Text8.Text = Adodc1.Recordset.Fields(金额) DT1.Value = Adodc1.Recordset.Fields(收货日期) DT2.Value = Adodc1.Recordset.Fields(发单时间) Combo1.Text = Adodc1.Recordset.Fields(供应商编号) Combo2.Text = Adodc1.Recordset.Fields(币种) Combo3.Text = Adodc1.Recordset.
26、Fields(单位) Else MsgBox 没有该采购员的信息!, 64, 药房管理系统 End If End IfElseEnd IfEnd Sub5.4 到货管理模块实现 到货管理模块主要实现对订单到货信息的管理。对于同一个订单,可以进行多次到货并且第一次到货后,订单数量都能够相应的减少。在到货信息维护中,有订单数量、报损数量等维护到货信息的数量。如图5.4所示:图5.3 到货管理界面5.5 库存管理模块实现库存管理是针对到货信息和销售信息进行的管理。窗口如图5.4所示:图5.4 库存管理界面其主要实现代码如下:Private Sub Cmd_save_Click() 保存库存信息代码C
27、all mainIf Combo1.Text = ThenMsgBox 供应商编号不能为空值!Combo1.SetFocusElseAdodc1.RecordSource = select * from Table_kcb where 药品编号= + Text1.Text + Adodc1.RefreshIf Adodc1.Recordset.RecordCount = 0 Thenc = MsgBox(确认要保存该信息吗?, 33, 药房管理系统)If c = vbOK ThenText4.Text = 入库 Set ardors = adoCon.Execute(insert into T
28、able_kcb values( & Text1 & , & Text2 & , & Text3 & , & Combo1 & , & Text8 & , & DT1 & , & Combo3 & , & Text5 & , & Text6 & , & Text10 & , & Text11 & , & Text12 & , & DT4 & , & DT3 & , & Text4 & , & Text7 & ) MsgBox 数据保存成功!, 64, 药房管理系统 Cmd_save.Enabled = False Cmd_add.Enabled = True Text1.Locked = Fa
29、lse Set adoRs = adoCon.Execute(UPDATE Table_dhb SET 状态= 入库 where 单号= + Text2.Text + )ElseEnd IfElseMsgBox 对不起,该信息已经保存过,不能够再进行保存, 64, 药房管理系统End IfEnd IfAdodc1.RecordSource = select * from Table_kcb”Adodc1.RefreshadoCon.CloseEnd Sub5.6 销售管理模块实现销售管理的主要任务是对各种药品的销售信息进行管理和维护,能够完成药品信息的添加、修改和删除,也可以按照一定的条件查询
30、药品信息。窗口如图所示:图5.5 销售管理界面其主要实现代码如下:Private Sub Text2_KeyDown (Key Code As Integer, Shift As Integer)If Key Code = 13 Then If Text2.Text = Then frm_kcb_temp.Show frm_kcb_temp.DataGrid1.SetFocus Else If Not Is Numeric (Text1.Text) Then MsgBox 输入的库存货物编号必须为数字 Text2.Text = Else Adodc1.RecordSource = select
31、 * from 销售信息表 where 药品编号= + Text2.Text + Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Cmd_save.Enabled = True frm_xsb.Text2.Text = Adodc1.Recordset.Fields(药品编号) rm_xsb.Text3.Text = Adodc1.Recordset.Fields(药品名称) frm_xsb.DT1.Value = Adodc1.Recordset.Fields(收货日期) frm_xsb.Combo3.Text = Adodc1.R
32、ecordset.Fields(单位) Else MsgBox 没有该货物的信息!, 64, 药房管理系统 End If End If End If ElseEnd IfEnd Sub6系统调试与维护6.1 系统调试 在系统设计实施完成了以后,我对系统进行了各方面的不断调试与维护,发现了好多问题并且绝大部分都解决了。比如,在进药单录入时,会出现进药单有记录而库存量却没有增加的情况。这是代码设计时考虑的情况不周引起的。6.2 系统维护系统的整个维护分为:改正性维护、适应性维护和完善性维护。在具体的操作中主要是对系统的代码、程序以及数据进行维护。代码维护主要是指设置、修正、重新排列、添加和删除数据
33、项等内容,程序对维护就是在调试的过程中,对操作方面的问题进行程序重写,而数据的维护就是不定期地对数据文件或数据库进行整理、修补以及备份,这里不包括主文件或主数据库的定期更新。系统需要随时进行细致和周到的系统维护,根据维护活动具体内容的不同,系统数据维护的主要内容为:程序维护:改写一部分或全部程序,充分利用原有的程序框架。数据维护:不定期的对数据文件或数据库进行整理和修补,这里不包括主要文件或主数据库的定期更新。代码维护:包括设置、修正、重新排列、添加和删除数据项等内容。7结束语在开发系统的过程中,总会不断地冒出问题,也总是在遇见问题,解决问题中学到了新的知识。从整个系统来看,能大致实现了现实中
34、的业务流程,但用在实际当中应当还会不断的暴露出新的问题。限于时间问题,本人也没有能够进行长时间的调试与维护。只能暂时的做到系统的正常运行。系统采用的开发工具是VB6.0 + SQL Server 2000,用此方法的原因是我比较熟悉VB,在系统设计过程中,接触中很多VB的中高级编程技术,学会很多有关编程和数据库的知识。在整个过程中 ,我遇到过很多困难,也学会很多知识,感觉自已比原来更进一层。致 谢感谢张慧斌老师在百忙之中抽空给予我们细心的指导和帮助,使得我们能在指定的时间里较好地完成系统设计。在张老师的辅导下,学了许多知识,也才懂得了如何分析数据库,如何设计数据库的思路,并为本系统打下了良好的
35、基础。在做系统的过程中,宿舍的舍友和同班的同学也给予了极大的帮助,在此对他们表示感谢!在开发系统的过程中,本人不断学习新的操作以及新的知识并因此掌握了更加深入的编程方法。实践是巩固所学知识最好的方法。这次的系统设计使本人学到了很多知识和编程技巧。也使自己的水平提升到了一个新的台阶。再次感谢给予帮助的老师和同学们。张玉花2009年6月10日参考文献1 赵军锁,龚波,李志.Visual Basic 6数据库访问技术,机械工业出版社,2000.6.2 李勇平.Visual Basic 6.0案例教程,电子出版物数据中心Computer DIY杂志社,2001.6.3 张炜.Visual Basic
36、6.0数据库开发应用教程,航空工业出版社,2000.6.4 冯硕,贾志博.Visual Basic 6.0数据库编程宝典,电子工业出版社,2001.5.5 刘韬,骆娟,何旭洪.Visual Basic 6.0数据库系统开发实例导航,人民邮电出版社,2002.4.6 温贤发.Visual Basic 6.0数据库程序设计高手,科学出版社,2001.2.7 京辉热点工作室.Visual Basic 6.0中文版编程指南,人民邮电出版社,1999.9.8 李振亭.Visual Basic 6.0程序设计教程,北方交通大学出版社,2001.9.9 刘圣才,李春葆.Visual Basic 6.0程序设
37、计导学, 清华大学出版社,2002.3.10龚沛曾,陆慰民,杨志强.Visual Basic 6.0程序设计教程,高等教育出版社,2000.7.11 陶宏才数据库原理及设计M北京:清华大学出版社,200712 黄圣官面向进销存流程的管理信息系统的研究与开发D南京:南京理工大学,200613 尤凤英超市进销存管理系统J. 济南职业学院学报,2007,26(01):78-80.14 Paulraj Ponniah Database Design and Development: An Essential Guide for IT Professionals 美国:John Wiley & Sons,Inc,2003.115 陈仲谋进、销、存信息系统的研究J. 科技信息(科学教研),2007,(18):311-313.16 邹建SQL Server 2000开发与管理应用实例M北京:人民邮电出版社,200517 薛华成 管理信息系统 北京: 清化大学出版社, 1993. 5.