电力系统的设计与开发_第1页
电力系统的设计与开发_第2页
电力系统的设计与开发_第3页
电力系统的设计与开发_第4页
电力系统的设计与开发_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、国家电力设备资源管理系统的设计与实现刘培峰(河北科技师范学院 工商管理学院,信息管理与信息系统专业1202班)指导教师:许伟丽摘 要:电力设备是电力生产企业进行生产活动的重要物质技术基础。设备的管理水平、利用效率都会对电力生产企业的运营和管理带来直接的影响。文章通过介绍课题的背景、意义以及国内外研究现状,指出目前电力公司采用人工方式管理设备存在的问题,从而指明建立电力设备管理系统的必要性和紧迫性。在此基础上,严格按照GBT 8567-2006规范和软件生命周期的六个阶段对系统进行分析、设计和开发。最后,在开发完成后通过一部分核心代码和运行界面对软件进行说明。关键词:电力设备;资源管理;Stru

2、st;MVC1 绪论1.1 课题背景在这个时代,一个企业现代信息技术水平的高低,将成为企业竞争力强弱的重要标志。只有迅速掌握好互联网信息技术,按现代的管理方法管理企业的物流、和信息流,实现企业管理信息化1。只有这样才能全面提升企业资源配置水平,提高企业的运行效率。21世纪是科技信息时代,陈旧的管理模式不是适应新时代的要求,它存在着管理效率低下、记录容易出错等一系列缺点。对于以上的种种缺点,会对企业的经济效益差生很大影响,增加了企业运营成本,降低了企业的生产力。1.2 研究意义为了使设备管理人员更好地知道设备的情况与设备维修人员更好地对设备进行检修和校准,由此开发设备管理系统,使得设备各种记录实

3、现计算机化,脱离无纸化,并且数据化。2 可行性分析2.1 社会可行性国家电力设备资源管理系统主要目的是对电力公司的电力设备进行管理,并且严格按照国家法律法规来进行研究和实践,并无法律和政策方面的限制。2.2 技术可行性本系统采用的是MySQL、JSP和Java开发,Windows 10 Professional操作系统。由于Java、JSP功能强大,而MySQL灵活并且易维护,在开发方面具有容易理解、开发速度快的特点,以及这些技术大量的实际应用,所以Java、MySQL、JSP是开发设备管理系统的最好选择2。2.3 操作可行性目前,大多数的计算机都能运行本系统。在系统开发前,进行了充分的用户调

4、研,开发的系统操作简单、易于上手、容易理解,并且系统的界面简单,提示的信息完整,由相关人员进行简单指导就能够方便的操作本系统。3 需求分析3.1 技术需求系统在技术上要求:(1)遵循统一命名规范、编码规范、用户界面规范、接口以及程序设计规范3;(2)系统整体结构采用B/S架构模式,增强系统的易操作性,降低系统维护4; (3)系统遵循行业规范,采用J2EE平台架构。3.2业务需求 本系统有很多功能模块,由于篇幅有限,不能将每个模块在此进行分析,所以文章只将几个重要的模块进行分析。3.2.1 系统首页(1)主题说明系统首页包含两个部分:系统登录页面和登录系统后的首页。(2)功能要求登录时输入的密码

5、为不可见。首页有退出系统链接,重新登陆和返回首页超链接。登陆后的首页左侧是系统菜单,上部是系统名称,主体部分进行系统信息的显示。 3.2.2用户管理(1)主题说明用户管理主要用来维护和更新查询系统内部使用人员的个人资料信息,以及用户角色分配调整。(2)功能要求 将所有的用户进行列表显示,对不同的行的用户进行编辑和删除。可根据用户名进行用户查询,可以模糊查询。删除时提示是否确认删除。3.2.3 数据字典(1)主题说明数据字典对系统字段进行统一维护(2)功能要求 系统管理员可对数据字典组进行维护,编辑数据字典组。数据字典使用AJAX与系统进行异步交互。 可以添加数据字典的项,同时添加数据字典的值。

6、3.2.4 站点运行情况(1)主题说明主要用来控制管理站点的运行情况,包括站点的故障类型,故障时长,处理状态等(2)功能要求 查询结果列表显示在查询条件下方。可对查询结果进行编辑和删除。站点名称做成超链接,点击后进入站点运行情况详细信息页面。3.3 性能需求3.3.1 运行环境需求(1)系统运行服务器选择稳定安全高效的UNIX操作系统。(2)Web开发服务器采用Tomcat,上线采用WebLogic/WebSphere。(3)数据库服务器采用MySQL,上线采用Oracle或者SqlServer。3.3.2 操作需求(1)开发的系统应简单,灵活,可操作性强。(2)系统采用B/S架构,使得通过浏

