药店系统样例1教学提纲.docx
- 文档编号:6334824
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:23
- 大小:453.24KB
药店系统样例1教学提纲.docx
《药店系统样例1教学提纲.docx》由会员分享,可在线阅读,更多相关《药店系统样例1教学提纲.docx(23页珍藏版)》请在冰豆网上搜索。
药店系统样例1教学提纲
药店管理信息系统设计与开发
作者谢敏
引言
随着计算机信息技术的飞速发展,各级各类企事业单位相继上管理信息系统,实现了办公自动化。
自从“医药分家”制度的推行后,近年来药店盲目扩张,疏于管理;药店坐堂人员专业知识欠缺;药品分类管理存在误区,将处方药和非处方药混放在一起,更有甚者,为扩大销售额,不凭处方销售处方药。
药品市场经营混乱,假药、劣药和过期药屡屡冲击市场,致使群众甚为不安。
开发药店管理信息系统,一方面,便于药监部门通过“监、帮、促”,加大实施贯彻《药品经营质量管理规范》(GSP)和药品分类管理工作的力度与步伐;另一方面,有利于加强药店自身基础建设,建立现代化科学的管理模式,实现药店管理的高效率和规范化;提高工作的效益;树立牢固质量意识,保证医药市场药品的质量;提高坐堂人员的专业知识和素质,提供周到的服务,使顾客受惠,保障顾客的身体健康。
开发一套既方便又成本低廉的药店管理信息系统显得及时而又必要。
基于GSP的要求,本系统实现了药店对药品进、销、存进行微机化、统一化管理。
本文以本人参与设计和实现药店管理信息系统为基础,通过对药店管理日常工作的详细调查,搜集了大量的资料,从系统结构的组织,功能的实现,技术的要求以及可行性等多方面进行考虑,认为本课题是一个适应现今药店管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值。
⒉ 系统分析
该阶段即回答药店管理信息系统“做什么”的问题,明确系统需求以及形成系统目标的逻辑模型。
还包括绘制描述概念世界的“E—R图”、“数据流程图”及“功能结构图”,下面详细的介绍一下这些内容。
2.1系统需求分析
通过对药店进行实地调查之后,药店管理信息系统需求体现在以下四方面:
(1)系统设计必须符合《药品经营质量管理规范》(GSP),GSP规范是药店标准和国际化管理的准则和方向。
(2)顾客的需求:
确保所购药品的安全性及购药的方便性和即时性。
(3)药店一般工作人员的需求:
系统操作的简便性和准确性。
(4)药店管理决策人员的需求:
及时提供准确的决策数据。
如药品的库存和销售统计数据,利润报表等。
2.2系统目标与要求
针对上述需求,经分析确定该系统的目标和性能要求是:
系统目标:
及时采集药店经营管理和相关的各种信息,科学地处理和分析这些信息,合理地调度药店的资源(资产、药品、人力、运能、储能…),提高工作效率,加快资金周转,降低经营成本,科学地减少库存,减少资金占压,增加经济效益,提高顾客的满意度,增强药店市场竞争力。
系统性能要求:
(1)实用性好;
(2)可靠性高;(3)操作便利性;(4)整体性强;(5)具有先进性;(6)适应性强;(7)灵活性较高;(8)性能/价格比高;(9)界面傻瓜式;
2.3E—R图
在明确2.1、2.2的基础上,对原有系统的数据进行分析,结合新系统的目标要求,绘制E—R图,对现实世界进行抽象。
系统的ER图如下:
图2-1E-R图
在该数据库中,设计了三个实体,分别是库存、客户和供应商以及两个联系类型入库和出库。
在本系统中库存是核心,没有了库存其它的也就没有什么意义了。
员工记录的添加是考虑到责任问题,也就是说,在库存管理的实际运用中,出现了责任不清的现象,特别是由于仓库的进出药品数量都比较大时产生了一系列问题,所以在设计数据库时,特别考虑到这一点,加入了员工记录这一实体(在这里就不详细标出局部ER图了)。
供应商信息的添加主要出于对药品来源问题的思考。
通过添加供应商信息可比较清楚地了解药品的进货渠道,从药品的质量到供应商的信誉都可进行了解,同时可以为以后的药品进购提供有用的信息。
2.4系统功能要求
根据系统需求、目标以及性能要求,分析得出系统在功能上有如下要求:
药品销售的功能包括:
药品零售,药品批发销售浏览;
存货管理的功能包括:
药品入库,药品退药,药品报损,库存限量,库存盘点、存货浏览;
药品管理的功能包括:
药品浏览,新增药品,药品修改,药品调价;
数据统计的功能包括:
销售统计,库存统计
代码维护的功能包括:
员工管理,部门管理,往来单位,更换密码,用户管理,备份数据还原数据;
系统的功能结构图如下:
药品零售
图2-2系统功能结构图
2.5数据流程分析
在系统中采用数据流图(DFD)这种半形式化的描述方式表达实体与功能模块之间的关系。
它是一种功能模型,以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能。
经过对系统的分析得到以下数据流程图:
图2-3数据流程图
3. 系统设计
在系统分析的基础上,此阶段的任务就是要把“做什么”(what)的逻辑模型变换为“怎么做”(how)的物理模型,即确定系统物理实施方案,包括总体设计和详细设计两部分。
这是系统实现的关键环节。
3.1系统总体设计
总体设计是全局性的设计,它包括数据库设计和各功能处理模块设计。
3.1.1数据库设计
目前,由于大型关系数据库产品不仅提供了丰富的功能,支持标准的SQL语言,而且还具有保证数据库完整性、安全性和完成并发控制等功能,因而越来越成为数据库产品中的宠儿。
基于此,在开发药店管理信息系统时我们选择关系数据库产品SQLServer数据库。
药店管理系统管理药品的进、销、存、退货,以及各项信息的统计。
因此,设计总店数据库时,所有对库存产生影响的变动如购进、销售、报损、报溢等都必须有相应的数据表与之对应。
鉴于此,数据库应包含以下信息表:
(1)药品信息表:
包括ID、药品编号、名称、简码、条码、规格、生产厂家、批准文号、最高限量、最低限量、批发价、零售价、主治、剂型、分类等字段。
(2)库存信息表:
包括库存编号、药品编号、数量、购进单价、购进金额、盘店数量等字段。
(3)入库表:
包括库存编号、药品编号、入库时间、操作人等字段。
(4)出库表:
包括库存编号、药品编号、出库时间、操作人等字段。
(5)员工信息表:
包括员工ID、姓名、员工编号、职务、年龄、雇佣日期、性别、学历、住址、身份证号、联系方式、简码、所属部门等。
(6)供应商信息表:
包括供应商ID、简码、名称、法人、电话、地址、联系人等字段。
通过对上述六张数据表的操作可以较好地完成系统设计的各项功能。
数据库结构表如下:
表3-1药品信息表:
(ypzdk)
字段名
数据类型
长度
ID
Numeric
9
名称
Varchar
50
编号
Char
16
条码
Varchar
15
简码
Varchar
10
单位
Varchar
4
规格
Varchar
20
生产厂家
Varchar
50
批准文号
Varchar
30
最高限量
Int
4
最低限量
Int
4
批发价
Decimal
9
零售价
Decimal
9
主治
Text
16
剂型
Varchar
10
分类
varchar
10
表3-2员工表:
(ygb)
字段名
数据类型
长度
Ygid
Numeric
9
姓名
Varchar
10
员工编号
Char
3
职务
Varchar
10
年龄
Smallint
2
雇佣日期
Datetime
8
性别
Char
2
学历
Varchar
10
住址
Varchar
100
身份证号
Char
18
联系方式
Varchar
100
简码
Varchar
10
备注
Varchar
100
所属部门
char
3
表3-3登陆记录表:
(oper)
字段名
数据类型
长度
登陆时间
datetime
8
退出时间
datetime
8
userid
int
4
operid
bight
8
表3-4用户表:
(user1)
字段名
数据类型
长度
Userid
Numeric
9
Username
Varchar
10
Password
Varchar
10
Oper
Varchar
10
able
Int
4
表3-5公司表:
(company)
字段名
数据类型
长度
clientid
Numeric
9
简码
Varchar
10
名称
Varchar
50
法人
Varchar
16
电话
Char
20
地址
Varchar
50
备注
Varchar
100
类型
Varchar
10
出入
Tinyint
1
联系人
varchar
10
表3-6药品变动明细表:
(cr)
字段名
数据类型
长度
Crid
Numeric
9
Ypid
Numeric
9
编号
Char
16
出库单位
Int
4
入库单位
Int
4
数量
Int
4
单价
Decimal
9
金额
Decimal
9
操作人
Varchar
12
开票人
Int
4
是否审核
Bit
1
日期
Datetime
8
成本金额
Decimal
9
类型
Varchar
10
出入
bit
1
表3-7处方药变动明细表:
(cfycr)
字段名
数据类型
长度
Crid
Numeric
9
Ypid
Numeric
9
编号
Char
16
出库单位
Int
4
入库单位
Int
4
数量
Int
4
单价
Decimal
9
金额
Decimal
9
操作人
Varchar
12
开票人
Int
4
是否审核
Bit
1
日期
Datetime
8
成本金额
Decimal
9
类型
Varchar
10
出入
bit
1
医生
Varchar
10
顾客
Varchar
10
表3-8部门表:
(partment)
字段名
数据类型
长度
部门编号
Char
3
部门名称
Varchar
50
简码
varchar
10
表3-9库存表:
(kc)
字段名
数据类型
长度
Kcid
Numeric
9
Ypid
Numeric
9
数量
Int
4
购进单价
Decimal
9
购进金额
Decimal
9
盘点数量
int
4
3.1.2主要功能处理模块设计
系统的总体设计中最重要的就是系统模块化设计。
模块化是指“自顶向下、逐步求精”把系统划分成若干个模块的过程。
每个模块完成一个特定的功能,所有的模块按一定方法组织起来,成为一个整体,完成整个系统所要求的功能。
将系统划分为多个模块是为了降低系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。
尽量做到高内聚低耦合,提高模块的独立性,是设计高质量系统的基础。
为此要主要以下三个因素:
1.明确系统的功能内容。
2.
3.
(二)大学生对DIY手工艺品消费态度分析掌握正确的划分方法。
4.
5.图1-4大学生购买手工艺制品目的遵循科学的划分原则。
我们熟练的掌握计算机应用,我们可以在网上搜索一些流行因素,还可以把自己小店里的商品拿到网上去卖,为我们小店提供了多种经营方式。
一、药品销售模块设计
(三)DIY手工艺品的“自助化”主菜单
1996年“碧芝自制饰品店”在迪美购物中心开张,这里地理位置十分优越,交通四通八达,由于位于市中心,汇集了来自各地的游客和时尚人群,不用担心客流量的问题。
迪美有300多家商铺,不包括柜台,现在这个商铺的位置还是比较合适的,位于中心地带,左边出口的自动扶梯直接通向地面,从正对着的旋转式楼梯阶而上就是人民广场中央,周边4、5条地下通道都交汇于此,从自家店铺门口经过的90%的顾客会因为好奇而进去看一下。
(2)缺乏经营经验
(4)牌子响
子模块调用
数据库调用
数据库调用
数据库调用
图3-4药品销售模块设计图
药品销售模块设计说明书:
所属子模块:
药品销售系统
调用子模块:
药品零售模块
处方药处理模块
销售浏览模块
调用数据库文件:
药品信息表其索引文件
价格表其索引文件
库存表及其索引文件
二、药品管理模块设计
图3-5药品管理模块设计图
药品管理模块设计说明书:
所属子模块:
药店管理系统
调用子模块:
药品浏览模块
新增处理模块
药品修改模块
药品调价模块
调用数据库文件:
药品信息表其索引文件
药品字典表其索引文件
三、存货管理模块设计
图3-6存货管理模块设计图
存货管理模块设计说明书:
所属子模块:
存货管理系统
调用子模块:
药品入库模块
药品退货模块
药品报损模块
库存限量模块
库存盘点模块
存货浏览模块
调用数据库文件:
药品信息表及索引文件
入库表及索引文件
出库表及索引文件
库存表及其索引文件
四、数据统计模块设计
图3-7数据统计模块设计图
数据统计模块设计说明书:
所属子模块:
数据统计
调用子模块:
销售统计模块
库存统计模块
单据查询模块
调用数据库文件:
库存表及其索引文件。
五、代码维护模块设计
图3-8代码维护模块设计图
数据统计模块设计说明书:
所属子模块:
代码维护
调用子模块:
员工管理模块
部门管理模块
往来单位模块
更换密码模块
用户管理模块
备份数据模块
调用数据库文件:
员工表及其索引文件
用户表
供应商表
药品字典
3.2详细设计
在前面的总体设计中,已将系统划分为多个模块,并将它们按照一定的原则组装起来,同时确定了每个功能及模块之间的外部接口。
现在所要做的就是确定每个模块具体细节,包括编码设计、输入输出设计和界面设计。
3.2.1编码设计
现在,部分的药品包装上已经有了国际通用的EAN码,用以表示不同国别、厂家的药品。
由于我们开发的是单机系统,所以就采用药品的首字母进行药品简码的设计。
比如,土霉素的简码就是TMS,这样的简码法可能会出现重码,于是我们将简码和药品名组合起来作为关键字来决定一条记录。
3.2.2输入输出设计
为了方便药店工作人员的操作,零售药销售单据、处方药销售单据、入库单、退药单、销售统计单、利润报表等所有的输入与输出都采用屏幕表格输入方式,输出采用屏幕显示或打印输出方式
3.2.3用户界面设计
界面设计包括系统启动界面、密码登录界面和多级菜单界面3步,其中多级菜单的设计是用户界面设计的主体。
具有设计良好菜单的信息系统可以使用户将注意力集中在使用应用程序上而不是操作数据库上。
用户界面设计的初始界面实际上就是一个多级菜单系统。
菜单设计实质是对系统做一个轮廓性的设计,其设计依据主要来自于用户对系统的要求及系统所能实现的功能。
对界面设计来说,将菜单设计到子系统的功能模块级。
用户界面主要包括药品销售、药品管理、存货管理、数据统计、代码维护5个子系统,每个子系统依用户需求应实现录入、修改、删除等功能。
另外,为了方便用户使用,系统还提供了帮助功能。
系统窗体模块组成图如下:
图3-9系统窗体模块组成图
各子系统的功能界面在此就不一一给出了,但要强调地是设计友好的用户界面的体会:
友好的用户界面很大程度上体现在表单界面的设计上。
在表单中多采用命令按钮、单选按钮组、复选框、编辑框、组合框、下拉列表框及微调控件以及与功能对应的图片等,使用户界面非常直观,操作简单、快捷,一改过去那种单纯的人机对话式的繁琐操作方法。
这也使数据录入十分方便,在本系统中,除了“药品增加”表单中有几个记录要用户输入外,其他几乎无需用户输入中文及规范数字,全部使用弹出式菜单、单选按钮组、复选框、数码增减器等进行中文和数据的选择录入。
这不但使录入规范化,避免了错误录入,而且还提高了工作效率。
追求真正意义上的“傻瓜式”界面。
4.设计的难点和主要窗体模块的实现
4.1数据模块窗体设置
在编写数据库应用程序时,经常要遇到这样的情况,即好多组件、窗体同时访问相同的数据源,如果为每一个组件或者窗体都设置一个数据源将是十分耗时的工作,而且要保证这些数据源的确是相同的也需花一番功夫。
这是我们在系统实现在碰到的最大困难,那么,能不能将这些数据源集中管理,做成一个统一的模块,需要时就将该模块引入而不必直接操作数据源本身呢?
所以,我们打算采用数据模块(DataModule)来解决这个问题。
简单说来,数据模块是用来集中管理数据源的一个窗体,该窗体可被需要的地方随时引入。
但我们在开发这个系统时,开始使用了一下数据模块,但在使用过程中却碰到了一些问题。
并且考虑这个系统使用到的TADOCommand控件比较多,如果使用数据控件可能会带来管理上的麻烦,如弄混各个数据控件的作用。
还考虑到使用动态生成ADOCommand可能会更节省资源。
所以在本系统中,独立出一块专门放数据控件的FORM,方便管理各个模块的数据访问。
详见以下图所示:
图4-10数据模块窗体图
4.2药品浏览及药品字典维护窗体模块的实现
在本模块,引入了第三方控件ehlib,fr,snc.ehlib是个数据感觉控件包,包含DBGridEh等10多个控件,其中现在图中所看到的Grid就是DBGridEh,调用了药品信息表(ypzdk)。
包括添加、修改、删除、打印、退出等功能:
详见图所示:
图4-11药品浏览及药品字典维护窗体图
4.3新增药品窗体模块的实现
这是药品管理的内容,它包括药品的修改、增加、删除等,下面列出的是新增药品窗体模块图
图4-12药品浏览及药品字典维护窗体图
4.4药品入库窗体模块的实现
此模块调用药品信息表(ypzdk)和库存表(KC),以简码形式在Grid中的药品简码里直接调用出ypzdk表里的药品的名称、简码、编号,以方便输入。
如果选中打印入库单,进行存盘的时候,就会调用报表,而这个报表管理员可以自己进行修改,方便以后升级。
药品报损窗体模块与该模块差不多,其中差别在于,药品堆积,难卖的时候,为进行促销活动,对药品进行打折让利活动的时候,对药品进行报损,修改这批药品在库存当中的价格。
而库存盘点在性质上跟报损类似,只是在药品管理库存的过程中处理的手段不同。
这里就不一一指出了,药品入库窗体模块图如下:
图4-13药品入库窗体图
4.5药品销售窗体模块的实现
药品销售是药店管理面向顾客的窗口,所以在这个模块要求更严格,代码也是最多的。
在访问了很多Delphi网站后,才找到SNC控件,也就是下面图中可以看到的实付金额和找钱这两个控件。
这种控件形象生动,让顾客看地清楚明白,知道自己付了多少钱,找回来多少钱。
这里也相应的调用了YPZDK和CR表。
在此期间如果顾客买的药是处方药,就会跳出警告窗口,并进入到处方药销售窗体模块里。
详见以下图所示:
图4-14药品零售窗体图
图4-15处方药销售窗体图
4.6药品销售统计窗体模块的实现
针对非处方药药品零售的统计,调用CR表,按一定时间段,对药品零售进行统计,查看销售金额和利润,以方便决策人进行决策。
详见以下图所示:
图4-16药品销售统计窗体图
4.7库存统计窗体模块的实现
库存统计是对库存的药品进行统计,可以查看库存变动明细和库存变动统计,使决策者清楚明白的知道哪些药好销售,哪些不好销售。
把库存的费用和损失降到最低点。
下图分别是库存统计初始图和统计结果表:
图4-17库存统计初始窗体图
图4-18库存统计结果窗体图
4.8用户管理窗体模块的实现
针对不同用户进行授权管理,销售员只能管理销售管理这一块,具有销售管理权限,其他功能模块都使用不了,如经理黄晨冰却具有除模板编辑以外的所有权限。
详见图所示:
图4-19用户管理窗体图
4.9备份、还原数据窗体模块的实现
对系统进行数据备份和数据恢复。
数据恢复可以恢复到上次原来的数据状态。
下面是数据还原系列图:
图4-20数据还原窗体图1
图4-21数据还原窗体图2
5.结论与展望
本系统是一个面向小型药店,具有一定实用性的管理信息系统。
它主要完成对药店库存的一系列管理,包括入库、退药、库存以及员工和供应商信息管理。
其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
本系统采用当前流行的面向对象的开发工具—Delphi来完成整个系统的设计,在数据库的设计上利用了SQL的快速性和实用性。
本系统具有相当的实用功能。
在查询方面,系统实现了多条件任意字段的模糊查询,同时在分类查询上实现了动态生成,系统可以自动识别用户不同的输入。
在药品入库、退药和库存三者之间建立了良好的链接关系,某一部分地修改均会自动引发系统对与其相关的部分进行连锁修改。
在用户管理方面,系统较好地实现了用户添加,用户注销和密码修改等各项功能。
系统在设计过程中不可避免地遇到了各种各样的问题,由于整个系统完全都是由5个人组队自学Delphi设计的,有关Delphi许多细节问题都要靠整个团队一起去摸索,但由于精力和水平的限制,并没有完全地理解Delphi的强大功能,所以我们的设计还存在着许多不足之处。
如:
※ 系统程序的稳定性和反馈测试还不完善,系统测试的时间很短,所以还会存在少许问题;
※ 报表打印功能尚不够全面完善;
※ 在一些数据输入时没有及时的进行数据格式校验,不能保证数据输入的绝对正确性。
※ 由于时间关系,系统还有不够完善的地方。
如没有实现多条记录的连锁删除和添加以及数据的导入功能。
以上这些都是需要完善的地方,今后我们会不断地补充和完善。
通过本次毕业设计我们学到了不少新的东西,也发现了大量的问题,有些在设计过程中已经解决,有些还有待今后慢慢学习。
只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。
参考文选:
[1]郑荣贵、黄平、谷会东.Delphi6.0数据库开发与应用.中科多媒体电子出版社.2002
[2]伍俊良.Delphi6控件应用实例教程.北京希望电子出版社.2002
[3]卢国俊.Delphi6数据库开发.电子工业出版社.2002
[4]边萌.Delphi编程起步.机械工业出版社,2002
[5]伍俊良.Delphi6课程设计案例精编.中国水利水电出版社.2002
[6]丁宝康.数据库原理.经济科学出版社.2000
[7]陆丽娜.软件工程.经济科学出版社.2000
[8]网冠科技.Delphi6.0网络及数据库时尚编程百例.机械工业出版社.2002.4
[9]何玉洁.数据库基础及应用技术.清华大学出版社.2002.6
[10]王立峰、延伟东、章华.软件工程理论与实践.清华大学出版社.2003.12
[11]陈省.Delphi深度探索(含盘)第二版.电子工业出版社.2004.1
[12]胥光辉.软件工程方法与实践.机械工业出版社.2004.2
[13]瓦茨·S·汉弗莱.软件制胜之道SEI软件工程丛书影印版.清华大学出版社.2002.8
[14]罗小平.Delphi精要(含盘).电子工业出版社.2004.1
[15]求是科技.Delphi住宿餐饮管理系统开发实例导航.人民邮电出版社.2003.7
[16]陈佳.信息系统开发方法教程[M].
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 药店 系统 教学 提纲