实验室信息管理系统毕业设计DOC.docx
《实验室信息管理系统毕业设计DOC.docx》由会员分享,可在线阅读,更多相关《实验室信息管理系统毕业设计DOC.docx(26页珍藏版)》请在冰豆网上搜索。
实验室信息管理系统毕业设计DOC
毕业设计
题目显示专业实验信息管理系统设计
学院物理科学与技术学院
专业信息显示与光电技术
班级显示1201
学生姜辉
学号20121701035
指导教师崔晓军
二〇一六年五月二十二日
摘要
随着大学实验教学课程的日益普及和丰富,实验信息的管理日渐冗杂,这时候,一套快捷、高效的实验信息管理系统显得很有必要。
本设计是基于Web技术开发的实验室管理系统(LIMS)。
系统在Windows系统+Java环境下开发。
使用的主要技术是ASP技术和Oracle数据库技术。
前台采用CSS+DIV布局,后台使用SSH框架整合系统。
本设计的主要任务是实现教学论坛模块的开发,将所有实验整合成论坛的形式,每个实验以帖子的形式呈现,包括实验信息,实验评价,实验热度等。
师生在论坛中交流,答疑。
教师与学生之间以私信的形式进行交流,教师可以对教学进程实时跟进,学生可以及时提问,高效、快捷的完成教学任务。
本设计的最大亮点是克服了以往实验管理系统脱离人的缺陷,加入了高效率的论坛交互,大大提高了教学效率。
另外本设计采用B/S构架,将程序部署在服务器上,师生可以通过浏览器在互联网上访问系统,十分便捷。
关键词:
实验室信息管理系统;实验教学论坛,SSH;B/S。
ABSTRACT
Withexperimentalteachingcoursesinuniversitiesandtheincreasingpopularityofrich,experimentalinformationmanagementbecomesmoreandmoremiscellaneous.Atthistime,afastandefficientlaboratoryinformationmanagementsystemisverynecessary.ThedesignisbasedonWebtechnologydevelopmentoflaboratoryinformationmanagementsystem(LIMS).SystemdevelopedunderWindowssystem+Javaenvironment.TechnologyofASPandOracledatabaseisthemaintechnologyused.ProspectsofusingCSS+divlayout,backgroundUsingSSHframeworkoftheintegrationsystem.Themaintaskofthisdesignisteachingforummoduleisdevelopedtoachievealltheexperimentswillbeintegratedintotheformofforum,eachExperimentstopostsintheformofpresentation,includingtheexperimentalinformation,experimentalevaluation.Theexperimentalheat.Teachersandstudentsintheforumexchanges,answering.BetweenteachersandstudentsintheformofSixincommunicate,teacherscantheteachingprocessreal-timefollow-up,studentscanpromptquestions,efficient,rapidandfinishtheteachingtask.Thebiggesthighlightofthedesignistoovercometheshortcomingsofthepreviousexperimentmanagementsystemfromthehuman,joinedtheefficientinteractiveforum,greatlyimprovingtheefficiencyofteaching.AlsothedesignbyB/Sarchitecture,deploytheprogramontheserver.TeachersandstudentscanthroughthebrowserontheInternetaccesssystem,isveryconvenient.
Keywords:
Laboratoryinformationmanagementsystem;ExperimentalTeachingForum;B/S;SSH;
1前言
1.1研究背景
随着大学实验教学的日益普及和丰富,大学开设的实验课程越来越多,开设实验教学的学院、专业也越来越多,实验室的压力也越来越大。
面对日益增长的学员数量,日益繁重的教学任务,教师的教学压力也越来越大。
这导致教师很难对每一个学员的学习进度进行跟进,这也就违背了学校开设实验课程的初衷[1]。
随着科技的发展,学校教学能力的进步,慢慢的会开设一些新的实验课程,这些新的课程就可能需要一些新的实验设备。
实验导师在管理自己的实验资料和实验设备的时候不够直观,造成效率低的状况。
其次,可能这些教学资料会有更迭,然而旧版本的资料往往也很重要,对旧材料的保存和新材料的公示,管理效率依然很低。
实验教学要求学生提前了解实验内容、实验设备。
由于平时学生不太会去接触实验室,从书本上接触的实验信息和资料不够直观,也很晦涩,导致预习效果差。
实验预习报告写了很多但是效果并不理想,一些简单的疑问得不到解答。
在进行课程时,学生对实验了解不够,课堂上跟不上导师的进度,反应慢,师生交流少,效果不理想。
学生在实验室课堂教学结束以后,往往对一些实验细节有一些疑问,但是答疑的成本比较高,难度比较大,因为往往导师课程安排也比较紧,学生课课程很多。
出于以上种种考虑,学生最后多数就放弃了答疑。
这使得实验教学效果不理想。
有些课程,学生可能在一段时间以后忘记了一些实验特性,想重新温习一下,而实验室又不处于闲置状态,即便实验室真的闲置,导师可能也有课程安排,没有时间进行一对一的指导示范。
再退一步说,即便导师真的有时间对学生进行指导,这种温习的方式成本也显得非常高,需要学校提供实验室,需要学生和导师挤出时间。
效率还是非常低。
每学期期末要进行实验考核,要求学生现场操作,但一个学期有十几个实验,学生很难完全掌握每一个实验,尤其是一些实验细节,但是导师也没有条件去一对一的重新讲一遍。
这让学生在考试复习的时候很苦恼。
学校开设一个实验课程,必然有其教学目标,希望达到一定的效果。
那么学校如何了解教学效果呢,当然是从学生处。
那么学校既然希望能得到学生的反馈,了解学生对实验教学的评价,途径又是什么。
从多数学校以往的方式来看,最后往往会采取调查问卷的形式。
那么问题又来了,一个实验,其学员少则数百多则数千,如何去汇总这些评价,以人力去统计成百上千张调查问卷,效率何其低[2]。
综上,目前学校的实验室信息管理主要还是以人力为主,这就造成了过程冗杂,人力投入大的弊端。
而且人为管理难免会有疏漏,往往效率也不高。
其次师生交流不便,教学效果不理想。
因此,一套简单便捷,基于计算机网络的实验信息管理系统显得尤为重要。
1.2研究意义
根据前文提到的种种问题,本设计都能很好的解决。
关于导师资料保存的问题,导师可以通过本系统上传文本、图片等资料。
将信息长期保存在服务器上,高效便捷地管理实验信息。
关于学生预习效果不理想的问题,学生可以通过访问本系统,登录论坛等方式了解实验的详细信息,提前自学,预习效果佳。
关于师生交流不畅,答疑困难的问题。
通过本系统的交流论坛,同学之间可以相互交流心得体验,导师也可以参与讨论。
师生之间可以通过论坛私信进行答疑交流,增进师生间的交流。
提高学习效率。
关于学生复习及备考效率低的问题,通过导师上传的复习资料,学生可以随时进行回顾温习,高效备考。
关于实验教学评价困难的问题。
在本设计中,学生可以通过访问系统,找到交流论坛中的具体实验,通过自己的切身感受,来对实验进行星级评价,具体评论。
系统会汇总这些评价,并进行分析处理,得到综合打分,学校能从中得到最真实的反馈。
总而言之,本设计的出发点就是利用计算机信息管理的科学性来提高日常教学管理的效率。
1.3研究目标
本设计目标构建一个Web应用并将其部署在互联网上,师生通过浏览器简单有效的管理实验信息。
建立一个以论坛为交流载体的实验信息管理平台。
以不同的角色、不同权限进行信息管理。
导师便捷的上传资料公示给学生。
学生通过访问论坛查看公示信息,有效预习、自学。
课后通过论坛发帖进行交流,通过与导师私信进行答疑,及时查漏补缺。
学生在论坛对实验进行打分评论,对教学效果进行有效反馈,学校以这种方式高效的汇总信息,进行教学评估[3]。
在论坛页面显示活跃导师,从而督促导师多与学生进行交流,广开言路,有效答疑。
本设计的目标是统筹资源,提高管理效率,以计算机为载体,以互联网为依托,简单高效的管理实验信息。
从而提高学生的学习效率与导师的教学效率,节省人力物力。
充分调动导师与学生的积极性,主动参与到学校部署的实验教学任务当中。
因此,构建基于计算机网络的实验室信息系统,不仅是满足毕业设计的要求,而且也是提高实验室管理水平的重要保证。
1.4开发环境
本设计首先从用户体验出发,考虑到目前PC绝大多数都是Windows系统,所以要完美兼容目前市面上的Windows系统,Xp、Win7、Win8、Win10都可以完美运行。
以Win7系统为开发系统,以JAVA语言为开发语言。
JAVA语言以其面向对象的编程特点,使得程序逻辑性更强,程序代码简化,工作量大大缩减。
另外,目前JAVA语言已经在市场屹立多年,封装好了很多好用的方法和接口,可以直接拿过来用。
其次,本设计采用Oracle数据库作为数据库软件。
它是在数据库领域一直处于领先地位的产品。
可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强。
它是一种高效率、可靠性好的数据库管理方案。
本设计采用CSS+DIV的前台页面设计,用简单的盒子模型,即以外填充、边框、内填充、内容的结构画出整个网页。
以Eclipse作为开发软件,Eclipse是一个开放源代码的、基于JAVA的可扩展开发平台。
可以导入各种JAR包,拓展应用组件。
是一款结构简单,可操作性强的JAVA开发平台[5,6]。
1.5开发流程
通过分析设计需求,明确开发目标与任务。
部署JAVA环境和数据库环境。
划分具体开发模块。
从需求出发主要有以下分析,本设计最主要的模块是实验信息论坛模块。
其次,实验信息展示模块,展示实验具体信息。
还有实验评价模块,对实验发起评分。
还有很重要的一个模块是私信模块进行交流。
(1)明确开发任务以后,在Eclipse建立一个Web项目进行开发。
(2)根据各个模块的具体要求,建立各自对应的的Oracle数据库中的表,确定各个字段以及各个表之间的联系。
(3)同时由SSH框架的特性,生成各个表的JAVA类,从而以面向对象的思维进行开发。
(4)在前台JSP页面用CSS+DIV进行布局,画出页面。
(5)以Struts2分发请求请求连接后台,连接数据库进行数据库的增删改查操作。
(6)整合各个模块,将数据和请求联系在一起,完成整个系统的部署。
(7)初步开发结束以后,要对程序进行整体的调试,对前后台程序做一些小修改。
程序本身调试结束以后要进行兼容性调试。
从设计角度出发,兼容性最好的浏览器是谷歌浏览器。
(8)之后实验信息系统要正式上线,添加真实的实验数据,进行运行维护。
2系统设计的具体结构
2.1Web应用的建立
2.1.1为什么使用Web应用
在Internet上的信息受到很多条件的限制,最重要的就是受到平台的相互依赖,也就是说很多东西都要受到系统的限制,在Windows系统下可行的应用,在UNIX下就不能正常运行,反之亦然。
Web应用的出现改变了这一现状,为网络上的计算机用户提供了一种解决兼容性问题的手段。
考虑到本设计是一套实验信息管理系统,实验信息和实验设备等信息需要经常更新,同时需要上传非常多的多媒体信息,同时我们希望用户可以跨平台的访问我们的页面,我们希望可以用JAVA完美支撑,还需要很强的动态交互的特性。
出于以上几点考虑,我们选择创建Web应用[7]。
2.1.2Web应用的特点
Web是在C/S即客户端/服务器的基础上发展起来的,是一个平台无关性的共享平台。
PC通过URL来请求服务器上的Web页面。
其比较典型的特点有:
平台无关性:
对操作平台没有什么具体的限制,无论是PC,还是工作站、大型机。
对操作系统也没有具体的限制,无论是Windows、DOS还是Unix,都可以通过浏览器在Internet上访问Web应用。
新闻性:
Web站点的内容是会经常更新的,而且操作成本很低,简单高效,用户可以获取最新信息。
动态交互的特性:
不同于早期的静态Web应用,用户只能被动浏览页面,交互效果差,体验不好。
以JAVA为依托的新Web已经成长为兼具动态交互性的可执行的应用。
超文本特性:
Web页面不只是简单的文本内容,而是具有丰富的多媒体资源。
超链接导航特性:
Web应用可以通过页面上丰富的超链接进行页面间的跳转,可以实现便捷的导航[8,9]。
2.2B/S构架模式的构建
2.2.1为什么采用B/S架构
传统的互联网应用是C/S架构。
所谓C/S架构即客户端/服务器架构。
C/S架构有以下特性:
由于是客户端/服务器架构,需要在客户端即PC部署一份程序。
就是说如果用户想使用这个系统,就需要在自己的电脑上部署应用程序。
这使得程序使用成本变得很高。
C/S架构的程序一旦程序本身进行一些升级维护,那么每个用户都需要在自己的电脑上进行程序升级,这使得升级成本同样很高。
由于C/S架构的程序是部署在用户PC上,所以用户针对性强,体验较好,这是C/S架构的优点。
如上述几点所言,C/S架构的应用程序虽然本地的交互体验较好,但是安装、升级、维护的成本太高。
也就是说用户访问页面的门槛很高,这显然不是我们希望看到的[10]。
我们希望我们这套程序用户可以轻松访问,不需要本地安装、升级、维护,所以我们选择B/S架构的应用程序,用户可以通过浏览器直接访问应用。
2.2.2B/S架构应用的特点
B/S架构即浏览器/服务器架构,有一点需要说明,这里的服务器指的是两个,一个是Web服务器,只需要安装信息服务,另一个指的是数据库服务器,我们选择的是Oracle。
用户终端只需要安装浏览器就可以访问本系统。
终端可以是台式机、笔记本电脑等任何连接互联网的机器。
B/S架构的应用程序不需要在终端本地部署,只需要部署在服务器上,用户只需要互联网和浏览器就可以轻松访问应用程序。
B/S架构的应用程序需要升级的时候只需要升级维护服务器上的一份就可以,简单快捷。
由于本系统是实验信息管理系统,从实际应用出发,需要经常对实验资料、实验仪器等进行信息维护,进行增删改查,所以信息会一直变动。
换言之我们需要经常升级维护本系统,B/S架构的程序是极佳的选择[11]。
2.2.3B/S架构的运行过程
终端通过浏览器向Web服务器发出请求,Web服务器对请求进行分析分类,确定是否需要向数据库服务器发出请求。
如果需要则发出请求,数据库服务器接受请求并根据请求做出响应给Web服务器,然后Web服务器再将信息响应给终端。
如果不需要向数据库服务器发送请求,Web服务器处理完请求以后直接响应给终端。
这种三层结构最大的优点就是把用户和数据分隔开,使得数据的安全得到了充分的保障。
其次,把系统中的请求分发给Web服务器和数据库服务器,层次分明,提高了系统的响应速度[12]。
2.3MVC分层结构
M:
model模型,模型表示企业数据和业务规则。
V:
view视图,视图是用户看到并与之交互的界面,负责数据采集和显示,本设计选择JSP页面。
C:
controller控制器,控制器接受用户的输入并调用模型和视图去完成用户的需求,负责整个应用程序的调度,本设计选择Strut2来分发请求。
首先控制器接收到用户请求,然后将请求数据发送给模型进行处理,模型处理后,将处理结果反馈给控制器,控制器再根据结果选择视图显示在JSP开发中,模型通常由JavaBean充当,视图由JSP充当,控制器由Servlet充当。
MVC分层结构是大大降低了各层之间的耦合程度,提高了系统运行效率。
当代码需要维护时,可以根据分层快速找到目标进行修改,而且由于是轻耦合,所以并不会对程序整体产生太大影响,所以本设计选择以MVC分层结构为基础来设计系统[13]。
3SSH后台框架的搭建
3.1Hibernate映射的构建
Hibernate是一个对象映射关系,它简单封装了JDBC,通过释放数据库连接资源来连接数据库。
所以在使用JAVA语言进行编程的时候,我们可以自由的使用面向对象的逻辑思维来编程,因为我们创建的表都会映射出一个实体类,而我们对实体类的操作会映射到数据库的表当中,可以通过对类的操作来操作数据库,对数据进行增、删、改、查。
即通过Hibernate能完成数据的持久化。
Hibernate框架是一个数据访问框架(也叫持久层框架,可将实体对象变成持久对象)。
通过Hibernate框架可以对数据库进行增删改查操作,为业务层构建一个持久层。
可以使用它替代以前的JDBC访问数据。
3.2Struts的构建
由于本设计的前台页面是使用JSP文件,所以我们选择使用Struts构架来分发请求。
本设计选择Struts2,为编程提供了很多方便之处。
首先从输入属性来讲,可以自动封装。
根据页面组件的name属性,自动封装到Action中对应的name属性中,即自动调用某属性的set方法。
其次从输出属性来讲,数据可以自动传递。
Action中的属性在JSP页面可以直接用EL表达式拿到,即自动调用某属性的get方法[14]。
3.3Spring对框架的整合
Spring是一个高度灵活的轻量级框架,其目的是降低企业级应用的开发/维护复杂度。
Spring框架主要负责技术整合(可以整合很多技术),Spring可以整合Struts2、Hibernate/JDBC框架技术,降低框架中组件的耦合度,并降低框架的使用难度。
在SSH中,Struts2主要是利用它的控制器,而不是标签、表达式;Hibernate主要利用它的数据库访问;Spring主要是利用它的整合。
Spring提供了一个轻量级的MVC实现[15]。
4系统分模块设计
4.1基础模块信息设计
本系统为实验信息管理系统,在论坛界面可以查看实验信息、实验器材、导师等资料。
字段名
说明
ID
实验ID(唯一标识)
EXPNAME
实验名称
EXPSITE
实验室地点
EXPTCID
实验导师ID(导师唯一标识)
EXPILLUSTRATE
实验说明
EXPSTATUS
实验状态:
0退回,1未提交,2已提交审核中,3已通过
EXPSTATUSREAD
退回是否已读0未读,1已读
EXPRETURNMSG
审核意见/退回原因
表4.1-1实验项目表
图4.1-1为实验项目表,在Oracle数据库中新建表,ID为实验项目的唯一标识。
每个实验为一条数据,这条数据包含实验名称、实验地点、实验导师、实验说明、实验状态等。
这里需要说明一下,实验导师作为导师的唯一标识,是作为外键关联导师表的,以此关联导师表输出导师信息。
表字段
说明
ID
学生ID
STUNO
学生学号
STUNAME
学生姓名
STUSEX
学生性别
STUMAJOR
学生专业
STUCLASS
学生班级
STUPSW
学生的系统登录密码
STUNUMBER
学生手机号
STUBIRTH
学生出生日期
表4.1-2学生信息表
学生表是又一个非常重要的基础表,包含学生姓名、学号、ID等信息。
这里需要注意的是,ID作为学生的唯一标识,来作为学生表的主键,而不是学号。
因为本程序中所有作为唯一标识的ID都是使用的UUID,即32位数字字母组合。
UUID作为数据库唯一标识是目前程序员普遍认可的一种标识方式,它比单纯的数字更可靠,不容易受到系统不稳定因素的影响。
表字段
说明
ID
教师ID
TCNO
教师工号
TCNAME
教师名
TCSEX
教师性别
TCPHONE
教师手机号码
TCPOSITION
教师职位
TCLIMITS
教师权限0:
普通权限1:
管理权限
TCPSW
教师系统登录密码
TCBIRTH
教师出生日期
TCACANO
教师所属学院
表4.1-3教师信息表
教师信息表需要注意的一点是教师的唯一标识ID,和教师权限。
因为本系统是分三个权限,教师、学生、管理员。
权限控制模块不再赘述。
表字段
说明
ID
实验器材列表ID
EQUID
器材ID
EXPID
实验ID
表4.1-4实验器材一览表
本表为实验器材列表,器材ID作为器材的唯一标识,作为外键关联器材详情表。
实验ID关联具体实验,哪个实验需要用到这个器材。
表字段名
说明
ID
器材ID
EQUNAME
器材名
EQUINTRODUCE
器材说明
EQUIMG
器材图片命名的当前值(地址和名)
表4.1-5实验器材详情表
实验器材详详情表来储存具体的器材信息,器材的说明和器材图片。
这里需要说明的是EQUIMG字段,这个字段是器材图片命名的当前值,这是个地址,通过这个当前地址可以在应用程序的某个文件夹中匹配到实验器材的图片。
4.2实验评价模块
本设计的一个重要任务是得到学生对实验的有效反馈,我们设计出一个对实验进行星级评分的功能,与此同时,学生可以发表对实验的看法。
我们对这个评分进行汇总,对实验进行综合评估。
表字段名
说明
ID
唯一标识一条评论的主键
EVATO
评论对象
EVAOWNER
评论持有者
SCORE
评分
EVATEXT
评论内容
EVATIME
评论时间
表4.2-1实验评价表
EVATO字段来标识这条评价是对哪个实验发出的,EVAOWNER来标识这条评价是由谁发起的。
SCORE字段来记录评分,用于汇总和对实验的综合评估。
在这儿本设计有一个设定。
为了确保每一条评价的有效性,避免一个人发起多条不同的评价,避免一个人给出多次的评分,规定每个人对实验的最后一次评价有效。
4.3论坛讨论模块
论坛评论模块是本设计的核心模块。
本设计致力于开发一个同学自由交流,师生便捷答疑的平台。
所以论坛评论模块是本设计所有设计任务中的重中之重。
表字段名
说明
ID
主键
RPCONTENT
回复内容
RPTO
回复对象的回复id或实验id
RPAT
@对象
RPATREAD
是否已读:
已读1,未读0
RPOWNER
回复人
RPLOO