7、览器即可访问系统操作,让工作人员非常方便查看系统内的数据。4 系统结构化分析建模4.1 软件功能模块分析业务功能模块系统首页系统首页用户登陆后的主页面设备管理设备信息管理对设备的基本信息的管理设备校准管理对设备的校准周期和时间进行管理。设备检修管理对设备的检修周期和时间进行管理。设备购置计划对购置计划进行管理。站点设备运行管理站点基本信息对监测台各个站点的基本信息进行管理。运行情况主要用来控制管理站点的运行情况。维护情况对站点维护计划、故障处理等维护情况的管理。监测台建筑管理监测台建筑管理对监测台的房屋建筑信息进行管理。系统管理模块系统管理用户管理对系统内各种用户的管理。角色管理对系统内各种角

8、色的管理。系统设置对系统数据字典的管理。依据此需求分析对系统的功能模块进行详细的分析,为以后的系统设计阶段做好准备工作。如表1所示。表1 功能模块分析4.2 业务流程4.2.1 系统主Portal业务流程用户成功登录系统后,登陆后的首页左侧是系统菜单,上部是系统名称,主体部分进行系统信息的显示。如图1所示。图1 系统主Portal业务流程图4.2.2用户管理业务流程用户管理主要用来维护、更新和查询系统内部使用人员的个人资料信息,以及用户角色分配、调整。如图2所示。图2 用户管理业务流程图4.2.3系统管理业务流程系统设置主要用来更新维护系统一些静态信息,这些静态信息在数据字典中维护。如图3所示

