2023年11月28日发(作者:)
实验室设备管理系统
一、 需求分析 .......................................................... 错误!未定义书签。
二、 概要设计 .......................................................................................... 5
三、详细设计 ......................................................................................... 13
四 、调试分析 ........................................................................................ 37
五、用户手册 .......................................................................................... 37
六、 附录 ................................................................................................ 38
实验室设备治理系统是为了方便学校对实验室以及实验室里的设备进行治
理而设计一款系统,它能在科学技术飞速进展的同时,使得我们的实验室紧跟时
代得潮流,与科学技术紧接,更加的方便于大伙儿的应用,更好得方便了老师合
和学生们。
故提高学校实验室设备治理水平,更好的也更大的发挥了实验室仪器设备的
功能,更加好的完善了学科的教学体系,提高了教学质量;与此同时也探究了新
的实验方法和手段,完善完备了学科实验教材,使得实验室设备成为相对独立得
教学实体。
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.
三种选择,分别进入三个不同的主页面,以上为治理员的主页面。 核实治理员
登录信息,跳转到治理员界面的核心代码:
<%@ page contentType="text/html; charset=gbk" language="java"
import=".*" errorPage="" %>
<%@ page import="oder" %>
<%String masname=ameter("username");//猎取治理员登陆网页的账
号String maspassword=ameter("password");//猎取治理员登陆网页
的密码
if((masname=="")||(maspassword=="")){
%>
<%}
else{
String url="jdbc:sqlserver://localhost:1433;DataBaseName=test";
e("verDriver");
Connection conn = nection(url,"ylq", "11205201"); //连接数
据库
String sql = "select masname,maspassword from master where masname=? and
maspassword=?";//数据库的查询语句
PreparedStatement pstmt = eStatement(sql);
ing(1,masname);
ing(2,maspassword);
ResultSet rs = eQuery();
if (()) {ribute("masname",masname);//建立治理员名称会话
ribute("loginname",masname);
direct("");//信息核实就近入治理员主页
面}
else{
%>
<%}
();
();
();
}
%>
核实老师登录信息,跳转到老师用户界面:
<%@ page contentType="text/html; charset=gbk" language="java" import=".*"
errorPage="" %>
<%@ page import="oder" %>
<%
alert("用户名或密码不能为空!"); //判定老师登录页面的名称,密码
=""; /返回老师登录界面
<%
}
else{
String url="jdbc:sqlserver://localhost:1433;DataBaseName=test";
e("verDriver");
Connection conn = nection(url,"ylq", "11205201");
String sql = "select teaname,teapassword from teacher where teaname=? and
teapassword=?";
PreparedStatement pstmt = eStatement(sql);
ing(1,teaname);
ing(2,teapassword);
ResultSet rs = eQuery();
if (()) {
ribute("teaname",teaname);//建立老师编号会话
ribute("loginname",teaname);
direct("");//信息核实就近入老师主页面
}
else{
%>
<%
}
();
();
();
}
%>
核实学生登录信息,跳转到学生界面:
<%@ page contentType="text/html; charset=gbk" language="java" import=".*"
errorPage="" %>
<%@ page import="oder" %>
<% String stuname=ameter("username");//猎取学生登陆网页的名称
String stupassword=ameter("password");//猎取学生登陆网页的
密码
if((stuname=="")||(stupassword=="")){
%> <
%}else{
String url="jdbc:sqlserver://localhost:1433;DataBaseName=test";
e("verDriver");
Connection conn = nection(url,"ylq", "11205201");//连接数据库
String sql = "select stuname,stupassword from student where stuname=? and
stupassword=?";//建立查看数据库语句
PreparedStatement pstmt = eStatement(sql);
ing(1,stuname);
ing(2,stupassword);
ResultSet rs = eQuery();
if (()) {
ribute("stuname",stuname);//建立学生编号会话
ribute("loginname",stuname);
direct("");/信息核实就近入学生主界面
}else{
%>
<%}
();
();
();
} %>
<%
racterEncoding("GB2312");
e("verDriver");
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
Connection conn = nection(url, "ylq",
"11205201");//建立数据库连接
Statement stmt = Statement();
String sql = "select * from fenxihuaxue ";//建立查看数据库语句
%>
分析化学设备
<% ResultSet rs = eQuery(sql); while (()) { String fenname = ing("fenname");//猎取分析化学的编号 %> //猎取并在表显示分 析化学仪器的编号/猎取 并在表显示分析化学仪器的名称 /猎取并在表显示分析化学仪器 的数量 /猎取并在表显示分析化 学仪器的详细信息 /猎取并在表显示分析 化学仪器的入库号 <% } %>
//建表显示分析化学设备的信息 编号 仪器名称 数量 属性 入库号 操作 <%=ing("fenname")%> <%=ing("fenmingcheng")%> /<%=ing("fenno")%> /<%=ing("feninformation")%> /<%=ing("fenrukuhao")%> /
分析化学仪器的增加的核心代码:
<%
racterEncoding("GB2312");
//转换字符成中文
String fengname=ameter("fengname");//猎取要增加
的分析化学仪器编号
String fengmingcheng=ameter("fengmingcheng");//猎取
要增加的分析化学仪器名称
String fengno=ameter("fengno");//猎取要增加的分
析化学仪器数量
String fenginformation=ameter("fenginformation");//
猎取要增加的分析化学仪器详细信息
String fengrukuhao=ameter("fengrukuhao");//猎取要增
加的分析化学仪器入库号
e("verDriver");
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
Connection conn = nection(url, "ylq", "11205201");
//建立数据库的连接
String sql="insert Fenguangguangduqi
set fengmingcheng=?fengno=?,fenginformation=?,fengrukuhao=? where
fengname=?"; //新建数据库插入语句
PreparedStatement pstmt = eStatement(sql);
ing(1,fengmingcheng);
ing(2,fengno);
ing(3,fenginformation);
ing(4,fengrukuhao);
(); //数据库连接关闭
%>
(*^__^*)
嘻嘻……!恭喜成功咯!
<%
racterEncoding("GB2312");
String hengname=ameter("hengname"); //猎取已更新
的仪器编号
String hengmingcheng=ameter("hengmingcheng");//猎取已更
新的仪器名称
String hengno=ameter("hengno");//猎取已更新的仪器数量
String henginformation=ameter("henginformation");//猎取
已更新的仪器详细信息
String hengrukuhao=ameter("hengrukuhao");//猎取已更新的
仪器入库号
e("verDriver");
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
Connection conn = nection(url, "ylq",
"11205201");//j建立数据库连接
String sql = "update hengwenxiang
set hengmingcheng=?,hengno=?,henginformation=?,hengrukuhao=? where
hengname = ?";//建立数据库更新语句
PreparedStatement pstmt = eStatement(sql);
ing(1,hengmingcheng);
ing(2,hengno);
ing(3,henginformation);
ing(4,hengrukuhao);
ing(5,hengname);
eUpdate();//建立数据库更新语句
der("refresh","2;URL=");
();
();//关闭数据库连接
%>
(*^__^*)
嘻嘻……!恭喜成功咯!
删除:
<%
String DBDRIVER="verDriver";
String DBURL="jdbc:sqlserver://localhost:1433;DataBaseName=test";
String DBUSER="ylq";
String DBPASSWORD="11205201";
Connection conn=null;
PreparedStatement pstmt=null;
String sql=null;
%>
<%
racterEncoding("GB2312");
String fengname=ameter("fengname");//猎取要删除的仪器编号
sql="delete from fenguangguangduqi where fengname=? "; // 建立删除语句
e(DBDRIVER);
conn=nection(DBURL,DBUSER,DBPASSWORD);/建立数据库连接
pstmt=eStatement(sql);
ing(1,fengname);
e();//执行删除语句
der("refresh","2;URL=");
();
();//数据库连接关闭
%>
(*^__^*)
嘻嘻……!恭喜成功咯!
3.实验室列表
<%@page contentType="text/html;charset=GB2312"%>
<%@ page import=".*, DateFormat"%>
<%
e("verDriver");
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
Connection conn = nection(url, "ylq", "11205201");//建立数据连接
Statement stmt = Statement();
String sql = "select * from lab ";//建立题目的数据库查询语句
%>
实验室列表
<% ResultSet rs = eQuery(sql); while (()) { String labname = ing("labname"); %> /猎取并显示实验室数量 /猎取并显示实验室编号 /猎取并显示实验室规模 /猎取并显示实验室治理员联系方式 /猎取并显示实验室地址 /猎取并显示实验室使用者 /猎取并显示实验室类型 <% } (); (); (); %>
增加 //建表显示实验室的具体信息 实验室名称 编号 规模 联系方式 实验室地址 用户 实验室类型 操作 ><%=ing("labname")%> /<%=ing("labno")%> /<%=ing("labguimo")%> / <%=ing("labcellphone")%> / <%=ing("labaddress")%> / <%=ing("labuser")%> / <%=ing("labtype")%> / width="80">href='?labname=<%=labname%>'>修改信息
<
%@page contentType="text/html;charset=GB2312"%>
<%@ page import=".*, DateFormat"%>
<%
racterEncoding("GB2312");
String loginname=(String)ribute("loginname");//猎取登录名
String softname=ameter("softname");//猎取软件仪器编号
ribute("jie_softname",softname);
%>
<%=loginname%> ,hello
<%@page contentType="text/html;charset=GB2312"%>
<%@ page import=".*"%>
<%
racterEncoding("GB2312");
String softname=(String)ribute("jie_softname");//猎取软件仪器名称
String softno=ameter("softno");//猎取借出的数量
String loginname=(String)ribute("loginname");//猎取登录名
e("verDriver");
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
Connection conn = nection(url, "ylq", "11205201");//建立数据连接
String sql = "insert into softjie(softno,softname,name) values (?,?,?) ;";/建立数据库增加语
/
句
PreparedStatement pstmt = eStatement(sql);
ing(1,softno);
<%
}
();
();
der("refresh","2;URL=");
%>
(*^__^*)
嘻嘻……!恭喜成功咯!
<%@page contentType="text/html;charset=GBK"%>
<%@ page import=".*"%>
<%
Statement stmt = Statement();
String sql = "select * from softjie,software where ='"+masname+"'and
me=me";/建立数据库查询语句%>
/
学生登录毕设治理系统
<% ResultSet rs = eQuery(sql); //执行查询语句 while (()) {%> <% } (); (); ();//数据库连接关闭 %>
设备名称 设备编号 借用者姓名 借用数量 <%=ing("softmingcheng")%> //猎取并显示仪器名称 <%=ing("softname")%> //猎取并显示仪器名称 <%=masname%> //猎取并登录名称 <%=ing("softno")%> //猎取并显示仪器数量
四、 调试分析
1.一开始在建立数据库连接时,总显示连接不上数据库,通过一一
检查,发觉时代码中连接数据库的名称有误以及建立新的数据库未重
新启动,从而造成不能连接上数据库。
2.增加数据时,总是增不了,经检查,发觉我的代码中存在了空格问
题。
3.修改数据时,原数据总传只是来,原先是上一页面传过来的数据格
式有误。
4.这次课设由于大小写,空格等小问题导致出了专门多错,白费了专
门多时刻
五、 用户手册
软件支持:
服务器操作系统平台:Windows XP级以上版本操作系统。
客户端操作系统平台:Windows XP级以上版本操作系统
编程语言平台:JDK32位或以上版本
数据库:SQL2005及以上版本
Tomcat:tomcat-jdk32文件
六、 附录
发布评论