基于JAVA药品管理系统的设计和实现Word文件下载.docx
- 文档编号:18759951
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:27
- 大小:454.92KB
基于JAVA药品管理系统的设计和实现Word文件下载.docx
《基于JAVA药品管理系统的设计和实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于JAVA药品管理系统的设计和实现Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
JSP;
MySql
第1章开发的目的和意义
开发软件的一个目的是针对目前普遍的药品管理系统存在的功能不全,操作复杂,系统要求高等一系列问题。
该管理系统采用电子商务设计模式,可靠,方便,并且功能齐全。
当然对该软件的态度是渴望获得显著的社会效益。
开发软件的另一个目的是使其具有强大的实用价值,即它可以满足中小型医药公司的管理需要。
随着小型医药企业规模的扩大,手工工作已经不能满足业务上的需求。
而该药品管理系统的实施,能集中处理药品的进销存业务,管理好企业的应收应付账目,为企业的调整发展创造一个新的条件。
随着我国市场经济的蓬勃发展和人们对医药产品需求的迅速增加,医药行业正处于一个高速发展的时期。
行业的快速发展必然导致竞争的加剧,要想在激烈的市场竞争中谋求发展,客观上要求企业必须加强内部管理,提高运营效率。
另外,由于医药产品种类繁多、销售模式特殊、业务最大,单凭手工记帐已很难适应工作的需要。
医药作为一个关系到人们健康的特殊行业,国家对此又有一些不同于其他行业的管理政策,这些都加大了管理的难度。
如何尽快建立和完善现代企业的信息化管理机制问题,已成为医药企业发展的关键所在。
而方便、安全、快捷的医药管理软件系统正是在这样的背景下发展起来的。
这种管理软件对硬件的要求很低,一般有一个比较简单的服务器与PC机组成的网络即可,再加上使用比较廉价、性能不错的软件,这样就可以以较低的成本来实现一个足够使用的功能,而这种模式也正满足了那种中小型医药公司的要求。
但是目前对这种管理软件的开发还处于一种比较原始的阶段。
开发者往往都是出于资金和时间的顾虑使用比较陈旧的技术,而且各为己见,并且很少涉及网络。
可是当今是一个网络化的社会,单机版的管理软件多如牛毛,去开发一个类似的软件无疑是一种在时间上、精神上和资源上的极大浪费。
所以为这种有需要的中小型企业开发一种基于网络的医药管理软件是非常有实用价值的。
第2章需求分析
2.1系统工作流程分析
传统的医药管理模式是手工记帐的,但由于目前医药产品种类繁多、销售模式特殊、业务量大,单凭手工记帐已经很难适应工作的需要。
根据目前医药企业的实际需求,系统应实现的具体功能如下:
首先是客户界面,客户可以通过网络进行注册认证,然后可以通过身份登录后进行药品添加和管理,供应商的添加和管理,查询供应商提供的药品。
其次是管理界面,管理员登录后可以对药品信息进行增加和删除操作,可以对供应商信息进行添加、删除操作,可以对客户信息进行相关维护等等。
2.2系统实现目标
(1)系统界面友好,操作简单
(2)可随时掌握药品的进销存信息
(3)查询灵活方便,数据安全可靠
(4)从用户需求到售后服务,形成一套严密、科学、完善的管理体系
(5)功能全面,实用性强
第3章总体设计
3.1系统设计的总体思想
页面模块化:
把页面中一些常用的部分集成为模块,例如页面的头和尾部,这样设计新的页面时如果重复出现的部分只需要拿现成的模块来组装就可以了。
数据存取技术:
数据库是管理信息系统的核心内容。
目前,Web与数据库接口技术有很多,其中JDBC是Java程序连接和存取数据库的应用程序接口,由一组用Java语言编写的类与接口组成,是执行SQL语句的JavaAPI。
在本管理信息系统中,采用了JSP/Servlet+JDBC的技术,即客户端不产生数据库查询命令,客户端上的浏览器通过URL和中间层的Web服务器建立连接。
Web服务器主要负责接收本地或远程浏览器的HTTP数据请求,然后中间层的Servlet收到请求后,通过执行程序中的SQL语句,利用JDBC提供的标准API对数据库进行访问和相应的操作处理。
Servlet再将查询的数据传给JSP,最后生成标准的JSP页面将结果返回给提出请求的浏览器。
这样,不仅将客户端与数据库服务器端分开,同时提高了数据库的访问效率。
3.2系统设计的体系和结构
3.2.1系统的设计体系
目前,在大多数Browser/Server结构的Web应用中,浏览器直接通过HTML或者JSP的形式与用户交互,响应用户的请求。
虽然很直观,但是大多数管理信息系统操作的数据量都是惊人的,随着代码的增多会使JSP页面臃肿不堪,Web服务器的负荷过重。
因此,在中间层上采用基于模型视图控制器(MVC.Model-View-Controller)的设计模式。
Model层用来实现业务逻辑,View层用来显示用户界面,Controller层主要负责View层和Model层之间的控制关系。
具体实现时,把Servlet用作应用程序的控制器,把JSP文档作为视图,JavaBeans被用来表示模型。
在这种设计模式下,各层次之间的数据传递如下图:
HTTP请求获取数据
转交请求
文档输出更新模型
图3-1:
各层次之间的数据传递示意图
3.2.2系统的结构架构
管理信息系统(MIS)是一个由人、计算机等组成的能进行信息的收集、传递、存储、加工和使用的系统。
随着科技的发展,信息的膨胀,企业信息化成了企业在竞争中处于不败地位的有效手段之一。
而MIS不仅能够及时全面地提供信息和数据,简化统计工作,对不同的管理层次提出不同的报告之外,还能根据过去的数据预测未来的情况。
因此,采用何种方法开发出一种兼顾开发效率和运行效率,同时满足分布式事件处理功能的管理信息系统就显得尤为重要。
采用三层架构设计,它的工作原理如图:
图3-2:
采用三层架构设计的工作原理示意图
整个管理信息系统采用Browser/Web/DataBase的三层体系结构。
Web服务器接受请求,通过应用程序服务器执行一个Java服务器端小程序Servlet并返回其输出,从而实现与客户机进行信息资源的交互。
数据库服务器用来存储管理信息系统中所用到的各种数据,数据由数据库管理程序直接录入。
系统的客户端只需要一个浏览器即可。
相关人员通过浏览器来查询、增加、修改、删除数据,对信息进行管理。
3.3系统的功能和结构框图
3.3.1系统功能模块
客户端:
●用户注册、登录
●修改密码
管理端:
●药品管理:
新增、修改、删除、查看
●供应商管理:
新增、查看、修改、删除
●查询供应商提供的药品
3.3.2系统结构框图:
图3-3:
全局结构示意图
3.4开发平台和开发工具
由于采用JSP架构,系统的功能加强,但其开发平台和开发工具的选择也是非常复杂。
如上所述,系统结构采用Jsp/servlet+Javabeans+MySql;
具体开发工具:
前台页面使用MyEclipse开发,这种工具对JSP的支持比FrontPage好;
对于组件Bean的编写和编译用JCreator,方便的提示符和小巧的内存占用是我的首先;
Jsp服务器选用TomCat6.0,后台数据库MySql4.0,为了更好地操作数据库,使用EMSSqlManager3.0进行windows图形化界面的数据库操作。
第4章开发平台和工具的简介
4.1JSP的简要说明
JSP即JavaServerPages,在电子商务开发上,还可以选择ASP平台。
但比较过两者优劣后才决定选择JSP。
JSP和ASP技术明显的不同点:
开发人员在对两者各自软件体系设计的深入了解的方式不同。
JSP技术基于平台和服务器的互相独立,输入支持来自广泛的,专门的,各种工具包,服务器的组件和数据库产品开发商所提供。
相比之下,ASP技术主要依赖微软的技术支持。
JSP技术依附于一次写入,之后,可以运行在任何具有符合JavaTM语法结构的环境。
取而代之过去依附于单一平台或开发商,JSP技术能够运行在任何WEB服务器上并且支持来自多家开发商提供的各种各样工具包。
这种基于组件的模式很有效提高应用程序的开发效率,因为这种模式能够使开发人员利用快捷的子组件快速创建模板应用程序,然后再整合一些附加功能以后便可使用。
像这样有效的方法在JSP中无处不在,并可将其打包成一个Javabean或一个工业标准化的Javabean组件。
终上所述,JSP继承JAVA一贯的跨平台、易维护的特性,是我开发的首选。
4.2MySql的简要说明
选择一个好的数据库是开发一个系统的前提,当然用MySql也是与其它数据库比较过的。
下面列出MySql与其它数据库的全方位对比:
安全性:
SQLserver
没有获得任何安全证书。
OracleServer
获得最高认证级别的ISO标准认证。
DB2
MySql
多线程:
MySQL是完全多线程化的,每个连接有它自己的线程,这意味着没有线程必须等待另一个线程(除非一个线程正在修改一张表,另外的线程想要存取);
而在SQLserver中,一旦一个连接被建立了,所有其它线程必须等到第一个线程完成,不管连接正在运行的查询是短的或是长的。
联结:
如果改变一个SELECT中的表的顺序,SQLServer可能变得异常地慢。
在基准套件中,比MySQL要慢超过15000倍的时间。
这是由于SQLServer缺乏一个联结优化器以便用最佳的顺序排定表。
Perl接口:
MySql和SQLServer有基本相同Perl接口,有一些增加的功能。
价格:
MySql的免费成为不可取代的优势。
终上所述,MySQL以其极高的性价比成为中小型数据建库的首选,本系统也选用MySql。
4.3系统配置过程
由于JSP架构采用不同公司的软件产品,所以配置的复杂性是肯定的。
下面列出其配置详细过程:
所需软件:
(1)j2sdk-1_4_2-windows-i586.exe
(2)jakarta-tomcat-5.0.28.exe
(3)mysql-4.0.24-win.zip
(mysql有5.0的bate版,不过对其NullPointException出错一直是不能被广泛接受的原因,在本系统下也只能用较为稳定的4.0版本。
)
(4)MyEclipse_6.5M1.exe
(mysql的驱动程序,其中connector采用mysql-connector-java-3.0.8-stable-bin.jar可以正常运行;
而在后面一个较新的版本会出现StringOutOfRange错误,用最新的版本又会因为本数据库设计的时间格式已经不支持而不能正常读取,所以版本的选择是非常重要的。
1、安装j2sdk
在Windows下,直接运行下载的j2sdk-1_4_1_01-windows-i586.exe文件,根据安装向导安装到一个目录,例如安装到d:
\server\j2sdk。
1.配置环境变量:
添加CLASSPATH变量
./;
%CLASSPATH%;
D:
\server\j2sdk1.4.0\lib\dt.jar;
d:
\server\j2sdk1.4.0\lib\tools.jar;
2.添加JAVA_HOME变量,变量值为d:
\server\j2sdk1.4.0
3.在原来的path变量中,添加d:
\server\j2sdk1.4.0\bin,重新启动
2、Tomcat的安装
jakarta-tomcat-5.0.28.exe安装文件,设安装目录为d:
\server\tomcat。
下面设置环境变量:
同jdk的环境变量,添加变量TOMCAT_HOME,值为d:
\server\tomcat;
增加变量CATALINA_HOME,值为d:
\tomcat\server,在path变量中加入d:
\server\tomcat\bin。
下面启动tomcat,运行tomcat目录下的bin/startup.bat文件就出现tomcat运行控制台,则tomcat安装成功。
3、安装MySQL
第一步:
解压mysql-4.0.24-win.zip,运行mysql安装文件,把mysql安装到d:
\server\mysql
第二步:
在环境变量path中加入d:
\server\mysql\bin
第三步:
进入d:
\server\mysql\bin目录,运行winmysqladmin,刚会出现对话框,设置mysql用户密码。
第四步:
进入dos,进入mysql/bin下,运行以下命令打开mysql
mysqld-nt–standalone,则mysql开启
4、安装MySQL的驱动类jdbc
解开jdbc驱动包,把里面的com文件夹复制到jsp相应的位置,可以是tomcat的根目录common/classes文件夹下,也可以是jsp网站class类WEB-INF/class/下。
当加载驱动程序时,以便能找到相关的类,或者把jdbc包的路径加入到classpath变量中。
4.4配置关键性问题的解决
上述配置正确后,只是可以成功连接,但还有一些需要解决的问题才能正常运行JSP程序。
4.4.1Servlet和JSP性能调整
1、调整方法1:
禁止servlet和jsp的自动重载
为了节约开发时间,在开发阶段Servlet/JSP容器提供自动重载功能,方便在修改Servlet/JSP后不用重新启动服务。
可是,在生产环境下面,却是占用大量开销,因为进行了没有必要的重新载入的操作,所以带来了很怀的性能影响。
同时,在部分类载入,部分为载入的时候也可能带来各种奇怪的冲突。
因此在J2EE的生产环境下关闭自动载入功能可以得到更好的性能。
2、调整方法2:
控制HttpSession
在默认情况下,不要在jsp页面中创建HttpSessions对象,jsp页面默认会自动创建HttpSessions,如果jsp页面中不需要HttpSessions,为了节省一些性能,使用下面的页面指令避免自动创建HttpSessions对象:
<
%@
page
session="
false"
%>
。
3、调整方法3:
选择正确的包含机制
在jsp中有两种方法使用包含文件:
包含指令(<
include
file="
test.jsp"
)
和包含动作
(<
jsp:
page="
flush="
true"
/>
)。
包含指令在转换的过程中包含文件内容;
也就是说,在一个页面转换成一个servlet的时候。
包含动作在请求处理的阶段包含文件内容;
也就是说,在一个用户请求页面的时候。
包含指令快于包含动作。
因此,除非被包含的内容经常变化,应该使用包含指令提升性能。
4、调整方法4:
选择正确的范围在使用useBean动作
Jsp页面的一个强大功能就是在jsp中交互使用JavaBeans组件。
通过使用<
useBean>
动作标签,JavaBeans可以被直接的嵌入jsp页面中。
语法如下:
<
useBean
id="
name"
scope="
page|request|session|application"
class=
"
package.className"
type="
typeName"
>
/jsp:
范围属性指定了bean的作用范围。
它的默认值是page。
可以根据系统要求选择正确的范围。
否则它会影响到应用系统的性能。
4.4.2Mysql与JSP网页中文乱码问题
以GBK字符集建库建表:
用EMS来建mysql的数据库及表,建库时,从EMS菜单中选createDatabase...新建一个数据库,CharacterSet选gbk_bin;
后面建表时,也要选择同样的字符集。
连接数据库的URL后加参数:
假设新建的数据库是testdb,那么连接数据库的url应该为:
jdbc:
mysql:
//localhost:
3306/testdb?
useUnicode=true&
characterEncoding=gbk
每个JSP页面都要声明该中文字符集:
在每个JSP页面的最上面都加上一句:
%@pagelanguage="
java"
contentType="
text/html;
charset=GBK"
%>
,这样才能保证JSP页面中的中文显示正常。
上述都是在实际进行JSP页面配置时遇到的问题,JSP配置的复杂性是由于各个版本开发的不一致造成的,在调试页面的同时也是对自己各方面知识水平的极大挑战。
第5章系统的详细设计
5.1数据库的实现
5.1.1数据库关系模式的设计
●药品信息(药品编号,药品数量,药品名称,药品单价,供应商编号)
●供应商信息(供应商编号,供应商名字,联系电话)
●供应商_药品信息(药品编号,供应商编号)
●用户信息(用户编号,用户名,密码)
5.1.2数据库的具体实现(表结构)
药品信息列表:
表5-1:
药品信息列表
SQL语句:
CREATETABLE`medicine`(`id`int(11)NOTNULL,`num`varchar(32)defaultNULL,`name`varchar(64)defaultNULL,`price`doubledefaultNULL,`supplier_id`int(11)defaultNULL,PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8
供应商信息列表:
表5-2:
CREATETABLE`supplier`(`id`int(11)NOTNULL,`name`varchar(64)defaultNULL,`phone`varchar(32)defaultNULL,PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8
药品_供应商信息表:
表5-3:
药品_供应商信息列表
CREATETABLE`medicine_supplier`(`medicine_id`int(11)NOTNULL,`supplier_id`int(11)NOTNULL,PRIMARYKEY(`medicine_id`,`supplier_id`))ENGINE=MyISAMDEFAULTCHARSET=utf8
用户信息表:
表5-4:
用户信息表
CREATETABLE`admin`(`id`int(11)NOTNULL,`name`varchar(64)defaultNULL,`pwd`varchar(64)defaultNULL,PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JAVA 药品 管理 系统 设计 实现