9、。图3 系统管理业务流程图4.3数据流程根据前面系统业务流程的分析,分别得出系统的顶层数据流图和一层数据流图。(1)系统顶层数据流图如图4所示。图4 系统顶层数据流图(2)系统一层数据流程图如图5所示。图5系统顶层数据流图5 国家电力设备资源管理系统的设计5.1 系统功能模块设计图6 系统功能模块图为了更清晰的理解整个系统的功能结构关系,由以上的业务流程图和数据流图,完成系统的功能模块图如图6所示。5.2数据库表设计(1)数据库逻辑结构设计数据字典(主键ID,数据类型,数据项code,数据项value);申请模版表(主键ID,名称,流程定义Key,模版文件存储位置);维护计划表(主键ID,监测

10、台ID,当前时间,维护内容,备注);设备较准检修表(主键ID,设备ID,是否校准,检修日期,是否检修,记录描述,备注,);文件上传表(主键ID,附件工程ID,所属模块,文件名,文件路径,上传时间,备注)导入导出字段表(所属模块,导出名称列表(中文)用“#”分开,导出字段名称(字段名)用“#”分开,未导出名称列表(中文)用“#”分开,未导出字段(字段名)用“#”分开);(2)数据库物理结构设计为对系统作进一步分析和设计,我们根据系统选用的数据库将逻辑结构设计转换成数据模型,并对数据模型做严格的评价。本系统数据库表如下:表2 数据字典表字段名称数据类型主键是否空说明SeqIDINTYN主键IDKe

11、ywordVARCHAR(20)NY数据类型DdlCodeINTNY数据项codeDdlNameVARCHAR(50)NY数据项valueIsDeleteVARCHAR(10)NY是否删除,0表示未删除表3 申请模板表字段名称数据类型主键是否空说明idlongYN主键IDnamevarchar(500)NY名称processDefinitionKeyvarchar(500)NY流程定义的keypathvarchar(5000)NY上传的模板文件的存储位置IsDeleteVARCHAR(10)NY是否删除表4 维护计划表字段名称数据类型主键是否空说明PlanIDVARCHAR(50)YN主键ID

12、JctIDVARCHAR(50)NY监测台IDOccurDateDATETIMENY当前时间MainContentvarchar(500)NY维护内容表5站点维护计划表字段名称数据类型主键是否空说明PlanIDVARCHAR(50)YN站点维护情况,主键IDStationIDVARCHAR(50)NN站点ID,主键IDJctIDVARCHAR(50)NY所属单位code(对应数据字典)OccurDateDATETIME(50)NY计划时间MainContentVARCHAR(500)NY内容CommentDATETIME(50)NY备注CreateDateVARCHAR(10)NY创建时间表6

13、 设备校准检修表字段名称数据类型主键是否空说明seqIDINTYN仪器校准,主键IDDevIDVARCHAR(50)NY设备IDIsAdjustVARCHAR(10)NY是否校准,0未校准1已校准AdjustDateDATETIME(50)NY校准日期OverhaulDateDATETIME(50)NY检修日期IsHavingVARCHAR(50)NY是否检修,0未检修1已检修RecordVARCHAR(500)NY记录描述CommentVARCHAR(500)NY备注IsDeleteVARCHAR(10)NY是否删除,0表示未删除表7 文件上传表字段名称数据类型主键是否空说明SeqIDINT

14、YN主键ID ProjIDVARCHAR(50)NY附件的工程ID(所属单位)BelongToVARCHAR(50)NY所属模块1-0,2-0(图纸类别)FileNameVARCHAR(50)NY文件名FileURLVARCHAR(1000)NY文件路径ProgressTimeVARCHAR(20)NY上传时间CommentVARCHAR(50)NY备注IsDeleteVARCHAR(10)NY是否删除CreateEmpIDVARCHAR(50)NY创建人CreateDateDATETIMENY创建时间表8导入导出字段表字段名称数据类型主键是否空说明BelongToVARCHAR(10)YN所

15、属模块(如1-0,1-1,2-1等) ExpNameListVARCHAR(500)NY导出名称列表(中文)用“#”分开ExpFieldNameVARCHAR(500)NY导出字段名称(字段名)用“#”分开NoExpListVARCHAR(500)NY未导出名称列表(中文)用“#”分开NoExpNameDATETIME(500)NY未导出字段(字段名)用“#”分开6 国家电力设备资源管理系统的前端实现6.1首页实现 首页(如图7)模块包括3个主要的部分,采用内嵌框架技术。位置分别为上、左、中。(1)上部的实现上部包含两大部分内容:网站标题;菜单。菜单部分就是一系列的超链接,用户登录后看到的是系

16、统时间、用户名、返回首页和退出系统。(2)左部的实现左部是系统主要的功能菜单,分为两级菜单,使用JavaScript和Strust的标签完成菜单的显示。(3)中部的实现中部是本系统的主要部分,用于对系统所有的信息进行显示和操作。图7 系统主Portal6.2 系统管理模块系统管理模块是本系统的重中之重,可以说是整个系统的安全中心。以下重点介绍本模块。(1)用户管理(如图8)用户管理模块可以对系统内的人员进行统计,形成统计报表,方便企业领导进行人员的统计。系统中用户数据的添加有系统管理员操作。图8 用户信息管理(2)数据字典(如图9)数据字典对系统内字段进行统一维护。在系统内各个模块中的下拉列表

17、、单选以及多选都会使用到数据字典中的数据字段,使系统更加规范化。图9 数据字典维护7 国家电力设备资源管理系统的后台实现7.1 系统总体描述 本系统架构采用J2EE三层开发体系架构,使用Stuts+Spring+Hibernate的技术框架。从系统整体框架设计上,需要重点达到以下三个要求:(1)前瞻性:应对需求的变化。(2)整合性:整合各个子系统的流程和数据。(3)可扩充性:面向未来。7.2 处理流程(结构图)系统的处理流程如图10所示。处理流程说明:(1)表示层:(表示层也就是客户终端)表示层对数据模型中包含的数据进行显示。当用户对系统进行请求,系统返回数据时,此层将返回数据显示给用户。(2

18、)业务逻辑层:(中间层)对用户的请求动作进行控制。当用户将请求发送到系统中时,系统通过控制层将用户不同的请求发送到相应的处理程序进行处理。(3)数据库访问层:(底层)业务逻辑层(访问数据库,为表示层提供数据)数据访问层数据库服务器表示层客户端(浏览器/IE)输入数据,显示数据Web服务器数据访问层中包含数据模型,数据模型将用户的请求数据或系统返回的数据进行封装,用于在业务层进行处理货视图层进行显示。图10 系统处理流程7.3 系统实现核心代码7.3.1 权限捕获拦截器此段代码是系统开发阶段用于自动捕获系统权限(访问路径)的拦截器,用于系统上线后的权限控制。在系统上线后,此拦截器需要关闭。 pu

19、blic class CatchUrlInterceptor implements Interceptor /*拦截请求路径,与数据库进行对比,向数据库中添加权限*/public String intercept(ActionInvocation invocation) throws Exception ActionProxy proxy = invocation.getProxy();String ns = proxy.getNamespace() ; String actionName = proxy.getActionName();if(!ValueUtil.isValid(ns)| n

20、s.equals("/") ns = "" ; String url = ns + "/" + actionName ;ServletContext sc = ServletActionContext.getServletContext();ApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(sc);IElecRightService rs = (IElecRightService) ac.getBean(IElecRightServi

21、ce.SERVICE_NAME);rs.appendRightByURL(url);return invocation.invoke();7.3.2 密码加密用户的密码是十分重要的,好的加密方法能保证用户密码不被泄露。此段代码是在MD5技术的基础之上进行改造优化,使加密后的数据更加安全,加密效率更高。public final class PwdEncrypt public static String getDataByMD5(String src)try StringBuffer buffer = new StringBuffer();char chars= '0','

22、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)buffer.ap

23、pend(chars(b >> 4) & 0x0F); /高4位buffer.append(charsb & 0x0F); /低4位return buffer.toString(); catch (NoSuchAlgorithmException e) e.printStackTrace();return null;7.3.3 权限计算本系统采用二进制计算的方式进行权限的控制和判断,以此来提升系统运行效率和系统安全性。/*计算用户的权限总和*/public void calculateRightSum() int pos = 0;long code = 0;for

24、(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();rightSumpos = rightSumpos | code;roles = null;/* 判断用户是否有指定的权限*/public boolean hasRight(ElecRight

25、 r) int pos = r.getRightPos();long code = r.getRightCode();long ret = rightSumpos & code;return !(ret = 0);public static boolean isValid(String str) if (str = null | "".equals(str.trim() return false;return true;/* 判断集合的有效性*/public static boolean isValid(Collection col) if (col = null

26、| col.isEmpty() return false;return true;7.3.4 权限过滤本系统使用Strust的拦截器进行权限的拦截判断,配置灵活。/* * 权限过滤拦截器 */SuppressWarnings("serial")public class RightFilterInterceptor implements Interceptor public void destroy() public void init() SuppressWarnings("rawtypes")public String intercept(Action

27、Invocation invocation) throws Exception BaseAction action = (BaseAction) invocation.getAction() ;ActionProxy proxy = invocation.getProxy();String ns = proxy.getNamespace();String actionName = proxy.getActionName();if(ValueUtil.hasRight(ns, actionName, ServletActionContext.getRequest(), action)return

28、 invocation.invoke();elsereturn "no_right_error" ;7.3.5 设备校准检修数据查询优化数据库性能的一个简单有效的办法是尽可能减少对数据库操作。使用联合查询语句,将多条Sql合并为一条语句,由此减少对数据库的操作。下面是本系统的一个例子,系统中几乎所有的数据库操作都使用此种方法,以此来提高数据库性能。SELECT o.stationid, a.ddlname, o.attributionground, o.stationcode, o.stationname, c.ddlname, o.contacttype, o.jcfre

29、quency 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.cont

30、acttype LIKE '%?%' AND o.attributionground LIKE '%?%'8 系统测试8.1 测试目的与目标在软件初步开发完成后,接下来的一步是将系统移交给软件测试人员,让测试人员对系统进行完全的测试,尽可能找出系统中存在的Bug,并记录下来,形成测试报告交给软件开发人员。而开发人员就依此报告对系统的Bug进行修改。8.2 测试用例(如表9)测试结果表明,本模块的业务逻辑设计及系统的开发是正确的。系统模块系统登录模块测试目的测试系统登录模块的开发是否正确测试数据登录名:1111 登录密码:1111测试内容操作描述数据期望结果实际结

31、果测试状态1输入用户姓名,按“登陆”按钮。用户姓名:1111,密码为空显示警告信息“用户名或密码误!”显示警告信息“用户名或密码误!”与期望结果相同2输入密码,按“登陆”按钮。用户姓名为空,密码:1111显示警告信息“用户名或密码误!”显示警告信息“用户名或密码误!”与期望结果相同3输入用户姓名和密码,按“登陆”按钮。用户姓名:1,密 码:1显示警告信息“用户名或密码误!”显示警告信息“用户名或密码误”与期望结果相同4输入用户姓名和密码,按“登陆”按钮。用户名:1111,密 码:1111正确登入到会员操作界面正确登入到会员操作界面与期望结果相同表9 登入系统测试用例结论本系统的开发严格按照GB

32、T 8567-2006规范和软件生命周期的六个阶段进行,使用功能强大的集成开发环境MyEclipse为开发工具和轻量级数据库MySql完成此系统的开发。此系统主要对电力企业的设备、人员、建筑以及一些购置、维修计划进行管理。最后,为了使系统更加人性化和自动化,又使用JBPM技术开发了审批流转模块。本系统的开发意在帮助电力企业提升运营效率,降低运营成本,进行信息化建设,使企业的管理更加规范化,人性化。致谢:感谢许伟丽老师在百忙之中对我的论文进行指导。从开题报告,到最后的论文终稿,老师对论文的每一个环节严格把关,对于撰写论文过程中的每一个问题都给予耐心指导。在此也感谢大学四年中,每一位老师给予的帮助

33、。 参考文献: 1 邵培基.管理信息系统(第二版)M.北京:知识产权出版社,2012,35-48.2 杨帆.配电网电力生产管理信息系统J.电力技术资讯,2013,12:177-178.3 陈铁森.电力企业安全上生产理信息系统的应用J.企业技术开发,2012,01:39-40.4 Diego Malagueta. Potential and impacts of Concentrated Solar Power integration in the Brazilian electric power systemJ.Renewable Energy.2014,68:57-61.杨浩.广东电网公司生产管理信息系统实用化评价研究J.广东电力,2010,04:29-34.The design and implementation of the National electric power equipment resources management systemPeiFeng Liu(Class 1202, Information Management and Information System

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论