版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页高校办公室设备维修管理系统的设计与实现目录TOC\o"1-2"\h\u8740高校办公室设备维修管理系统的设计与实现 126219摘要 227150关键词:设备维修,B/S模式,SSM框架 211951绪论 2162451.1系统开发背景及目的 3157821.2系统设计思想及实施方案 330991.3可行性分析 319401.4本文结构 5232472需求分析 6249872.1系统概述 659952.2功能需求分析 6297802.3性能需求 730072.4系统数据需求 7326362.5设计与约束 10268783系统设计 12179803.1系统结构设计 12269813.2系统各功能模块设计 13303833.3数据库设计 22133593.3.1数据库模型设计 22119153.3.2数据库逻辑结构设计 23158914详细设计 2736074.1用户登录模块设计 27294144.2登录后菜单栏模块设计 2850794.3主体业务 2964235系统测试 3137335.1测试用例 3197445.2测试方法 3483665.3测试结果 34130126系统使用说明与安装 38263186.1系统运行坏境要求 38313086.2系统安装与运行 389598结论 3922296参考文献 40摘要高校办公室设备维修管理系统可以帮助各高校提高办公设备的资源利用率,提高高校办公室设备的维修管理效率,使得高校办公室设备整个使用流程在线管理,将高校办公室设备的添加、维修、使用、报修等过程实现网络化管理。该系统是B/S模式设计开发的,通过SSM框架架构的web管理系统,通过web服务器实现请求响应。本系统对各大操作系统兼容,用户角色有高校教师以及后勤管理人员、维修人员等。实现了不同用户的个人信息管理,不同角色登录后展示不同的页面功能。管理员拥有最大权限,可以分配不同的用户相同的页面不同的的权限。还有日志浏览、办公室管理、公告添加、信息管理以及申请审批等权限。而维修员能够进行个人的信息维护、抽调维修设备、巡检维修办公室、维修设备登记等权限。最后教职工拥有办公室设备管理、办公室设备报修管理、个人信息管理等权限。高校设备维修管理系统还有良好的扩展性,可维护性强,运行效率高,功能强大,资源占用率底可以让用户实现在线办公室设备维修管理。关键词:设备维修,B/S模式,SSM框架1绪论设计开发的办公系统的都是为了提高企事业单位的办公效率,减少办公室设备资源利用率,高校办公室维修管理系统也是一样。过去传统信息流多以纸质文件形式存在,往往造成纸张浪费、维修信息存储丢失、维修记录查阅不便等问题时有发生。同时各种设备报修不方便,不能及时的实现保修信息的资源共享,也就造成了在保修过后维修人员不能及时作出相应反应。设备维修进度推迟,设备不能使用教室的教学工作可能就无法开展,或者拉低教学质量,拉低高校教学水平。此外有些高危设备,如果不能及时巡查检查可能会发生意想不到的危险,对高校师生的生命财产造成威胁。有效巡检可以避免这些危险的发生。如果发生了因为设备问题造成的不可估量的损失就太得不偿失了!通过使用高校办公室设备维修管理系统可以有效解决这些问题。1.1系统开发背景及目的开发高校办公室设备维修管理系统的目的就是为了解决高校办公室设备维修进度无法估量,设备状态无法评估,帮助高校更有效的处理设备损坏问题,提高办公室办公效率,实现高校办公室设备整个使用流程在线管理,将高校办公室设备的添加、维修、使用、报修等过程实现网络化管理[1]。通过服务器实现请求响应,系统界面并不复杂,业务功能完备,系统用户操作简单,个人信息存储安全可靠。高校设备维修管理系统的功能健全,核心功能如下:采用B/S的架构使得软件维护更加方便,可以通过管理员页面直接控制各个角色的权限,使得不同角色实现动态分配,增强软件的灵活性,本系统的管理员可以通过该系统查看管理本系统的log日志,追踪用户操作。系统管理员还可以浏览修改用户的个人信息,各个教师所属教研室的信息管理,院系直属维修科室的信息管理,加强用户之间联系。之外还可以对高校办公室的设备管理,让办公资产可控性更强。最后管理员可以在线审批维修员对高校办公室的巡检请求,以及无法维修的设备抽调维修审批[2]。用户可以对个人信息维护公告浏览,维修员可以维修设备,办公室巡检任务发布。教师可以查看巡检信息,设备维修申请,办公室资产添加。实现高校办公室设备整个使用流程在线管理,将高校办公室设备的添加、维修、使用、报修等过程实现网络化管理。1.2系统设计思想及实施方案本系统采用B/S设计模式从无到有,通过SSM框架架构的web管理系统,通过服务器实现请求响应,系统界面并不复杂,业务功能完备,系统用户操作简单,个人信息存储安全可靠。前端使用layui做前端页面展示,使用mysql做数据存储,使用SpringSecurity做权限框架,系统管理员分配不同权限实现权限控制。为用户提供较好的使用和浏览体验。使得高校办公室设备整个使用流程在线管理,将高校办公室设备的添加、维修、使用、报修等过程实现网络化管理!1.3可行性分析结合当前现有的高校办公室设备维修管理系统的可行性分析来看,它可以节省人力物力,加快办公效率,非常有实现的必要。但是为了不让系统设计后不能投入使用,浪费很多钱和时间,或者系统设计本身没有什么用处造成浪费。那就必须进行需求分析,从而使得上述情况不会发生。1.3.1资源可行性开发系统不是一两天一两个人就可以完工的,是一个长时间的任务,为了实现该系统,本人现在所具备计算机(个人PC,win10操作系统,内存8G,网络良好可以实现上传下载操作)。有Jdk、Tomcat、maven、mysql8.0等安装文件,可以达到资源可行性的要求。1.3.2时间可行性开发系统需要花费大量的时间,本系统从2020年11月开始进行可行性分析到2021年5月,有充足的时间进行设计开发,可以达到时间可行性的要求。1.3.3技术可行性系统开发需要开发人员掌握开发软件的技能,以及解决技术问题的能力技术可行性本人在大学期间,老师传授过各种语言,无论是C语言,还是Python,又或者是Java都有涉及,大四又进行了系统的开发培训。因此本系统只使用了java语言编写,更是得心应手,可以达到技术的可行性。1.3.4经济可行性开发系统需要大量的人力物力,所以就要有一定的财力去支撑,本系统是B/S架构的web应用,可以在各种系统浏览器运行,本人一个人开发,消耗的是个人的精力,不需要其他消耗,因此开发本系统所需都由个人提供。总的来说,本系统不存在经济因数,可以满足经济可行性的基本要求。1.3.5社会的可行性该系统是为了使得高校办公室设备整个使用流程在线管理,将高校办公室设备的添加、维修、使用、报修等过程实现网络化管理。各方方面都是为了为高校教职工服务,不涉及法律安全,所以基本上满足社会可行性的要求。1.4本文结构该说明书是高校办公室设备维修管理系统的系统说明,主要内容包括如下三点:(1)讲述为什么开发高校办公室设备维修管理系统。(2)讲述高校办公室设备维修管理系统的需求分析都有什么,如何进行可行性研究的,系统的详细设计是怎么样的。(3)通过系统的详细设计,高校办公室设备维修管理系统是如何实现系统的编码的。2需求分析2.1系统概述高校办公室工作人员日常遇到设备损坏问题的时候,需要向维修部门提出维修的申请,维修部门人员快速做出反应进行维修,以及维修记录的等级留档[3]。教职工可以添加办公室设备实现高校办公室设备整个使用流程在线管理,将高校办公室设备的添加、维修、使用、报修等过程实现网络化管理。维修员人员可以发布维修巡检的请求,管理员可以审核通过,教师看到巡检的通知后可以有所准备提前自检一下设备,提高设备的利用率,避免一些设备失修引起的事故。所以我从四个方面对高校办公室设备维修管理系统进行需求分析:(1)确定系统的功能要求;(2)确定系统的性能要求;(3)系统数据库的表设计结构关系要求;(4)系统的开发环境要求。2.2功能需求分析2.2.1设备维修管理功能(1)申请报修:完成设备损坏登记、查看损坏记录、导出报修单等功能。(2)个人信息维护:完成个人信息的修改功能。(3)办公室设备管理:完成设备查询、添加、删除、设备表导出等功能。2.2.2维修巡检功能(1)抽调巡检办公室:完成巡检维修办公室添加、查看等功能。(2)巡检信息浏览:完成办公室设备巡检功能。2.2.3设备维修功能(1)设备维修登记:完成待维修设备的查询、登记、状态添加、单据导出等功能。(2)设备抽调维修:完成抽调设备添加、修改、删除、导出抽调记录等功能。2.2.4用户权限管理功能(1)用户组信息管理:完成用户组信息的查询、添加、修改、删除、导出用户组信息报表等功能。(2)用户组权限控制:完成不同角色的权限分配功能。(3)菜单控制:完成对不同用户展示不同菜单的功能。2.2.5审批功能(1)办公室抽调审批:完成维修员发起的抽调巡检请求审批功能。(2)设备抽调维修审批:完成设备抽调维修申请的审批功能。2.2.6公告功能(1)公告管理:完成公告的查看、添加、修改、删除、公告导出等功能。(2)公告浏览:完成公告浏览的功能。2.2.7日志功能(1)日志浏览:完成用户日志的查看功能。2.3性能需求高校办公室设备维修管理系统应该具有安全性、简洁性、可扩展性。系统整个请求处理正常不能超过1秒,当然数据量比较大系统管理员的日志面板除外[4]。用权限管理区分不同用户,实现优化系统页面的目的,至少支持5000名用户,比较大的高等院校可达到规模,并发使用,并保证高校办公室设备维修管理系统的的性能不受影响。2.4系统数据需求高校设备维修管理系统设计之前,对该系统的数据进行分析的到:该系统有如下几个实体,即教师用户,维修员用户,维修申请单据,维修单据,办公室实体等。每个实体有不同的属性,本章节通过使用E-R图来分析图多个实体之间的关系以及实体具有的特性描述[5]。维修员用户实体属性有用户ID、姓名、性别、出生日期、职称所属院系维修科、联系电话、教职工号等属性,其E-R图如图2.1所示。维修员维修员维修员ID维修员姓名性别出生日期职称联系电话联系电话图2.1维修员E-R图教师用户实体的属性教师ID、教职工号、性别、出生日期、教研室ID、联系电话、个人简历等属性,其E-R图如图2.2所示。教师教师教师姓名教职工号性别出生日期院系直系科室联系电话教研室ID图2.2教师实体E-R图维修申请单据的属性有维修设备ID、维修设备名、损坏人名、损坏理由、设备状态等属性,其E-R图如图2.3所示。维修申请单据维修申请单据单据ID损坏设备损坏时间损坏人损坏理由设备状态图2.3维修申请单实体E-R图 维修单据实体的属性有维修设备ID、维修时间、维修人、维修金额、维修描述、维修状态等属性,其E-R图如图2.4所示。维修单据维修单据维修单据ID维修设备维修时间维修人维修金额维修描述维修状态图2.4维修单据实体E-R图办公室实体的属性有办公室ID、办公室名、办公室编号、所在楼层、是否与预约维修、预约维修人ID等属性,其E-R图如图2.5所示。办公室办公室办公室ID办公室名办公室编号所在楼层是否预约巡检预约维修人ID图2.5办公室实体E-R图设备配件实体的属性有配件ID、配件名、配件类别、配件存量、配件价格、配件进购日期等属性,其E-R图如图2.6所示。设备配件设备配件配件ID配件名配件类别配件存量配件价格配件进购日期图2.6设备配件实体E-R图用户信息实体的属性包含用户账号、用户密码、用户ID、所属用户组、创建时间等属性,其E-R图如图2.7所示。用户用户用户账号用户密码所属用户组创建时间图2.7用户信息实体E-R图 不同实体之间相互独立存在外,他们之间还存在着一些联系[6],例如,当用户在添加维修申请单据后就会改变改变设备实体的状态信息。用户点击修改办公室信息之后,就会改变办公室实体的巡检信息等。其总体E-R图如下图2.8所示。教师教师维修员管理员配件维修单据维修申请单据填写管理管理损耗管理办公室设备查看管理图2.8总体E-R图2.5设计与约束2.5.1服务器平台由于高校办公室设备维修管理作为毕业设计,对服务器的要求并不高,所以系统采用开源的轻量级的web应用服务器Tomcat9.0作为系统的服务器[7]。在本系统中,开发工具选择intellijidea2019,基于此,java集成环境使用的jdk1.8。2.5.2设计工具在本系统中,通过需求分析,选择intellijidea2019作为开发工具来实现高校办公室设备维修管理系统的开发。2.5.3数据库高校办公室设备维修管理系统的数据库采用关系型数据库管理系系统数据,他将数据保存在不同的表中。因此它的灵活性强,速度较快。另外由于他的体较小、速度快、成本低、最重要的是开放源码,所以做本系统的数据库更合适不过了。3系统设计3.1系统结构设计3.1.1系统结构模块图根据高校办公室设备维修管理系统的设计需求分析,得到系统的大体功能需求,根据功能需求架构得到大体的系统结构模块图,本系统结构模块图如图3.1所示:高校办公室设备维修管理系统高校办公室设备维修管理系统设备维修办公室设备管理申请报修抽调巡检办公室个人信息维护设备维修登记设备抽调维修办公室抽调审批巡检信息浏览维修巡检日志管理公告发布公告浏览公告日志管理设备维修管理用户权限控制用户组信息管理用户组权限控制菜单控制审批功能设备抽调维修审批图3.1系统结构模块图3.1.2系统主要功能模块系统主要分为五部分模块:设备维修管理、办公室维修巡检、办公室设备维修、用户权限管理、审批功能、公告管理、日志管理等功能模块。(1)设备维修管理模块:提供申请报修、个人信息维护等功能。(2)办公室维修巡检模块:提供抽调巡检办公室、巡检信息浏览等功能。(3)办公室设备维修模块:提供记事本、我的日记、我的密码等功能。(4)用户权限控制模块:提供用户组信息管理、用户组权限控制、菜单控制等功能。(5)审批模块:提供办公室抽调审批、设备抽调维修审批等功能。(6)公告模块:提供公告管理、公告浏览等功能。(7)日志模块:提供日志浏览功能。3.2系统各功能模块设计根据系统的结构设计与功能分析,高校办公室设备维修管理系统可以设计两个主要窗体:登录页面和主页面。在登录页面中设计登录功能。设备维修管理模块、办公室维修巡检模块、办公室设备维修模块、用户权限控制模块、审批模块、公告模块以及日志模块可以对应设计成导航菜单栏,用户可以通过单击来加载不同的页面实现一个窗体不同页面之间的切换[8]。3.2.1用户登录模块设计页面的初始化:页面初始化是通过spring内部配置类,配置web项目的启动也为登录页。登录页应包含两个入力框,分别是“用户名”文本入力框、文本密码入力框。下面是一个登录框大体设计如图3.2,入力框初始没有值,但初始光标应定为到用户名的入力框上方便用户在没有鼠标的情况下依然可以输入,增强用户的体验感。用户名:用户名:密码:登录图3.2登录初始页页面入力校验:当用户名的入力框和密码框没有输入单击应弹出警示提示密码或用户名为输入,页面不跳转使用ajax具体刷新提示。当输入框不为空将用户名和密码传入后台。后台收到登录的login的请求后,获取用户名和密码两个值,进行逻辑处理,需要查询用户表。具体检索逻辑SQL如下表表3.1所示。查询表用户信息表查询字段用户名(账号)、用户密码查询条件账号状态=可以状态表3.1用户登录查询 用户登录成功后都可以退出登录,当用户点击退出后,提示用户还有几秒可以安全退出。然后仍然回到登录页面,登录页面初始化。具体运行流程:可以通过该窗口登录到主体页面。是系统运行的第一步。系统用户通过入力框中输入个人的ID和pwd,然后鼠标单击登录按钮,浏览器客户端向后向后台sever发送登录请求。sever比对mysql数据库中的用户表。如果匹配成功登录到主体页面,如果匹配不到对应的用户提示警告错误。该系统为管理系统不需要注册,系统用户为后台管理员导入用户,系统导入后用户的账号为默认值,默认为用户的职工号作为登录账号,系统将用户登录密码默认设置为123456。具体实现下一章节的3.3.2数据库的逻辑设计会具体讲解。3.2.2设备维修管理模块设计设备维修管理模块包含设备报修申请、个人信息维护、办公室设备管理等功能。页面初始化:登录成功后菜单栏响应,单击设备维修管理菜单,应有一个下拉菜单框如图3.3所示,下拉菜单有三个子菜单,分别是报修申请,个人信息维护以及办公室设备管理。首先是报修申请页面的初始化:用户点击报修申请菜单后页面局部跳转到维修申请页面,菜单栏是不发生变化的变化的是右边的是具体的报修申请页面的加载详情。主要包括:添加按钮,导出按钮,以及初始化时查询当前用户报修历史记录等信息。页面布局如图3.4所示。添加按钮点击后台接收参数control层通过判断是具体添加类型。然后经过逻辑处理后,执行添加操作,执行添加语句其逻辑的如下表3.2所示。设备维修管理设备维修管理设备报修申请个人信息维护办公室设备管理图3.3设备维修管理菜单栏设备维修管理设备维修管理设备报修申请个人信息维护办公室设备管理头像添加导出维修申请历史记录1维修申请历史记录2维修申请历史记录3记录信息状态操作已维修同意※已维修维修结束申请同意※同意设备报修申请图3.4设备维修管理详情页添加表设备申请表添加字段损坏设备ID、损坏设备备注、损坏设备状态添加条件设备状态不等于损坏状态表3.2设备维修申请添加个人信息维修页面是所有所有用户都有,用户可以用来都修改个人信息。其构架其layout图如图3.5所示。当用户点击个人信息维护菜单栏后,通过前端控制器发送请求到处理器映射器,根据请求查找与这个与个人信息维护页面发送请求的相应的处理器映射器,返回需要执行的Handler链条,前端控制器接收到处理器映射器的执行器Handler链条后,通过查询处理器适配器,找到对应的处理适配器。个人信息的control层通过匹配处理器适配器可以被找到,然后执行个人信息相关的Handler,执行后返回执行后的结果给前端控制器,前端控制器可以将该结果初始化到浏览器的页面,完成页面渲染。个人信息虽然可以维护但是有些内容不能个人随意修改如layout图中表明的个人的工号信息不能进行修改,明细部的明细头初始渲染全部,而明细行部分渲染查得到的部分信息,高校设备维修管理系统的所有个人信息修改都是如此,鼠标单击修改这个按钮可进行信息维护操作。设备维修管理设备维修管理设备报修申请个人信息维护办公室设备管理头像姓名生日操作个人信息维护*工号性别电话所属教研室XXXXXX修改XXXXXXXXXXXXX图3.5个人信息维护最后是办公室设备管理,实现办公室设备的添加,办公室设备的查询,以及办公室设备的信息修改、设备单据的导出等。其初始化界面如图layout图3.6所示。应可以通过设备名以及设备编号来查找设备,如果不输入默认查询所有设备。此外添加的时候图片数据的添加按钮的通过的导入图片的接口可以实现。具体实现的接口代码在附录部分。此处只初略的说明:通过将查到的数据转化为流的形式,上传到指定的目录下,先判断目录是否存在如果不存在新建目录,最后以流的形式写入即可实现图片信息的上传 设备维修管理设备维修管理设备报修申请个人信息维护办公室设备管理头像设备名价格操作个人信息维护*设备号所属办公室图片设备描述XXX删除XXXXXXXXXXXXX设备名设备号查询添加导出XXXXX删除XXXXXXXXXXXXXXX图3.6办公室设备管理具体的运行流程:设备维修管理功能可以获取到登录用户的用户个人信息,该信息是通过登录时比对成功后,将用户的信息存储session中。通过session的特点可以对个人的信息进行修改和密码的管理。如果点击修改密码是弹出密码修改框用户完成密码的修改。当点击设备报修申请的菜单时,弹出一个窗口里面可以编辑要报修的设备信息。包含设备的编号、设备名称、设备价格等,具体设备的报修清单的数据在下章节3.3.2数据库的逻辑设计中会具体说明。当点击办公室设备管理菜单时,同样页面刷新跳转到办公室设备管理页面。可以看到办公室设备的信息,当点击添加设备的时候弹出一个窗口,在文本框中可以输入要添加的办公室设备信息。其中办公室实体有其具体的位置信息、楼层信息、办公室编号等信息。其中如果办公室编号和楼层要有一定的管理例如:二楼办公室编号要以02开头,所以数据库设计的时候要有要求,具体实现同上可在第3.3.2章节数据库的逻辑设计中具体体现。3.2.3办公室维修巡检模块设计首先,办公室维修巡检从第二章的需求分析可知道,该功能是维修员特有模块,维修员可以通过菜单栏的抽调维修办公室管理实现该页面的初始化,具体的layout图如图3.7所示。该页面应当包括添加巡检办公室、一览展示维修巡检办公室记录,另外就是巡检结束提交结束按钮。具体的前后台交互跟上面第3.2.2章节大同小异具体不在详述,当点击添加按钮后执行的逻辑的SQL如表3.3所示。 设备维修登记设备维修登记个人信息维护抽调维修办公室管理头像办公室名名操作抽调维修办公室管理所在楼层办公室类型是否预约抽调维修添加XXXX结束XXXXXXXX设备维修—维修员XXXX信息通过浏览图3.7抽调维修办公室管理添加表抽调维修申请表添加字段抽调办公室名添加条件办公室状态=未抽调状态表3.3抽调维修办公室添加办公室维修巡检模块具体的运行流程:登录成功后,后台可以根据用户信息判断用户的角色,如果是维修员,系统会赋予该用户办公室抽调巡检的功能,具体实现在第四章系统的详细设计中会具体讲到实现方法。将办公室维修巡检的菜单响应到页面。点击菜单后刷新跳转到办公室巡检详情页,可以发起对办公室的抽调巡检的申请,而巡检审批是管理员才有的功能,当系统通过判定用户为管理员的时候,可以浏览到维修员发起的“办公室抽调维修申请”,同时可以对改请求进行答复,如果同意该申请点击“同意”按钮。如果不同意,点击点击“不同意”按钮。从而达到办公室维修巡检整个模块的流程完结。3.2.4用户权限控制模块设计首先用户权限控制模块是管理员特有的权限,他需要关联到系统的组织表,以及系统的菜单表两张表进行组合查询,初始化layout图如图3.8所示。其中菜单管理可以实现菜单的添加和级联的管理,可以实现表单的动态管理,具体的添加菜单时用到的逻辑SQL如表3.4所示。用户组权限控制用户组权限控制菜单管理信息管理—管理员头像ID菜单管理菜单名菜单链接父菜单添加XXXXXXXXXXXXXXXX用户组信息管理系统管理权限中心XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX图3.8菜单管理添加表菜单表添加字段菜单名、菜单链接、菜单父菜单添加条件如果父菜单存在添加,如果父菜单为空则默认菜单为主菜单,同时菜单链接为空,如果主菜单菜单链接不为空报错,重新添加。表3.4抽调维修办公室添加用户权限控制模块具体的运行流程:用户登录后,如果系统判定该用户是管理员则赋予该权限,在页面菜单栏渲染该菜单。普通用户没有该权限前台页面不会展示改业务。点击该菜单时触发事件,打开下拉菜单栏。下拉菜单栏里面包含用户组信息管理,用户组权限控制、菜单控制等三个控件。用户组具体有哪些字段在系统的数据库逻辑设计中会具体提及。用户组信息管理可以实现对用户组的添加修改删除等,用户组权限控制控制每个用户的访问权限,管理员可以添加、修改、删除角色的权限。菜单控制是对不同页面下面的级联管理,以及对不同角色不同功能的页的添加、修改、删除等其增删改查具体的控制是通过control层控制。3.2.5审批模块设计审批是管理员权限方便高级用户(院校领导)使用,可以实现维修管理的网架层级结构方便管理高效有序进行。具体审批有两大方面:一、对办公室巡检请求进行审批具体的layout图如图3.9所示。二、对办公室设备的外调维修申请的审批,具体的layout图如图3.10所示。设备抽调维修审批设备抽调维修审批公告管理信息管理—管理员头像办公室抽调巡检审批办公室抽调巡检审批系统管理权限中心办公室名名操作所在楼层办公室类型预约抽调巡检人XXXX同意XXXXXXXXXXXX不同意XXXX同意XXXXXXXXXXXX不同意XXXX同意XXXXXXXXXXXX不同意图3.9抽调维修办公室审批审批模块具体的执行流程:管理员可以对办公室巡检请求进行审批,也可以对维修员发起的用户抽调维修的请求进行审批。当管理员点击办公室抽调审批菜单后,可以浏览到维修员发起的办公室巡检的信息,点击“同意”同意该请求,点击“不同意”则该请求作废。返回给维修员。设备抽调维修审批设备抽调维修审批公告管理信息管理—管理员头像办公室设备抽调巡检审批办公室抽调巡检审批系统管理权限中心设备名操作设备编号抽调维修人号抽调维修时间XXXX同意XXXXXXXXXXXX不同意XXXX同意XXXXXXXXXXXX不同意XXXX同意XXXXXXXXXXXX不同意图3.10抽调维修设备审批3.2.6系统公告模块设计为整体提高系统管理效能,通过系统公告使得用户更加方便的浏览最新动态,系统公告具体包括公告添加按钮、公告导出按钮以及公告一览及删除。导出公告同上面的导出单据添加也同上面的添加,只是该模块设计到的表是公告表,对公告表进行管理,具体的layout图如图3.11所示。设备抽调维修审批设备抽调维修审批公告管理信息管理—管理员头像公告管理办公室抽调巡检审批系统管理权限中心公告ID操作发布者公告详情公告发布时间XXXX删除XXXXXXXXXXXXXXXX删除XXXXXXXXXXXXXXXX删除XXXXXXXXXXXX添加导出图3.11系统公告公告模块具体执行流程:用户可以浏览公告信息,管理员可以发布公告信息。当系统判定该用户为管理员时,赋予该用户发布公告的权限,管理员可以点击“添加”按钮,弹出一个添加公告信息的页面。管理员允许进行公告编辑。当系统判定该用户为普通用户的时候,用户点击浏览公告菜单时,页面允许响应公告相关详情。3.2.7日志管理模块设计同样日志管理功能也是管理员特殊权限,只有管理员可以操作,由于日志比较特殊不能进行修改只能浏览查询操作,具体的layout图如图3.12所示。日志管理日志管理信息管理—管理员头像日志管理系统管理权限中心日志ID操作人具体操作操作时间XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX图3.12系统日志日志管理模块具体执行流程:管理员可以浏览用户的操作日志。当系统判定用户为管理员时,赋予查看日志的权限,通过日志管理员可以查看用户的一些操作,以便日后管理员管理用户统计和维修追责。3.3数据库设计3.3.1数据库模型设计根据上一章的系统数据分析与E-R图图示,可以得到本系统的数据库一共存在如下几个类型的数据表:(1)维修员表(维修员ID、姓名、性别、出生日期、职称所属院系维修科、联系电话、教职工号);、(2)教师表(教师ID、教职工号、性别、出生日期、教研室ID、联系电话、个人简历);(3)维修申请单据表(维修设备ID、维修设备名、损坏人名、损坏理由、设备状态);(4)维修单据表(维修设备ID、维修时间、维修人、维修金额、维修描述、维修状态)(5)办公室表(办公室ID、办公室名、办公室编号、所在楼层、是否与预约维修、预约维修人ID)(6)设备配件表(配件ID、配件名、配件类别、配件存量、配件价格、配件进购日期)3.3.2数据库逻辑结构设计高校办公室设备维修管理系统采用的NavicatPremium15的可视化界面操作,使用Mysql数据库存放数据,利用SpringservletJDBC连接数据库[9]。建立表之间的联系,通过DDL数据库定义语言定义一个存储过程保证数据量在特别庞大的情况下利用存储过程使得整个SQL的代码执行速度提升[10]。(1)维修员表拥有id、rname、sex、birth、zyzc、zyid、tel、jl、idcard等字段。Id为自增没有实际意义的字段,idcard是维修员的唯一身份id。因为维修员维修完一个设备后会提交一个具体的维修单据,为了方便维修后期问责,在该维修员要有唯一的标识,标识该维修员维修了某一设备。为了方便教师或则二次维修,教师需要能直观的看到维修员的基本信息,如电话,可以通过维修员的电话及时联系到该维修员,如果问题不大可以电话或者网络指导解决就通过网络解决,加快维修效率。维修员的职能不同专长不同,应该分给他们具体的科室,通过具体科室方便维修管理。具体表设计如表3.1所示。表3.1设计表“repareman”列名说明类型(长度)备注id标识idint(11)主键rname维修员姓名varchar(20)不允许空sex性别varchar(20)不允许空birth出生日期datetime不允许空zyzc职称varchar(20)不允许空zyid所属维修科int(11)不允许空tel联系电话varchar(20)不允许空jl个人简历varchar(200)不允许空idcard教职工号(登录号)int(11)不允许空 (2)教师表有id、sname、idcard、sex、zid、birth、cid、tel、jl等九个字段,教师用户可以通过教职工号作为自己登录系统的登录账号,除了性别、出生日期所属教研室等基本信息外还有有个人的电话,方便如在计算机死机需要刷机,需要联系到具体所属教师确定是否有个人信息要保存的情况。还有就是在教师用户在提交完维修申请后,如果故障信息描述不准确,方便维修员联系到具体教师,具体表设计如表3.2所示。表3.2设计表“teacher”列名说明类型(长度)备注id标识idint(11)主键sname教师姓名varchar(20)不允许空idcard教职工号Int(11)不允许空sex性别varchar(20)不允许空birth出生日期datetime不允许空cid所属教研室int(11)不允许空tel联系电话varchar(20)不允许空jl个人简历varchar(200)不允许空(3)维修申请单据表有id、sbid、sbname、shsj、uid、info、ztid等六个字段,分别表示:维修设备ID、维修设备名、损坏人名、损坏理由、设备状态等,维修申请单据是教师通过页面输入要维修的设备的基本信息,所以,维修设备申请表要有具体的设备号、设备名,通过报修人可以得到该用户的ID后台将用户的ID存到数据的数据库中,损坏时间应该输入如“xxxx年xx月xx日”格式、数据表经过后台处理后以datetime类型存储。具体表设计如表3.3所示。表3.3设计表“wxsqb”列名说明类型(长度)备注id标识idint(11)主键sbid设备号Int(11)不允许空sbname设备名varchar(20)不允许空shsj损坏时间datetime不允许空uid损坏人idint(11)不允许空info损坏理由Varchar(255)不允许空ztid设备状态Int(10)不允许空(4)维修单据表有shid、wxsj、rid、money、info、ztid等五个字段,分别表示维修设备ID、维修时间、维修人、维修金额、维修描述、维修状态,其中可以通过维修人关联设备和损坏单据。由于维修过程要通过教师发起维修请求,到维修员受理维修,再到维修员发出结束维修申请,最后教师确定维修完毕。整个维修过程可以通过建立一个存储过程。该存储过程有两个参数一个是输入参数一个输出参数,当维修员发起结束维修的申请时,触发该存储过程,传入该维修单据的单据号,存储过程内部处理通过SQL语句查询维修“申请单据表”判断该维修结束申请“教师”用户是否同意。如果教师用户发起请求触发维修的事件,如果该发起人确认维修结束,触发维修结束更改维修状态,如果教师用户点击维修失败(没维修好)回滚到维修初始状态,直到教师用户确定该维修成功,所以维修单据应设定具体的被维修设备的设备状态,通过该状态判定维修是否完毕,有效防止维修员恶意提交等不正当操作,具体表设计如表3.4所示。(5)办公室表包含cid、cname、lrc、ztid、rid等五个字段,分别表示:办公室ID、办公室名、所在楼层、是否与预约维修、预约维修人ID等,每个办公室都有具体的地点信息,还要有办公室名,办公室号,楼层号等信息。通过具体的楼层有固定的楼层号,如一楼办公室号如“01xxx”,在输入楼层办公室信息时要有具体的办公室号限制,做到规范化,防止出现异议,具体表设计如表3.5所示。表3.4设计表“wxdjb”列名说明类型(长度)备注id标识idint(11)主键sbid设备号Int(11)不允许空wxsj维修时间datetime不允许空rid维修人idint(11)不允许空info维修描述Varchar(255)不允许空ztid维修状态Int(10)不允许空表3.5设计表“classes”列名说明类型(长度)备注id标识idint(11)主键cid办公室号int(11)不允许空cname办公室名varchar(20)不允许空lrc所在楼层int(11)不允许空ztid是否预约维修Int(10)不允许空rid预约维修人idint(10)不允许空(6)设备配件表有pid、pname、plb、pnum、pmoney、ptime等六个字段,分别表示:配件ID、配件名、配件类别、配件存量、配件价格、配件进购日期等属性。由于配件是消耗品如要进行特别管理,为了方便维修管理防止乱收费可以将具体的配件价格设计到表中。为了方便存储管理配件要有具体的类别信息,不同商品根据类别存放到不同的仓库中,实现管理的规范化。如表3.6所示。表3.6设计表“pjb”列名说明类型(长度)备注id标识idint(11)主键pid配件号int(11)不允许空pname配件名varchar(20)不允许空plb配件类别varchar(20)不允许空pnum配件存量int(10)不允许空pmonay配件价格int(10)不允许空ptime配件进购时间datetime不允许空4详细设计该系统使用Java语言编写轻量级的B/S架构的轻量级webapp,使用intellijidea2019作为开发工具,使用NavicatPremium15数据库图形化工具对mysql数据库进行管理实现数据的存储。通过系统的需求分析,实现概要设计,使用快速开发模型实现系统设计开发,本章节对代码的详细设计,以及具体功能实现进行描述。4.1用户登录模块设计用户通过输入地址发起请求,服务器响应登录界面,如图4.1所示。当用户登录成功后跳转到首页。图4.1登录页面账号和密码输入后点击登录,触发事件服务器拿到用户的账号找到对应的用户id,判断是否存在该用户,如果存在该用户,拿到该用户的加密过后的密码。同时对用户输入的密码进行MD5加密[11],加密完成后对用户密码进行比对,如果比对成功完成用户认证。之后,在用户权限表拿到对应权限,完成授权操作。如果账户或密码有误输入框提示错误。用户登录加密认证授权的核心代码如下:publicstaticStringMd5MD5String(Stringold){UtilPacketutilPacket=newUtilPacket();returnutilPacket.getMd5String(utilPacket.getMd5String(old));}privateStringgetMd5String(Stringstr){try{//java自带工具包MessageDigest生成一个MD5加密计算摘要MessageDigestmd5=MessageDigest.getInstance("md5");//实现Base64的编码BASE64Encoderbase64=newBASE64Encoder();//进行加密StringnewStr=base64.encode(md5.digest(str.getBytes("utf-8")));returnnewStr;//返回加密后的字符}catch(Exceptione){thrownewRuntimeException(e);}}4.2登录后菜单栏模块设计该系统运用Springsicurity进行权限控制,通过权限控制不同用户登录后可以访问的权限,从而前台展示不同页面,根据本系统的需求分析,分配三个角色:教师普通用户、维修员普通用户、管理员用户等。不同角色登录后的用户的页面菜单不同。由于该页面的颜色是黑色的效果不好展示这里通过简单地layout图简单展示,如图4.2所示。具体实现代码会在附录部分有详细体现这里就不再详细编写,之给出实现思路信息管理—维修员信息管理—维修员个人信息维护教师信息管理抽调设备维修管理设备维修登记信息通告浏览抽调维修办公室管理安全退出系统管理权限中心信息管理—管理员安全退出信息管理—教师设备损坏登记个人信息维护办公室设备管理信息浏览安全退出教师用户菜单栏管理员用户菜单栏维修员用户菜单栏图4.2不同权限菜单栏4.3主体业务4.3.1个人信息管理模块设计不同用户登录虽然分配了不同的权限,它们的业务功能也不同,但是它们作为系统用户都可以对个人的信息进行修改。当点击个人信息维护菜单,浏览器发起请求,后台查找到当前用户的个人信息发送给浏览器。浏览器进行渲染,不同角色用户都是如此这里以维修员角色为例展示,如图4.3所示。用户可以通过表单进行单击,触发修改个人信息。当触发离焦事件时间后,通过ajax发起请求,完成个人信息的修改。图4.3个人信息维护 由于多个角色都有个人信息维护的需求而管理员有查看所有用户的需求因此可以设计一个接口进行具体设计附录有具体说明。4.3.2办公室设备管理模块设计用户可以单击办公室设备管理进入到设备管理界面。用户可以在这里查看设备的名称,所属办公室,采购时间,价格等信息。用户还可以通过设备名称和设备编号来进行搜索设备信息。可以直接在页面表格中进行修改,通过添加可以实现设备的添加,删除可以通过按钮进行删除。大大方便了人们对设备的管理。页面如图4.4所示。同时管理员也可以添加办公室设备,但是维修员作为维修人员则不能。图4.3办公室设备管理4.3.3设备维修管理模块设计教师用户点击“设备损坏登记”菜单可以可以跳转到损坏登记页面,如图4.4所示。用户点击“添加”按钮弹出添加页面,用户同时可以点击导出数据按钮,将报修维修数据导出导出维修数据。教师用户完成用户设备维修申请后,管理员登录后可以通过点击“设备维修登记”可以添加要维修设备的,同时可以添加维修单据的具体信息,包括维修设备号、维修设备名、维修设备编号、维修金额等信息。添加之后可以通过维修按钮修改该设备的状态,但是,这个请求不能立即响应,应通过被维修用户的状态来判断,如果被维修用户同意该维修人员的维修完毕申请后,这个维修才算完成,否者维修员的请求被驳回。图4.4设备维修管理5系统测试系统设计完成后,为了保证系统的安全性,健壮性、可靠性等方面,需要对系统进行测试,测试一个系统的性能包含多个方面,但是由于各种限制,主要进行了黑盒测试,测试本系统的功能是否能够正常使用。可以简单地进行测试,与内部软件实现无关,可以让用户简单直观的知道用户会用到哪些功能,会遇到哪些问题。并且在软件自动化测试时较为方便[12]。本章具体实现是:首先根据等价类划分法编写测试用例。然后,对功能模块进行测试、找到测试中出现的系统问题进行修改调优等。然后再进行调优测试直到测试符合需求规格说明书的具体要求。5.1测试用例测试用例的编写是通过参照功能模块需求编写的对请求页面响应交互设计,包含登录页面测试、菜单栏响应测试、设备维修申请单据提交测试等。(1)登录页面测试用例,因为本系统是面向高校的,所以只有登录页面,用户可以通过管理员添加。测试用户不正确、密码不正确、密码空、用户空等,观察测试结果。如表5.1所示。表5.1登录页面测试用例表编号测试用例测试数据预期效果实际效果1账号和密码均为空账号:null密码:null提示字段填写提示字段填写2账号为空账号:null密码:111提示字段填写提示字段填写3密码为空账号:admin密码:null提示密码错误提示密码错误4账号正确,密码错误账号:admin密码:123账号或者密码错误,请重试账号或者密码错误,请重试5账号错误,密码正确账号:1001密码:111账号或者密码错误,请重试账号或者密码错误,请重试6账号和密码均正确账号:admin密码:admin登录成功登录成功(2)菜单栏响应测试用例,因为该系统使用的是SpringSecrity权限框架不同用户拥有不同的权限,通过不同的给与不同的菜单栏实现权限分配。系统应展示不同数据,通过不同不同账户登录实现测试,观察页面加载是否符合预期效果。如表5.2所示。表5.2菜单栏响应测试用例表编号测试用例测试数据预期效果实际效果1管理员账户登录账号:admin密码:admin展示管理员菜单展示管理员菜单2维修员普通用户登录账号:100001密码:123456展示维修员菜单展示维修员菜单3教师普通用户登录账号:160133密码:123456展示教师菜单展示教师菜单(3)设备维修登记测试用例,维修员用户通过系统维修申请菜单可以进入到这个设备维修登记页面,进入该页面后维修员用户可以通过模糊查询维修过的数据,可以添加新的维修登记,同时也能导出历史的维修登记表,以便后期追责。当维修员完成设备的状态确定后不能再更改设备的状态。通过测试测试用例观察页面响应是否符合预期效果。如表5.3所示。表5.3设备维修登记测试用例表编号测试用例测试数据预期效果实际效果1输入框输入输入框键入正常键入正常键入2点击查询按钮点击事件显示查询结果显示查询结果3输入不出在输入查询按钮点击事件无结果展示无结果展示4单击导出数据按钮点击事件正常导出正常导出5点击更改已经确定的维修过设备的状态按钮点击事件警告设备状态不能操作警告设备状态不能操作6单击维修过但未确定的按钮点击事件修改状态修改状态7单击添加按钮点击事件展示添加模态框展示添加模态框(4)设备维修申请登记测试用例,设备发生损坏后,教师用户可以通过本系统发起维修申请请求,维修申请需要以一个表的形式留存方便后期查阅。同时教师用户要有改变为设备状态的权限,而维修员对该权限的操作应该禁止,不能进行维修确认防止有维修员恶意维修等,所以测试要重点测试这一块。保证系统整个业务的完整性。具体测试用户如下表表5.4所示。(5)高校办公室设备巡检申请测试用例,为了预防设备发生损坏,对高校教职工学生等人造成生命财产安全上的威胁,需要进行办公室设备巡检。维修员用户可以发起办公室设备巡检申请,进入巡检菜单后应包含所有巡检记录,单击添加巡检办公室后可以查询到所有未被巡检的办公室,方便维修员用户进行操作。巡检添加结束后其他维修员用户不能再添加的到办公室抽调维修的单据上。具体测试如下表表5.5所示。表5.4设备维修登记测试用例表编号测试用例测试数据预期效果实际效果1正常维修完毕页面跳转页面刷新事件正常刷新页面,展示维修结果正常刷新页面,展示维修结果2维修异常弹窗事件弹出窗口并指明维修出现异常弹出窗口并表明维修出现异常3提交抽调维修申请弹窗事件弹出抽调维修申请弹窗弹出抽调维修申请弹窗4结束抽调维修按钮点击事件不能再点击结束抽调维修按钮不能再单击结束抽调维修按钮表5.5办公室维修巡检测试用例表编号测试用例测试数据预期效果实际效果1正常单击维修巡检页面刷新事件正常刷新页面,展示办公室巡检页面正常刷新页面,展示办公室巡检页面2重复添加申请弹窗事件弹出窗口该办公室已有人员巡检弹出窗口该办公室已有人员巡检3申请未批准页面刷新事件未被批准的办公室能被重新申请未被批准的办公室能被重新申请4添加办公室巡检按钮点击事件展示要添加巡检的办公室展示要添加巡检的办公室(6)办公室设备抽调维修审批与办公室抽调巡检审批的测试用例,办公室设备抽调维修申请后可以在办公室设备抽调维修审批页面有相关的申请展示,可以点击同意按钮,该页面不再展示该申请,也可以点击不同意按钮,该页面也不再展示该申请。办公抽调巡检审批申请后可以在办公室抽调巡检审批页面看到办公室抽调巡的申请。可以点击同意按钮,单击完毕后刷新页面不再展示该申请。也可以点击不同意按钮,该页面也不再展示该申请。具体的测试用例如下表表5.6所示。(7)日志记录测试用例,日志是管理员可以浏览用户的操作日志。当系统判定用户为管理员时,赋予查看日志的权限,通过日志管理员可以查看用户的一些操作,以便日后管理员管理用户统计和维修追责。只能管理员可以浏览该信息,其他的用户不能浏览。例如高校教师用户,该教师用户就没有权限浏览该信息,另外普通维修员用户也没有权限。具体测试用例如下表表5.7所示。表5.6审批测试试用例表编号测试用例测试数据预期效果实际效果1正常办公室抽调巡检审批页面刷新事件正常刷新页面,展示抽调审批页面正常刷新页面,展示抽调审批页面2正常设备抽调维修审批页面刷新事件正常刷新页面,展示抽调审批页面正常刷新页面,展示抽调审批页面3不同意抽调巡检审批页面刷新事件未被批准的办公室能被重新申请未被批准的办公室能被重新申请4办公室巡检按钮点击事件展示要添加巡检的办公室展示要添加巡检的办公室5不同意抽调维修审批页面刷新事件未被批准的办公室能被重新申请未被批准的办公室能被重新申请6不正常抽调审批页面刷新事件审批异常审批异常表5.7日志测试试用例表编号测试用例测试数据预期效果实际效果1管理员登录页面刷新事件日志正常可见可操作日志正常可见可操作2普通教师用户登录页面刷新事件日志不可见不可操作日志不可见不可操作3普通维修员用户登录页面刷新事件日志不可见不可操作日志不可见不可操作4管理员操作日志页面刷新事件日志可操作日志可操作本章节只展示了部分关键测试,其余测试都大同小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论