搜档网
当前位置:搜档网 › 祥乐大药房进销管理系统的设计与实现毕业论文

祥乐大药房进销管理系统的设计与实现毕业论文

计算机系本科毕业(设计)论文

课题名称祥乐大药房进销管理系统

的设计与实现

专业计算机科学与技术

姓名

学号

指导教师

二零一零年六月

2

目录

1引言 (1)

1.1系统研究的现状 (1)

1.2系统目的和要求 (2)

1.3论文组织与结构 (2)

2需求分析 (3)

2.1用户需求分析 (3)

2.2系统的可行性分析 (3)

2.3系统需求分析 (4)

2.4数据流图 (4)

3概要设计 (5)

3.1功能模块图 (5)

3.2处理流程设计 (5)

3.3数据库设计 (6)

3.4系统功能设计 (7)

3.5实体—关系图 (8)

4详细设计 (9)

4.1系统设置管理模块设计 (9)

4.2采购管理模块设计 (9)

.3到货管理模块设计 (10)

4.2库存管理模块设计 (10)

4.5销售管理模块设计 (11)

5系统实现 (12)

5.1 VB 访问SQL S ERVER 2000技术 (12)

5.2主窗体实现 (12)

5.3采购订单管理实现 (13)

5.4到货管理模块实现 (15)

5.4库存管理模块实现 (15)

I

5.4销售管理模块实现 (17)

6系统调试与维护 (19)

6.1系统调试 (19)

6.2系统维护 (19)

7结束语 (20)

致谢 (21)

参考文献 (22)

II

忻州师院计算机系本科学士学位论文

祥乐大药房进销管理系统

摘要:本文论述了药房进销管理系统的开发全过程,主要功能有:用户管理、药品入库、药品查询、药品销售和报表制作等。本设计采用现代的数据库开发技术,还结合实际需求,进行了创造性开发。该系统是以Microsoft Visual Basic 6.0 为前台开发环境,应用Microsoft SQL server2000作为后台数据库,结合Windows操作系统建立起来的C/S结构的数据库管理系统,以实现药房进销的系统化、规范化和自动化。

关键词:药品进销Microsoft Visual Basic 6.0Microsoft SQL server2000 Abstract:This text has discussed the whole development process of medicine-management system. Main functions: user-management、medicine-storage、medicine-inquiry、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 Microsoft 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.0 Microsoft SQL

1引言

1.1 系统研究的现状

祥乐大药房是一间以经营各种中成药、西成药材为主的中等规模的药店。该药店的主要业务是采购药品和销售药品。日常业务主要包括销售药品、药品来货验收登记与入库、药品缺货登记等。目前,药房仍然是用手工来处理各项日常业务,而这些业务的特点是复杂度低,重复性强,手工操作会造成工作效率低下,人力资源得不到合理利用,且工作时间一长容易出现工作失误,给药房带来不必要的经济损失。在这种老式的管理模式中主要存在以下难题:

(1)药品调价频繁,且品种繁多,增加了药品销售定价的难度。

(2)药品来货验收登记中的审查有效期环节容易出错,错收过期或有效期不足的药品。

1

祥乐大药房进销管理系统的设计与实现

(3)手工模式下的药品库存难以及时掌握,虽然采取了每日进行缺货登记的措施来控制库存,却增加了登记尚未缺货药品库存的多余工作,费时费力。

(4)不能及时了解每种药品的所剩有效期,使一些药品错过退货期限,造成过期药品库存堆积,带来严重的经济损失。

为了适应时代的发展,提高该药房的工作效率,优化库存的数量与质量,以增加药房的经济效益和使药房运转更顺利,应尽量减少手工操作的工序,实现对药品的

各项管理的电脑化,使高新技术在降低运营成本、提高管理水平和综合经济效益中发挥积极的作用。

1.2 系统目的和要求

通过分析研究任务书要求,以及实地调研,对系统进行进一步需求分析,设计商品管理系统的主要功能,把其分为了五大模块:采购管理模块、销售管理模块、库存管理模块和系统设置管理模块、退货管理模块。采购管理模块包括采购员管理、采购材料管理、采购订单管理情况;销售管理模块包括销售信息维护、销售信息查询等管理;库存管理模块对库存信息维护、库存信息查询;系统管理模块包括用户的增加和删除、用户本身密码修改及各个用户操作该系统的权限。在以上工作的基础上,对系统进行详细设计和实现系统的所有功能,最后进入论文撰写阶段,完成系统设计和论文撰写的工作。

