实验室设备管理系统方案.docx
《实验室设备管理系统方案.docx》由会员分享,可在线阅读,更多相关《实验室设备管理系统方案.docx(32页珍藏版)》请在冰豆网上搜索。
实验室设备管理系统方案
实验室设备管理系统
实验室设备管理系统
一、需求分析
1.1需求背景
实验室设备管理系统是为了方便学校对实验室以及实验室里的设备进行管理而设计一款系统,它能在科学技术飞速发展的同时,使得我们的实验室紧跟时代得潮流,与科学技术紧接,更加的方便于大家的应用,更好得方便了老师合和学生们。
故提高学校实验室设备管理水平,更好的也更大的发挥了实验室仪器设备的功能,更加好的完善了学科的教学体系,提高了教学质量;与此同时也探索了新的实验方法和手段,完善完备了学科实验教材,使得实验室设备成为相对独立得教学实体。
1.2课设要求
a、能够对设备类型(2级)进行管理
b、.能够对设备名称、数量、属性进行管理
c、部分设备可能会由多个部件构成,能够对设备部件进行管理(*)
d、能够对实验室进行管理
e、能够对设备进行借还管理
1.3功能需求
(1)实验室设备管理系统的用户分为:
管理员,老师,学生。
不同身份之间的用户具有不同的使用特权;
(2)管理员:
管理员能够对设备类型(2级)、设备名称、数量、属性、设备部件、实验室、设备的行借还进行管理,是三个用户中权利最大的用户,对其管理的实验室及设备具有增、删、改的大权;
(3)老师:
老师能够查看实验室以及其的设备,具有实验室设备的借还权利;
(4)学生:
学生能够查看实验室以及其的设备,具有实验室设备的借还权利;
1.3.1 管理员功能的详述
管理员通过登录后进入管理员的主页面,主页面显示管理员具备的三大管理权利:
设备管理、实验室管理、借还管理。
a.设备管理分为物理设备管理、化学设备管理和软件设备管理,每个不同类型设备中又具有不同类型的设备,例如化学设备,化学设备又分为物理化学设备、分析化学设备,二级设备里具有不同的仪器,不同的仪器中有不同的设备部件,管理员可以进行增、删、改操作
b.实验室管理中管理员可以查看实验室列表,可以对实验室进行增、删、改操作
c.借还管理中管理员可以查看设备列表,可以进行借出归还操作,在借出时可以查询已借列表
1.3.2 老师功能的详述
老师通过自己的账号登陆老师的主页面 ,老师具备两大管理权利:
实验室管理、借还管理
a.实验室管理中,老师只能查看实验室列表不具有更改等操作
b.借还管理中,老师可以进行借出归还操作,还可查询已借列表
1.3.3 学生功能的详述
学生通过自己的账号登陆学生的主页面 ,学生具备两大管理权利:
实验室管理、借还管理
a.实验室管理中,学生只能查看实验室列表不具有更改等操作
b.借还管理中,学生可以进行借出归还操作,还可查询已借列表
二、概要设计
2.1功能包图
2.2系统主要模块的关系图
系统功能模块图如图所示:
a、学生模块
该模块为学生提供操作:
学生可通过该模块所提供的功能进行查看实验室,借还实验设备如下图所示:
学生
查看实验室
设备的借还
借出管理
归还管理
b、老师模块
该模块为老师提供操作:
老师可通过该模块所提供的功能进行查看实验室,借还
实验设备如下图所示:
老师
c、管理员模块
管理员
该模块为管理员提供操作:
管理员可通过该模块所提供的功能进行查看设备管理、实验室管理、借还实验设备。
如下图所示:
2.3、数据库表
1.学生信息表
2.教师信息表
3.管理员信息表
4.分析化学表
5.分析化学中分光光度仪表
6.实验室列表
7.借出设备列表
(其余表见数据库)
2.4数据流图
(1)根据第一阶段的结果进行分析,抽象出应用领域中流动信息(信源和信宿)、存储信息、各种应用的定义以及他们间的联系。
(2)用数据流图描述现行系统的逻辑模型,即信息流动和加工处理等详细情况。
独立于系统的实现。
(3)E-R图
学生实体:
老师实体
管理员
分析化学:
分光光度仪:
实验室:
借出的设备:
(其余ER图略)
四、 详细设计
1.系统功能概述及核心代码
a.
三种选择,分别进入三个不同的主页面,以上为管理员的主页面。
核实管理员登录信息,跳转到管理员界面的核心代码:
<%pagecontentType="text/html;charset=gbk"language="java"import="java.sql.*"errorPage=""%>
<%pageimport=".URLEncoder"%>
<%Stringmasname=request.getParameter("username");//获取管理员登陆网页的账号Stringmaspassword=request.getParameter("password");//获取管理员登陆网页的密码
if((masname=="")||(maspassword=="")){
%>
alert("用户名或密码不能为空!
");//判断管理员登录页面的账号,密码不得为空
window.document.location.href="admin-login.jsp";//返回管理员登录界面
<%}
else{
Stringurl="jdbc:
sqlserver:
//localhost:
1433;DataBaseName=test";
Class.forName(".microsoft.sqlserver.jdbc.SQLServerDriver");
Connectionconn=DriverManager.getConnection(url,"ylq","11205201");//连接数据库
Stringsql="selectmasname,maspasswordfrommasterwheremasname=?
andmaspassword=?
";//数据库的查询语句
PreparedStatementpstmt=conn.prepareStatement(sql);
pstmt.setString(1,masname);
pstmt.setString(2,maspassword);
ResultSetrs=pstmt.executeQuery();
if(rs.next()){session.setAttribute("masname",masname);//建立管理员名称会话session.setAttribute("loginname",masname);
response.sendRedirect("master-index.jsp");//信息核实就近入管理员主页面}
else{
%>
alert("用户名或密码错误!
");
window.document.location.href="master-login.jsp";/登陆的用户名或密码错误,返回管理员登录界面
<%}
rs.close();
conn.close();
pstmt.close();
}
%>
核实老师登录信息,跳转到老师用户界面:
<%pagecontentType="text/html;charset=gbk"language="java"import="java.sql.*"errorPage=""%>
<%pageimport=".URLEncoder"%>
<%
Stringteaname=request.getParameter("username");//获取老师登陆网页的名称
Stringteapassword=request.gerParameter("password");//获取老师登陆网页的密码
if((teaname=="")||(teapassword=="")){
%>
alert("用户名或密码不能为空!
");//判断老师登录页面的名称,密码
window.document.location.href="teacher-login.jsp";/返回老师登录界面
<%
}
else{
Stringurl="jdbc:
sqlserver:
//localhost:
1433;DataBaseName=test";
Class.forName(".microsoft.sqlserver.jdbc.SQLServerDriver");
Connectionconn=DriverManager.getConnection(url,"ylq","11205201");
Stringsql="selectteaname,teapasswordfromteacherwhereteaname=?
andteapassword=?
";
PreparedStatementpstmt=conn.prepareStatement(sql);
pstmt.setString(1,teaname);
pstmt.setString(2,teapassword);
ResultSetrs=pstmt.executeQuery();
if(rs.next()){
session.setAttribute("teaname",teaname);//建立老师编号会话
session.setAttribute("loginname",teaname);
response.sendRedirect("teacher-index.jsp");//信息核实就近入老师主页面
}
else{
%>
alert("用户名或密码错误!
");
window.document.location.href="teacher-login.jsp";//登陆的用户名或密码错误,返回老师登录界面
<%
}
rs.close();
conn.close();
pstmt.close();
}
%>
核实学生登录信息,跳转到学生界面:
<%pagecontentType="text/html;charset=gbk"language="java"import="java.sql.*"errorPage=""%>
<%pageimport=".URLEncoder"%>
<%Stringstuname=request.getParameter("username");//获取学生登陆网页的名称
Stringstupassword=request.gerParameter("password");//获取学生登陆网页的密码
if((stuname=="")||(stupassword=="")){
%>
alert("用户名或密码不能为空!
");//判断学生登录页面的账号,密码不得为空
window.document.location.href="student-login.jsp";//返回学生登录界面
<
%}else{
Stringurl="jdbc:
sqlserver:
//localhost:
1433;DataBaseName=test";
Class.forName(".microsoft.sqlserver.jdbc.SQLServerDriver");
Connectionconn=DriverManager.getConnection(url,"ylq","11205201");//连接数据库
Stringsql="selectstuname,stupasswordfromstudentwherestuname=?
andstupassword=?
";//建立查看数据库语句
PreparedStatementpstmt=conn.prepareStatement(sql);
pstmt.setString(1,stuname);
pstmt.setString(2,stupassword);
ResultSetrs=pstmt.executeQuery();
if(rs.next()){
session.setAttribute("stuname",stuname);//建立学生编号会话
session.setAttribute("loginname",stuname);
response.sendRedirect("student-index.jsp");/信息核实就近入学生主界面
}else{
%>
alert("用户名或密码错误!
");
window.document.location.href="student-login.jsp";//登陆的用户名或密码错误,返回学生登录界面
<%}
rs.close();
pstmt.close();
conn.close();
}%>
<%
request.setCharacterEncoding("GB2312");
Class.forName(".microsoft.sqlserver.jdbc.SQLServerDriver");
Stringurl="jdbc:
sqlserver:
//localhost:
1433;DatabaseName=test";
Connectionconn=DriverManager.getConnection(url,"ylq","11205201");//建立数据库连接
Statementstmt=conn.createStatement();
Stringsql="select*fromfenxihuaxue";//建立查看数据库语句
%>
分析化学设备
12px">
编号
仪器名称 | 数量 | 属性 | 入库号 | 操作 |
//建表显示分析化学设备的信息
<%
ResultSetrs=stmt.executeQuery(sql);
while(rs.next()){
Stringfenname=rs.getString("fenname");//获取分析化学的编号
%>
<%=rs.getString("fenname")%> | //获取并在表显示分析化学仪器的编号<%=rs.getString("fenmingcheng")%> | //获取并在表显示分析化学仪器的名称<%=rs.getString("fenno")%> | //获取并在表显示分析化学仪器的数量<%=rs.getString("feninformation")%> | //获取并在表显示分析化学仪器的详细信息<%=rs.getString("fenrukuhao")%> | //获取并在表显示分析化学仪器的入库号 fenname=<%=fenname%>'>修改
fenname=<%=fenname%>'>删除
|
<%
}
rs.close();
stmt.close();
conn.close();//数据库连接关闭
%>
详情
增加
返回
分析化学仪器的增加的核心代码:
<%
request.setCharacterEncoding("GB2312");//转换字符成中文
Stringfengname=request.getParameter("fengname");//获取要增加的分析化学仪器编号
Stringfengmingcheng=request.getParameter("fengmingcheng");//获取要增加的分析化学仪器名称
Stringfengno=request.getParameter("fengno");//获取要增加的分析化学仪器数量
Stringfenginformation=request.getParameter("fenginformation");//获取要增加的分析化学仪器详细信息
Stringfengrukuhao=request.getParameter("fengrukuhao");//获取要增加的分析化学仪器入库号
Class.forName(".microsoft.sqlserver.jdbc.SQLServerDriver");
Stringurl="jdbc:
sqlserver:
//localhost:
1433;DatabaseName=test";
Connectionconn=DriverManager.getConnection(url,"ylq","11205201");//建立数据库的连接
Stringsql="insertFenguangguangduqi
setfengmingcheng=?
fengno=?
fenginformation=?
fengrukuhao=?
wherefengname=?
";//新建数据库插入语句
PreparedStatementpstmt=conn.prepareStatement(sql);
pstmt.setString(1,fengmingcheng);
pstmt.setString(2,fengno);
pstmt.setString(3,fenginformation);
pstmt.setString(4,fengrukuhao);
pstmt.setString(5,fengname);
pstmt.executeUpdate();//执行该语句
response.setHeader("refresh","2;URL=fenxixiangqing.jsp");//增加成功,自动跳转会查看界面
pstmt.close();
conn.close();//数据库连接关闭
%>
(*^__^*)嘻嘻……!
恭喜成功咯!
修改:
<%pagecontentType="text/html;charset=GB2312"%>
<%pageimport="java.sql.*"%>
<%
request.setCharacterEncoding("GB2312");
Stringhengname=request.getParameter("hengname");//获取已更新的仪器编号
Stringhengmingcheng=request.getParameter("hengmingcheng");//获取已更新的仪器名称
Stringhengno=request.getParameter("hengno");//获取已更新的仪器数量Stringhenginformation=request.getParameter("henginformation");//获取已更新的仪器详细信息
Stringhengrukuhao=request.getParameter("hengrukuhao");//获取已更新的仪器入库号
Class.forName(".microsoft.sqlserver.jdbc.SQLServerDriver");
Stringurl="jdbc:
sqlserver:
//localhost:
1433;DatabaseName=test";
Connectionconn=DriverManager.getConnection(url,"ylq","11205201");//j建立数据库连接
Stringsql="updatehengwenxiang
sethengmingcheng=?
hengno=?
henginformation=?
hengrukuhao=?
wherehengname=?
";//建立数据库更新语句
PreparedStatementpstmt=conn.prepareStatement(sql);
pstmt.setString(1,hengmingcheng);
pstmt.setString(2,hengno);
pstmt.setString(3,henginformation);
pstmt.setString(4,hengrukuhao);
pstmt.setString(5,hengname);
pstmt.executeUpdate();//建立数据库更新语句response.setHeader("refresh","2;URL=wuhuaxiangqing.jsp");
pstmt.close();
conn.close();//关闭数据库连接
%>
(*^__^*)嘻嘻……!
恭喜成功咯!
删除:
<%
StringDBDRIVER=".microsoft.sqlserver.jdbc.SQLServerDriver";
StringDBURL="jdbc:
sqlserver:
//localhost:
1433;DataBaseName=test";
StringDBUSER="ylq";
StringDBPASSWORD="1120