精品基于java的医药管理系统的设计与实现毕业论文设计.docx
- 文档编号:5137305
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:27
- 大小:328.86KB
精品基于java的医药管理系统的设计与实现毕业论文设计.docx
《精品基于java的医药管理系统的设计与实现毕业论文设计.docx》由会员分享,可在线阅读,更多相关《精品基于java的医药管理系统的设计与实现毕业论文设计.docx(27页珍藏版)》请在冰豆网上搜索。
精品基于java的医药管理系统的设计与实现毕业论文设计
青岛农业大学
毕业论文(设计)
题目:
基于java的医药管理系统的设计与实现
姓名:
学院:
理学与信息科学学院
专业:
班级:
学号:
指导教师:
2013年6月10日
毕业论文(设计)诚信声明
本人声明:
所呈交的毕业论文(设计)是在导师指导下进行的研究工作及取得的研究成果,论文中引用他人的文献、数据、图表、资料均已作明确标注,论文中的结论和成果为本人独立完成,真实可靠,不包含他人成果及已获得青岛农业大学或其他教育机构的学位或证书使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
论文(设计)作者签名:
日期:
年月日
毕业论文(设计)版权使用授权书
本毕业论文(设计)作者同意学校保留并向国家有关部门或机构送交论文(设计)的复印件和电子版,允许论文(设计)被查阅和借阅。
本人授权青岛农业大学可以将本毕业论文(设计)全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文(设计)。
本人离校后发表或使用该毕业论文(设计)或与该论文(设计)直接相关的学术论文或成果时,单位署名为青岛农业大学。
论文(设计)作者签名:
日期:
年月日
指导教师签名:
日期:
年月日
摘要Ⅰ
AbstractⅡ
绪论1
1系统分析1
1.1需求分析1
1.2可行性分析1
2系统设计2
2.1系统开发环境及目标2
2.2系统功能结构2
2.3系统流程图3
2.4逻辑分层结构设计4
2.5文件夹组织结构5
3数据库设计6
3.1数据库分析6
3.2数据库设计6
3.3数据库创建8
4配置文件9
4.1配置web.xml文件9
4.2配置struts-config.xml文件10
4.3配置hibernate.cfg.xml文件10
5系统模块设计12
5.1主系统管理模块12
5.2基础信息管理模块16
5.3药品销售管理模块18
5.4进货/需求管理模块19
6总结21
致谢22
参考文献23
基于java的医药管理系统的设计与实现
摘要:
java作为一种计算机语言,经过几十年的磨练和完善,有着相当乐观的优越性。
与其他计算机语言一样,都提供了可移植性和垃圾回收原理,但与之不同的是,java不仅具有这些特点,同时还具有网络连接、数据库存储和绘图功能,集多种优点于一身。
正是由于java的这些优点,所以本论文主要讲述的是以java语言为核心,采用mySql数据库储存数据,运用Hibernate和Struts框架的医药管理系统的设计及应用。
此系统流程相对清晰,功能上主要完成对医学药品的管理,其中包括药品以及类别的增删改查,药品库存量的修改,同时也实现了对系统管理员的增删操作。
通过后期系统的不断完善和改造,优化了界面显示,修改了系统漏洞,完成了涉及到的所有操作。
关键词:
java技术;mySql数据库;Struts框架;Hibernate框架
DesignandImplementationofthemedicalmanagementsystembasedonjava
Abstract:
Javaasakindofcomputerlanguage,afterdecadesofpolishandperfect,hasafairlyoptimisticsuperiority.Withothercomputerlanguages,theyprovidesportabilityandgarbagecollectionmechanism,butincontrast,Javanotonlyhasthesecharacteristics,butalsohaveanetworkconnection,databasestorageandgraphics,combinesmanyadvantagesinone.BecauseoftheseadvantagesofJava,sothisthesisismainlyaboutmedicinemanagementsystemdesignandapplicationwiththeJavalanguageasthecore,usingmySqldatabasetostoredata,usingHibernateandtheStrutsframework.Processofthesystemisrelativelyclear,thesystemfunctionmainlycompletesthemanagementofmedicaldrugs,includingpharmaceuticalandcategoriesdeletedorchanged,druginventorymodified,aswellasimplementationofthesystemadministratortoaddordeleteoperation.Throughthesystemconstantlyimprovesandreformsfinally,optimizingtheinterfacedisplay,changingthesystemvulnerabilities,completingalloperationsinvolved.
Keywords:
Javatechnology;MySQLdatabase;
Strutsframework;Hibernateframework
绪论
伴随着科技时代的不断进步,网络技术在人们的日常生活中的重要性不断提升。
由于高科技的飞速发展,人们的日常生活习惯也在发生变化,特别是计算机的大量普及,加快了人们生活节凑的步伐。
目前,中国的科技正处在初级阶段,很多技术还不太成熟和完善,如何能在短时间内提高工作效率是人们首先考虑的问题。
针对我国医药管理这方面来说,传统的管理方式相对繁琐,操作复杂,没有科学、完善的方法,不仅耗时而且还浪费人力物力。
相对于其他国家而言,针对医药方面的管理研发已有几十年的经验了,体系比较完善。
其中也有一些比较著名的系统,例如:
退伍军人管理局的DHCP系统、美国犹他州的LDS医院药品的HELP系统和麻省总医院药品的COSTAR系统。
从医药管理系统发展趋势来看,由原来的小型化正逐步演化成智能化,又会在一定程度上向集成化转变[1]。
医药管理系统的主要目标是提高工作效率,减轻医院劳动人员的工作强度,降低在医院药品管理上的资金投入,从而获得更好的社会效益。
医药管理系统的主要特点是占用的系统资源较少,所需的计算机技术相对简单,便于操作。
主要处理文字和数字数据为主,易于实现。
本文主要阐述了依据java技术实现的医药管理系统,运用目前比较流行的Struts框架技术处理逻辑关系。
采用Mysql数据库技术以表的形式储存数据,运用Hibernate技术对数据库中数据进行相关操作,并对数据库的创建和设计以及Hibernate技术的配置做了详细的描述[2]。
1系统分析
1.1需求分析
在当今社会飞速发展的时代,各行各业都在面对着大量的数据信息,医院也不例外,对医药的进销存管理也构成了医院各项管理中比较重要的一部分。
面对着每日大量药品的输入和输出,以及众多拥有不同需求的客户,如果采用传统的、非智能化的手工方式来处理所带来的这些数据信息,不仅效率提高不上去,而且还会动用大量的人力物力,增加了医院的开销和资金投入,但却得不到较大的利益。
如何解决以上这些问题,那就需要一个比较成熟的、科学的方法。
所以,一个完善的医药管理系统不仅可以带来管理人员对药品的快速管理,而且还能在一定程度上也满足了消费者的需求。
它应具有以下优点[3]:
(1)操作界面更加人性化,处理上更加高效。
(2)采用高端的软件技术研发和较长的使用寿命。
(3)可简化工作人员的操作,从而提高工作效率。
1.2可行性分析
任何一款软件研发出来,并不是凭空捏造,它应具有社会效益以及可行性。
针对医药管理系统来说,它应具有以下可行性[4]:
经济方面:
从经济的角度进行评估,该系统的创建和日后的维护,不会耗费大量的资金。
不仅如此,该系统设计理念就是节省人力,完善管理水平,提高管理质量,屏蔽管理漏洞,因而此系统所带来的社会经济效益将远远大于开发中的投入。
技术方面:
从技术的角度进行评估,该系统依托于java技术。
该语言通熟易懂,技术上可实现跨平台。
与此同时,采用Struts和Hibernate框架,分别完成逻辑操作和数据操作,运行效率高,处理速度快[5]。
通过大量的开发实践证明,这些技术相当完善,适于此系统的开发。
实施方面:
从实施的角度进行评估,该系统对硬件配置要求不高,部署又相对简单,操作起来难度不大,普通操作人员很容易应用此系统,不必接受过多的专业知识的培训。
2系统设计
2.1系统开发环境及目标
(1)系统开发环境
不同的开发环境,将在一定程度上影响到系统的正常运行。
所以有必要给出该系统的开发环境,避免出现不必要的麻烦。
运行环境选择如下[6]:
开发环境:
Window7操作系统
开发工具:
MyEclipse9.0开发软件
Web服务器:
apache-tomcat-6.0.36容器
(2)系统目标
针对当前医院管理的要求,以及从用户体验的角度出发,该系统的制定应具备以下目标[7]:
1系统安全系数高,运行相对稳定。
2界面简单但不失美观,操作方便快捷。
3完成药品基础信息和用户账号的管理。
4能及时的预知药品的销售状况及库存信息。
2.2系统功能结构
通过查阅相关书籍和上网搜索资料,从医院管理状况出发,将该管理系统定义为四大功能模块,它们分别是主系统管理、基本信息管理、药品销售管理和进货与需求管理[8],其系统的主要功能结构图如图2-1所示。
图2-1功能结构图
2.3系统流程图
所谓流程图,就是以一种特定的图形符号加上必要的说明来解释某一个工艺过程或管理过程。
为了能更直观的说明该系统的管理功能,快速地掌握和了解系统的处理任务,所以,给出该系统各个功能模块的流程图,主流程如图2-2所示。
图2-2系统主流程图
以下给出了各个功能模块的流程图,如图2-3所示。
图2-3各功能模块流程图
2.4逻辑分层结构设计
在分析该结构设计的之前,首先有必要了解一下MVC框架的设计思想。
MVC主要包括三层结构,及M层、V层和C层。
M层是模型层,也就是数据层,其中包括持久层和数据库层,用于对数据的储存和操作,主要涉及到的技术有JDBC技术和Hibernate框架技术;V层是视图层,是用来显示软件页面,接受用户请求和以某种形式呈现数据,注重数据的显示效果,主要涉及到的技术有Html技术和Jsp技术,还有Javascript及相应脚本框架;C层是控制层,是用来对M层和V层的耦合,主要起到逻辑处理作用,捕获用户的请求,并对用户请求进行处理,将所得到的处理结果返回给视图层,并在页面中显示数据[9]。
MVC架构的请求流程:
用户访问Web页面,发送请求,请求到达控制器处理,控制器通过DAO技术访问数据层,将数据取出并将处理结果反馈给用户,更新用户界面。
通过以上功能结构的介绍及对MVC框架的了解,可发现该系统是由4层组成,并且严格遵循了MVC架构思想。
该4层分别是视图层、控制层、持久层和数据库层。
视图层也就是用户所能涉及到的操作界面,主要采用JSP技术实现,整个页面可添加Struts框架当中的标签库或jstl标签库。
控制层的作用就是协调视图层和数据层,起到中间桥梁的作用,主要采用Struts框架技术实现,通过servlet组件过滤请求,调用相应的Action组件处理请求,通过forwrad对象将结果输出到界面。
数据库层用来储存数据,本系统采用Mysql数据库来实现。
持久层是用来操纵数据的,采用Hibernate技术将数据从数据库中提取出来,并做相应的操作,如对数据的增删查改。
2.5文件夹组织结构
本系统主要运用MyEclipse软件编程,采用java技术实现。
所以,对于文件夹的命名应该按照规范的命名法来实施。
在真实的企业开发过程中,编写代码之前,都要系统的制定好一个比较完善的文件夹组织结构,使得整个项目开发思路比较清晰,让编程人员能很快地定位到每一个模块的设计。
开发中,文件夹命名的规范化发挥着十分重要的作用。
在MyEclipse软件中,该系统的文件夹组织结构如下所示[10]:
src目录:
是一种可执行文件夹,可存放类包,类包中存放源代码文件,即后缀为java格式的文件。
com.peng.pojo包:
每一层都是文件夹,采用将域名倒写的方式定义包名。
该文件下存放实体类,也就是java中常说的pojo类。
com.peng.mapping包:
用于存放实体关系映射文件(ORM文件),将实体类通过该配置文件和数据库中的表一一对应起来,找到它们之间的联系。
com.peng.util包:
存放自己编写好的工具类,该工具类可以在不同的包中重复使用,起到某些相应的功能,如给密码加密或者读取某文件内容。
com.peng.action包:
存放业务处理的类,即Action组件。
com.peng.interceptor包:
用于存放interceptor拦截器,主要作用是对用户请求进行再次拦截,执行时机是在Action组件之前执行。
com.peng.config包:
用于存放配置文件,如后缀为properties的文件。
可通过java中IO流进行读取文件内容。
com.peng.service包:
用于存放一些服务类,常和dao类联合使用。
WebRoot目录:
是不可执行的文件夹,用于储存jsp页面,即浏览网页。
3数据库设计
3.1数据库分析
数据库,顾名思义就是一个大型仓库,用来存储大量的数据。
它包含所有涉及到的信息,主要囊括用户信息、药品基本信息和类别信息、以及销售明细信息。
通过某种对应关系,间接的将所有信息数据联系起来。
在真实的企业开发中,数据库往往单独安装在某个特定的服务器上。
这样做的目的就是防止大量用户过度频繁的访问数据库,从而造成服务器的瘫痪。
不仅如此,这样做还可以提高查询速度,降低服务器的负担。
因此,不同的硬件要求,可能会影响到数据库的性能,以下给出了数据库运行环境的要求:
(1)硬件要求:
CPU:
要求在2.8GHz以上。
内存:
要求在2GB以上。
硬盘储存空间:
150GB或者更高。
(2)软件要求:
操作系统:
Windows7操作系统。
数据库版本:
MySQL5.0版本。
3.2数据库设计
通过以上对该系统的功能结构的分析,将每一个模块所涉及到的信息抽象成一个数据实体对象,将这些对象通过数据表的形式储存在数据库中。
为了能更好的对数据库中的结构,下面简单介绍一下数据库的相关知识。
数据库中的数据类型主要包括整型(int)、浮点型(double)、字符型(varchar)、日期类型(datetime)。
定义类型时含有数字,说明是数据的精确度或字符的长度。
数据库中的约束条件是用来给数据表中的某些列添加限制,主要包括有五种,分别为主键约束(Primarykey)、外键约束(Foreignkey)、唯一约束(Unique)、非空约束(notnull)和检查约束(Check)[11]。
前三种是最为常用的约束条件,它们各自的简写分别为PRI、MUL和UNI,作用如下:
1主键约束:
主键是用来区分一个数据表中的每一行数据,主键的特点是唯一性和不能为空值,因而不同的行具有不同的主键。
主键的生成方式往往采用数据库自增的方式auto_increment,随数据的添加自增序列号。
2外键约束:
外键是定义在两张表的不同列或同一张表中的不同列,用于联系两个列之间的关系,起到关联作用,保证数据的一致性,往往将一张表的主键作为另一张表的外键。
含有外键的表是主表,不含外键的表是子表。
3唯一约束:
此约束是说明该列的每一个数值都是唯一的,不能重复。
定义唯一约束的主要目的是,在没有主键所定义的其他列中不能重复输入相同列值。
以下给出了几种实体对象的表结构:
(1)用户对象所对应的表结构,如表3-1所示:
表3-1用户对象数据表
属性
数据类型
是否可为空
键值
默认值
额外信息
id
int(11)
NO
PRI
NULL
auto_increment
username
varchar(50)
NO
UNI
NULL
password
varchar(50)
NO
NULL
create_time
datetime
YES
NULL
(2)药品对象所对应的表结构,如表3-2所示:
表3-2药品对象数据表
属性
数据类型
是否可为空
键值
默认值
额外信息
id
int(11)
NO
PRI
NULL
auto_increment
med_no
varchar(100)
NO
UNI
NULL
name
varchar(100)
NO
NULL
factory_add
varchar(100)
YES
NULL
description
text
YES
NULL
price
double
NO
NULL
med_count
int(11)
YES
NULL
req_count
int(11)
YES
NULL
photo_path
varchar(255)
YES
NULL
category_id
int(11)
YES
MUL
NULL
(3)销售明细对象所对应的表结构,如表3-3所示:
表3-3销售明细对象数据表
属性
数据类型
是否可为空
键值
默认值
额外信息
id
int(11)
NO
PRI
NULL
auto_increment
sell_name
varchar(200)
NO
NULL
sell_price
double
NO
NULL
sell_count
int(11)
NO
NULL
sell_time
datatime
NO
NULL
med_id
int(11)
YES
MUL
NULL
user_id
int(11)
YES
MUL
NULL
(4)药品类别对象所对应的表结构,如表3-4所示:
表3-4药品类别对象数据表
属性
数据类型
是否可为空
键值
默认值
额外信息
id
int(11)
NO
PRI
NULL
auto_increment
name
varchar(100)
NO
NULL
description
text
YES
NULL
create_time
datetime
YES
NULL
在数据库中创建以上各表的时候,应该明确定义以上每个字段,缺少其中的某个字段都有可能提示创建失败等信息。
同时,应注意数据的类型和精确度,以及约束条件和附加信息。
3.3数据库创建
利用SQL语言(结构化查询语言)将所需的数据库和数据表以语言脚本的形式生成,在MySQL软件客户端的命令行界面输入指令即可完成创建过程。
如:
在E盘下创建了一个“E:
\medicine.sql”的数据库脚本,在命令行界面执行指令“sourceE:
\medicine.sql”后,即可完成创建过程。
另外一种创建方式,可将SQL脚本添加到MyEclipes软件的项目中,通过软件自带的“数据库连接插件”完成数据库的创建,一般不采用这种形式。
4配置文件
4.1配置web.xml文件
web.xml文件又叫做部署描述文件,它的主要作用就是初始化配置信息。
在该文件中可定义过滤器对请求过滤;可定义监听器对事件进行监听;也可定义servlet组件实现逻辑处理等等一些信息[12]。
此文件的具体作用如下:
(1)可以定义某个首选页面:
当你访问某个网站的时候,首次浏览到的页面就是index.jsp页面。
(2)为Struts组件Servlet命名:
org.apache.struts.action.ActionServlet
这里由Struts框架的底层原理来实现,该组件由Struts框架提供的jar包中的类ActionServlet来完成,命名为action。
(3)为servlet定制统一资源定位器(URL):
“/*”代表对所有的请求字符串进行过滤,“*.do”代表对请求以“.do”结尾的请求过滤。
通过servlet的名字找到以上命名之后的组件,例如:
通过action名字找到ActionServlet类。
4.2配置struts-config.xml文件
struts-config.xml文件是Struts框架的核心配置文件。
通过该文件中的配置信息,可调用与请求资源相对应的Action组件,并返回所需的执行结果,实现页面的跳转。
由于struts-config.xml文件当中的配置相对较多,所以不再一一列举其中的配置信息,只对其中最为常用的重点标签和属性做详细介绍,如下:
(1)
该标签的作用是用来配置web应用所需的数据源,最多含有一个,该标签中可定义多个子标签
(2)
该标签的作用是用来定义具体的数据源。
可以有任意个,含有两个重要属性key和type,key的作用是区分不同的数据源,type的作用是为数据源的使用提供实现类,如连接池、JDBC技术的类库。
(3)
该标签作用在
(4)
该标签的作用是用来配置FromBean的,FromBean实际上就是一个javaBean,是对表单的封装,struts会通过setter方法将表单中输入框的值设置到FromBean中同名的属性上。
含有两个重要的属性name和type,分别用来定义FromBean的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 基于 java 医药 管理 系统 设计 实现 毕业论文