1.3 论文组织与结构

第一章:引言。介绍祥乐大药房进销管理系统的开发背景和现状,以及本人的研究工作;

第二章:需求分析。分别对需求和可行性进行了分析;

第三章:概要设计。介绍祥乐大药房进销管理系统需要实现的功能模块以及开发环境和数据库设计;

第四章:详细设计。对系统的功能进行了详细介绍;

第五章:系统实现。对系统的各个功能的实现进行说明介绍;

第六章:系统测试。对系统的各个功能部分进行了调试。

2

忻州师院计算机系本科学士学位论文

2需求分析

2.1用户需求分析

通过实际调查,要求本系统具有以下功能:

?由于操作人员的计算机知识普遍偏低,因此要求系统具有良好的人机界面。

?如果系统的使用对象较多,则要求有较好的权限管理。

?方便的数据查询,支持多条件查询。

?批量填写进货单及销售单。

?与代理商和供应商往来账本明细,绝不存在假账、漏账、差账等情况。

?当外界环境(停电、网络病毒)干扰本系统时,系统可以自动保护原始数据的安全。

?在相应的权限下,删除数据方便简单、数据稳定性强。

?强大的报表打印功能。

2.2 系统的可行性分析

根据调查发现我国的药品市场还不是很规范,一般的药店都是有采用人功操作,对卖出买进来的药品都是人功记录,有些甚至没有记录,这对一个药店来说是极不利的,很难掌握药店的运行状况,不利于药店参与激烈的竞争。随着计算机的广范应用和管理系统越来越成熟,药品的手功操作已不能满足药房的日常管理,故有必要建立一套适合药房管理的系统来管理药店的进、销等业务。

下面主要是对操作可行性、技术可行性、经济可行性进行分析:

2.1.1 操作可行性

从以上的医药行业的背景和初步调查可知此系统是合乎需要的,它能使药店更加方便科学地管理日常运营,增强药店的社会竞争力。

2.1.1 技术可行性

药店有此系统开发的软硬件和网络资源,操作系统为WINDOW系列,技术已比较成熟,系统数据库为SQL server 数据库提供更加强大的数据库管理,此系统能满足此药店未来的需要,并且可以扩展,能应付药店未来的业务量的增加。

3

祥乐大药房进销管理系统的设计与实现

2.1.1 技术可行性

进行初步调查和相关资料的搜集大概一周,总工作量90天左右,包括资料整理、资料汇总、编写文档等,研究分析多个类似系统,吸收其优点,编写需求分析,然后进行系统分析,系统设计与开发,由于本次系统开发是毕业设计,基本上没有花费。

2.3 系统需求分析

为药房开发一个管理信息系统,使药店行业更加现代化。其主要目的是为了给药店提供一个良好的业务流程,节省时间,更好地为客户服务,也能使药店的经营利润提高,下面就我所做的采购、销售、入库及系统设置等部分进行功能需求分析:

输入需求:销售单输入、入库单输入、操作员添加修改输入等。

输出需求:到货报表、库存报表、退货报表的打印输出等。

性能需求:能够根据输入的信息从库存表中取出存在药品进行销售,系统用户信息会自动添加信息并保存。

功能需求:本系统主要是系统设置、采购管理、入库管理、退货管理和打印报表等。

2.4 数据流图

在设计系统的过程中,用数据流图来刻画数据流和转换信息。它用简单的图形记号分别表示数据流、转换、数据源以及外部实体,数据流图是软件系统中各个处理子功能以及它们之间的数据流动的图形表示。

经过对系统的分析初步得到系统的顶级DFD,如图2.1所示。

如图2.1 系统的顶级DFD

4

忻州师院计算机系本科学士学位论文

3概要设计

3.1 功能模块图

系统功能模块如图3.1所示。

图3.1系统功能模块图

3.2 处理流程设计

在祥乐大药房进销管理系统中,主要按着【采购】【到货】

【入库】【销售】【退货】的流程对采购的货物进行管理,其业务流程如图所示:

