药品仓库管理系统的设计与研发Word文件下载.docx
《药品仓库管理系统的设计与研发Word文件下载.docx》由会员分享,可在线阅读,更多相关《药品仓库管理系统的设计与研发Word文件下载.docx(36页珍藏版)》请在冰豆网上搜索。
[8]耿祥义,张跃平.?
JSP实用教程?
.清华大学出版社,2003年5月1日:
1-354月.
[9]陈刚.Eclipse从入门到精通[M].北京:
清华大学出版社,2005:
416-417.
[10]孙卫琴.精通Struts:
基于MVC的JavaWeb设计与开发[M].北京:
电子工业出版社,2004:
1-9.
[11]〔美〕格罗夫著,章小莉等译.SQL完全手册〔第二版〕[M].北京:
电子工业出版社,2006:
12-14.
[12]王虎,张俊.管理信息系统[M].武汉:
武汉理工大学出版社,2004.7.
13]东方华人.ASP.NET数据库开发[M].北京:
清华大学出版社,2004.6.
指导教师评语
建议成绩:
优良中及格不及格
指导教师签字
年月日
第一章绪论.................................................................5
系统开发背景.............................................................5
.................................................................6
技术可行性研究...........................................................6
经济可行性研究...........................................................7
操作可行性研究...........................................................7
(1)系统用户管理...........................................................8
(2)药品进货管理...........................................................8
(3)药品销售管理...........................................................8
(4)库存转移管理...........................................................8
(5)职工管理...............................................................8
(6)查询与报表分析.........................................................8
.................................................................9
2.3系统功能结构设计图......................................................9
2.4非功能性需求分析.........................................................9
(1)系统处理的准确性和及时性...............................................9
(2)系统的开放性和系统的可扩充性...........................................9
(3)系统的易用性和易维护性................................................10
(4)系统的标准性..........................................................10
(5)系统的先进性..........................................................10
(6)系统的响应速度........................................................10
3.2系统体系结构...........................................................15
数据库逻辑设计..........................16
4.1.1数据库的概念结构设计和ER图..........................................16
5.3进货销售模块......................................................29
5.4进货管理模块......................................................31
5.5职员管理模块.......................................................34
5.6坏货转移模块........................................................36
致谢...................................................................42
参考文献..................................................................43
第一章绪论
系统开发背景
随着现代科学技术的迅猛开展,计算机技术已渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入数字化时代,有巨大的数据信息等待着加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。
实习期间,我们通过对市场的调查,针对现在各中小药品公司对销售业务的实际需要,开发了这套药品销售系统。
在开发过程中,我们针对当前各药品公司管理特点和技术人员的实际水平,采用Window基于图形界面这一易学易用的操作系统环境,在系统设计过程中,我们尽量采用一些易懂易读的接口界面,使用户可以在短期内完全掌握。
在功能方面,我们借鉴现在市场上流行的财务软件的特点,抛去泛泛不实用的缺点,使我们设计的系统在功能上极贴近中小药品公司的使用要求。
在设计过程中,我们始终把系统的正确性放在首位,力求数据的完整,处理的正确性。
在此根底上优化程序代码,加速系统运行和减少对系统资源的占用。
作为一家中小型药品公司,他们的主要业务是销售产品,目前系统运做中存在很多题,所有的进货单,出货单都是人工填写,耗时而且易出现错误;
库存也是人工记帐,无法随时掌握最准确的存货情况;
对于销售数据,往往要花好多时间和精力去计算每个业务员的销售业绩,每项药品的销售状况,为了解决上述问题,提高经济效益,准备导入进销存系统进行销售,采购,库存等的计算机化管理。
经过三个月的设计开发,现在已完全到达预期效果,实现了最初设定的目标。
1.2问题定义
药品库房管理系统用计算机管理医院药方药品管理的一种计算机应用技术的创新,在计算机还未普及之前医院药房药品管理都是由工作人员手工书写的方式来操作的.现在一般的医院药方都采用计算机智能化管理,采用计算机作为工具的实用的计算机药方库存管理程序来帮助管理员进行更有效的药品管理工作。
药方管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据平安性好的库。
而对于后者那么要求应用程序功能完备,易使用等特点。
药品按类管理:
所以需要有一药品类型信息药品必须属于一个药品类型,如果一个药品类品存在药品或存在下级药品类型那么该类型不该删除,需要记录供给商信息,在涉及药品数量的地方,要给出相应的单位,在进货信息中要包含供给商等信息。
药品销售信息单中要包含登记药品,销售数量单价等信息,药品报损要有报损原因。
进货,销售,报损操作要有相应操作员信息。
只有管理员登陆之后才可以使用系统,默认的管理员不可以删除进货,销售,库存,报损信息都要可以添加,修改,删除,分类,查找。
技术可行性研究
在IT行业中从业的工作人员一般都要求懂计算机,具有一定软硬件根底,会使用各种管理软件,熟悉IT产品。
因为,药品公司中的对员工素质要求比拟高,从管理层到下面的营销人员,都要求具有一定的IT背景,所以在新系统投入使用时,只要对员工进行少量的培训,系统的功能和使用方法就根本上能够使系统顺利的运行了。
经济可行性研究
因为通过网络传递销售信息,可以不受距离的限制,因此可以节约许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高企业的销售效率,即提高了企业的经济效益,所以从经济上是完全可行的。
⑴企业有能力承当研发开支
开发新系统的工作是一项艰巨复杂的工作,它的投资主要是人力和物力的投资。
对于本系统的开发来说,其主要投资还是在人力和物力两个方面。
如果是企业自己安排人手开发系统的话,其主要的投资还是在人力资源上,从系统的业务需求调查到系统的分析编码制作都是需要巨大的人力投入的。
药品公司作为一个尖端的高科技产业,其员工要求都比一般企业的要求要高,而且对系统开发及软件产业了解比拟多,所以在自我开发管理系统的过程中,企业自己比拟容易安排人手,这样就可以为企业节约大局部的额外开支。
同时药品公司就其他产品还说,属于高端行业,无论是产品的价格还是质量都比拟高,而经营产品的经销商或者是商家都要求有雄厚的资金的作支持。
所以,在系统的开发过程中,企业完全有能力承当开发费用。
⑵新系统将为企业带来经济效益
管理系统是一个信息化、智能化和先进管理理念的集合体。
而管理是一个动态过程,在其运行过程中要采取多项措施。
所以在管理中获得经济效益是一个综合效益,要对他进行直接定量的分析是比拟困难的。
一般新系统带来的经济效益是间接的,其最主要的表现就是减少了企业的管理费用和人力开支。
而其他一些烦琐的事物都通过新系统来加以分析解决,不仅节省了大量的时间,还为企业的各项决策提供了珍贵的资料,为企业带来巨大的经济效益。
操作可行性研究
本系统采用Windows图形界面,是大家熟悉的操作系统,对于用户只需要具有一般的计算机知识的人员都可以轻松上手。
而且整个销售系统采用最友好的交互界面,简洁明了,不需要对数据库非常了解。
由此,该系统的操作是可行的,有必要推广该系统!
综合以上三方面,该系统具有很高的开发可行性,无论是从技术上经济上还是操作上。
故此,可以设计该系统流程图,建立数据字典。
第二章需求分析
药品管理系统是为了加强药品管理,以便更好地对药品进行监督和管理,对售药机构人员的工作,起到了高效性、准确性管理而开发。
本系统主要包含系统用户管理模块、药品管理模块、销售管理模块、进货管理模块、存货转移管理模块。
药品管理系统是以合理、全面、准确的药品编码体系为根底,提供了对药品数量、金额、有效期的全面管理,统一的药价管理机制标准了药品的价格。
系统能随时提供药库的库存、药品流向和消耗,还能根据现有库存,药品有效期提供采购方案或应暂停采购的药品清单,以提高资金的利用率,防止不必要的损失,方便快捷的途径对药根本信息进行定期的更新和删除等管理
〔1〕系统用户管理:
允许添加删除用户〔只有管理员才可以修改〕,任意权限的用户允许更改自己的密码,添加或删除职工,修改职工,对药品进行销售和库存的控制的资料。
〔2〕药品进货管理:
当企业需要增加新的销售药品时,利用此模块可以添加新的药品信息,删除旧的药品信息,修改已存在的药品信息,提供所有与药品相关的各类信息,初始化库存,初始化供给商相关信息。
〔3〕药品销售管理:
药品统一的价格销售,对已查询销售单,可以对药品的价格进行控制。
〔4〕库存转移管理:
实际生活中容易发生药品过期和损毁,此时利用此模块对过期的药品和损毁的药品进行清理。
〔5〕职工管理:
对药品企业进行职工的管理,对职工进行增加,修改,删除,查询等操作。
〔6〕查询与报表分析:
此功能并未单独作为一个模块,而是分布在各个模块中,各个模块产生业务时,可以在各模块的相应功能按钮上选择查询
本统开发目标是效劳于药品库房管理人员,方便工作人员,对过往药品存放,发放收费票据记录,对信息的分类管理等,同时力求做到界面人性化,功能齐全,数据存储平安。
功能划分:
药品管理系统分为系统用户管理、药品销售管理、药品库存管理、进货管理、职工管理、查询与报表分析。
2.3系统功能结构设计图:
系统程序登陆
主界面
出库
入
库
数据维护
窗口
帮助
2.4非功能性需求分析:
为了保证系统能够长期、平安、稳定、可靠、高效的运行,药品管理系统应该满足以下的性能需求:
〔1〕、系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。
〔2〕、系统的开放性和系统的可扩充性药品管理系统在开发过程中,应该充分考虑以后的可扩充性。
例如用户查询的需求也会不断的更新和完善。
所有这些,都要求系统提供足够的手段进行功能的调整和扩充。
而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的标准,可以简单的参加和减少系统的模块,配置系统的硬件。
通过软件的修补、替换完成系统的升级和更新换代。
〔3〕、系统的易用性和易维护性图书管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;
针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
〔4〕、系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。
所有这些都要符合主流国际、国家和行业标准。
〔5〕、系统的先进性目前计算系统的技术开展相当快,作为药品管理系统工程,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。
这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。
另一方面,在系统设计和开发的过程中,应在考虑本钱的根底上尽量采用当前主流并先进且有良好开展前途的产品。
〔6〕、系统的响应速度药品管理系统系统在日常处理中的响应速度为秒级,到达实时要求,以及时反应信息。
在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原那么是保证操作人员不会因为速度问题而影响工作效率。
第三章详细设计
程序流程图
依据软件工程的根本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
具体来说就是把经过总体设计得到的各个模块详细的加以描述。
本系统采用支持面向对象的Eclipse作为开发工具,运用了J2SE的SWing的技术,更加的方便了程序员的工作。
程序对系统配置要求较高。
在此给出软件系统的主要模块
职工管理
坏货转移
进货管理
用户管理
销售管理
主程序模块图
根据以上主程序的模块图,我们可以得出下面的关于各个模块的程序流程图
结束
退出系统
管理员
系统管理员
用户类型
开始
说明:
用户登陆系统时,系统判断用户的级别,如果为系统管理员,那么可以进行用户的用户管理,如果是管理员,那么可以进行相应的销售管理,进货管理,坏货转移,职工管理,管理员点击退出按钮时,退出系统
用户核对
用户登陆
用户管理操作
用户登陆流程图
用户根据的用户名和密码登录系统,只有登录成功才能进行系列的用户管理、库存管理、销售管理,职工管理的操作。
用户
核对药品信息
药品添加
药品表
药品创始流程图
库存表
库存创始
库存管理
操作失败操作成功
存货创始流程图
核对信息
销售流程图
录入坏货信息
成功
坏货转移流程图
用户登陆后进行药品的相关管理,通过药品创始,为系统初始化一些药品及添加新的代售药品。
通过存货创始将具体进货的药品录入库存中,销售成功那么对库存做相应的修改。
当药品损坏或者过期时,应当对库存做相应的调整
职员管理
录入职员信息
操作成功
失败
成功
职员列表
图4.7职员管理图
管理员通过职工管理模块进行职工的管理,添加职工后,录入到职员列表中。
系统体系结构
3.2.1用户登陆模块
1.输入工程:
输入用户名及密码。
2.输出工程:
翻开系统。
3.2.2用户管理模块
与用户相关的所有信息。
操作结果的显示,出错弹出对话框。
3.2.3销售管理模块
选择药品编号,药品的进销价格。
3.2.4进货管理模块
1.进货工程:
供给商的详细信息,仓库的详细信息,药品的数量。
药品的有关资料的显示,进货单列表
3.2.5坏货管理模块
发生意外无法使用的药品编号。
操作结果的显示。
3.2.6职工管理模块
职工的详细信息。
根据用户的输入显示相应的结果。
第四章数据库设计
4.1数据库逻辑设计
4.1.1数据库的概念结构设计和ER图
在需求分析阶段已完成该系统所有的数据分析。
根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。
概念结构设计就是要找出实体和他们之间的联系,去除非本质的东西。
实体是名词,在ER图中设计中就是所说的表。
比方“药品〞,“库存〞。
行为是动词,在ER图中设计时一般不考虑行为,它是业务逻辑,在详细设计才有设计,是方法。
比方“销售〞,“进货〞等等。
在设计ER图时时强调的是不同实体之间关系,不是行为。
比方:
药品"
销售"
库存,“转移〞是一种关系,不是行为。
在某种情况下,“销售〞是一个关系表,将“药品〞和“库存〞联系起来。
在找出实体后,我们要根据分析来定义实体的属性,就是表的列。
比方药品有ID,名称,进价,销价,简介等等;
库存有ID,名称,数量等等。
“库存〞可拥有0-MANY的“药品〞,而药品同样属于0-MANY的库存。
所以是多对多的关系
根据以上的分析给出下面的概念结构设计得E-R图如图4.3所示。
第五章编码实现
5.1用户登录模块
用户登陆界面如图5.1所示:
关键代码如下:
publicLogin(Stringmsg){
super(msg);
setLayout(newBorderLayout());
login_message=newJTextField("
用户登陆"
);
login_message.setEditable(false);
login=newJButton("
登陆"
regeist=newJButton("
注册"
setVisible(true);
add(login_message,"
North"
JPanelbtn=newJPanel();
btn.setLayout(newGridLayout(1,2));
btn.add(login);
btn.add(regeist);
add(btn,"
South"
JPanelinput=newJPanel();
JLabelunameLabel=newJLabel("
用户名:
"
uname=newJTextField("
20);
JLabelpwdLabel=newJLabel("
密码:
pwd=newJPasswordField("
input.setLayout(newGridLayout(2,2));
input.add(unameLabel);
input.add(uname);
input.add(pwdLabel);
input.add(pwd);
add(input,"
Center"
login.addActionListener(newloginListener());
regeist.addActionListener(newregeistListener());
}
classloginListenerimplementsActionListener{
publicvoidactionPerformed(ActionEventevent){
UserDaoud=newUserDao();
if(ud.login(uname.getText().trim(),pwd.getText().trim())){
newMainGui().start();