辽 宁 工 业 大 学
动态网页设计课程设计(论文)
题目: 渤海医院药库管理系统
院(系): 软件学院
起止时间: 2012.12.4至2012.12.18
程序设计专题(报告)任务及评语
院(系):软件学院 教研室:软件教研室
目 录
第1章 实训的目的与要求.................................................... 1
1.1 实训设计目的........................................................ 1
1.2 实训设计的实验环境.................................................. 1
1.3 实训设计的预备知识.................................................. 1
1.4 实训设计要求........................................................ 1
第2章 实训设计内容........................................................ 2
2.1开发背景简述........................................................ 2
2.2 系统设计内容........................................................ 2
2.3需求分析............................................................ 3
2.3.1系统逻辑设计.................................................. 3
2.3.2 系统功能需求分析.............................................. 5
2.4系统实现............................................................ 6
2.4.1 系统的详细设计................................................ 6
2.4.2 程序源代码.................................................... 8
2.5测试分析............................................................ 9
第3章 实训总结............................................................ 11
参考资料................................................................... 12
第1章 实训的目的与要求
1.1 实训设计目的
《动态网页设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》及《动态网页设计》等课程后,进行的一次全面的综合训练,JSP动态网页设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
1.2 实训设计的实验环境
硬件要求能运行Windows 2000操作系统的微机系统。JSP动态网页设计语言及相应的集成开发环境:J2SDK和ECLIPSE开发工具及Tomcat服务器。
1.3 实训设计的预备知识
熟悉JAVA语言及ECLIPSE开发工具、Tomcat服务器。
1.4 实训设计要求
按JSP动态网页设计的设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JSP动态网页设计的基本技能和面向对象的概念和方法编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
第2章 实训设计内容
2.1开发背景简述
随着计算机技术的发展,在医院系统中引入电脑服务和管理极大地提高了医院的效率,对医院的管理运营产生了革命性的影响。医院在正常的运营中需要对药品的库存信息进行管理,利用计算机信息管理系统及时了解各个关节肿信息的变更,实现了一次录入,多方共享,有利于提高管理效率。但是,由于各种原因,已有的一些系统结构方面多多少少存在着不住,造成资源的浪费,效率的降低、缺失、混杂等现象,因此,为了能更好地利用现代信息技术的成果,提高管理工作的效率和水平,我们决定对医院药品管理系统进行改进。
2.2 系统设计内容
医院的药品管理系统就是为了实现药品统一便捷的管理,从而达到药品管理的科学化、自动化、标准化。本系统是在原有的基础上进行改进得到的。改变了以往药品管理分工不明确,信息混杂,库存管理不当的缺点,使得整体的效益得到很大的提高。现有系统从原有的系统的药方中分出三个职位:药品采购员、发药人员、药房管理员。三者可以各司其责,提高效率。具体如下:
1. 原有系统药品的采购、管理、发售并没有具体划分,会导致信息的重复,缺失,混杂等现象,不便于查询,容易导致库存不住,库存积压,大量药品过期作废。现有系统分工明确,药房管理人员负责登记药品入库,出库,生产时间,库存等信息。采购员负责药品的订购与退货。发药人员负责药品的发售。三者既相互独立,又通过药品库信息紧密联系,大大提过了工作效率。同时保证药品信息库的准确有效。
2. 原有系统的药品库信息不完整,记录的只有库存信息。现有系统记录的信息除了原有的库存量,还有药品的入库日期,生产商信息等,更有利于药品的管理。保证了患者拿到安全可靠地药品。
3. 药方管理员及时登记修改药品库信息,采购员、发药员可以随时查看药品库信息,并根据库存量决定是否需要采购药品,根据药品的数量看是否需要退货,达到合理的进货,库存量小、减少积压、药品安全可靠地目的。
4. 通过业务的整合和组织结构的调整,提高数据的准确性,避免逻辑的错误和认为的错误,提高数据的可信度。
2.3需求分析
需求分析阶段需要对系统“做什么”做全方位的了解。通常是对实体与联系的设计,数据流图的设计。下面分别是系统逻辑设计和数据库数据表的设计。
2.3.1系统逻辑设计
下图是渤海医院药库管理系统的总体E-R图
图2.1 渤海医院药库管理系统总体E-R图
数据库表结构
1. 药品损坏信息表d_broken,包含药品编号、药品名称、药品数量、药品单价、日期、管理员名称、药品品种、备注等信息。
表2.1 d_broken
2. 药品库存信息表d_store,包含药品编号,药品名称、药品数量、药品单价、药品种类等信息。
表2.2 d_store
3. 出库信息表d_sell,包含药品的编号、药品名称、药品数量、药品出库日期、药品价格、管理员、药品种类和备注等信息。
表 2.3d_sell
4. 新增药品信息表d_new,包含药品编号、药品名称、药品数量、入库日期、药品单价、管理员、总价、备注、生产厂家、药品种类等信息。
表 2.4 d_new
5. 管理员信息表包含管理员ID、管理员姓名、密码等信息。
表2.5 d_manager
2.3.2 系统功能需求分析
1.系统功能模块图
图2.2 系统功能模块图
2.系统业务流程图
图2.3 系统业务流程图
2.4系统实现
2.4.1 系统的详细设计
模块1:药品采购信息管理模块
药品采购信息管理模块可以对日常药库中对新增药品入库的操作进行管理。药品采购信息管理模块由三个子模块组成,分别为新增药品入库、药品入库列表、药品入库查询。其中新增药品入库是对新增的药品进行管理,包含了药品的国药准字、药品名称、进货数量、进货日期、制药厂、单价、计量标准、匪类信息、经手人和备注等信息。而药品入库列表则可以把所有入库的药品以明细的方式列出来。药品入库查询子模块则可以对想要查找的新增药品信息进行查询,从而省时省力的完成日常工作当中想查询的新增药品。
以下新增药品进货信息子模块的运行界面:
图2.4 新增药品进货信息
模块2:药品损坏信息管理模块
由于保存不当和人为损坏以及药品过期等原因,药品避免不了会有损毁的情况,因此,药品损坏信息管理模块应运而生。药品损坏信息模块包含新增药品损坏、药品损坏列表、药品损坏查询等三个子模块。其中新增药品子模块包含药品的国药准字号、损坏数量、损坏日期、报损人和备注等信息。药品损坏列表可以将药品损坏信息以列表的方式表示出来。而药品损坏查询则可以对想要操作的损坏药品进行查询。
下图是新增药品损坏信息模块的运行界面:
图2.5 新增药品损坏信息
模块3:药品分类信息管理模块
此模块是对药品的分类信息进行管理,分别包含新增药品分类和药品分类信息列表两个子模块。下图是该模块的药品分类列表的运行界面:
图2.6药品分类列表
模块4:药品出库信息管理模块
药品出库信息管理模块包含新增药品出库、药品出库列表和药品出库查询等三个子模块。下面是药品出库信息列表子模块的运行界面:
图2.7药品出库信息列表
2.4.2 程序源代码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%String path = request.getContextPath();
String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<title>渤海医院药库管理系统</title>
<style type="text/css">
<!--body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
overflow:hidden;}
.STYLE1 {font-size: 12px}
-->
</style>
<script type="text/javascript">
function checklogin(){
if(document.myform.username.value==""){
alert("请输入用户名");
return;}
else if(document.myform.password.value==""){
alert("请输入密码");
return;
}else{
myform.submit();}}
</script>
<%
String message = (String) request.getAttribute("message");
if (message == null) {
message = "";}
if (!message.trim().equals("")) {
out.println("<script language='javascript'>");
out.println("alert('" + message + "');");
out.println("</script>");}
request.removeAttribute("message");
%>
2.5测试分析
1.测试数据:输入账号admin 124
预期的输出结果:提示您输入的用户或密码错误,请重新输入
实际运行结果如下图2.8所示:
图2.8 报错对话框
运行效果符合预期情况。
(3)测试数据:输入新增药品的信息
包括药品的国药准字号、药品名称、进货数量、进货日期、制药厂、单价、计量标准、分类信息、经手人和备注等信息。
测试结果如下图2.9、2.10、2.11所示:
图2.9 输入新增药品进货信息
预期的输出结果:输入成功,并可以查询到该药品的信息
图2.10 查询新增药品进货信息
图2.11 进货信息查询
运行结果符合预期情况。
第3章 实训总结
在课程设计的过程当中我深有体会,在开始的需求分析和基础的获取阶段我花了大概三天的时间来收集整理材料,由于我对医院的药品这个领域比较陌生,所以花了比较长的时间来了解这个行业的情况和信息。档整理的资料差不多之后,接下来的任务就比较轻松了,因为在需求分析阶段了解可以将整个系统中划分成几个实体,每个实体又什么属性,以及实体和实体之间有什么里纳西。所以在接下来的概念设计中的E-R图的设计就比较简单了,而且在画E-R图的时候就可以大致的知道整个系统需要划分成几个基本的表来实现,所以逻辑设计阶段也比较轻松,至于物理阶段的设计,使用的是MYSQL数据库,是出于操作的简单,运行速度快的特点选用的。在数据库设计完成之后,转而投入了实现了前台界面与后台数据库的交互,因为课设要求用的是JSP语言,所以我开始研究JDBC,起初对JDBC只有概念上的认识,通过这次设计,我对JDBC中的ResultSet,Statement,PreparedStatement等有了很大认识,主要是在设计的时候对出错原因进行了分析,使得自己对JDBC的理解更加清晰。
在本次课程设计过程中,我最大的体会就是了解了一个具体的数据库设计的过程,以及每个过程之间的紧密联系和他们不同的重要性。就像前面提到的一样,在书上看到“数据库设计的特点之一是三分技术,七分管理,十二分基础数据”这句话的时候,并没有引起我什么注意,可是在这次课程设计过程中,我深深的体会到其实要建立数据库中的几个基本表其实很容易,难的是从我所不熟悉的现实领域收集提取建立数据库所需要的基本数据。在这次课程设计中,我了解到将书本上的知识运用到实际中的时候,会使我对原有的知识有更深层次的理解以及掌握。而且通过这次课程设计,我掌握了为某个具体系统建立数据库的流程和方法,肯定会对我将后的学习和实践有很大的帮助。
参考资料
[1] 武延军,黄飞跃.精通JSP编程技术. 北京:人民邮电出版社,2001
[2] 柏亚军. JSP编程基础及应用实例集锦. 北京:人民邮电出版社,2000
[3] 清宏计算机工作室.JSP编程技巧. 北京:机械工业出版社,2000
[4] 周影.网络编程语言JSP实例教程. 北京:电子工业出版社,2003
[5] 陈海山.深入Java Servlet 网络编程. 北京:清华大学出版社,2002
[6]Donny.JSP与网站开发编程实战. 北京:科学出版社 ,2001
[7]Steven Holzner.Java技术内幕. 北京:机械工业出版社,2002
[8] Phil Hanna .JSP技术大全. 北京:机械工业出版社, 2002
[9] Karl Moss. Java Servlet开发人员指南. 北京:清华大学出版社,2002
[10]蔡剑,景楠. Java Web应用开发:J2EE和Tomcat. 北京: 清华大学出版社, 2005