毕业论文化学系实验室管理系统

化学系实验室管理系统的设计与实现

学生姓名:徐毅指导教师:梁晓玲

提要:作为化学系重要学习场所的实验室资源非常有限,而用户多,使用量大,药品和器材控制难度大等一系列问题又严重影响实验室的正常使用。围绕着实验室的维护和使用,针对教师,学生,实验室管理员这三类用户,设计实现实验室管理系统。通过管理系统实现实验室用户管理,药品器材控制,课程安排,实验指导,实验报告,问题解答等功能,以提高实验室使用效率并且有效的对实验室进行维护管理,同时降低实验室运行成本,更好的为老师的教学和学生的学习提供服务。

关键字:数据库 JSP 管理效率

正文

1引言

实验室是化学专业学生最重要的学习场所之一。但是用户多,使用量大,实验药品消耗快,器材损耗严重,实验药品和器材控制难度大等等问题已严重影响老师的教学和学生的学习实验。因此,如何充分利用有效有限的实验室资源,已成为我们必须要尽快解决的问题。

围绕着实验室的维护和使用,主要有三类用户,教师,学生,实验室管理员。这里,实验室管理员主要是负责维护实验室的正常运行,主要任务是保持实验室中器材和药品的供应,使老师和学生可以正常利用实验室进行各种实验。所以实验室材料的库存,消耗,购进问题成为维护实验室的一项重要工作。老师和学生则是实验室的使用者,要想充分利用有限的实验室资源,就要求我们有一个快捷有效的实验室排课系统,在时间上对实验室进行充分利用。要想学生更有效率的进行实验,那么就要求学生提前通过老师的实验指导对所做实验进行预习。并且在实验后,学生还要做好实验报告,让老师查阅纠正错误。最后老师与学生就实验有关问题在课下进行互动也可以使实验室的利用更加有效率。

因此,我们需要产生一个实验室管理系统来解决这一系列的问题。

2开发环境及工具

2.1软件

Windows XP MyEclipse 6.6 Apache-tomcat-6.0.1 jdk1.6.0_16 Dreamweaver CS3 Photoshop CS3 IE浏览器

2.2硬件

内存2G 硬盘20G CPU Intel Core2 T5550

3系统功能模块设计

系统功能模块主要分为四个部分,实验室管理员模块,学生模块,教师模块,管理员模块。

管理员用户可以实现人员管理,实验室信息管理,课程表信息管理这三个功能,这样可以通过更加完善的课程安排,使实验室在时间上使用的更加充分。

实验室管理员主要是实现实验室材料管理功能,通过使用实验室管理系统对实验室中的各种材料进行管理和维护。

学生和教师主要是实现了实验指导管理,实验报告管理和疑问解答三个功能,通过这些模块的实现,使同学们对实验内容等有更加深入的了解,有效的提高实验室的使用效率。

3.1实验室管理员系统功能模块设计

1

2

3.2

3.3学生系统功能模块设计

3.4管理员系统功能模块设计

4

4数据库中数据表设计

使用Oracle 数据库建表【1】,共有10张表,分别为:学生信息表,教师信息表,实验室管理员信息表,管理员信息表,库存器材信息表,购进器材信息表,损耗器材信息表,库存药品信息表,购进药品信息表,消耗药品信息表,实验报告表,实验指导表,疑问解答信息表,实验室信息表。

*表示为主键

5

6

5功能模块实现

5.1登陆模块

功能:登陆模块负责检验用户账号与密码是否正确,并且通过区分用户类型,使用户进入不同主页,进行相应操作。

外观

7

说明:用户通过登陆页面,进入系统。登陆页面如上图,在账号文本框中输入账号。在密码文本框中输入密码,通过选择下拉文本框中内容,确定你所属类别,类别分为学生,教师,实验室管理员,管理员。单击确认键,进入系统。

登陆页面连接验证页面,验证页面确认账号密码是否正确,如果账号密码正确,则进入相应的主页。代码如下:

登陆页面index_denglu.html 【查看附录1】

验证页面【3】denglu_yz.jsp

Denglu_yz.jsp

<%@ page contentType="text/html; charset=gb2312" language="java"

import="java.sql.*,com.sysxt.www.util.*,com.sysxt.www.model.*" errorPage="" %>

"https://www.360docs.net/doc/b518461483.html,/TR/html4/loose.dtd">

验证

<%

Connection conn = null;

PreparedStatement pstmt = null;

ResultSet rst = null;

String lx = new String(request.getParameter("lx").getBytes("ISO-8859-1"),"gb2312");

