基于SSH的实验室设备管理系统的设计与实现

来源 :软件工程师 | 被引量 : 0次 | 上传用户:wanghua8503
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:实验室设备管理系统为解决以往的实验室由管理人员手动管理的费时费力等多方面问题而设计。本文通过系统分析、数据库设计、系统实现、系统测试四个方面对实验室设备管理系统进行分析与设计。在本系统的开发过程中,充分考虑到了后期系统的维护工作,采用了SSH框架来完成整个系统的开发,用MySQL作为后台数据库存储数据信息,MyEclipse作为开发工具,紧紧贴合实验室的需求。
  关键词:业务层;逻辑层;控制层;设备管理
  中图分类号:TP311.52 文献标识码:A
  1 引言(Introduction)
  随着现代科技的发展和进步,实验室成为一些高校以及科研院所的必备,实验室设备的管理问题关系到实验教学与科研项目是否能成功运行,传统的纸质报表管理模式随着时间的推移数量的庞大,不便于保存和统计,无法准确了解实验设备运行状态和使用情况。随着信息技术的发展,人们更加青睐于将这样复杂的工作交给计算机来进行处理,该系统的开发便是基于这样的需求,将实验室的管理需求进行信息化处理。通过该系统来规范的存储和统计实验室的设备信息。
  2 系统的主要设计工作(Major design work of the
  platform)
  2.1 系统的主要任务
  实验室设备管理系统能够通过系统管理员实现对设备的分类管理;可以对合法的注册用户发出的设备借用申请进行审批并提交审批意见和审批结果进行记录;并在被借设备归还时进行归还操作;管理员还可以对设备的维修信息记录并可以查看历史维修记录,通过本系统,管理员可以进行各类数据的统计、报表,方便为管理者提供有价值的信息。系统具有数据安全准确、界面友好、操作简洁、便于维护和升级等特点。
  2.2 系统开发工具简介
  该系统在Windows7操作系统上,采用SSH框架来完成整个系统的开发,用MySQL作为后台数据库存储数据信息,MyEclipse作为开发工具。SSH即Struts2 Spring Hibernate。Struts2是基于MVC模式的一种框架,对Model层、View层、Control层都提供了相应的组件;Spring是一种轻量级的控制反转和面向切面的容器框架,解决了企业应用开发的复杂性的问题[1]。MySQL是为人们普遍应用的中型关系型数据库,它提供的数据类型与Java中的数据类型基本相吻合,避免了不少繁琐的类型之间的转换问题,为本系统的数据的管理和维护提供了方便。Hibernate是对象关系映射框架,可以应用在任何能用到JDBC的场合,扮演着数据持久化的角色[2]。系统具有数据安全准确、操作简洁、界面有好、便于维护和升级等特点。
  3 系统的总体功能框架设计(The general design of
  the system)
  根据系统需求分析,可以将实验室设备管理系统分为两个主要模块,分别介绍如下。
  3.1 管理员模块
  在这个模块中,主要实现的是管理员利用系统对普通的用户和实验室设备进行管理,详细的操作有:对本用户进行修改密码;对注册用户进行停用和恢复密码;对设备类型进行管理;对设备进行管理;对用户发出的借用申请进行审批;设备维修管理。具体的功能框架如图1所示。
  3.2 注册用户模块
  在本模块中,主要实现的是注册用户操作本系统借用设备,具体操作有:注册用户可以自行修改本用户的密码;注册用户可以对设备发出借用申请;注册用户可以查看申请结果;注册用户可以查看借用历史。具体的功能框架如图2所示。
  4 数据库设计(The design of database)
  根据系统的设计要求,系统应该保存设备相关信息,管理员信息和使用者信息,为满足各项功能的需要,系统数据库设计如下。
  4.1 管理员信息与学生信息设计
  学生信息表即用户表,系统的设定本为学生对实验室设备进行借用、归还等操作,所以用户表即为学生表。管理员信息表是专门存放管理员登陆信息的数据表。具体数据结构如下:学生表(t_student)=<学生编号(id),学生姓名(name),学生性别(sex),学号(stuId),登录名(loginName),登录密码(loginPw)>。管理员表=<编号(id),用户名(username),密码(password)>。
  说明:学生编号与学号不同,学生编号仅仅是为了作为数据表中主键的,区分其他字段的唯一标识的存在。表中除了学生的基本信息外还有作为用户信息的登录名和登录密码,也保存在表中。
  4.2 设备类型设计
  为了方便对设备进行管理,系统设计了设备类型管理功能,设备类型表用于存放各个设备的类型信息:设备类型表(t_type)=<类型编号(id),类别名称(typeName)>。
  4.3 设备信息设计
  设备信息表=<编号(id),设备类型(typeId),设备编号(deviceId),设备描述(description),购买时间(time),状态(state)>。
  说明:设备信息表用于保存设备信息,编号和设备编号不同,编号是逻辑上表的主键,唯一标识,而设备编号是对应到每一台设备上的物理上的对设备进行区分的标号;设备类型作为外键,保存设备类型表中的主键,状态用来保存设备当前的状态,例如:空闲、借出、维修中等。
  4.4 设备申请、借用与维修设计
  设备申请表=<编号(id),申请人(stuId),申请设备(devId),申请时间(applyTime),审批时间(approveTime),审批意见(opinion)>。设备借用表=<编号(id),申请人(stuId),申请设备(devId),借用时间(borrowTime),归还时间(returnTime),是否损坏(isBroken),赔偿金额(compensation),备注(remark)>。设备维修表=<编号(id),维修设备(devId),维修时间(serviceTime),维修内容(content),维修人(serviceman),维修金额(payment),备注(remark)>。   说明:设备申请表是管理员用户在后台处理设备借用申请时用到的表,其中申请人和申请设备分别为学生表和设备表的主键,在此表中作为联合外键。设备借用表中的申请人和申请设备与其同理。设备借用表中需要存放设备的状态,即用户归还设备时,管理员需查看设备是否损坏,并确定相应的赔偿金额。如果设备有所损坏,则在维修表中增加一条记录,记录设备维修的相关信息。
  5 系统重要功能的具体实现(The concrete realization
  of the important function of the system)
  本系统采用的SSH框架,其中Hibernate起到的作用就是数据持久化,通过在代码中添加注解的方式实现。这种形式的Hibernate通过访问JavaBean能自动生成较为合理,清晰的数据表。Hibernate使用的hql语言也是针对Java类而不是数据库表的,所以使用起来也会比sql语句方便、有效。
  5.1 系统的业务逻辑层实现
  实验设备管理要求:管理员可以添加设备分类并根据设备分类进行添加设备信息,管理员可以查看、修改和删除设备信息,设备信息查询的结果包括设备编号、设备名称、设备类型、购买时间、设备状态。当用户对设备发出借用申请时,管理员可以处理该申请,或同意,或不同意,如果管理员同意用户的借用申请,则应在系统内进行登记操作,此时该设备的状态将变为“已外借”。当用户归还设备时,管理员应查看设备的损坏程度,开出相应的赔偿金额并在系统内进行归还操作。管理员可以录入维修损坏的的设备信息和查看某个设备的历史维修记录。
  5.2 系统的数据访问层实现
  该层主要通过Hibernate配合Dao来实现。数据库访问层是为业务逻辑层提供数据服务,通过访问数据库中的数据,进行加工,来实现系统各个功能模块对数据的需求。
  5.3 系统表示层实现
  视图层是通过前端web的形式实现系统和用户之间的交互,主要表现形式为JSP页面。以下展“管理员功能模块”主要实现的功能和主要代码。
  “管理员功能模块”包括用户管理、设备类型管理、设备管理模块、设备借用管理模块、设备维修管理模块五个部分。以下展示用户管理模块、设备类型管理模块和设备管理模块的功能和控制层代码。
  5.3.1 用户管理模块
  在后台主页面上可以看到“用户信息管理”标签,点击该标签,列出所有用户,包括管理员用户和普通用户,管理员可以通过每个用户所在行的后面的两个按钮实现冻结用户和初始化用户密码的功能,其中初始化用户密码是将该用户的密码初始化为“111111”,实现代码如下:
  public String pwChange(){
  String sql="update TStudent set loginPw=’111111’where id=" id;
  TStudentDao.getHibernateTemplate().bulkUpdate(sql);
  this.setMessage("密码初始化成功");
  this.setPath(studentMana.action);
  return"succeed";
  }
  5.3.2 设备类型管理模块
  在后台主页面上点击“设备类型管理”标签则列出所有设备类型,管理员可以对设备类型进行新增、修改、删除操作,以下代码实现设备类型的新增功能:
  public String typeAdd(){
  type.setDel("no");
  TTypeDao.save(type);
  this.setMessage("类型添加成功");
  this.setPath("typeMana.action");
  return"succeed";
  }
  5.3.3 设备管理模块
  在后台主页上点击“实验设备管理”标签则列出所有实验设备,与设备类型管理模块相似,管理员可以对设备进行新增、修改、删除操作,以下为查看设备列表主要代码:
  Session sqlSession=TDeviceDao.getSessionFactory().openSession();
  SQLQuery sqlQuery=sqlSession.createSQLQuery(sql);
  List objList=sqlQuery.list();
  for(Object obj:objList){
  TDevice device=new TDevice();
  device.setId((Integer)obj[0]);
  device.setDeviceId((String)obj[1]);
  device.setDescription((String)obj[2]);
  device.setTime((String)obj[3]);
  device.setStrType((String)obj[4]);
  device.setStrState((String)obj[5]);
  device.setState((Integer)obj[6]);
  deviceList.add(device);
  }
  sqlSession.close();
  request.setAttribute("deviceId",deviceId);
  request.setAtrribute("deviceName",deviceName);
  request.setAttribute("deviceList",deviceList);
  return"deviceQuery";
  6 结论(Conclusion)
  本论文设计的实验室设备管理系统,对于任何实验室均可用。为实验室管理员提供了高效、省时、便利的管理方式。该实验室设备管理系统主要包括了用户登录、设备录入、设备管理、设备分类管理等模块,主要实现对设备的高效管理。系统的设计便于后期的维护与升级[3]。
  参考文献(References)
  [2] BruceEckel.Java编程思想[M].北京:机械工业出版社,2003.
  [1] 孙卫琴,李洪成.Tomcat与Java Web开发技术详解[M].北京:电
  子工业出版社,2003.
  [3] 孙涌.现代软件工程[M].北京:北京希望电子出版社,2003.
  作者简介:
  赵相宇(1990-),男,本科生.研究领域:软件开发.
  刘 燕(1963-),女,硕士,教授.研究领域:数据挖掘,算法
  设计.
  王金玲(1971-),女,硕士,副教授.研究领域:数据库技术.
