药房管理系统的设计与实现.docx
- 文档编号:8369204
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:23
- 大小:396.47KB
药房管理系统的设计与实现.docx
《药房管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《药房管理系统的设计与实现.docx(23页珍藏版)》请在冰豆网上搜索。
药房管理系统的设计与实现
药房管理系统的设计与实现
学生姓名:
罗荣指导老师:
邓广慧
1绪论
传统的药品进、销、存都是采取手工操作,手工记帐,当药品流通量越来越大时,就会产生很大的问题。
增加人手不仅增大企业的开销,还会造成人员管理上的混乱,导致大量的错账、乱账、死账,给企业的未来竞争带来致命的影响。
由于药房药品种类繁多,按照传统的人工管理会有很多问题。
拥有一套比同行竞争者更为先进的管理系统,将对企业的发展带来极大的利润和方便。
本系统就是为了消除以上的一些不便和弊病,满足企业的未来发展要求和目的而开发的一套管理系统,当它投入运行时,借助此套系统只需少量的管理人员便能处理大量的日常药品进、销、存、退、盘点、查询、等功能。
药品管理是药房日常管理事务中的重要内容,药品管理过程的准确性和高效性至关重要。
利用计算机高效,准确的特点能够很好的满足药房药品管理过程的需求,在保证管理过程准确性的基础上,最大程度地提高管理效率。
1.1设计背景
现代化科学技术的高速发展,使药店的经营管理越来越复杂。
工作人员在日常工作中需要处理的信息,不但在数量上逐渐增加,而且各种数据之间的相互关联及其加工整理的要求更为复杂。
因此,药店药品信息处理必须更加迅速、准确无误,否则无法满足现代化管理的需要。
但在手工操作方式下,随着工作量的不断增大,药店管理人员整日忙于繁琐的事务性工作,既无时间,又不能很好地对药品信息进行处理,对药品的信息很难及时进行分析、实施监督。
同时要提高市场竞争力,还要有好的客户服务。
在手工管理的情况下,药品销售人员很难对客户做出正确的供货承诺。
药店要做到及时响应客户的需求,就必须有准确无误的相关信息,只有这样才能在竞争中获得最佳效益。
一个较好的管理系统能够提供相关信息的查询,实时、准确地反映药店药品的经营状况,使管理者做出更好的预测和决策。
药店管理信息系统正是为了适应这种形势,利用现代化管理工具,使药店的管理更高效更快捷,并由人工管理向计算机管理转化。
它既减少了人力、财力的消耗,也提高了管理的效率和准确度,使管理者能更加方便、快捷、有效的完成工作。
1.2设计目标
该药房管理系统是针对药房管理方面而开发的一款以药品管理为基础(涉及到药品的基本信息查询和管理,药品进货,药品销售,药品退货,药品供应商的信息维护,客户的信息维护等)的药品信息管理软件,它以广泛的调查为基础,最大程度上满足使用需求,优化资源,尽可能地降低成本,统筹安排以实现最大效益化。
此管理系统是以Delphi6.0和SQLServer2005为开发平台而设计的一个功能完整实用、操作简单并且容易上手的管理系统,它使药品管理更加系统化、规范化和自动化,满足了现代药店高效管理的需求。
2系统分析
2.1系统可行性分析
1、经济可行性:
药店药品管理系统费用包括硬件投资、软件开发费及其它费用。
它为药店管理提供所需的信息,并可以提供优化的决策方案供选择,使得管理决策更加科学化。
由于开发此系统所需要的成本比较低,因此在经济上完全可行。
2、技术可行性:
Delphi6.0具有简单、高效、功能强大的特点。
从目前市场上比较流行的数据库管理系统开发软件来看,Delphi6.0和SQL2005都是一种使用方便、易于开发应用系统的数据库前端开发工具。
利用Delphi6.0和SQLServer2005所提供的丰富的开发工具,可以较容易地开发数据库应用系统。
同时Delphi6.0是一个基于多平台的开发工具,可以在多种操作系统上运行,主要包括Windows2007/2000/XP等。
3、管理可行性:
到目前为止,药店的管理还相当烦琐和费事。
因此开发本系统在管理上势在必行。
由以上经济、技术、管理三方面的分析可以看出,本系统的开发时机成熟,从多种角度考虑都是可行的。
2.2系统客户需求分析
通过调查与分析,客户对一个较好的药店药品管理系统要求如下:
1、使用药品管理系统能够对药品信息进行实时监控,特别是通过对库存药品信息的管理来实时地对药店的药品进行控制。
2、通过本系统,管理者能够清楚地看到药店药品的销售情况及其获得利润多少,这样就可以根据此信息控制药品的种类和数量。
3、通过本系统,工作人员可以对药品的信息进行添加、修改、删除和查询。
4、通过报表传递的信息,药店管理者可以对药品的历史信息做出总结,然后根据情况对其进行调整。
比如可以对药品的价格进行调整,使药店获得更多的经济利润。
5、工作人员希望通过本系统可以打出客户购药的清单。
2.3系统开发目标及设计思想
目前,零售型药店品种种类繁多,加上激烈竞争,给药店的经营管理带来困扰。
使用计算机软件对药店加强管理已经势在必行。
更重要的是,它将为科学、高效、规范地进行药品管理铺平道路。
随着药店市场竞争的加剧及医疗保险的的推广,IT应用的发展,已经越来越多的药店采用先进的计算机信息管理系统来提升药店的管理。
对药店实现计算机管理是药店生存与发展的必要条件。
药店管理系统可以对药店的实物及帐务进行精确快速的管理,大大减轻手工劳动强度,提高顾客的满意度,功能强大全面的查询系统使经营者快速掌握药店的经营状况,从而做出正确的决策。
本系统的设计正是为了适应这种形势,利用计算机技术,提高了药店管理的效率和效益。
系统投入使用后,将大大减少药店工作人员的劳动量,并实现了药店管理的系统化、规范化和自动化。
根据用户需求本系统的开发设计理念如下:
1、系统尽量采用单位现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用单位现有资源,提高系统开发水平和应用效果的目的。
2、系统应符合进货、退货、销售、库存的规定,满足药店的日常工作需要,并达到操作过程中的直观、方便、实用、安全等要求。
3、系统程序代码标准化和软件统一化,并确保软件的可维护性和实用性。
4、系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又使
未参与开发的技术维护人员得到补充,使系统便于维护。
5、系统界面尽量简单化,做到实用方便,满足药店中工作人员的需要。
2.4系统开发运行环境
1、硬件环境
处理器:
IntelPentium166MX或更高
硬盘空间:
1GB以上
2、软件环境
操作系统:
2007/2000/XP、Delphi6.0、SQLServer2005。
运行需求:
正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据完好无损,对数据的精确度、时间特性、适应性等都有一定要求,要求系统运行时能够保证正确性、可靠性、高效性、完整性、易使用性、可维护性、可测试性、复用性、安全保密性、可移植性和互联性。
安全性需求:
在软件使用方面,用户使用该系统必须进行必要的身份验证,在用户第一次使该软件的时候以给定的用户名和密码进行登录,一但登录成功必须首先修改登录密码以确保系统的安全性。
3系统设计
3.1系统功能设计
药店管理系统是以数据库前端开发工具Delphi6.0和SQLServer2005为核心开发的。
本系统界面简洁友好,所有操作均十分简单。
系统以药品管理为基本需求,主要功能包括系统管理、药品信息管理、进货信息管理、退货信息管理、销售信息管理和库存信息管理,如图3.1所示。
将具体系统功能进行模块化:
一、系统管理模块
1、用户登录:
用户进入系统,必须先进行登录
2、修改密码:
用户进入系统可以对自己的密码进行修改
3、用户权限:
对允许使用软件的用户指定操作权限
4、系统用户:
指定允许使用软件的人员
二、药品信息管理模块
1、药品信息查询:
对药品的基本资料和信息进行查询
2、添加进货记录:
对新进药品的基本资料和信息进行记录
3、添加退货记录:
对退货药品的基本资料和信息进行记录
4、添加销售记录:
对销售药品的基本资料和信息进行记录
5、过期药品提示:
对超过有效期至的药品用红色字体进行提示
6、低于下限提示:
对低于库存下限的药品用蓝色字体进行提示
三、进货信息管理模块
1、进货记录添加:
对药品的基本资料和信息进行添加
2、进货记录修改:
对药品的基本资料和信息进行修改
3、进货记录删除:
对药品的基本资料和信息进行删除
4、进货记录查询:
对药品的基本资料和信息进行查询
四、退货信息管理模块
退货记录查询:
对退货药品的基本资料和信息进行查询
五、销售信息管理模块
销售记录查询:
对销售药品的基本资料和信息进行查询
单个客户消费记录:
对单个客户消费的药品进行记录
销售日报表:
对一天的销售情况进行报表统计
销售月报表:
对一个月的销售情况进行报表统计
六、库存管理模块
1、库存记录查询:
对库存药品的基本资料和信息进行查询
2、过期药品提示:
对库存药品中超过有效期至的药品进行提示
图3.1系统功能模块图
3.2数据库设计
3.2.1数据库需求分析
1、信息要求:
通常药店管理人员希望系统的数据库中包含药品名称、货号、入库日期、供应商编码、药品类别、进货单价、药品的数量、零售单价、生产日期、有效期至、退货日期、销售单号、销售人员和销售日期等信息。
2、处理要求:
用户可以通过进货记录对相关的信息进行添加、修改、删除和查询;可以通过药品记录对药品进行退货和销售的操作;可以通过销售记录对已销售的药品进行查询;可以通过库存记录统计与查询各种药品及其相关的信息。
要求信息的处理快速而准确。
3、安全性与完整性要求:
除经理以外,普通的管理员只能对与自己相关的信息进行操作。
用户要求其所使用的信息完整可靠。
3.2.2概念结构设计
实体有药品、供应商、管理员、顾客、进货信息、退货信息、销售信息和库存信息,各个实体的属性图及其关系描述如下:
图3.2药品实体属性图
图3.3供应商实体属性图
图3.4管理员实体属性图
图3.5顾客实体属性图
图3.6进货信息实体属性
图3.7退货信息实体属性图
图3.8销售信息实体属性图
图3.9库存信息实体属性图
图3.10实体间E-R图
3.2.3逻辑结构设计
根据系统功能设计的要求以及功能模块的划分,建立系统信息数据库。
本系统数据库主要有库存信息表、销售信息表、退货信息表和进货信息表等。
通过数据库可以对各类信息进行添加、修改、删除、查询等操作。
现列出部分建表导入数据代码如下:
—————————————建表:
usedrugstore//使用数据库
createtablesuppliers1//建立供应商表
(
sup_idchar(10)notnullPRIMARYKEY,
//设置供应商编号不能为空,并作为主键
sup_namevarchar(50)notnull,//设置供应商名不能为空
sup_telnumeric(11,0),
sup_addressvarchar(50)
)
createtabledrugs//建立药品信息表
(
drug_idchar(10)notnullPRIMARYKEY,
//设置药品编号不能为空,并作为主键
drug_namevarchar(50)notnull,//设置药名不能为空
pricesmallmoney,
amountint,
typevarchar(50),
product_datedatetime,
BBDdatetime
)
createtablesale1//建立销售信息表
(
sale_idchar(10)notnullPRIMARYKEY,
//设置销售编号不能为空,并作为主键
cus_idchar(12)notnullFOREIGNKEYREFERENCEScustomers1(cus_id),
//设置顾客编号不能为空,并作为销售信息表的外键
drug_idchar(10)notnullFOREIGNKEYREFERENCESdrugs(drug_id),
//设置药品编号不能为空,并作为销售信息表的外键
sale_pricesmallmoney,
sale_amountintnotnull,
sale_datesmalldatetime
图3.11建表后的效果图
—————————————导入数据:
usedrugstore//使用数据库
insertintodrugsvalues('d01','百服咛',20,500,'感冒药','12232003','12232018')//向药品表中分别导入编号,名字,单价,数量,类别,生产日期,有效期至的信息
insertintodrugsvalues('d02','安定',15,300,'止痛药','10202013','10202016')
insertintodrugsvalues('d03','阿莫西林颗粒',12,400,'感冒药','9202013','2202018')
insertintodrugsvalues('d04','名正',25,100,'肝病用药','10132013','5132016')
insertintodrugsvalues('d05','百多邦',7,300,'皮肤药','12232013','12232016')
insertintodrugsvalues('d06','无极膏',16.5,200,'皮肤药','10102013','10102016')
insertintodrugsvalues('d07','吗丁啉',5.5,500,'消化不良','8102013','8102015')
insertintodrugsvalues('d08','板蓝根',14,300,'感冒药','8102013','8102016')
insertintodrugsvalues('d09','诺邦',20,100,'呼吸道感染','8102013','8102017')
insertintodrugsvalues('d10','诺德伦',15,200,'痛风','8102013','8102018')
insertintodrugsvalues('d11','达美康',14,200,'糖尿病','8102013','8202016')
图3.11导入数据后的效果图
4系统实现
药店管理系统主要实现的功能有系统登录、药品信息管理、进货信息管理、退货信息管理、销售信息管理、库存信息管理及其它辅助功能。
下面主要对系统管理模块,药品信息模块和报表做一个详细的介绍。
4.1系统登录模块的实现
用户登录窗口顾名思义就是对使用软件的用户进行身份校验,只有被允许的用户才能使用,从而间接对数据进行了保护。
本系统对用户进行了划分,用户要根据经理分配给自己的操作帐号和密码进行登录。
用户可在图4.1中输入操作帐号和密码进行身份验证。
图4.2系统登录窗口
在图4.1中系统会校验输入的操作帐号和密码的合法性,如验证不成功,则给出提示框,提示登录失败。
如验证成功,则进入图4.2所示窗体
图4.2系统主界面
4.2药品信息管理模块的实现
药品信息模块在本系统中起着非常重要的作用,它的主要任务是显示药品的基本信息,添加药品的进货记录、退货记录和销售记录。
在药品信息显示表中单击右键可弹出添加记录菜单,如图4.3。
图4.3添加记录窗口
选择所需要的添加记录可分别进入药品的进货记录窗口(图4.4),退货记录窗口(图4.5)和销售记录窗口(图4.6)这样就可以分别对药品的进货记录,退货记录和销售记录进行添加。
图4.4进货记录窗口
图4.5退货记录窗口
图4.6销售记录窗口
药品信息管理模块中还可以实现药品信息的查询,除库存管理员之外都能实现此项功能。
进入药品记录,单击查询弹出药品信息表,如图4.7。
图4.7药品基本资料查询功能的实现
其实现代码如下:
procedureTChaXunF.BitBtn1Click(Sender:
TObject);
var
TempSqlText:
string;
I:
Integer;
strCondition:
string;
begin
forI:
=0to7do
ifFCondition[I]<>''then
strCondition:
=strCondition+FCondition[I]+'and';
{$IFDEF__DEBUG}
MessageBox(Handle,PChar(strCondition),MsgI,Msg1IBTN);
{$ENDIF}
ifstrCondition<>''then
strCondition:
='where'+Copy(strCondition,1,Length(strCondition)-4);
TempSqlText:
='SELECTp_idas入库单号,drug_idas药品编号,'+'drug_nameas药品名称,amountas数量,priceas金额,typeas类别,product_dateas生产日期,BBDas有效期至+'p_dateas入库日期,'+'JinHuoRenYuanas进货人员,JianYanRenYuanas检验人员,LuRuRenYuanas录入人员,'+'beizhuas备注FROM%s'+strCondition;
TempSqlText:
=format(TempSqlText,[frmMain.ShuJuBiao]);
frmMain.QuerySQL:
=TempSqlText;
withfrmMain.ChaXunAQdo
begin
close;
SQL.Clear;
SQL.Add(TempSqlText);
open;
ifrecordcount>0then
begin
frmMain.QueryString:
='select*from'+frmMain.ShuJuBiao+'where'+copyex(TempSqlText,'','',1)+'='''+frmMain.DBGrid1.Columns[0].Field.AsString+'''';
end;
end;
close;
end;
4.3报表的实现
对于企业来说,每天的数据量会十分庞大,而每件药品的进货价格和销售价格也不相同,要动态反映企业每天的经营情况,一个最基本的统计就是报表。
本系统可以对药品的信息记录、进货记录、退货记录、销售记录和库存记录进行查询并且根据查询条件生成报表。
例如图4.8是药店某一日的进货报表。
图4.8药店某日药品进货报表
4.4测试与维护
调试和运行是应用开发过程中必不可少的步骤,在Delphi6.0中提供了Debug(调试)调试工具和Run(运行)面板。
其间采用了综合测试方法,主要错误为数据库操作错误。
当出现该问题时,经过严密与反复的调试,主要采用了以下方法来解决:
1、利用SQLServer提供的查询分析器分析程序用到的SQL语句。
2、利用Delphi提供的调试工具对数据库操作断点跟踪。
但还有很多需要改进和扩展的地方。
为使本系统应用更加广泛,运行速度更快,可以从以下方面进行完善:
1、增加数据库备份和数据库恢复功能。
2、增加系统维护功能。
5经验总结
在这一周的课程设计实习过程中,我的收获良多。
在一周的时间中,其实画在建立数据库这个环节上的时间不是很多。
在学习数据库这门课程的时候,我得书上有讲过:
“数据库设计的特点之一是三分技术,七分管理,十二分基础数据”。
在这一周的课程设计中我深有体会,在开始的需求分析和基础数据的获取阶段我差不多花了3天的时间来收集整理材料,由于我对于药房的药品管理这个领域比较陌生,所以花了比较长的时间来了解这个行业的情况和信息。
当收集的资料差不多之后,接下来的任务就比较轻松:
因为在需求分析阶段了解可以将整个系统中划分成几个实体,每个实体有什么属性,以及实体和实体之间有什么联系。
所以在接下来的概念设计中的E—R图的设计就比较简单,且在画E—R图的时候就可以大致知道整个系统需要划分成几个模块来实现,所以逻辑设计阶段也比较轻松,至于物理阶段的设计,使用的是SQL数据库,是出于操作简单,运行速度快的特点选用的。
在把数据库设计完成之后,转而投入了实现了前台界面与后台数据库交互。
在本次课程设计过程中,我最大的体会就是了解了一个具体的数据库设计的过程,以及每个过程之间的紧密联系和他们不同的重要性。
就像前面提到的一样,在书上看到“数据库设计的特点之一是三分技术,七分管理,十二分基础数据”这句话的时候,并没有引起我什么注意,可是在这次课程设计过程中,我深的体会到其实要建立数据库中的几个基本表其实很容易,难的是从我所不熟悉的现实领域收集提取建立数据库所需要的基本数据。
在这次课程设计中,我了解到将书本上的知识运用到实际中的时候,会使我对原有的知识有更深层次的理解以及掌握而且通过这次课程设计,我掌握了为某个具体系统建立数据库的流程和方法,肯定会对我将后的学习和实践有很大的帮助。
在最后特别感谢指导老师对于我的帮助!
参考文献
[1]刘晓华,张健,周惠贞编著.JSP应用技术开发详解(第三版)[M].北京:
电子工业出版社,2011年
[2]李钟尉,马文强,陈丹丹等编著.Java从入门到精通[M].北京:
清华大学出版社,2008年
[3]林上杰等编著.JSP2.0技术手册[M].北京:
电子工业出版社,2011年
[4]Amon-C-Shinder-T.,Carasik-Henmi,“TheBestDamnFirewallBookPeriodSyngress”[M],2003年
[5]杨文龙.软件工程.北京:
高等教育出版社2003年
[6]王立峰,延伟东,章华.软件工程理论与实践.北京:
清华大学出版社,2003年
[7]张刚著.信息系统开发实践教程[M].成都:
电子科技大学出版社,2001年
[8]黄梯云著.管理信息系统(修订版)[M].北京:
高等教育出版社,2000年
[9]马士林,林勇著.供应链管理(第二版)[M].北京:
高等教育出版社,2006年
[10]李贤华著,基于JSP技术的大型网上购物系统的设计与实现[J].计算机与现代化,2008年
附录
附录1:
建表
usedrugstore
createtablesuppliers1
(
sup_idchar(10)notnullPRIMARYKEY,
sup_namevarchar(50)notnull,
sup_telnumeric(11,0),
sup_addressvarchar(50)
)
createtabledrugs
(
drug_idchar(10)notnullPRIMARYKEY,
drug_namevarchar(50)notnull,
price
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 药房 管理 系统 设计 实现