String zh =new String(request.getParameter("zh").getBytes("ISO-8859-1"),"gb2312");

String mm =new String(request.getParameter("mm").getBytes("ISO-8859-1"),"gb2312");

try{

if(lx.equals("xsid")){

conn = DBUtils.getConnection();

String sql = "select * from xs_info where xsid='"+zh+"' and xs_mm='"+mm+"'";

8

pstmt = conn.prepareStatement(sql);

rst = pstmt.executeQuery();

if(!rst.next()){

out.print("");

}else{

session.putValue("xsid",zh);

response.sendRedirect("index_xs.html");

}

}

if(lx.equals("jsid")){

conn = DBUtils.getConnection();

String sql = "select * from js_info where jsid='"+zh+"' and js_mm='"+mm+"'";

pstmt = conn.prepareStatement(sql);

rst = pstmt.executeQuery();

if(!rst.next()){

out.print("");

}else{

session.putValue("jsid",zh);

response.sendRedirect("index_js.html");

}

}

if(lx.equals("sysglyid")){

conn = DBUtils.getConnection();

String sql = "select * from sysgly_info where sysglyid='"+zh+"' and

sysgly_mm='"+mm+"'";

pstmt = conn.prepareStatement(sql);

rst = pstmt.executeQuery();

if(!rst.next()){

out.print("");;

}else{

session.putValue("sysglyid",zh);

response.sendRedirect("index_sysgly.html");

}

}

if(lx.equals("glyid")){

conn = DBUtils.getConnection();

String sql = "select * from gly_info where glyid='"+zh+"' and gly_mm='"+mm+"'";

pstmt = conn.prepareStatement(sql);

9

10 rst = pstmt.executeQuery();

if(!rst.next()){

out.print("");

}else{

session.putValue("glyid",zh);

response.sendRedirect("index_gly.html");

}

}

}catch(Exception e){

e.printStackTrace();

}finally{

DBUtils.closeRst(rst);

DBUtils.closePstmt(pstmt);

DBUtils.closeConn(conn);

}

%>

5.2欢迎页面模块

功能:欢迎页面模块主要提供用户姓名显示以及相应的导航界面和注销功能,方便用户使用。外观

说明:不同类型用户通过验证账号密码成功后,进入相应的主页。首先显示的是欢迎页面,通过账号和密码,在欢迎页面中显示出用户姓名。在主页上方是系统名称和注销,主页左方是导航界面。不同类型的用户登入相应主页,不同类型的用户可实现的功能不同,导航界面和欢迎页面也相应不同。

代码如下:

学生主页index_xs.html【查看附录1】系统名称main.jsp【查看附录1】欢迎页面xsbj.jsp【查看附录1】注销zhuxiao.jsp

Zhuxiao.jsp

<%@ page contentType="text/html; charset=gb2312" language="java"

import="java.sql.*,com.sysxt.www.util.*,com.sysxt.www.model.*" errorPage="" %>

"https://www.360docs.net/doc/b518461483.html,/TR/html4/loose.dtd">

注销

<%

if(session.getAttribute("xsid")!=null){

session.removeAttribute("xsid");

response.sendRedirect("index_denglu.html");

}

if(session.getAttribute("jsid")!=null){

session.removeAttribute("jsid");

response.sendRedirect("index_denglu.html");

}

if(session.getAttribute("sysglyid")!=null){

session.removeAttribute("sysglyid");

response.sendRedirect("index_denglu.html");

}

if(session.getAttribute("glyid")!=null){

session.removeAttribute("glyid");

response.sendRedirect("index_denglu.html");

}

%>

教师,管理员,实验室管理员主页代码与学生主页代码类似,在此省略。

5.3用户信息管理模块

功能:用户信息管理模块主要功能是管理实验室所有用户的信息,使各类用户可以有序的使用实验室资源。

11

12

说明:

管理员用户可以对管理员,教师,学生,实验室管理员这四类用户信息进行各类操作。

以对学生用户信息管理为例,管理员用户可就全部学生信息进行添加,修改,查询,删除,查看等操作。下面以学生用户信息操作展开论述。

对其他用户信息的操作类似于学生用户信息的操作,只是各类用户的信息种类和资料不同。

显示结果列表按照各类型用户编号的升序排列。

外观

代码如下:

学生人员管理 xsguanli_gly.jsp

xsguanli_gly .jsp

<%@ page language ="java" contentType ="text/html; charset=GBK" import ="https://www.360docs.net/doc/b518461483.html,ng.*,com.sysxt.www.util.*,java.sql.*" pageEncoding ="GBK"%>