5

祥乐大药房进销管理系统的设计与实现

图3.2 业务流程图

3.3 数据库设计

在祥乐大药房进销管理系统当中,共设计了8张数据表。其中采购订单表Table_cgdd、库存信息表Table_kcb和销售表是系统中是重要的数据表,下面就来介绍一个这三张数据表的逻辑结构设计过程。

表1 采购订单表

字段名称字段类型字段大小非空关键字

单号decimal 22 是是

药品名称varchar 30 否—

供应商编号decimal 20 否—

收货日期date time 32 否—

单位varchar 20 否—

币种varchar 15 否—

单价float 8 否—

数量int 18 否—

表2 库存信息表

体制字段类型字段大小非空关键字

药品编号Decimal 6 是是

单号Decimal 50 否—

药品名称Varchar 10 否—

收货日期Dateime 10 否—

单位Varchar 30 否—

6

忻州师院计算机系本科学士学位论文

7

续表2

表3 库存信息表

3.4 系统功能设计

用户通过密码验证后进入主窗口。系统的主窗口主要为用户提供七项功能选择:系统设置,采购管理,到货管理, 库存管理,销售管理,退货管理,打印报表。

系统设置:系统设置中可以增加操作员、修改操作员的密码和删除操作员。在增加完操作员信息之后,可以给操作员分配操作权限。可以备份和恢复数据,保证系统的安全。

采购管理:对采购员信息、供应商信息和采购员材料信息进行管理:录入采购订单和查询采购订单信息,完成从供应商处购进货物并且签订订单的过程。在查询采购订单的时候可以根据各种基本查询或根据日期查询。

到货管理:管理签订采购订单后的到货信息,对同一张订单可以分批次地到货。并且可以随时查询到任何一张订单的任何一笔到货信息记录。

库存管理:药品到货以后,就应该对货物进行盘点入库。入库是对到货而言的,每一张到货单对应一张入库单。出库是对出货而言的,每一张出售单对应一张出库单。

退货管理:维护退货信息和查询退货信息。

单价 Varchar 20 否 — 数量 Float 12 否 — 金额

Float

10

字段名称 字段类型 字段大小 非空 关键字 药品编号 varchar 8 是 是 票号 varchar 8 否 — 药品名称 Varchar 200 否 — 客户编号 Varchar 18 否 — 操作员编号 Varchar 4 否 — 单位 char 50 否 — 单价 float 30 否 — 数量 int 30 否 — 金额

float

60

祥乐大药房进销管理系统的设计与实现

系统维护模块:本单位信息、操作员设置、操作权限设置、数据备份和数据库恢复、数据清理。

3.5 实体—关系图

系统实体关系图如图3.3所示。

图3.3系统E-R图

8

忻州师院计算机系本科学士学位论文

4详细设计

4.1 系统设置管理模块设计

系统管理模块是每个系统都应该具备的,主要是对操作该系统的使用者进行管理,即用户管理。包括用户的增加和删除、用户本身密码的修改及各个用户操作该系统的权限。

图4.1系统管理模块功能图

4.2 采购管理模块设计

采购管理系统主要是对采购员信息、供应商信息和采购材料信息进行管理:

图4.2 采购管理模块功能

9

祥乐大药房进销管理系统的设计与实现

4.3 到货管理模块设计

管理签订采购订单后的到货信息。对同一张订单可以分批次地到货,并且可以随时查询到任何一张订单的任何一笔到货信息记录。

4.3 采购管理模块功能

4.2 库存管理模块设计

库存查询模块用于查询超市商品的库存情况,可以查询总库存和各分仓库的库存情况,该模块便于管理者对自己企业库房的货物进行掌握。

图4.4 采购管理模块功能

10

忻州师院计算机系本科学士学位论文

4.5 销售管理模块设计

销售管理模块是对商品的基础信息进行维护和管理。能够完成商品信息的添加修改和删除,也可以按照一定的条件查询商品信息。

图4.5 采购管理模块功能

11

祥乐大药房进销管理系统的设计与实现

12

5系统实现

5.1 vb 访问 SQL Server 2000 技术

运用ODBC 驱动程序实现数据库的访问。访问程序实现如下:

1、使用ADODC 和 Data Grid 相结合来访问数据库。

