国家电力设备资源管理系统设计及实现

时间:2022-08-22 03:55:47 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。




河北科技师范学院 本科毕业设计





国家电力设备资源管理系统的设计与实现





工商管理学 信息管理与信息系统 刘培峰 0811120214 许伟丽





2016516 河北科技师范学院教务处制








电力设备是电力生产企业进行生产活动的重要物质技术基础。设备的管理水平、利用效率都会对电力生产企业的运营和管理带来直接的影响。本设计在介绍课题的背景、意义以及国内外研究现状的基础上,指出目前电力公司现行系统管理设备存在的问题,从而指明开发新的电力设备管理系统的必要性和紧迫性。本系统开发严格按照GBT 8567-2006规范和软件生命周期的六个阶段对系统进行分析、设计和开发。先分析了系统在设备的基础维护、检修管理和运行管理方面的功能目标,然后在此基础上将系统的结构划分为六个功能模块,分别对系统的不同方面进行管理。通过本系统的开发可帮助企业提升运营效率,降低企业运营成本,进行信息化建设。

关键词电力设备;资源管理;StrustMVC

I


Abstract

Abstract

Electrical equipment is the important material and technological foundation of electrical manufacturing enterprise in production activities.Equipment management level and the using efficiency of electrical manufacturing enterprise have direct impact on electrical manufacturing enterprise`s operation and management .The article through the introduction of the background, significance of topics and research status at home and abroad, points out that the current problems existing in the electric power company using artificial to manage equipment, so as to indicate the necessity and urgency of establishment in the power equipment management system .On this basis, in strict accordance with the GBT 8567-2006 specification and the six stages of software life cycle on the system analysis, design and development.Finally, after the completion of development ,I explained the software through the part of the core code and the running interface.This system respectively manages on the electric power enterprise equipment, drawings, construction management, personnel, and the examination and approval process, to improve the operational efficiency of enterprises, reduce business operating costs,and help enterprise informatization construction.

Key words: Power equipment;Resource management;Strust;MVC

II






.................................................................... I ABSTRACT ................................................................. II .................................................................. III 1 绪论 .................................................................... 1

1.1 课题背景、目的及意义 .............................................. 1

1.1.1 课题背景 ..................................................... 1 1.1.2 课题目的和意义 ............................................... 1 1.2 国内外研究现状 .................................................... 1

1.2.1 国外研究现状 ................................................. 1 1.2.2 国内研究现状 ................................................. 1

2 可行性分析 .............................................................. 2

2.1 社会可行性 ........................................................ 2 2.2 技术可行性 ........................................................ 2 2.3 操作可行性 ........................................................ 2 3 需求分析 ................................................................ 2

3.1 技术需求 .......................................................... 2 3.2 业务需求 .......................................................... 3

3.2.1 系统首页 ..................................................... 3 3.2.2用户管理 ..................................................... 3 3.2.3 数据字典 ..................................................... 3 3.2.4 站点运行情况 ................................................. 3 3.3 性能需求 .......................................................... 4

3.3.1 运行环境需求 ................................................. 4 3.3.2 操作需求 ..................................................... 4

4 系统结构化分析建模 ...................................................... 4

4.1 软件功能模块分析 .................................................. 4 4.2 业务流程 .......................................................... 5

4.2.1 系统主Portal业务流程 ........................................ 5 4.2.2用户管理业务流程 ............................................. 5 4.2.3系统管理业务流程 ............................................. 5

III




4.2.4维护情况业务流程 ............................................. 6 4.3数据流程 ........................................................... 6 5 国家电力设备资源管理系统的设计 .......................................... 7

5.1 系统功能模块设计 .................................................. 7 5.2 数据库表设计 ...................................................... 8 6 国家电力设备资源管理系统的前端实现 ..................................... 13

6.1 首页实现 ......................................................... 14 6.2 系统管理模块 ..................................................... 14

6.2.1 用户管理 .................................................... 14 6.2.2 系统设置 .................................................... 15

7 国家电力设备资源管理系统的后台实现 ..................................... 16

7.1 系统总体描述 ..................................................... 16 7.2 系统总体架构和说明 ............................................... 16 7.3 系统的技术介绍 ................................................... 17

7.3.1 JavaScript .................................................. 17 7.3.2 MySQL ....................................................... 17 7.3.5 Hibernate ................................................... 17 7.4 系统开发平台及运行环境 ........................................... 18

7.4.1 系统开发平台 ................................................ 18 7.4.2 运行环境 .................................................... 18 7.5 系统实现核心代码 ................................................. 18

7.5.1 权限捕获拦截器 .............................................. 18 7.5.2 密码加密 .................................................... 19 7.5.3 权限计算 .................................................... 20 7.5.4 系统工具类 .................................................. 20 7.5.5 设备校准检修数据查询 ........................................ 21 7.5.6 Lucene工具类 ............................................... 22

8 系统测试 ............................................................... 24

8.1 测试的目的与目标 ................................................. 24 8.2 测试方法 ......................................................... 24 8.3 测试用例 ......................................................... 25 8.4 测试结论 ......................................................... 25

IV






结论 ..................................................................... 26 参考文献 ................................................................. 27 致谢 ..................................................................... 28

III


河北科技师范学院2016届本科毕业设计

1 绪论

1.1 课题背景、目的及意义

1.1.1 课题背景

在这个时代,一个企业现代信息技术水平的高低,将成为企业竞争力强弱的重要标志。只有迅速掌握好互联网信息技术,按现代的管理方法管理企业的物流、资金流、信息流,实现企业管理信息化[1-3],从而提高企业的运行效率。

21世纪是科技信息时代,陈旧的管理模式不是适应新时代的要求,它存在着管理效率低下、记录容易出错、不易查询统计数据等一系列缺点。对于以上的种种缺点,会对企业的经济效益差生很大影响,并且给企业员工带来很大程度上的管理滞后,增加了企业运营成本,降低了企业的生产力。 1.1.2 课题目的和意义

为了使设备管理人员更好地知道设备的情况与设备维修人员更好地对设备进行检修和校准,由此开发设备管理系统,使得设备各种记录实现计算机化,脱离无纸化,并且数据化,提高效率。

1.2 国内外研究现状

1.2.1 国外研究现状

国外的设备管理软件都起步较早,到目前阶段已经比较成熟。典型的软件包括:美Eke公司的Ndjamena设备监控系统、QSCF企业的Veolky设备维护管理系统、Slight公司的BNP设备管理系统等。美国Eke公司的Ndjamena设备监控系统发布于2004年。此系统是多功能设备监控系统,不仅可以管理各种企业的设备也可以非常方便的监控所有设备的运行状态。Ndjamena设备监控系统现在应用于海南电力企业。

BNP设备管理系统包括校准管理、人员管理、材料管理、建筑管理、设备管理、订单管理、系统设置、图纸管理、代办管理、日志管理等功能模块。此设备管理平台已用于河南电力企业、杭州电力公司。 1.2.2 国内研究现状

目前国内设备自动化管理水平不是很高,主要处在设备自身方面的管理,缺少加强与其他运行管理方面的对接。针对某个企业开发完成的设备管理系统不能用于其他企业,仅仅能用于此企业。例如用在高校的图书管理平台,是不适合电力企业的管理的。2000年以来我国已经有很多的软件开发企业退出自己的设备管理系统,如江苏 “世科技”研发的设备管理系统,系统操作简单,软件功能齐全;北京臻鼎科技开发的设备管理系统,此系统具有如下几个功能模块:人员管理、设备管理、资料管理、系统设

1




河北科技师范学院2016届本科毕业设计

置,系统具有容易上手,易于操作的特点;郑州无极限软件开发公司的电力设备监控系统,具有操作方便,功能强大的特点,但是并不能用于其他的企业设备管理,缺少通用性。

2 可行性分析

2.1 社会可行性

国家电力设备资源管理系统主要目的是对电力公司的电力设备进行管理,并且严格按照国家法律法规来进行研究和实践,并无法律和政策方面的限制。

2.2 技术可行性

本系统采用的是MySQLJSPJava开发,Windows 10 Professional操作系统,Dreamweaver 6进行前台的网页界面设计、采用c3p0数据源与后台的数据库进行连接,完成数据的修改、添加、查询、删除等功能。由于JavaJSP功能强大,而MySQL灵活并且易维护,在开发方面具有容易理解、开发速度快的特点,以及这些技术大量的实际应用,所以JavaMySQLJSP是开发设备管理系统的最好选择[4,5]

2.3 操作可行性

目前,大多数的计算机都能运行本系统。在系统开发前,进行了充分的用户调研,开发的系统操作简单、易于上手、容易理解,并且系统的界面简单,提示的信息完整,由相关人员进行简单指导就能够方便的操作本系统。

3 需求分析

3.1 技术需求

根据国家电力设备资源管理系统应用需求,同时要满足系统可能会持续发展的需要,系统在技术上要求:

(1)系统整体结构采用B/S架构模式,增强系统的易操作性,降低系统维护[6] (2)系统遵循行业规范,采用J2EE平台架构;

(3)确保系统的灵活性、可扩展性、易用性、安全性、可靠性、健壮性[6]

2




河北科技师范学院2016届本科毕业设计

3.2 业务需求

3.2.1 系统首页

(1)主题说明

系统首页包含两个部分:系统登录页面和登录系统后的首页。 (2)功能要求

①登录时输入的密码为不可见。

②首页有退出系统链接,重新登陆和返回首页超链接。

③登陆后的首页左侧是系统菜单,上部是系统名称,主体部分进行系统信息的显示。 3.2.2用户管理

(1)主题说明

用户管理主要用来维护和更新查询系统内部使用人员的个人资料信息,以及用户角色分配调整。

(4)功能要求

①将所有的用户进行列表显示,对不同的行的用户进行编辑和删除。 ②可根据用户名进行用户查询,可以模糊查询。 ③删除时提示是否确认删除。

④点击某行用户名,弹出窗口显示此用户详细个人信息。 3.2.3 数据字典

(1)主题说明

数据字典对系统字段进行统一维护 (2)功能要求

①系统管理员可对数据字典组进行维护,编辑数据字典组。 ②数据字典使用AJAX与系统进行异步交互。 ③可以添加数据字典的项,同时添加数据字典的值。 3.2.4 站点运行情况

(1)主题说明

主要用来控制管理站点的运行情况,主要包括站点的故障类型,故障时长,处理状态等,通过查询找到站点,对站点的运行情况进行编辑

(2)功能要求

①查询结果列表显示在查询条件下方。

②故障月份(1-12月,可选择)、故障时间(日历控件,可选择)、故障类型(可选择得出)、站点名称(可输入,支持模糊查询)、处理状态(空、未处理、已处理三项 择得出,默认为“未处理”

3




河北科技师范学院2016届本科毕业设计

③可对查询结果进行编辑和删除。

④站点名称做成超链接,点击后进入站点运行情况详细信息页面。

3.3 性能需求

3.3.1 运行环境需求

(1)系统运行服务器选择稳定安全高效的UNIX操作系统。 (2)Web开发服务器采用Tomcat,上线采用WebLogic/WebSphere (3)数据库服务器采用MySQL,上线采用Oracle或者SqlServer 3.3.2 操作需求

(1)开发的系统应简单,灵活,可操作性强。

(2)系统采用B/S架构,使得通过浏览器即可访问系统操作,让工作人员非常方便查看系统内的数据。

4 系统结构化分析建模

4.1 软件功能模块分析

在对用户的需求进行充分的调研了解后,形成软件需求分析说明书,并依据此需求分析说明书对系统的功能模块进行详细的分析,为以后的系统设计阶段做好准备工作。如表4.1所示。

4.1 功能模块分析

系统首页

系统首页 设备校准管理



能模块

站点设备 运行管理 监测台建 筑管理

理模块

设备检修管理 设备购置计划 站点基本信息

运行情况 维护情况 监测台建筑管理

用户管理

系统管理

角色管理 系统设置

4

用户登陆后的主页面,显示系统内的各种设备校准、检修到期提醒消息。

对设备的校准周期和校准时间进行维护管理。 对设备的检修周期和检修时间进行维护管理。

实现对计划购置的设备进行管理。 对监测台各个站点的基本信息进行管理。 主要用来控制管理站点的运行情况。 对站点维护计划、故障处理等维护情况的管理。

实现对监测台的房屋建筑信息的维护管理。 实现对系统内各种用户的维护管理。 实现对系统内各种角色的维护管理。 实现对系统数据字典的维护管理。


河北科技师范学院2016届本科毕业设计

4.2 业务流程

4.2.1 系统主Portal业务流程

用户成功登录系统后,登陆后的首页左侧是系统菜单,上部是系统名称,主体部分进行系统信息的显示。如图4.1所示。



系统主Portal

控制流数据流

浏览器访问浏览器访问

调用

初始化功能菜单

用户验证

系统提醒

返回

查询

调用

数据访问模块

用户权限、系统相关提醒等数据

4.1 系统主Portal业务流程图

4.2.2用户管理业务流程

用户管理主要用来维护、更新和查询系统内部使用人员的个人资料信息,以及用户角色分配、调整。如图4.2所示。



用户管理业务模块

控制流数据流

查询用户信息

权限验证

调用

数据访问模块

编辑用户信息删除用户信息

用户权限、系统相关提醒等数据

4.2 用户管理业务流程图

4.2.3系统管理业务流程

系统设置主要用来更新和维护系统一些静态信息,这些静态信息在数据字典中维护。如图4.3所示。



权限验证

系统管理业务模块

控制流数据流

调用

添加数据字典项编辑数据字典项

数据访问模块用户权限、系统相关提醒等数据

4.3 系统管理业务流程图

5




河北科技师范学院2016届本科毕业设计

4.2.4维护情况业务流程

站点维护情况包括维护计划和维护情况两部分,用户通过系统页面对系统进行操作,然后系统查询数据库将用户请求数据返回到页面,显示给用户。如图4.4所示。

维护情况业务模块

查询维护计划

控制流数据流

新建维护计划



权限验证

维护计划

编辑维护计划

数据访问模块

删除维护计划

查询维护情况

维护情况

新建维护情况

用户权限、系统相关提醒等数据

编辑维护情况



4.4 维护情况业务流程图

4.3数据流程

根据前面系统业务流程的分析,分别得出系统的顶层数据流图和一层数据流图。 (1)

系统顶层数据流程图如图4.5所示。

设备信息

用户

用户信息计划数据

用户信息

系统数据库

设备信息计划数据



验收提醒统计信息

数据导出报表设备信息计划数据检修提醒

用户



4.5 系统顶层数据流图

6




河北科技师范学院2016届本科毕业设计



(2)系统一层数据流程图

由系统的顶层数据流图进一步分析细化得出系统的一层数据流图。一层数据流图如4.6所示。

统计信息计划数据数据记录

P1数据分析

系统

D1 设备表D2 用户表D3 维护计划表D4 维护记录表D5 数据字典表

P4查看阅览

D6 建筑信息表D7 图纸资料表



数据加载

系统数据库用户

4.6 系统顶层数据流图





5 国家电力设备资源管理系统的设计

5.1 系统功能模块设计

为了更清晰的理解整个系统的功能结构关系,由以上的业务流程图和数据流图,完成系统的功能模块图如图5.1所示。

7





P2


河北科技师范学院2016届本科毕业设计

国家电力设备资源管理系统





















5.1 系统功能模块图

5.2 数据库表设计

(1)数据库逻辑结构设计

用户(用户ID,所属单位,登录名,密码,姓名,性别,出生日期,联系电话,电子邮箱,手机,是否在职,入职时间,离职时间,备注,是否删除)

设备表(设备ID,设备购置计划ID,监测台ID,设备名称,设备类型,品牌,规格型号,厂家,产地,用途,数量,使用单位,金额,校准周期,检修周期,配置,设备状态,运行情况描述,备注,使用日期,校准状态,检修状态)

站点信息表(站点ID,监测台ID,站点代号,站点名称,监测频率,生产厂家,联系方式,使用时间,站点类别,归属地,周期)

设备购置计划表(设备购置计划ID,监测台ID,监测台ID,设备名称,设备类型,品牌,规格型号,厂家,产地,用途,数量,使用单位,金额,校准周期,检修周期,配置,设备状态,运行情况描述,备注,使用日期,校准状态,检修状态)

数据字典(主键ID,数据类型,数据项code,数据项 value)

申请信息表(主键ID,申请信息表ID,审批意见,审批结果,审批人ID,审批人姓名审批日期)

申请模版表(主键ID,名称,流程定义Key,模版文件存储位置) 维护计划表(主键ID,监测台ID,当前时间,维护内容,备注)

设备较准检修表(主键ID,设备ID,是否校准,校准日期,检修日期,是否检修,记录描述,备注,)

文件上传表(主键ID,附件工程ID,所属模块,文件名,文件路径,上传时间,备

8




河北科技师范学院2016届本科毕业设计

)

导入导出字段表(所属模块,导出名称列表(中文)用“#”分开,导出字段名称(段名)用“#”分开,未导出名称列表(中文)用“#”分开,未导出字段(字段名)用“#分开)

站点维护计划表(主键ID,站点ID,所属单位,计划时间,内容,备注) 监测台建筑表(主键ID,所属单位,建筑名称,建筑类型,创始时间,大修时间,使用时间,建筑层数,建筑面积,扩建时间,扩建面积,造价,备注)

(2)数据库物理结构设计

为对系统作进一步分析和设计,我们根据数据库逻辑结构设计转换成数据模型,并对数据模型做严格的评价,例如是否存在数据冗余。

本系统数据库表如下:

5.1 用户表

字段名称 UserID JctID UserName LogonName LogonPwd SexID Birthday Address ContactTel Email Mobile IsDuty OnDutyDate OffDutyDate remark IsDelete CreateEmpID CreateDate LastEmpID LastDate

数据类型 VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(10) DATETIME VARCHAR(100) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(10) DATETIME DATETIME VARCHAR(500) VARCHAR(10) VARCHAR(50) DATETIME VARCHAR(50) DATETIME

主键 Y N N N N N N N N N N N N N N N N N N N

是否空 N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y

说明 主键ID

所属单位code 用户姓名 登录名 密码 性别 出生日期 联系地址 联系电话 电子邮箱 手机 是否在职 入职时间 离职时间 备注 是否删除 创建人ID 创建时间 修改人ID 修改时间

5.2 设备表

字段名称 DevID DevPlanID JctID DevName DevType Trademark

数据类型 VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(10) VARCHAR(50)

主键 Y N N N N N

9

是否空 N Y Y Y Y Y 说明 设备ID

设备购置计划ID 监测台ID 设备名称 设备类型 品牌


河北科技师范学院2016届本科毕业设计

续表 5.2

字段名称 SpecType ProduceHome ProduceArea Useness Quality UseUnit DevExpense AdjustPeriod OverhaulPeriod Configure DevState RunDescribe COMMENT UseDate IsDelete CreateEmpID CreateDate LastEmpID LastDate QUnit APUnit OPUnit APState OPState

数据类型 VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(10) VARCHAR(50) NUMERIC(20, 2) VARCHAR(50) VARCHAR(50) VARCHAR(100) VARCHAR(10) VARCHAR(500) VARCHAR(500) DATETIME VARCHAR(10) VARCHAR(50) DATETIME VARCHAR(50) DATETIME VARCHAR(10) VARCHAR(10) VARCHAR(10) VARCHAR(10) VARCHAR(10)

主键 N N N N N N N N N N N N N N N N N N N N N N N N

是否空 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y

说明 规格型号 厂家 产地 用途 数量 使用单位 金额 校准周期 检修周期 配置 设备状态 运行情况描述 备注 使用日期 是否删除 创建人员 创建日期 修改人员 修改日期 数量单位 校准周期单位 检修周期单位 校准状态 检修状态

5.3 站点信息表

字段名称 StationID JctID

StationCode StationName JCFrequency ProduceHome ContactType UseStartDate COMMENT IsDelete CreateEmpID CreateDate LastEmpID LastDate StationType

AttributionGround

数据类型 VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(100) VARCHAR(50) VARCHAR(50) DATETIME VARCHAR(500) VARCHAR(10) VARCHAR(50) DATETIME VARCHAR(50) DATETIME VARCHAR(50) VARCHAR(50)

主键 Y N N N N N N N N N N N N N N N

是否空 N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y

说明 站点ID 监测台ID 站点代号 站点名称 监测频率 生产厂家 联系方式 使用时间 备注 是否删除 创建人 创建日期 修改人 修改日期 站点类别 归属地

10




河北科技师范学院2016届本科毕业设计

period

VARCHAR(50)

N

Y

周期

5.4 设备购置计划表

字段名称 DevPlanID JctID DevName DevType Trademark SpecType ProduceHome ProduceArea Useness Quality UseUnit DevExpense PlanDate AdjustPeriod OverhaulPeriod Configure COMMENT

PurchaseState IsDelete CreateEmpID CreateDate LastEmpID LastDate QUnit APUnit OPUnit

数据类型 VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(10) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(10) VARCHAR(50) NUMERIC(20, 2) DATETIME VARCHAR(50) VARCHAR(50) VARCHAR(100) VARCHAR(500) VARCHAR(10) VARCHAR(10) VARCHAR(50) DATETIME VARCHAR(50) DATETIME VARCHAR(10) VARCHAR(10) VARCHAR(10)

主键 N N N N N N N N N N N N N N N N N N N N N N N N N N

是否空 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y

说明

设备购置计划ID 监测台ID 设备名称 设备类型 品牌 规格型号 厂家 产地 用途 数量 使用单位 金额 计划日期 校准周期 检修周期 配置 备注 购买状态 是否删除 创建人员 创建日期 修改人员 修改日期 数量单位 校准周期单位 检修周期单位

5.5 数据字典表

字段名称 SeqID Keyword DdlCode DdlName

数据类型 INT

VARCHAR(20) INT

VARCHAR(50)

主键 Y N N N

是否空 N Y Y Y

说明 主键ID 数据类型 数据项code 数据项value

5.6申请信息表

字段名称 approveID applicationID comment approval

approveUserID approveUserName approveTime

数据类型 long

VARCHAR(50) varchar(5000) boolean varchar(50) varchar(50) TIMESTAMP

主键 Y N N N N N N

11

是否空 N Y Y Y Y Y Y 说明 主键ID

申请信息表ID 审批意见 审批结果 审批人ID 审批人姓名 审批日期


河北科技师范学院2016届本科毕业设计



5.7申请模版表

字段名称 id name

processDefinitionKey path

5.8 维护计划表

字段名称 PlanID JctID OccurDate MainContent COMMENT

数据类型 VARCHAR(50) VARCHAR(50) DATETIME varchar(500) varchar(500)

主键 Y N N N N



5.9 设备校准检修表

字段名称 seqID DevID IsAdjust AdjustDate OverhaulDate IsHaving Record Comment IsDelete CreateEmpID CreateDate LastEmpID LastDate

数据类型 INT

VARCHAR(50) VARCHAR(10) DATETIME(50) DATETIME(50) VARCHAR(50) VARCHAR(500) VARCHAR(500) VARCHAR(10) VARCHAR(50) DATETIME(50) VARCHAR(50) DATETIME(50)

主键 Y N N N N N N N N N N N N



5.10 文件上传表

字段名称 SeqID ProjID BelongTo FileName FileURL

ProgressTime Comment IsDelete

数据类型 INT

VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(1000) VARCHAR(20) VARCHAR(50) VARCHAR(10)

主键 Y N N N N N N N

12

数据类型 long

varchar(500) varchar(500) varchar(5000) 主键 Y N N N 是否空 N Y Y Y 说明 主键ID 名称

流程定义的key

上传的模板文件的存储位置

是否空 N Y Y Y Y 说明 主键ID 监测台ID 当前时间 维护内容 备注

是否空 N Y Y Y Y Y Y Y Y Y Y Y Y 说明

仪器校准,主键ID 设备ID 是否校准,0未校准1已校准 校准日期 检修日期 是否检修,0未检修1已检修 记录描述 备注

是否删除,0表示未删除 创建人 创建日期 修改人 修改日期

是否空 N Y Y Y Y Y Y Y 说明 主键ID

附件的工程ID(所属单位) 所属模块1-0,2-0(图纸类别) 文件名 文件路径 上传时间 备注 是否删除


河北科技师范学院2016届本科毕业设计

CreateEmpID CreateDate

VARCHAR(50) DATETIME

N N

Y Y

创建人 创建时间

5.11导入导出字段表

字段名称 BelongTo ExpNameList ExpFieldName NoExpList NoExpName

数据类型 VARCHAR(10) VARCHAR(500) VARCHAR(500) VARCHAR(500) DATETIME(500)

主键 Y N N N N

是否空 N Y Y Y Y

说明

所属模块(如1-01-12-1等) 导出名称列表(中文)用“#”分开 导出字段名称(字段名)用“#”分开 未导出名称列表(中文)用“#”分开 未导出字段(字段名)用“#”分开

5.12站点维护计划表

字段名称 PlanID StationID JctID OccurDate MainContent Comment CreateDate

数据类型 VARCHAR(50) VARCHAR(50) VARCHAR(50) DATETIME(50) VARCHAR(500) DATETIME(50) VARCHAR(10)

主键 Y N N N N N N

是否空 N N Y Y Y Y Y

说明

站点维护情况,主键ID 站点ID,主键ID

所属单位code(对应数据字典) 计划时间 内容 备注 创建时间

5.13监测台建筑表

字段名称 BuildID JctID BuildName BuildType

BuildStartDate DxDate UseDate BuildLayer BuildArea

ExtendBuildDate ExtendBuildArea BuildExpense Comment IsDelete CreateEmpID CreateDate LastEmpID LastDate

数据类型 VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(10) DATETIME VARCHAR(100) VARCHAR(50) VARCHAR(50) VARCHAR(50) VARCHAR(10) DATETIME DATETIME VARCHAR(500) VARCHAR(10) VARCHAR(50) DATETIME

主键 Y N N N N N N N N N N N N N N N N N

是否空 N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y

说明 主键ID

所属单位code(对应数据字典) 建筑名称

建筑类型code(对应数据字典) 创始时间 大修时间 使用时间 建筑层数 建筑面积 扩建时间 扩建面积 造价 备注

是否删除,0表示正常 创建人 创建时间 修改人 修改时间

6 国家电力设备资源管理系统的前端实现

本部分主要通过软件的部分运行界面对系统的前端实现进行介绍。在前端实现中,

13




河北科技师范学院2016届本科毕业设计

为显示系统的商务性和强调系统的科技感,前端页面主要以蓝色为主。

6.1 首页实现

系统的主Portal(如图6.1)是用户登录成功后的第一个窗口部分。根据登录用户的角色、权限,为用户展示其所具有的功能(显示左侧对应的功能菜单)。同时,显示系统提醒的校准或检修到期设备的消息。

6.1 系统Portal

首页模块包括3个主要的部分,采用内嵌框架技术。位置分别为上、左、中。 (1)上部的实现

上部包含两大部分内容:网站标题;菜单。

菜单部分就是一系列的超链接,用户登录后看到的是系统时间、用户名、返回首页、返回首页和退出系统。

(2)左部的实现

左部是系统主要的功能菜单,分为两级菜单,使用JavaScriptStrust的标签完成菜单的显示,并且根据不同用户的不同权限对菜单进行显示。

(3)中部的实现

中部是本系统的主要部分,用于对系统所有的信息进行显示和操作。

6.2 系统管理模块



系统管理模块是本系统的重中之重,可以说是整个系统的安全中心,下面重点介绍

本模块。

6.2.1 用户管理

用户管理(如图6.2)主要用来维护和更新查询系统内部使用人员的个人资料信息,以及用户角色分配调整。

14




河北科技师范学院2016届本科毕业设计

系统中的用户由系统中具有用户管理权限的人员进行添加。 系统数据的输入使用JavaScriptjQuery进行验证。

6.2 用户管理界面

登录名: 不能为空;

长度必须在2~15之间; 不能是已注册过的; 登录密码: 可以为空;

系统默认密码为000000 确认密码: 可以为空; 与登录密码相同; 用户姓名: 不能为空; 必须是真实姓名; 所属单位: 不能为空;

从下拉列表中选择一项。

表单校验中,登录名是否被注册过需要请求服务器,所以这里使用的是ajax()来完成对服务器的访问。 6.2.2 系统设置

系统设置(如图6.3)主要用来更新维护系统一些静态信息,这些静态信息在数据字典中维护。

15




河北科技师范学院2016届本科毕业设计

数据字典可以实现动态的维护系统的基本数据项,可以按照数据字典的编号统计对应的数据类型。

6.3 数据字典维护界面

7 国家电力设备资源管理系统的后台实现

7.1 系统总体描述

本系统架构采用J2EE三层开发体系架构,使用Stuts+Spring+Hibernate的技术框架。使系统设计开发更加灵活,增强了系统的可修改性和可移植性。

从系统整体框架设计上,需要重点达到以下四个要求: (1)前瞻性:应对需求的变化。

(2)整合性:整合各个子系统的流程和数据。 (3)可扩充性:面向未来。

(4)数据共享:减少冗余,提高各个子系统之间的数据利用。

7.2 系统总体架构和说明

系统的总体架构如图7.1所示。

系统总体架构采用MVC设计模式,此设计模式将整个系统分为三层,分别控制不同的层面,每层的主要功能如下:

模型层:模型层中包含数据模型,数据模型将用户的请求数据或系统返回的数据进行封装,用于在业务层进行处理货视图层进行显示。

视图层:视图层对数据模型中包含的数据进行显示。当用户对系统进行请求,系统返回数据时,此层将返回数据显示给用户。

控制层:对用户的请求动作进行控制。当用户将请求发送到系统中时,系统通过控制层将用户不同的请求发送到相应的处理程序进行处理。

16




河北科技师范学院2016届本科毕业设计

状态查询

Model模型

1、封装应用状态 2、响应状态查询 3、实现应用功能 4通知View变更



变化通知

View视图层 1、表现Model

2、从Model请求更新

3、发送用户动作到Controller 4、允许Controller选择View

视图选择

Controller控制器 1、定义应用行为

2、映射动作到Model更新 3、选择View响应用户 4、为应用功能提供控制

用户动作

7.1 MVC模式原理和MVC事件机制

7.3 系统的技术介绍

7.3.1 JavaScript

JavaScript是一种基于对象和事件驱动并且具有相对安全性的客户端脚本语言,时也是一种广泛应用于web客户端开发的脚本语言,经常用来给HTML页面添加动态功能,例如响应用户的各种操作[7,8]

Java语言与JavaScript语言在语法上非常相似,但是随着对JavaScript的深入了解后你会发现,它们说到底还是两种语言。 7.3.2 MySQL

MySQL速度快、体积小、总体拥有成本低,尤其是开放源代码这一特点,许多中小型的网站为了降低网站的总体拥有成本选择了MySQL作为网站的数据库[9]

自从Oracle(甲骨文)公司收购了MySQL后不久,就发布了MySQL企业版本(不再免费)

7.3.5 Hibernate

Hibernate是一个面向对象操作数据库的框架,是基于JDBC开发的。 Hibernate具有如下特点[10,11] (1)开源的持久层框架;

(2)连接java应用和数据库的中间件;

(3)JDBC进行封装,负责java对象的持久化。

17




河北科技师范学院2016届本科毕业设计

7.4 系统开发平台及运行环境

7.4.1 系统开发平台

本次系统的开发是在Tomcat环境下进行的。Tomcat有几个非常重要的优点:免费、开源、更新快、跨平台并且支持最新标准。

使用Tomcat作为开发环境,有以下四点优势:

(1)Tomcat中有四种部署Web应用的方式,简要的概括分别是: ①利用Tomcat自动部署; ②利用控制台进行部署;

③增加自定义的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml) ④手动修改%Tomcat_Home%\conf\server.xml文件来部署web应用。 (2)Tomcat既可以处理动态页面也可以处理静态页面。

(3)Tomcat可以与 apache服务器进行集成,“一动一静”具有更突出的优点。这种结构的优点是兼有可扩展性和安全性[12] 7.4.2 运行环境

操作系统:Windows XP以上版本。 服务器软件:Tomcat6.0以上版本。 浏览器:IEFire FoxGoogle Chrome

7.5 系统实现核心代码

7.5.1 权限捕获拦截器

此段代码是系统开发阶段用于自动捕获系统权限(访问路径)的拦截器,用于系统上线后的权限控制。在系统上线后,此拦截器需要关闭。 /**

* @Name: CatchUrlInterceptor.java

* @Description: 捕获权限自动向系统中添加,开发时使用,系统上线后去掉 * @Author: PeiFeng

* @Create Date: 2016-2-21 */

public class CatchUrlInterceptor implements Interceptor {

private static final long serialVersionUID = 3306117036174630812L; public void destroy() {} public void init() {} /**

* 拦截请求路径,与数据库进行对比,向数据库中添加权限 */

public String intercept(ActionInvocation invocation) throws Exception {

18




河北科技师范学院2016届本科毕业设计





ActionProxy proxy = invocation.getProxy(); String ns = proxy.getNamespace() ;

String actionName = proxy.getActionName(); if(!ValueUtil.isValid(ns) || ns.equals("/")){ ns = "" ; }

String url = ns + "/" + actionName ;

ServletContext sc = ServletActionContext.getServletContext();

ApplicationContext ac =

WebApplicationContextUtils.getWebApplicationContext(sc);

IElecRightService rs = (IElecRightService) ac.getBean(IElecRightService.SERVICE_NAME);

rs.appendRightByURL(url); return invocation.invoke();

} }

7.5.2 密码加密

用户的密码是十分重要的,好的加密方法能保证用户密码不被泄露。

此段代码是在MD5技术的基础之上进行改造优化,使加密后的数据更加安全,加密效率更高。

public final class PwdEncrypt {

public static String getDataByMD5(String src){ try {

StringBuffer buffer = new StringBuffer(); char[] chars= {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] data = md.digest(src.getBytes()); for(byte b : data){ //4

buffer.append(chars[(b >> 4) & 0x0F]); //4

buffer.append(chars[b & 0x0F]); }

return buffer.toString();

} catch (NoSuchAlgorithmException e) { e.printStackTrace(); }

return null; } }

19




河北科技师范学院2016届本科毕业设计

7.5.3 权限计算

本系统采用二进制计算的方式进行权限的控制和判断,以此来提升系统运行效率和系统安全性。 /**

* 计算用户的权限总和 */

public void calculateRightSum() { int pos = 0; long code = 0;

for (ElecRole role : roles) { // 判断超级管理员

if ("-1".equals(role.getRoleValue())) { this.superAdmin = true; roles = null; return; }

for (ElecRight r : role.getRights()) { pos = r.getRightPos(); code = r.getRightCode();

rightSum[pos] = rightSum[pos] | code; } }

roles = null; }

/**判断用户是否有指定的权限*/

public boolean hasRight(ElecRight r) { int pos = r.getRightPos(); long code = r.getRightCode(); long ret = rightSum[pos] & code; return !(ret == 0); }

7.5.4 系统工具类

系统工具类在本次系统的开发中也有着至关重要的作用。

此类功能有判断字符串、集合、数组的有限性以及对系统中权限的验证。可以说是“一次编写,到处使用”,有很高的重用性。



public final class ValueUtil { /**

* 判断字符串有效性 */

public static boolean isValid(String str) { if (str == null || "".equals(str.trim())) { return false;

20




河北科技师范学院2016届本科毕业设计

}

return true; } /**

* 判断集合的有效性 */

public static boolean isValid(Collection col) { if (col == null || col.isEmpty()) { return false; }

return true; } /**

* 判断数组是否有效 */

public static boolean isValid(Object[] arr) {

if (arr == null || arr.length == 0 || arr[0] == null) { return false; }

return true; }

public static boolean isValid(int[] arr) { if (arr == null || arr.length == 0) { return false; }

return true; }

7.5.5 设备校准检修数据查询

系统的瓶颈一般都会发生数据库上,优化数据库性能的一个简单有效的办法是尽可能减少对数据库操作。使用联合查询语句,将多条Sql合并为一条语句,由此减少对数据库的操作。下面是本系统的一个例子,系统中几乎所有的数据库操作都使用此种方法,以此来提高数据库性能。

21




河北科技师范学院2016届本科毕业设计

SELECT o.stationid, a.ddlname, o.attributionground, o.stationcode,

o.stationname, c.ddlname, o.contacttype, o.jcfrequency

FROM elec_station o LEFT JOIN elec_dictionary a

ON o.jctid = a.DdlCode

AND a.Keyword = '所属单位' LEFT JOIN elec_dictionary b

ON o.jctid = b.DdlCode

AND b.Keyword = '站点类别' WHERE o.jctid = ?

AND o.stationname LIKE '%?%'

AND o.stationcode = ? AND o.stationtype = ? AND o.contacttype

LIKE '%?%'

AND o.attributionground LIKE '%?%'

7.5.6 Lucene工具类

由于系统中技术资料数据经过长时间使用之后数据会变得非常庞大,所以系统通过使用Lucene技术来提高检索效率,并且会像百度一样对检索字段进行标识。 /**

* @Name: LuceneUtils.java * @Description: lucene工具类 * @Author: PeiFeng

* @Create Date: 2016-4-2 */

public class LuceneUtils {

private static IndexWriter indexWriter; private static IndexSearcher indexSearcher; private static DirectoryReader indexReader; static { try {

// 指定在JVM退出前要执行的代码

Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { closeIndexWriter(); closeIndexSearcher(); } };

} catch (Exception e) {

throw new RuntimeException(e); }

22




河北科技师范学院2016届本科毕业设计

}

/** 获取全局唯一的IndexWriter实例 */

public static IndexWriter getIndexWriter() { if (indexWriter == null) { try {

indexWriter = new

IndexWriter(Configuration.getDirectory(),

Configuration.getConfig()); } catch (Exception e) {

throw new RuntimeException(e); } }

return indexWriter; }

/** 关闭IndexWriter */

private static void closeIndexWriter() { if (indexWriter != null) { try {

indexWriter.close();

System.out.println("==>> 已经关闭IndexWriter <<=="); } catch (Exception e) { try {

indexWriter.close(); } catch (Exception e1) { try { if

(IndexWriter.isLocked(Configuration.getDirectory())) {

IndexWriter.unlock(Configuration.getDirectory()); }

} catch (Exception e2) {

throw new RuntimeException(e2); } } } } }

/** 获取全局唯一的indexSearcher实例 */

public static IndexSearcher getIndexSearcher() { try {

if (indexReader == null) { indexReader =

DirectoryReader.open(Configuration.getDirectory());

23




河北科技师范学院2016届本科毕业设计





indexSearcher = new IndexSearcher(indexReader); }

indexReader = DirectoryReader.openIfChanged(indexReader); if (indexReader != null) {

indexSearcher = new IndexSearcher(indexReader); }

} catch (IOException e) {

throw new RuntimeException(e); }

return indexSearcher; }

/** 关闭indexSearcher */

private static void closeIndexSearcher() { if (indexSearcher != null) { try {

indexReader.close();

System.out.println("==>> 已经关闭IndexWriter <<=="); } catch (Exception e) {

throw new RuntimeException(e); } } } }

8 系统测试

8.1 测试的目的与目标

在软件初步开发完成后,接下来的一步是将系统移交给软件测试人员,让测试人员对系统进行完全的测试,尽可能找出系统中存在的Bug,并记录下来,形成测试报告交给软件开发人员。而开发人员就依此报告对系统的Bug进行修改[13]

测试后的软件各模块基本功能可以顺利进行,尽可能的提高软件的健壮性。

8.2 测试方法

(1)软件的测试方法总体可以分为白盒测试和黑盒测试; (2)从是否执行程序的角度:静态测试和动态测试;

(3)从软件开发的过程按阶段划分有:单元测试、集成测试、确认测试、系统测试、验收测试、回归测试、Alpha测试、Beta测试[14]

24




河北科技师范学院2016届本科毕业设计

8.3 测试用例

测试结果表明(如表8.1,本模块的业务逻辑设计及系统的开发是正确的。

8.1 登入系统测试用例

系统模块 测试目的 测试数据 测试内容 1

系统登录模块

测试系统登录模块的开发是否正确 登录名:1111 登录密码:1111 操作描述 ,按登陆按钮。

2

密码,按登陆按钮。 用户姓名和密码,按按钮。 用户姓名和密码,按按钮。

数据

1111 密码为空

1111

期望结果

实际结果 用户名或密码!

用户名或密码!

用户名或密码

正确登入到会员操作界面

测试状态 期望果相同 期望果相同 期望果相同 期望果相同

3

4





显示警告信息码误!

显示警告信息码误!

显示警告信息

用户姓名:1



码:1

码误!



正确登入到会

1111

员操作界面

码:1111

8.4 测试结论

在本次系统的开发测试过程中我学到了一些经验:

1、把自己当成用户,带替用户来使用系统,也即使系统充分满足用户需求。 2、测试之前定要设计好测试用例,将各种可能的情况都进行测试,尽可能找出系统中存在的Bug

3、多种测试方法结合进行测试。不同的测试方法测试的侧重点不同,测试的部分不同,只有多种测试方式结合,才能测试的全面。

另外,在测试过程中,系统中存在的Bug80%都是黑盒测试发现的,所以要从系统的业务逻辑上进行测试。

25




河北科技师范学院2016届本科毕业设计

结论

本系统的开发严格按照GBT 8567-2006规范和软件生命周期的六个阶段进行,使用功能强大的集成开发环境MyEclips为开发工具和轻量级数据库MySql完成此系统的开发。此系统主要对电力企业的设备、人员、建筑以及一些购置、维修计划进行管理。最后,为了使系统更加人性化和自动化,又使用JBPM技术开发了审批流转模块。

对我来说,这次设计的本身所产生的影响,还远远没有结束,我从本次毕业设计中学到了许多课本上没有的知识。通过自己的学习和努力;通过老师的指导和教育,使我不仅仅在知识水平和解决实际问题的能力上有了很大的提高。还从思想的深处体会到,要把自己的所学变成现实时所将面对的种种难题。

系统不免有错误和待改进之处,真诚欢迎各位师长、同行提出宝贵意见。

26




河北科技师范学院2016届本科毕业设计

参考文献

[1] 方勇.电力生产管理信息系统的关键技术分析与实践[J].东北电力学院学报,2010,03:41-49. [2] 王国栋.构建企业级的电网安全生产管理信息系统[J].华东电力,2009,03:494-497. [3] 杨帆.配电网电力生产管理信息系统[J].电力技术资讯,2013,12:177-178.

[4] Zengping WANG. Recent Research Progress in Fault Analysis of Complex Electric Power

Systems [J]. Advances in Electrical and Computer Engineering. 2010,10:28-33. [5] ()斯蒂芬哈格.信息时代的管理信息系统[M].北京:机械工业出版社,2011, 55-58. [6] 葛利宏.内蒙古电力生产管理信息系统的开发与应用[J].内蒙古电力技术,2009,06:01-03. [7] 邵培基.管理信息系统(第二版)[M].北京:知识产权出版社,2012,35-48.

[8] 陈铁森.电力企业安全上生产理信息系统的应用[J].企业技术开发,2012,01:39-40.

[9] Y. Zhou Y.P. Li. A robust approach for planning electric power systems associated with

environmental policy analysis[J]. Electric Power Systems Research.2013,95:84-88. [10]Diego Malagueta. Potential and impacts of Concentrated Solar Power integration in the

Brazilian electric power system[J].Renewable Energy.2014,68:57-61. [11]陈铁森.电力企业安全上生产理信息系统的应用[J].企业技术开发,2012,01:39-40. [12]杨帆. 配电网电力生产管理信息系统[J].高电压技术,2005,09:78-80.

[13]中国电力信息中心.国家电力公司系统信息化工作现状及建议[J].中国电力,2001,01:16-18. [14]杨浩.广东电网公司生产管理信息系统实用化评价研究[J].广东电力,2010,04:29-34.

27




河北科技师范学院2016届本科毕业设计

致谢

在论文完成之际,我首先要向尊敬的许伟丽老师表示最真挚的谢意。

在论文写作期间,为了保证我们毕业设计的正常进行,学院抽调了优秀的老师指导我们进行毕业设计,并且不时地询问我们毕业设计的进展情况。没有老师们的细心指导我的论文与系统就不可能顺利的完成,再次对你们表示衷心地感谢。老师认真负责的工作态度、严谨的治学风格,使我深受启发;同时也很感谢帮助过我和我一同探讨问题的同学们。为我们这次设计的正常开展提供了必要的基础。本次毕业设计,就要画上一个句号了。

感谢所有关心、支持、帮助过我的良师益友。

最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师表示衷心地感。



30


本文来源:https://www.wddqw.com/doc/eb6c3c0ea9ea998fcc22bcd126fff705cc175c8d.html