其他文献
德国教育家第斯多惠说:“任何真正的教学不仅是提供知识,而且是予学生以教育。”从目前的实际情况看,我们的语文教学流派纷呈,名家众多,可是也遇到了很多诟病。学生学习语文的兴趣和效率,从小学到高中呈现出递减的趋势。  作为一名年轻的语文教师,在教学上,我从最初的摸着石头过河,到如今的驾轻就熟,各种课型都能做好。可是,日子久了,我的困惑也越发得多。  困惑1·课堂教学的高耗低效  很多老师可能有这样的感受
【摘 要】 2017年9月6日,美国反虚假财务报告委员会下属的发起人委员会(COSO)正式发布《企业风险管理——与战略和绩效的整合》,这是基于2004年《企业风险管理——整合框架》的首次更新,相较于2004版框架,这次更新是风险管理理念上的一次飞跃。2004版框架着重于风险视角下的企业管理要素的整合,2017版框架则直接从企业治理的角度将风险管理融入贯穿于企业战略、绩效和价值提升之中,为真正将风险
编者按:本刊今年第一期曾以特稿的形式刊登了温家宝总理关于基础教育的部分论述,文章一经刊出,引起了读者的热议。固始县教体局一位读者来信说:“感谢你们的眼光,钦佩总理的勤奋!在中国教育改革与发展的关键时期,遇上这样的好总理,是我们广大教育工作者的福分。”为深入学习研讨温家宝总理的教育思想,本刊特开辟专栏,从广大读者的来稿中择优陆续刊发,敬请关注。    温家宝总理在探索中国社会发展的伟大历史实践中,以
【摘要】《面对面》是中央电视台的一档人物专访节目,以人物解读新闻,在我国电视新闻人物专访中具有旗帜地位。本文试以2009年12月27日《面对面》的柴静专访卢安克这一期为例,从真实再现人物生活情境、选择恰当采访方式、电视叙事编辑技巧等方面论述其是如何做到对节目的恰当把握的,同时指出电视专访中存在的问题并作出相应思考。  【关键词】电视新闻 人物专访 《面对面》    这几年,新闻人物专访蓬勃发展,一
胶质母細胞瘤是恶性程度最高的脑瘤,几乎不可能通过手术完全切除,五年生存率不足10%。这种肿瘤的生长速度极快,70%~80%患者病程为3~6个月,病程超过1年者仅10%。即便经过积极治疗,肿瘤也很可能在半年到一年之间复发并快速进展。因此,遏制胶质母细胞瘤的复发是降低患者死亡率的重要课题。  美国俄亥俄州芬得利大学的研究团队近日研发出了一种治疗胶质母细胞瘤的新型靶向药物。研究人员表示,正在研制的这款名
我国已开办了六所开放大学,它们以现代信息技术为支撑,突破传统教育的时空限制,整合优质教育资源,学历继续教育与非学历继续教育并举,对适应信息化时代背景,有效扩大教育规模、提高教育质量、降低教育成本、促进教育公平等均非常有利,更适合高技能人才培养。为此,建议进一步拓宽开放大学多样化教育渠道,使其成为培养高技能人才摇篮。建议如下:  1.我国应在北京等试点开放大学创办的基础上拓宽多样化教育渠道,加强职业
“每天上学的路就像走向地狱……”“我真不该让妈妈给我买那件白裙子,凯迪说我像只肥硕的大奶牛,看上去蠢极了”“我讨厌他们叫我奶牛,讨厌死了,伍迪老师说我是没有自尊心的人,这次的体育成绩会达标吗?”这是美国俄亥俄州14岁女孩克洛伊·伍德在网络空间里的日记,在她2017年5月13日在家中自缢身亡后被警方找到的,后经家属同意公布部分内容,克洛伊是美国每年因校园霸凌而自杀的上百名孩子的其中之一。胖孩子往往还
哥伦比亚大学医学院行为因素与心血管健康中心主任、医学和精神病学教授卡琳娜·戴维森和同事对1739名身体健康的加拿大人进行一项为期10年的跟踪研究。研究之初,研究人员通过研究对象自我报告和医学检查,评估他们罹患心脏病的概率,并评估他们的情绪属于正面还是负面。  正面情绪指愉悦心情,比如高兴、幸福、兴奋、热情和心满意足。这类情绪可能只持续短暂时间,但时不时“来访”,几乎成为一种性格特征。负面情绪则包括
脑梗死是老年人最常见的神经系统疾病,也是导致老年人生活不能自理和死亡的主要疾病。脑梗死后再复发的概率很高,并且复发次数越多,治疗效果越差,致残和死亡的概率就越大,因此如何预防脑梗死的复发是提高脑梗死患者生存质量的关键。建议脑梗死患者遵循以下几项预防措施:    改变不良生活方式    彻底戒烟,控制饮酒量。男性脑梗死患者每天平均饮酒量不应超过50克,女性患者不应超过25克,当然不饮酒最好。  控制
【摘 要】 随着环境恶化加剧,各国开始将环境问题纳入国家的发展计划,环境会计也随之兴起。环境会计实务的核心是环境会计信息披露,文章通过对山东省重污染行业上市公司的环境会计信息披露情况进行研究,发现其中存在的问题并提出相应建议。  【关键词】 环境会计信息披露; 重污染行业; 问题; 建议  工业化快速发展在改变生活方式的同时也造成了环境污染、资源过度浪费等一系列环境问题,引起全球对环境问题的重视,