实验室设备在线管理信息系统的设计与实现文档格式.docx
《实验室设备在线管理信息系统的设计与实现文档格式.docx》由会员分享,可在线阅读,更多相关《实验室设备在线管理信息系统的设计与实现文档格式.docx(29页珍藏版)》请在冰点文库上搜索。
对系统需求的全面、深入的理解是软件开发工作获得成功的前提条件。
需求分析的任务是明确用户对目标系统的需求,主要是确定对系统的综合要求,同时分析系统的数据要求。
它能提高软件开发过程的能见度,便于实现软件开发人员对开发过程的工程化管理与控制。
1.1系统性能需求
为了保证系统能够长久、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:
(1)系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统处理数据能力和响应时间能够满足用户对信息的处理。
由于系统的查询功能对于整个系统的功能和性能完成很重要。
从系统的多个数据来源来看,学生信息查询、预约结果查询、预约实验,其准确性很大程度上决定了系统的成败。
(2)系统的开放性和系统的可扩充性
系统在开发过程中,应该充分考虑以后的可扩充性。
例如实验信息属性添加、修改等模块要不断的更新和完善。
所有这些,都要求系统提供足够的手段进行功能的调整和扩充。
而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
通过软件的修补、替换完成系统的升级和更新换代。
(3)系统的易用性和易维护性
系统是直接面对使用人员的,为满足易用性应提供良好的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面。
系统中涉及到的数据是高校实验室相当重要的信息,因此系统为不同角色的用户提供了方便的管理后台进行数据管理,特别为系统管理员提供了数据备份,日常安全管理,防止系统意外崩溃等功能。
(4)系统的响应速度
系统设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提高系统响应时间和速度。
系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。
严格保证操作人员不会因为速度问题而影响工作效率。
1.2系统总体设计需求
本系统为实验室设备管理信息系统,设计目标是依托校园的网络平台,采用B/S体系结构,应用网络协同工作模式,为实验室的设备的录入、浏览与管理等环节提供全方位的服务,从而推进设备管理的现代化,做到信息的规范管理,使实验室设备易于维护。
主要完成功能包括用户管理、实验设备管理、设备维护管理和数据维护等。
其总体分为两大模块:
设备信息管理模块、论坛模块。
1.2.1系统功能划分
设备信息管理模块功能划分
从系统功能上看,可以划分为普通用户和教师用户及管理员。
普通用户可注册登录论坛。
教师用户可更新设备状态,发布信息。
管理员可以在客户端实现对数据库的管理。
在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。
主要的工作有:
根据在需求分析中所描述的数据、功能、运行、性能需求和系统所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),以及下面的几个问题:
(1)有效实现三类角色(普通用户、教师、管理员)的业务逻辑。
(2)判断信息的正误并采取相应的校验处理步骤。
(3)进行数据库的查询、修改工作。
(4)接受并判断错误,输出相应的出错消息。
系统管理员通过指派,先行向数据库写入管理员信息。
其主要功能如下:
1.用户管理
管理员可对实验室管理员、教师信息进行增、删、改管理。
2.实验室硬件资源管理
实验室硬件资源管理包括:
实验室设备状态管理、实验室管理、实验室设备信息管理。
实验室设备状态管理是对教师提交的实验室设备状况进行查看,处理实验中设备出现的问题,其中含盖实验室设备报修。
3.实验室添加、删除。
实验室设备信息管理对实验室设备信息进行编辑包括添加、修改、删除及设备归属某一个实验室。
4.实验室软件资源管理
软件资源管理包括实验室公告发布管理及实验室资料上传管理。
5.实验室论坛管理
查看管理论坛事务,对论坛用户管理及对信息进行筛选删除等。
实验室设备信息管理系统总体功能结构如图1-1。
实验室设备信息管理系统
教师登录
普通用户登录录录
管理员登录
实验室软件资源管理
实验室论坛管理
用户信息管理
实验室硬件资源管理
教学上传资料
更新实验室设备状况
注册登录论坛
个人资料管理
公告添加管理
实验室设备信息管理
实验室管理
实验室资料上传管理
实验室公告发布管理
实验室设备状态管理
图1-1实验室设备信息管理系统总体功能结构
实验室设备信息管理系统论坛模块功能划分
实验室设备信息管理系统论坛分为普通用户、管理员用户。
其普通用户子模块分为:
学习交流版块、创新思路版块、资源共享版块、查看个人资料、修改个人信息。
管理员子模块分为:
学习交流模块、创新思路版块、资源共享版块、用户管理模块。
实验室设备信息管理系统论坛模块设计实现以下功能:
1.普通用户
包括用户注册、用户登录、查看修改个人资料等功能。
2.管理员用户
管理员对论坛进行一些基本的维护,包括对帖子的删除、修改、设为精华帖,对用户的删除、授权,对版块的权限管理,对用户组及用户组的权限的管理等。
实验室设备信息管理系统论坛模块总体功能结构如图1-2。
实验室设备信息管理系统论坛模块
普通用户登录
资源共享版块
创新思路版块
学习交流版块
用户发表言论编辑
用户资料权限编辑
用户资料管理
登录论坛
修改个人信息
查看个人资料
图1-12实验室设备信息管理系统论坛模块总体功能结构
本系统主要由普通用户、教师用户、系统管理员组成。
下面将详细介绍各角色的业务逻辑。
1.普通用户主要是登录论坛功能。
如用例图1-2。
(1)普通用户可通过用户注册获取账户。
(2)个人资料管理。
(3)用户进行注册登录同时可以查看个人资料、人信息编辑。
(4)登录论坛。
(5)用户登录论坛发表信息,以对实验室的管理提出好的意见,同时可以对在使用实验中出现的问题及时反映,以便管理员更好更全面的了解实验室设备的状况。
2.教师系统模块总体业务逻辑。
如图1-3教师用例图。
图1-3普通用户用例图图1-4教师用例图
教师角色由管理员通过用户管理模块进行添加,无法通过注册。
1)更新实验室设备状况
教师在每次实验课时都对实验室的设备状况进行填写更新,以便于实验室管理员对实验室设备进行管理。
2)公告添加管理
若出现特殊情况,教师不能按时进行课外实验课培训,教师也可以通过添加实验室公告来更改课外实验课外培训时间。
3)教学资料上传
教师可上传实验资料、教程等供学生下载使用。
3.管理员系统模块总体业务逻辑。
如图1-5管理员用例图。
图1-5系统管员用例图
1.2.2模块处理功能设计
通过需求分析,介绍实验室设备信息管理系统基本模块功能设计情况:
1.用户信息管理部分
用户登陆
输入:
用户名、口令。
输出:
若登陆失败,则输出失败提示信息。
功能:
对要求进入系统的用户进行身份验证:
拒绝非法用户,并鉴别进入系统的合法用户的身份(普通用户和管理员)。
论坛新用户注册
用户的基本信息,包括必输部分和可选部分。
若用户注册失败,则输出失败提示信息,否则输出注册成功的确认情况。
添加使用本系统的普通用户。
用户信息修改模块
若用户修改失败,则输出失败提示信息,否则输出修改后的确认情况。
完成对用户基本信息的修改。
2.设备信息管理部分
设备信息入库模块
输入:
设备的基本信息。
输出:
若设备入库失败,输出失败原因,否则输出设备入库信息的确认情况。
功能:
根据用户登陆模块时的用户身份验证,允许管理员按要求添加设备信息,拒绝普通用户对该项功能的请求。
设备信息修改模块
修改申请。
若设备修改失败,输出失败原因,否则输出修改确认信息。
根据用户登陆模块时的用户身份验证,允许管理员按要求修改设备信息,拒绝普通用户对该项功能的请求。
设备信息删除模块
删除申请。
设备入库的基本情况及删除提示信息。
根据用户登陆模块时的用户身份验证,允许管理员删除设备信息,拒绝普通用户对该项功能的请求。
2系统设计
2.1系统设计思想
该实验室管理信息系统通过前端即客户端浏览器和后台数据库向用户展示实验信息,方便实现实验室信息的维护和更新,使用户更快,更好的了解实验信息。
以“实验管理”模块为例,管理员将所有实验信息存入数据库表中,当前端发出浏览该动态页面的请求时,服务器就会执行相应的脚本代码,从数据库中查询出符合条件的实验信息,生成相关页面发送到客户端浏览器上供用户查看。
客户端所显示的内容是随着后台管理数据库的变化而动态显示的,因此,客户端可获得实验的最新动态信息。
本系统采用三层架构设计,它的工作原理如图2-0所示。
组织语句查询数据库
给出查询信息
返回信息对象
返回查询结果
用户界面层
业务处理层
数据存储层
图2-0三层架构的工作原理
采用三层架构以后,用户界面层通过统一的接口向业务层发送请求,业务层按逻辑规则将请求处理后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户层。
这样用户界面层甚至可以不知道数据库结构,它只要维护与业务层之间的接口即可。
这种方式在一定程度上增加了数据库的安全性,同时减低了对用户界面层开发人员的要求,因为它根本不需要进行任何数据库操作。
上面的JavaBean通过返回对象的形式来返回数据,在类的内部可以规定哪些数据可访问,哪些数据是只读,从而通过封装数据达到再一次提高数据安全性的目的。
2.2系统序列图
1)添加实验室管理员如图2-1。
图2-1实验室管理员界面序列图
2)添加实验室管理员如图2-2。
图2-2实验室管理员活动图
3)教师信息修改如图2-3。
图2-3教师信息修改序列图
4)教师信息修改如图2-4。
图2-4教师信息修改活动图
5)教师信息删除如图2-5。
图2-5教师信息删除序列图
6)实验室设备信息查询如图2-6。
图2-6实验室设备信息查询序列图
7)实验室设备信息查询如图2-7。
图2-7实验室设备信息查询活动图
8)上传资料如图2-8。
图2-8上传资料序列图
2.3系统框架
根据系统需求分析实验室设备信息管理系统使用MVC模式。
MVC模式是"
Model-View-Controller"
的缩写,中文翻译为"
模型-视图-控制器"
。
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。
如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。
因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。
这实际上是一种模型的变化-传播机制。
模型、视图、控制器三者之间的关系和各自的主要功能。
如图2-9。
图2-9MVC组件类型关系和功能
2.4系统数据库设计
数据库是本系统的核心,系统中所有的信息都存储在数据库中,在所有用户界面产生的请求都通过访问相关的Dao层进行数据操作,Dao层通过对JDBC的connection进行封装的工具类进行数据库操作,从而实现相应的功能。
数据库软件有很多。
本系统中数据库采用MySQL作为DBMS。
数据库是软件的核心部分,数据库设计的合理与否对系统的开发有着至关重要的影响。
数据库开发的过程一般先是系统分析,再逻辑设计,然后物理实现。
在系统分析中分析数据库各用户的需求关系,并画出E-R图直观地表示出数据库系统的需求。
逻辑设计中根据系统分析设计出相应的关系模型。
物理设计则为逻辑设计中的数据模型选取较合理物理结构,通常通过数据库软件创建与逻辑设计中数据模型对应的数据库。
2.4.1数据库概念设计
概念结构设计的重点在于信息结构的设计,它是整个数据库系统设计的关键。
它独立于逻辑结构设计和DBMS。
现实世界中一组具有某些共同特性和行为的对象就可以抽象为一个实体。
对象类型的组成成分可以抽象为实体的属性。
并根据系统实际确定各实体之间的关系。
2.4.2数据库逻辑设计
逻辑设计的目的是把概念设计的全局ER模式转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。
根据全局的ER图,得到的关系模型:
用户表分为系统管理员表、教师表、普通用户表、实验室管理员表。
系统管理员表(系统管理员编号、系统管理员名、系统管理员密码)
教师表(教师编号、院系编号、教师姓名、密码、性别、年龄、联系电话、地址、邮箱名)
普通用户(普通用户编号、姓名、密码、性别、年龄、邮箱名、权限等级、图标、联系电话、地址)
实验室管理员表(实验室管理员编号、实验室编号、姓名、入职时间、状态)
公告表(公告编号、公告内容、添加公告时间)
院系表(院系编号、院系名)
设备表(设备编号、设备名、实验室编号、状态、设备供应商、保修年限、购置日期、设备金额、设备数量、设备配置)
实验室表(实验室编号、实验室名、地址、容纳人数)
设备状态表(设备状态编号、教师编号、使用时间、使用班级、设备状态、实验室编号、备注)
上传资料表:
(上传资料编号、教师编号、上传资料名、上传时间、资料存储路径、资料大小、资料类型)
2.4.3数据库物理结构设计
本系统的数据库通过MySQL-Front生成,MySQL-Front是MySQL数据库的可视化图形工具,因为它是“实时”的应用软件,它可以提供比系统内建在PHP和HTML上更为精炼的用户界面。
即刻响应,没有重载HTML页的延迟。
主要特性包括多文档界面,语法突出,拖拽方式的数据库和表格,可编辑/可增加/删除的域,可编辑/可插入/删除的记录,可显示的成员,可执行的SQL脚本,提供与外程序接口,保存数据到CSV文件等。
3系统实现
本章主要根据上文的分析介绍详细的实现过程。
3.1系统开发环境搭建
开发环境搭建也是系统开发的重要环节之一,环境搭建成功方可进行系统编码。
本系统使用MyEclipse8.5、MySql5.0、Tomcat6.0及JAVA插件JDK。
3.2数据库连接的实现
在系统开发过程中,因为要多处用到对数据库的操作,如果这些操作在每次用到时在每个JAVA程序中去实现,将非常繁琐,因此,为了简化这些操作,在开发时设计了一个可重用组件:
DBConn.java,把对数据库的操作都封装在在这个类中,需要用到时生成对象调用便可,其工作流程图如图3-1所示。
图3-1数据库访问流程图
本系统中采用JDBC数据源与MySql进行连接,JDBC连接MySQL数据库关键的四个步骤:
查找驱动程序、获取连接对象、创建语句对象,执行SQL、关闭。
3.3系统主要界面及主要代码
在MyEclipse中为系统加载Tomcat服务器,打开浏览器在浏览器中输入:
http:
//localhost:
8080/TeachingResourceManager/index.jsp进入系统主页。
如图3-2。
图3-2实验室设备管理系统主页
3.3.1管理员界面
系统管理员通过验证用户名及密码登录管理员界面。
如图3-3为登录界面。
图3-3系统管理员登录界面
验证用户登录信息主要代码:
request.setCharacterEncoding("
utf-8"
);
session.setMaxInactiveInterval(-1);
Stringadminname=request.getParameter("
adminname"
Stringpasseword=request.getParameter("
passeword"
Stringsql="
select*fromadminwhereadminname='
"
+adminname+"
'
andpasseword='
+passeword+"
;
Connectionconn=dbconn.DBConnect();
Statementst=conn.createStatement();
ResultSetrs=st.executeQuery(sql);
if(rs.next())
{session.setAttribute("
rs.getString("
));
rs.close();
conn.close();
如图3-4为系统管理员界面。
图3-4系统管理员界面
用户管理下分为实验室管理员、教师管理。
实验室管理员界面如图3-5:
图3-5实验室管理员界面
添加实验室管理员界面如图3-6。
图3-6实验室管理员界面
实验室管理员信息显示代码入下:
DBConndbConn=newDBConn();
Connectionconn=dbConn.DBConnect();
Stringsql="
select*fromlabmanager"
Statementst=null;
ResultSetrs=null;
try{st=conn.createStatement();
rs=st.executeQuery(sql);
}catch(SQLExceptione){e.printStackTrace();
}List<
LabManager>
labmanagers=newArrayList<
();
try{while(rs.next()){
LabManagerlabmanager=newLabManager(rs.getInt("
managerId"
),rs.getInt("
labId"
),rs.getString("
managerName"
),rs.getString("
ruzhiTime"
),
rs.getBoolean("
state"
labmanagers.add(labmanager);
}
}catch(SQLExceptione){
e.printStackTrace();
添加实验室管理员信息如数据库代码:
Stringsql="
try{st=conn.createStatement();
}catch(SQLExceptione){e.printStackTrace();
sql=sql+"
insertintolabmanager(labId,managerName,ruzhiTime,state)values('
+labId+"
'
+managerName+"
+ruzhiTime+"
+state+"
)"
教师管理界面如图3-7。
图3-7教师管理界面
教师信息修改功能主要代码如下:
st=conn.createStatement();
sql=sql+"
updateteachersetteacherId='
+teacherId
+"
teacherName='
+teacherName+"
sex='
+sex
age='
+age+"
address='
+address
+"
telephone='
+telephone+"
email='
+email
whereteacherId="
+teacherId;
System.out.println("
sqlis:
+sql);
flag=st.executeUpdate(sql);
教师信息删除功能主要代码如下:
flag=st.executeUpdate(sql);
硬件资源管理分为:
实验室管理、实验室设备信息管理、实验室设备状态管理。
图3-8为实验室管理界面