2、配置ODBC 数据源,然后访问数据库。

如:Public adoCon As New ADODB.Connection

Public adorns As NewADODB.Recordset Public Sub main ()

adoCon.Open "Provider=MSDASQL.1; Persist Security Info=False; User ID=sedated Source=cggl" End Sub

5.2 主窗体实现

在大多数应用软件中,系统主界面主要起到控制系统的其他模块运行的作用,系统中采用菜单控制的方式控制各子窗体的运行。窗口如图5.1所示:

图5.1 主窗体界面

其主要代码实现如下:

Private Sub Form Activate ()

忻州师院计算机系本科学士学位论文

If Check1.Value = 1 Then

STSZ.Enabled = True

Else If Check1.Value = 0 Then

STSZ.Enabled = False

Else

End If

If Check2.Value = 1 Then

CGGL.Enabled = True

Else If Check2.Value = 0 Then

CGGL.Enabled = False

Else

End If

If Check3.Value = 1 Then

DHGL.Enabled = True

Else If Check3.Value = 0 Then

DHGL.Enabled = False

Else

End If

If Check4.Value = 1 Then

kcgl.Enabled = True

Else If Check4.Value = 0 Then

kcgl.Enabled = False

Else

End If

If Check5.Value = 1 Then

xsgl.Enabled = True

Else If Check5.Value = 0 Then

xsgl.Enabled = False

Else

End If

If Check6.Value = 1 Then

THGL.Enabled = True

Else If Check6.Value = 0 Then

THGL.Enabled = False

Else

End If

Private Sub Form Load ()

End Sub

5.3 采购订单管理实现

在采购订单管理中,单击添加按钮,单号自动生成,然后在”药品名称”文本框中按下键选择订货信息,选择完毕后按下键,订单管理窗体中除了数量、

13

祥乐大药房进销管理系统的设计与实现

批号、金额和备注信息之外,其他信息全部自动录入到相应的文本框中,最后输入数量,系统自动核算金额。如图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

If 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.Recordset.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.Fields("单位")

Else

MsgBox "没有该采购员的信息!!", 64, "药房管理系统"

End If

End If

14

忻州师院计算机系本科学士学位论文

Else

End If

End Sub

5.4 到货管理模块实现

到货管理模块主要实现对订单到货信息的管理。对于同一个订单,可以进行多次到货并且第一次到货后,订单数量都能够相应的减少。在到货信息维护中,有订单数量、报损数量等维护到货信息的数量。如图5.4所示:

图5.3 到货管理界面

5.5 库存管理模块实现

库存管理是针对到货信息和销售信息进行的管理。窗口如图5.4所示:

15

祥乐大药房进销管理系统的设计与实现

图5.4 库存管理界面

其主要实现代码如下:

Private Sub Cmd_save_Click() '保存库存信息代码

Call main

If Combo1.Text = "" Then

MsgBox "供应商编号不能为空值!!"

Combo1.SetFocus

Else

Adodc1.RecordSource = "select * from Table_kcb where 药品编号='" + Text1.Text + "'"

Adodc1.Refresh

If Adodc1.Recordset.RecordCount = 0 Then

c = MsgBox("确认要保存该信息吗?", 33, "药房管理系统")

If c = vbOK Then

Text4.Text = "入库"

Set ardors = adoCon.Execute("insert into Table_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 = False

Set adoRs = adoCon.Execute("UPDA TE Table_dhb SET 状态= '入库' where 单号='" + Text2.Text + "'")

Else

End If

Else

MsgBox "对不起,该信息已经保存过,不能够再进行保存", 64, "药房管理系统"

16

忻州师院计算机系本科学士学位论文

End If

End If

Adodc1.RecordSource = "select * from Table_kcb”

Adodc1.Refresh

adoCon.Close

End Sub

5.6 销售管理模块实现

销售管理的主要任务是对各种药品的销售信息进行管理和维护,能够完成药品信息的添加、修改和删除,也可以按照一定的条件查询药品信息。窗口如图所示:

图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 * from 销售信息表where 药品编号='" + Text2.Text + "'"

Adodc1.Refresh

If Adodc1.Recordset.RecordCount > 0 Then

Cmd_save.Enabled = True

17

相关主题