药品销售管理系统.docx
《药品销售管理系统.docx》由会员分享,可在线阅读,更多相关《药品销售管理系统.docx(33页珍藏版)》请在冰豆网上搜索。
药品销售管理系统
基于C#.Net开发的药品销售管理系统
阳磊
指导老师:
段明秀
(XX大学数学与计算机科学学院XXXX416000)
摘要:
本文主要介绍了基于MicrosoftVisualStudio.NET2003平台开发的药品销售管理系统。
其中详细介绍了系统开发的基本过程,并简单介绍了PowerDesigner9.0数据库建模的方法,WinForm(窗体)的创建以及程序设计中的一些关键技术。
在开发过程中严格遵循软件工程的基本原理,主要应用了PowerDesigner9.0进行数据库建模与开发,应用SQLServer2000进行数据库的创建与维护,采用了c#面向对象编程语言进行程序设计,实现了C/S结构的药品销售管理系统设计。
系统主要实现了系统管理、药品管理、信息管理、销售管理、信息预警五大功能模块。
关键词:
PowerDesigner;数据字典;C#;SQLServer2000;MicrosoftVisualStudio.NET
DrugsSalesManagementSystemBasedOnC#.Net
YangLei
Teacher:
DuanMingXiu
(CollegeofMathematicsandputerscienceofJishouUniversityHunanJishou416000)
Abstract:
ThisarticlemainlyintroduceddrugssalesmanagementsystembasedonMicrosoftVisualStudio.NET2003platform.Inwhichdescribedindetailthebasicprocessofsystemdevelopment,andintroducedinbrieftheDesigner9.0databasemodellingmethods,WinFrom(window)infoundationaswellassomekeytechnologiesinprogramming.Inthedevelopmentprocessstrictlyfollowedthebasicprinciplesofsoftwareengineering,mainlyappliedPowerDesigner9.0tocarryonthedatabasemodelinganddatabasedevelopment,usingSQLServer2000toestablishandmaintainthedatabase,adoptedthec#object-orientedprogramminglanguagetocarryontheprogramming,realizedC/Sstructuredrugssalesmanagementsystemdesign.TheSystemmainlyrealizedfivefunctionalmodules:
systemsmanagement,pharmaceuticalmanagement,informationmanagement,salesmanagement,earlywarninginformation.
Keyword:
PowerDesigner;DataDictionary;C#,SQLServer2000;MicrosoftVisualStudio.NET
前言
随着我国市场经济的蓬勃发展和人们对医药产品需求的迅速增加,医药行业正处于一个高速发展的时期。
行业的快速发展必然导致竞争的加剧,要想在激烈的市场竞争中谋求发展,客观上要求企业必须加强内部管理,提高运营效率。
另外,由于医药产品种类繁多,销售模式特殊,业务量大,单凭手工记帐已很难适应工作的需要。
医药作为一个关系人们健康的特殊行业,国家对医药行业又有一些不同与其他行业的管理政策,这些都加大了管理的难度。
如何尽快建立和完善现代企业的信息化管理机制问题,已成为医药企业发展的关键所在。
目前市场上的药品销售软件比较多,应用价值也挺高,但是大部分的重点都放在了药品信息管理和员工信息管理方面,对于客户,供货商信息的管理做得都不完善,有的根本没这部分内容。
而这些信息也是很重要的,有利于公司上层高级管理人员从各个方面对公司状况进行分析,管理和决策。
因此,开发一个集处理药品、客户、供货商信息于一体的,兼有员工管理的药品销售管理系统,是符合市场发展需要的。
第一章系统的可行性分析
1.1技术上的可行性
根据系统目标要求分析,此设计完全可以通过MicrosoftVisualStudio.NET2003软件作为开发工具来制作完成。
MicrosoftVisualStudio.NET2003支持多种面向对象编程语言,而且编程过程都是可视化编程,操作起来比较灵活,只需要书写关键的代码就行了,而很大一部分代码可以由软件自己生成,既可以减少编程出错的几率,又节约了很多编程的时间。
而后台数据库由SQLServer2000来进行系统数据的管理,对于中小型药品销售管理系统而言,数据量还并不是非常大,SQLServer2000完全能够满足数据的各种处理要求。
而以目前本人对MicrosoftVisualStudio.NET2003,SQLServer2000,以及PowerDesigner9.0的了解,已经具备了相关的开发知识,因此从技术上分析,要开发这个中小型的药品销售管理系统是可行的。
1.2经济上的可行性
药品销售管理系统只是一个中小型的数据管理系统,它的经济可行性可以从以下方面考虑:
软件资源:
目前网络上有很多供用户免费下载的软件,学校校园网的下载速度也非常快速,所以可以从网上下载开发系统所需的各种软件,或是去电脑城购买,花费个人完全可以承受。
硬件资源:
已经拥有一台配置完全能够开发药品销售管理系统的计算机。
参与人员:
开发这个系统的人员就是自己,不需要花费金额聘请专业人士。
资源和时间:
资源和时间方面相对都是比较充足的。
学校的图书馆藏书很多,想找到自己需要的资料并不困难,再者可以从书店购买自己所需书籍。
综合以上多方面的考虑结果,开发一个中小型的药品销售管理系统在经济上是完全可行的。
第二章需求分析
此系统的最终用户为药品销售公司,根据从网上搜集有关药品销售的图表资料、文字资料以及其他细节方面的信息,根据日常生活中的经验,根据所做的其它询问和调查,可以得出以下一些重要信息:
2.1系统描述
2.1.1实现目标
(1)此软件系统的目标主要是实现两个主要用途:
a.实现药品基本信息的处理,辅助各部门工作人员工作并记录一些需要保存的操作信息;
b.为企业高层管理人员对公司状况进行分析,管理和决策提供有效的帮助。
(2)基本功能实现目标:
a.对进出药品进行记录管理
b.对库存药品进行查询管理
c.对经营情况进行监视,及各员工的绩效记录,分析
d.对供货商资料进行管理
e.对客户进行详细资料记录
f.具有密码安全管理机制,同时具备各级人员权限管理
2.1.2开发工具
MicrosoftOfficeVisio2003:
用于数据图表的绘制
PowerDesigner9.0:
用于数据库的建模
SQLServer2000:
用于数据库的建立,为前台提供服务
MicrosoftVisualStudio.NET2003:
用于前台应用程序的编写
AdobePhotoshop7.0.1:
辅助应用程序的界面设计
2.1.3运行环境
操作系统:
WindowsXP/2000或更高版本的操作系统内存:
64MB以上的内存,推荐使用128MB以上内存处理器:
赛扬1.7或更高的处理器
硬盘空间:
需要至少20M硬盘空间
2.2药品销售公司的组织情况
一个药品销售公司的主要构成分为两个部分,一是物流部门,一是销售部门,公司的所有日常工作都是围绕着这两大部门进行的。
物流部门又设采购部门,仓储部门,供应部门等小部门,为了支持这两大部门的工作,还设置了为公司的日常管理而设置的行政部门等。
销售部门又分为业务部和财务部。
其中采购部门主要负责药品的采购,仓储部门主要负责药品管理,包括药品的基本信息记录,药品出入库记录等,供应部门主要负责将药品供应给销售部门。
业务部门主要公司业务,财务部门主要负责收款以及公司的出纳。
行政部门则根据其相应的工作职责进行日常的工作,公司进行行政方面的管理,以保证公司的日常工作的正常进行和公司的后勤保障。
药品销售企业的组织情况如图2-1所示。
图2-1组织结构图
2.3各部门的业务活动情况
首先采购部门要根据公司的销售情况的实际需要到各药品生产厂家采购相关药品,采购的时候需要制定相关的采购单,包括要采购的药品名称,数量,采购地点等。
其次,仓储部门采购的药品进行入库记载,并对药品进行药品信息记录,包括药品编号、药品名称、药品正式名、规格、单位、类型、类别、产地、批号、有效期、生产日期、批准文号、数量、进价、售价等。
并定期对仓库内过期药品进行处理。
再次,供应部门根据业务部门提供的定单,从仓储部门提取药品,并进行出库记载。
业务部门负责联系客户,拿到销售定单以及处理客户的退货。
财政部门定期对销售情况进行财务核算,以及提供采购资金等其他财务管理。
其主要业务流程图如图2-2所示。
图2-2业务流程图
2.4用户对系统的要求
(1)信息要求:
由于此系统的用户可以是药品销售公司的管理人员以及各类员工,因此对系统的信息要求可分为以下几个方面:
a、药品信息
药品基本信息就是指那些便于重复使用的信息,如药品名称、规格、单位、包装、批准文号、剂型、类型、类别等;药品辅助信息就是实际操作中对药品的处理信息,如药品批号,数量等。
b、员工信息
首先是员工的基本信息,主要包括员工的XX,性别,出生年月,家庭住址,联系方式,员工的编码,所在部门等;
对于相关操作,要记录操作时间,操作人员等。
c、业务信息
包括客户信息,供货商信息,销售记录等;
对于销售记录要记录销售时间,业务员等;
对于退货信息要记录退货时间,业务员等。
d、各种库存信息
包括入库记录,出库记录,库存量等。
(2)处理要求:
系统应当完成以下的信息处理:
a、存储药品信息,员工信息,业务信息,供相关人员查询;
b、对药品信息进行及时的更新和统计;
c、对员工信息进行及时的更新和统计;
d、对各种库存信息的及时更新和统计以及相关的自动处理,系统应根据入库出库操作,自动得出新的库存量,完成更新,并能随时查询库存量,还能对药品库存数量不足,以及药品报废期限即将来临做出预警,使管理人员做出相应的处理;
e、所有原始数据和统计数据进行相关分析,如药品收支,药品销售状况,药品报废信息等;
f、分析报告,各种单据进行打印,以供相关的使用。
2.5安全性与完整性要求
(1)安全性要求:
a、系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;
b、系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;
c、系统应对不同用户设置不同的权限,区分不同的用户,如区分业务员(只能
查询药品信息,客户信息,处理销售信息),仓储员(只能查询仓库库存量,
药品信息),系统管理员(可对系统进行日常维护,包括数据更新,权限设置
等,可查询公司所有运作情况包括经济管理、行政管理等的数据,以及各种
统计和分析结果等)。
(2)完整性要求:
a、各种信息记录的完整性,信息记录内容不能为空;
b、各种数据间相互的联系的正确性;
c.相同的数据在不同记录中的一致性。
2.6数据流图(DFD)
数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也非常容易理解,它是一种极好的系统构造的表示方法。
下面是系统的数据流图,它基本反映了整个系统的逻辑功能。
系统顶层数据流图如图2-3所示。
图2-3系统顶层数据流图
系统0层数据流图如图2-4所示。
图2-4系统0层数据流图
第三章概要设计与数据库设计
3.1确定系统的模块
根据如上得到的用户需求,可以将系统按照所完成的功能分成以下几个子系统:
药品管理子系统
销售管理子系统
信息管理子系统
信息预警子系统
系统管理子系统
各子系统完成的功能如下:
(1)药品管理系统
完成各类药品信息的查询,添加,修改,删除操作;
药品入、出、存的查询统计;
辅助制定合理的药品库存水平和采购计划,以最小的资金占用保证药品的供应。
(2)销售管理系统
完成销售信息的录入,查询操作;
完成退货信息的记录,查询操作
(3)信息管理系统
完成员工,客户,供货商信息的查询
完成员工,客户,供货商信息的管理
(4)信息预警系统
完成药品报废预警,药品库存不足预警,让用户能够提前做出反应
(5)系统管理系统
登陆系统
配置用户权限
修改密码
提供帮助信息
系统功能模块图如图3-1所示。
图3-1系统功能模块图
3.2E-R图和数据字典
根据上面的分析,可以得出E-R图如图3-2所示。
图3-2系统E-R图
数据字典(DD):
药品销售管理系统各实体及联系数据字典:
包括数据流,数据文件和数据项。
(1)数据流和数据文件
药品基本信息表=药品编号(PK)+供货单位编号(FK)+药品名称+药品正式名+种类+规格+科目+单位+批准文号+数量+拼音码+售价等;
药品辅助信息表=批号(PK)+药品编号(FK)+生产日期+有效期+进价+备注信息;
员工基本信息表=员工代号(PK)+员工XX+XX+员工性别+员工年龄+住址++所属部门;
客户基本信息表=客户编号(PK)+客户单位名称+客户负责人+客户地址+客户;
供货商基本信息表=供货单位编号(PK)+供货单位名称+供货负责人+供货商+供货地址+主要产品;
采购记录表=采购编号(PK)+员工代号(FK)+采购日期;
取货记录表=取货编号(PK)+员工代号(FK)+取货日期;
销售记录表=销售流水号(PK)+员工代号(FK)+客户编号(FK)+销售日期;
退货记录表=退货编号(PK)+员工代号(FK)+客户编号(FK)+退货日期;
购-药联系表=采购编号(PK)+药品编号(PK)+采购数量;
取-药联系表=取货编号(PK)+药品编号(PK)+取药数量;
销-药联系表=销售流水号(PK)+药品编号(PK)+销售数量;
退-药联系表=退货编号(PK)+药品编号(PK)+退药数量+退货价格;
用户表=员工代号(FK)+用户名+密码+权限。
(2)具体的数据表格
表3-1药品基本信息表
名称
代码
数据类型
可否为空
说明
药品编号
yaopinID
Variablechar长度13位
NO
PK
药品名称
yaopinName
Variablechar长度20位
NO
药品正式名
yaopinZName
Variablechar长度20位
YES
种类
yaopinZL
Variable长度char16位
NO
规格
yaopinGG
Variablechar长度12位
NO
科目
yaopinKM
Variablechar长度16位
NO
单位
yaopinDW
Variablechar长度8位
NO
批准文号
yaopinWH
Variablechar长度24位
YES
拼音码
yaopinPY
Variablechar长度12位
NO
售价
yaopinSJ
Money长度为10,精度为4
NO
供货单位编号
gonghuoID
Int
NO
FK
表3-2药品辅助信息表
名称
代码
数据类型
可否为空
说明
批号
yaopinPH
Variablechar长度10位
NO
PK
数量
yaopinNUM
Int
NO
生产日期
yaopinSCQ
Date
NO
有效期
yaopinYXQ
Date
NO
进价
yaopinJJ
Money长度为10,精度为4
NO
备注信息
yaopinBZ
Variablechar长度为100
YES
药品编号
yaopinID
Variablechar长度13位
NO
FK
表3-3员工基本信息表
名称
代码
数据类型
可否为空
说明
员工代号
yuangongID
Variablechar长度10位
NO
PK
员工性别
yuangongSex
char长度2位
NO
员工XX
yuangongSFZ
Variablechar长度18位
NO
员工年龄
yuangongAge
Int
YES
住址
yuangongAdress
Variablechar长度40位
YES
yuangongTEL
Variablechar长度13位
NO
所属部门
yuangongBM
Variablechar长度18位
NO
员工XX
yuangongName
Variablechar长度12位
NO
表3-4客户基本信息表
名称
代码
数据类型
可否为空
说明
客户编号
kehuID
Int
NO
PK
客户单位名称
kehuMC
Variablechar长度40位
NO
客户负责人
kehuFZR
Variablechar长度16位
NO
客户地址
kehuAdress
Variablechar长度40位
YES
客户
kehuTEL
Variablechar长度13位
NO
表3-5供货商基本信息表
名称
代码
数据类型
可否为空
说明
供货单位编号
gonghuoID
Int
NO
PK
供货单位名称
gonghuoMC
Variablechar长度40位
NO
供货负责人
gonghuoFZR
Variablechar长度16位
NO
供货地址
gonghuoAdress
Variablechar长度40位
YES
供货商
gonghuoTEL
Variablechar长度13位
NO
主要产品
gonghuoCP
Variablechar长度60位
YES
表3-6采购记录表
名称
代码
数据类型
可否为空
说明
采购编号
caigouID
Variablechar长度12位
NO
PK
采购日期
caigouDate
Date
NO
员工代号
yuangongName
Variablechar长度10位
NO
FK
表3-7取货记录表
名称
代码
数据类型
可否为空
说明
取货编号
quhuoID
Variablechar长度12位
NO
PK
取货日期
quhuoDate
Date
NO
员工代号
yuangongName
Variablechar长度10位
NO
FK
表3-8销售记录表
名称
代码
数据类型
可否为空
说明
销售流水号
xiaoshouID
Variablechar长度14位
NO
PK
销售日期
xiaoshouDate
Date
NO
员工代号
yuangongName
Variablechar长度10位
NO
FK
客户编号
kehuID
Int
NO
FK
表3-9退货记录表
名称
代码
数据类型
可否为空
说明
退货编号
tuihuoID
Variablechar长度14位
NO
PK
退货日期
tuihuoDate
Date
NO
员工代号
yuangongName
Variablechar长度10位
NO
FK
客户编号
kehuID
Int
NO
FK
表3-10购-药联系表
名称
代码
数据类型
可否为空
说明
采购数量
quyaoNum
Int
NO
采购编号
caigouID
Variablechar长度12位
NO
PK,FK
药品编号
yaopinID
Variablechar长度13位
NO
PK,FK
表3-11取-药联系表
名称
代码
数据类型
可否为空
说明
取药数量
quyaoNum
Int
NO
取货编号
quhuoID
Variablechar长度12位
NO
PK,FK
药品编号
yaopinID
Variablechar长度13位
NO
PK,FK
表3-12销-药联系表
名称
代码
数据类型
可否为空
说明
销售数量
xiaoshouNum
Int
NO
销售流水号
xiaoshouID
Variablechar长度14位
NO
PK,FK
药品编号
yaopinID
Variablechar长度13位
NO
PK,FK
表3-13退-药联系表
名称
代码
数据类型
可否为空
说明
退药数量
tuiyaoNum
Int
NO
退药价格
tuiyaoJG
Money长度为10,精度为4
NO
退货编号
tuihuoID
Variablechar长度14位
NO
PK,FK
药品编号
yaopinID
Variablechar长度13位
NO
PK,FK
表3-14用户表
名称
代码
数据类型
可否为空
说明
用户名
userID
Variablechar长度20位
NO
PK
密码
PSW
Variablechar长度60位
NO
拥有权限
QX
Variablechar长度16位
NO
员工代号
yuangongID
Variablechar长度10位
NO
FK
3.3数据库设计
(1)数据库建模
数据库建立的好坏直接影响系统的好坏,考虑到此系统实体间关系比较复杂,因此可以采用Sybase公司的PowerDesigner9.0进行数据库建模,它比手工书写SQL语句建立数据库更直观,更能理清实体间的关系,而且不容易出错。
下面就介绍一下建模的全过程:
首先需要建立一个概念数据模型(ConceptualDataModel),建模过程主要是要分析表与表之间的关系,特别是多对多的关系以及标定关系,强制关系,这是非常关键的一步,是建模的关键,必须仔细考虑。
最后得出概念模型如图3-3所示。
图3-3