毕业设计论文2.1

更新时间:2024-05-28 21:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计任务书

一、设计题目: 1、题目名称 变电站母线电量平衡实时监控系统 2、题目来源 实际需要 二、目的和意义 部分电厂的变电站目前使用的是C/S模式的母性平衡实时监控系统,由于该模式下的应用系统开发和维护成本较高,不利于今后系统的扩展,且客户端负载重,应用系统的移植性也差(对于B/S模式不存在移植的问题),所以本项目是在原有系统功能模块的基础上进行的改进和重新设计,系统模式从C/S模式改为B/S模式。 三、设计说明书应包括的内容 1、需求分析 2.详细设计(包括模块设计和数据库设计) 3.编码实现(介绍用到的技术等) 4.任务书、目录和参考文献等 四、设计应完成的图纸 五、主要参考资料 [1] 张海藩 软件工程导论(第四版)北京:清华大学出版社,2003 [2] 陈烨 张蓓 JDK1.5类库大全 北京:清华大学出版社,2005.5 [3] 王珊 萨师煊 数据库系统导论 第四版 北京:高等教育出版社,2006.5 六、进度要求 1、设计阶段 第 周(3月 13日)至第 17 周(6月17日)共14 周 2、实习阶段 第 1 周(2 月20 日)至第 3 周(3月10 日)共 3 周 4、答辩日期 第17周( 2009 年 6 月 15 日 至 6 月 22 日 )共 1 周 七、其它要求 定期和指导老师联系,回报工作情况,小组成员进行沟通 1

变电站母线电量平衡实时监控系统

摘要

目前变电站系统中依然存在以C/S(client/server)模式为主的web应用系统,本课题研究的内容是如何对已有的变电站监控系统从C/S模式到B/S 模式的具体实现过程, 《变电站母线平衡实时监控系统》是一个基于JAVA的信息管理系统,作为B/S结构的web数据库管理系统,本系统具有所有B/S结果系统的优点,同时又具有JAVA跨平台的优势。作为毕业设计,本系统达到了设计任务的基本要求,并在其上采用了更先进的语言,提供了更强大的扩展能力。作为一个完善的系统的稚形,本系统只要进入软件开发的螺旋法则,不久之后就可以进化为一个成熟的,能让最终用户所接受的系统。

本系统的设计是在齐兴斌老师的指导下完成的。经过一个学期的设计,基本完成了任务。设计过程中,齐老师给予了我极大的帮助与鼓励,在此,我对他的悉心指导表示衷心的感谢!

关键词

B/S模式 C/S模式 JAVA 数据库

2

Substation bus power balance in real-time monitoring system

Abstract

Substation in the current system still exist in C/S (client /server) model of web-based applications, the contents of this research is how to have the substation monitoring system from the C/S mode to B/S mode to achieve the specific process, \monitoring of substation busbar system balance\is a JAVA-based information management systems, as B / S structure of the web database management system, the system has all the B/S system, the advantages of the results, but also has the advantage of cross-platform JAVA . As a graduation project, the design of the system to meet the basic requirements of the task, and in its use of more advanced language, provides a more robust expansion of capacity. As a complete system of juvenile form, as long as the system enter the spiral software development law can be evolved soon to a mature and acceptable to allow the end-user systems.

The system is designed to qixingbin under the guidance of the teacher-qi completed. After one semester of design, has basically completed its task. The design process QI teacher gave me great help and encouragement in this, I told him the guidance to express my heartfelt thanks!

Key words

B/S mode C/S mode JAVA Database

3

目 录

引 言 ...................................................................... 6 第一章 可行性分析 .......................................................... 7

1.1 分析目前系统 ........................................................ 7 1.2操作可行性分析 ....................................................... 8 1.3新系统带来的影响 ..................................................... 8 1.4 技术可行性分析 ...................................................... 9 1.5经济可行性分析 ....................................................... 9 第二章 需求分析 ............................................................ 10

2.1系统背景概述 ........................................................ 10

2.1.1目标 .......................................................... 10 2.1.2运行环境 ...................................................... 10 2.1.3条件与限制 .................................................... 10 2.2数据描述 ............................................................ 10

2.2.1静态数据 ...................................................... 10 2.2.2动态数据 ...................................................... 10 2.2.3数据采集 ...................................................... 11 2.3功能需求 ............................................................ 11

2.3.1功能划分 ...................................................... 11 2.3.2功能描述 ...................................................... 12 2.4性能需求 ............................................................ 14

2.4.1.数据精准度 .................................................... 14 2.4.2时间特性 ...................................................... 14 2.4.3适应性 ........................................................ 14 2.5运行需求 ............................................................ 14 2.6其它需求 ............................................................ 15 第三章 总体设计 ............................................................ 16

3.1系统总体流程 ........................................................ 16 3.2接口设计 ............................................................ 18 3.3数据结构设计 ........................................................ 18 3.4运行设计 ............................................................ 23 3.5出错处理设计 ........................................................ 23 第四章 详细设计 ............................................................ 24

4.1 总体结构 ........................................................... 24

4.1.1系统管理模块 .................................................. 24 4.1.2母线电量平衡管理 .............................................. 26 4.1.3退补电量管理模块 .............................................. 27 4.1.4系统数据管理模块 .............................................. 28 4.2模块详细设计 ........................................................ 28

4.2.1系统管理 ...................................................... 28 4.2.2母线电量平衡管理 .............................................. 33 4.2.3退补电量管理 .................................................. 36 4.2.4系统数据管理 .................................................. 37

4

4.2.5 信息提示管理 .................................................. 37

第五章 编码实现 ............................................................ 38

5.1程序设计语言介绍 .................................................... 38

5.1.1 Java简介 ..................................................... 38 5.1.2 MVC设计模式简介 .............................................. 39 5.1.3 流行框架简介 .................................................. 39

毕业总结 ................................................................... 45 参看文献 ................................................................... 46 附 录 ..................................................................... 47

5

引 言

随着计算机、网络通信等高新技术的飞速发展和广泛应用,变电站监控方式从过去的有人值班过渡到无人值守,由过去的单纯调度运行转变为调度运行、生产、经营管理等多种运用。

但是,目前变电站系统中依然存在以C/S(client/server)模式为主的web应用系统,主要是由于其具有以下优势:交互性强,客户端有一套完整的程序,在出错提示及在线帮助方面功能强大;采用配对的点对点结构模式,提供了更安全的存取结构;两层结构降低了网络通信量,更利于处理大量数据。然而随着互联网的广泛应用,特别是随着Internet技术的发展,实现了数据共享,并能提供给领导部门进行决策和管理。B/S (browser/server)结构的新颖与流行及在很多方面相对于C/S结构的巨大改进,使Web应用程序向B/S模式发展成为未来的趋势。

因此,在变电站监控中增加Web浏览功能变得越来越迫切,而且具有广阔的市场前景;本文提出了一种对已有的变电站监控系统实现从C/S模式到B/S 模式的转变的web技术方案。

6

第一章 可行性分析

1.1 分析目前系统

目前,部分电厂的变电站母线平衡实时监控系统采用的是C/S模式的系统结构,在这中模式下,系统主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理变电站的数据,如数据库服务器,其主要工作是客户请求服务器上的数据进行查询和操作时,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。在这种模式下,变电站母线平衡实时监控系统中用的数据是从中间库中到的。 系统架构如图1-1所示:

服务器 请求 网 络 客户机 客户端应用程序 响应 数据库服务器程序 响应 请求 图1-1

随着电力系统管理体制的改革及信息化建设的逐步推进,C/S结构的变电站实时监控系

统的已经不能完全满足用户的需求:

(1)对于软件的升级已迫在眉睫,系统的的功能越来越大,并且网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。

(2)传统的C/S结构的软件需要针对不同的操作系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。C/S 模式下,服务器及带宽决定了网络的性能。每台服务器的自身存储空间决定了所能提供的信息量,而且客户端访问数量过多,超过了服务器所能容纳的量,服务器会负荷过大而造成系统的瘫痪。

(3) C/S 模式下,服务器容错性不高,一旦服务器出现问题,整个系统将会瘫痪。 与C/S 模式相比,B/S模式有如下优点:

B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。

模式如图1-2如下:

7

浏览器 Web 服务器 数据库

图1-2

B/S模式的优势:

首先它简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。

再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使 MIS系统维护的限制因素更少。

最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得电力公司等企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。

所以改进后的系统采用B/S模式系统结构,可以很好的满足客户的需求。

1.2操作可行性分析

对系统的简要描述:

新的母性平衡实时监控系统是在原有系统功能的基础上进行改进,采用B/S模式系统结构,对于客户端的维护各管理得到了很大的提高,且在用户的并行操作与用户管理方面也有了极大地改善。

与现有系统比较的优越性

在以上几点中已可以看出新系统的性能与功能上与现有系统的差别,首先新系统克服了原来系统维护费用高,系统扩展难,系统工作负担重,客户端维护和管理困难等缺点。而且加入了对数据的安全性保护的功能,使原有系统在可用性与稳健性方面有了很大的进步。

1.3新系统带来的影响

8

(1)功能:采用建议系统后,改进了原有系统的功能不足之处,所以对更加方便用户操作,对于重要数据的手工备份添加到新系统中,从而能更好的对变电站的母性平衡进行很好的实时监控。

(2)现有软件:由于建议系统采用了先进的web技术以及一系列高技术含量软件,使得原来系统上的一些软件无法继续使用,不过在新系统开发过程中将尽量考虑到原有系统的功能,使现有软件能够很好的继承下来。 (3)用户:建议系统使用的新操作是完全基于原有的系统上的,故用户不必考虑新系统带来的人员培训等等。

1.4 技术可行性分析

Java技术分析:

Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称 Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的Web、Internet计算。

Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4或Java 1.5。

Java语言是面向对象的,Java分为三个体系JavaSE,JavaEE,JavaME。其中J2EE技术是B/S模式的完全实现,在 J2EE下面有好多技术可以实现该系统的功能模块,比如常用的框架有Struts+Hibernate+Spring,利用这三个框架就可以很好的进行B/S模式下系统的开发。

就目前情况而言,使用Java 2 EE技术完全可以实现建议系统在B/S模式下的功能。

1.5经济可行性分析

该系统对客户的影响:建议系统是为了改善原有系统在维护、功能和对系统扩展方面的缺点,所以新系统一经使用在维护和管理方面一定会得到很好的改善,用户在使用了新系统后只需要维护服务器,客户端完全不需要维护,较少了维护费用,且升级新系统时也只需升级服务器端,大大减轻了管理员的任务。

9

第二章 需求分析

2.1系统背景概述

2.1.1目标

部分电厂的变电站目前使用的是C/S模式的母性平衡实时监控系统,由于该模式下的应用系统开发和维护成本较高,不利于今后系统的扩展,且客户端负载重,应用系统的移植性也差(对于B/S模式不存在移植的问题),所以本项目是在原有系统功能模块的基础上进行的改进和重新设计,系统模式从C/S模式改为B/S模式。

2.1.2运行环境

操作系统:Windows XP/Windows 2000 服务器:tomcat 数据库:Oralce10g

2.1.3条件与限制

本系统操作简单,除管理员最好是变电站母线电量平衡监控系统操作员(以前做过)了解系统数据的流程外其他人员会基本电脑操作即可。由于数据的重要性,希望用户经常进行数据的备份和维护。

2.2数据描述

对数据进行逻辑描述时可把数据分为动态数据和静态数据。所谓静态数据,指在运行过程中主要作为参考的数据,它们在很长的一段时间内不会变化,一般不随运行而改变。所谓动态数据.包括所有在运行中要发生变化的数据以及在运行中要输入、输出的数据。进行描述时应把各数据元素逻辑地分成若干组,列如函数、源数据或对于其应用更为恰当的逻辑分组。给出每一数据元的名称(包括缩写和代码)、定义(或物理意义)度量单位、值域、格式和类型等有关信息。

2.2.1静态数据

变电站的基本数据:

用户基本信息,异常范围,异常类型,母线公式。

日表码数据,小时曲线表码数据,电表基本数据,测量点基本数据,变电站基 本数据

母线平衡公式:总电量公式,分电量公式。

2.2.2动态数据

动态数据输入输出如下:(见表2-1)

10

表2-1 动态数据

动态输入数据 总电量,分电量 电表初码,电表底码 动态输出数据 不平衡度 电表总电量、退补电量、倍率。 2.2.3数据采集

输入数据的来源:已应用的中间数据库和本系统中维护数据。

2.3功能需求

2.3.1功能划分

系统功能划分见表2-2

表2-2功能结构表: 系统管理 母线电量平衡管理 用户管理,给用户授权,用户更改密码。 异常范围管理(包括关注范围管理),异常类型管理,母线平衡公式维护和变电站、测量点、电表维护。 母线平衡汇总,母线电量汇总,失压统计,所有查询报表可导出生成Excel表,增加按周、月、季、年分析功能。 退补电量管理 电量追加,退补电量查询。 系统数据管理 手工数据备份,清除历史数据。 信息提示 异常信息,电量跃变异常信息,恢复正常信息, 对变电站、测量点和电表信息通过中间库相应内容自动更新。但更新前需有提示,手动确认后方可执行。 功能结构图如2-1下:

11

变电站母线电量平衡实时监控系统 系统管理 母线电量平衡管理 退补电量管理 系统数据管理 信息提示 母线平衡汇总 母线电量汇总 失压统计 电量追加 退补电量查询 手工数据备份 清除历史数据 用户管理 异常范围管理 异常类型管理 平衡公式维护 电表维护测量点维护变电站维护变电站 测量点 电表 自动 更新提示。 电量异常信息提电量跃变异常提电量恢复正常提图2-1变电站监控系统功能结构图

2.3.2功能描述

(1)系统管理功能

本模块包括:在用户管理方面,系统管理员可以增加客户端,可分配不同的权限, 进行用户的增加、删除、对不同的用户授予不同的权限、用户可以修 改密码。授权用户可以对站点信息进行修改。 用户可以对异常范围(见表2-3)及关注范围进行修改,可对各电压等级出现异常的范围和需要关注的范围数据进行维护,能够对异常的类型进行维护管理,维护母线平衡公式。

12

表2-3 异常范围默认值为现行标准(可修改) 电压等级 220KV 110KV 35KV 10KV 异常范围 ±1% ±2% ±2% ±2% 关注范围 ±0.5% ±1% ±1% ±1% 对变电站、测量点和电表信息通过中间库相应内容自动更新。但更新前需有提示,手动确认后方可执行。

对于因站点改造、通道异常、表计异常无法进行平衡的站点可手工修改分析属性,系统对该站点进行提示(按颜色区分)。

异常范围默认值中,增加设置电量极值,增加变损异常报警范围(暂定为2%)可修改。

本系统原则上对变电站、测量点和电表信息通过中间库相应内容自动更新。但是为防止系统断电和其他不可测的原因造成的数据不同步提供了手动更新相应信息的功能。 (2)母线电量平衡管理

在本模块中分母线平衡汇总和母线电量汇总,在母线平衡汇总方面,按电压等级列出所有变电站,用户可以对各个变电站的母线平衡汇总表的查询和追加电量,可以进行按时间的查询和打印汇总表。汇总表中包括异常信息、注册异常信息(用户定义的异常,包括:改造中、通道异常等)和正常信息进行分类显示。

所有查询报表可导出生成Excel表,有周、月、季、年分析功能。对任意一条母线可选择不同时间进行平衡分析,并生成报表。

用户可以进行变电站失压统计的查询,可以进行按时间的查询并且有统计、失压、打印的功能。

(3)退补电量管理

用户可以进行退补电量的操作包括数据的增加、修改、删除、退补电量的数据打印和电量的查询。

(4)系统数据管理 这个功能包括:本系统实现数据库自动备份,用户可以进行手工备份数据操作,可以对历史数据进行清除。对缺点数据或异常数据根据权限可进行手动修改和维护。母线电量平衡默认数据库为每日零点数据,但设计中应能增加调用小时数据功能。即任意用0—24点的数据进行小时对小时间的平衡,提高灵活性。 (5)信息提示

如果有电量异常,给用户显示异常信息。发生电量跃变的开关,给出提示。跃变恢复正常给出提示。档案更新、电量跃变、表底码为零或为空、变比倍率为零、失压、母线不平衡、变损超标、恢复正常(非正常恢复)均能自动提示并生成日异常报表。 系统对暂时无法进行平衡分析该站点进行提示(可按颜色区分) 部分实体E-R如图(2-2)如下:

13

变电站名称 地址 电压等级 用户ID 用户名 用户密码 变电站编号 变电站 部门编号 N 外部标示 记录 用户表 N 记录编号 电量追加记录 权限编号 拥有 N 变电站名称 N 权限表 开关编号 正向退补电反向退补权限名称 图2-2 部分实体E-R图

备注

2.4性能需求

目前受传输方式所限,只能提取前一天数据进行分析,但系统应具备实时导入数

据并实现相对实时母线平衡分析功能。

2.4.1.数据精准度 不平衡度 0.001%

电量0.001%

2.4.2时间特性

对于软件的响应时间由于是基于B/S模式,所以跟用户所在的网络和运行环境有关。

2.4.3适应性

本系统操作简单,除管理员最好是变电站母线电量平衡监控系统操作员(以前做过)了解系统数据的流程外其他人员会基本电脑操作即可。

2.5运行需求

14

用户界面需求表(见表2-4)

表2-4 用户界面需求表

用户界面需求 详细要求 屏幕大小 1024×768。 主色彩 蓝色 统一风格 界面设计风格一致,字体,大小,颜色,页面宽度等 时间 所有时间的输入要方便,能提供时间选择框 错误提示 以红色字体显示异常、蓝色显示警告等相应明显提示方式 2.6其它需求

本系统必须使用的技术包括但不限于下面的描述:

核心框架:J2EE轻量级框架STRUTS+ SPRING + HIBERNATE 数据库:Oracle10g

15

第三章 总体设计

3.1系统总体流程

系统的总体处理数据流程如图3-1所示:

管理 用户 权限 用户名 拥有权限 类型 密码 授权 日表码数电表数据 据记录 数据时间 电表类型 母线平衡公式 接收时间 电表状态 电表初码 总电量公式 电表低码 分电量公式 输 小时曲线表码总电量 出 数据记录 输 数据时间 影响 入 接收时间 变电站 电压等级 输 异常范围 总电量 出 分电量 输 异常上 地址 出 异常下 关注上 追关注下 加 电量追加记录 日期 正向退补电量 反向退补电量 异常记录 依发生日期 据 消除日期 异常 异常类型 异常类输入 型 图3-1系统的总体处理数据流程图

16

系统模块总体流程如图3-2所示

用户 权限管理 登录模块 用户管理 系统管理模块 异常范围管理 母线电量平衡管理模块 退补电量管理系统数据管信息提示 异常类型管理 平衡公式维护 其它维护 电量追加 退补电量查询 手工数据备份 清除历史数据 测量点维护 变电站维护 电表维护 母线平衡汇总模块 母线电量汇总模块 失压统计模块

图 3-2 系统模块总体流程图

由于本系统中的数据采集方式是从一个总的数据库中传输过来的,所以本系统的数据库(称为中间数据库)必须与总部的数据库保持一致。用户的数据是从中间库中读出来的。 当主数据库中的数据发生变化,中间库的数据也跟着发生变化。 数据采集如图3-3所示如下:

17

用户 从中间库中读数据3.2接口设计

由于系统的各种内外部接口是通过借助数据库开发软件来实现的,是完全在数据库内部操作的,故在此略过此内容。

3.3数据结构设计

物理结构设计 所用的数据库是Oracle10g

逻辑结构设计 设计数据库 数据库名: MXDLPH 系统的逻辑结构设计如下: 用户表(见表3-1)

表3-1用户表 表名 :USERS

字段说明 用户编号 登录账号 用户密码 用户姓名 备注 备注 部门名称 身份描述

中间 数据库 与主数据库同步 主数据库 图3-3 数据采集图

字段 ID USERNAME PASSWORD NAME BZ1 BZ2 BMMC SFMS 字段类型 主键说明 是否为空 not null not null not null 惟一性说明 unique 其它描述 用户的真实姓名 备用字段 备用字段 18

主键 number varchar2(20) varchar2(20) varchar2(20) varchar2(20) number varchar2(50) varchar2(50)

权限表 表名:QX(见表3-2)

表3-2 权限表

字段说明 字段 字段类型 主键说明 是否为空 描述 权限编号 ID number 主键 not null 权限类型 QXMC varchar2(20) 备注1 BZ1 varchar2(20) 备用字段 备注2 BZ2 varchar2(20) 备用字段

用户权限表 表名:YHQX(见表3-3)

表 3-3 户权限表

字段说明 字段 字段类型 主键说明 是否为空 描述 编号 ID number 主键 not null 用户编号 USEnumber RID 权限编号 QXInumber

D

备注1 BZ1 varchar2(20) 备用字段 备注2 BZ2 number 备用字段

异常类型表 表名:YCLX (见表3-4)

表 3-4 异常类型表

字段说明 字段 字段类型 主键说明 是否为空 描述 编号 ID number 主键 not null 异常类型 YCLX varchar2(30) 备注1 BZ1 number

备注2 BZ2 varchar2(20) 异常范围表 表名:YCFW(见表3-5)

表 3-5 异常范围表

字段说明 字段 长度 主键说明 是否为空 其它描述 编号 ID number 主键 not null 电压等级 DYDJ number 异常上 YCS number 异常下 YCX number 关注上 GZS number 关注下 GZX number 备注1 BZ1 number 备用字段 备注2 BZ2 number 备用字段 备注3 BZ3 varchar2(20) 备用字段 异常提示记录表 表名:YCTSJL(见表3-6)

表 3-6 异常提示记录表

字段说明 字段 类型 主键说明 是否为空 其它说明 编号 ID number 主键说明 not null 母线编号 MXID number

19

续表 3-6异常提示记录表 不平衡原因 变电站编号 BPHYY BDZID varchar2(30) number char char date 存放的是异常类型 变电站没有母线。 1表示是正常异常 0表示不是正常异常 1表示消除异常 0表示没有消除异常 备用字段 备用字段 备用字段 是否是正常异常 SFZCYC 异常是否消除 异常发生日期 异常消除日期 备注1 备注2 备注3

YCSFXC YCFSRQ YCXCRQ date BZ1 varchar2(30) BZ2 BZ3 varchar2(30) varchar2(30) 跃变异常记录(见表3-7) 表名:YBYCJL

表3-7 跃变异常记录表

字段说明 编号 母线编号 开关编号 是否恢复正常 日期

字段 ID MXID KGID 类型 主键说明 是否为空 not null 其它说明 1表示恢复正常 0表示没有恢复正常 记录异常发生时间 number 主键 number number SFHFZC char RQ date 电量追加记录表 表名:DLZJJL (见表3-8)

字段说明 编号 变电站名称 开关编号 正向退补电量 反向退补电量 日期 备注1 备注2 备注3

字段 ID BDZMC KGBH 表3-8 电量追加记录表 类型 主键说明 是否为空 number varchar2(30) number 主键 not null 其它说明 记录追加时间 备用字段 备用字段 备用字段 ZXTBDL number FXTBDL number RQ BZ1 BZ2 BZ3 date number number varchar2(30) 电表档案 表名:DEV_DBXX (见表3-9)

表 3-9 电表档案

字段说明 电表编号 电表局号 字段 DBBH DBJH 类型 number varchar2(20) 主键说明 是否为空 其它说明 主键 not null 20

测量点编号 CLDBH number 表计类型 BJLX number

额定电压 EDDY float 额定电流 EDDL float 表计型号 BJXH number 表计状态 BJZT number 电表分类 DBFL number 变电站档案 表名:DEV_BDZXX (见表3-10) 表3-10 变电站档案

字段说明 字段 类型 主键说明 是否为空 其它说明 变电站编号 BDZBH number 主键 not null 变电站名称 BDZMC varchar2(20) 部门编号 BMBH number 电压等级 DYDJ number 变电站地址 BDZDZ varchar2(255) 备注 BEIZHU varchar2(255) 外部标示 WEBDZBS varchar2(50)

日表码数据表 表名:DATA_DLSD(见表3-11)

表 3-11 日表码数据表

字段说明 字段 类型 主键说明 是否为空 其它说明 测量点编号 CLDBH number 主键 not null 数据时间 SJSJ date PT变比 PTBB number CT变比 CTBB number 接受时间 JSSJ float 正向有功总 ZXYGZ float 反向有功总 FXYGZ float 补全标志 BQBZ float

小时曲线表码数据表 表名:DATA_DLSD_QXSJ(见表3-12)

表 3-12 小时曲线表码数据表

字段说明 字段 类型 主键说明 是否为空 其它说明 测量点编号 CLDBH number 主键 not null 数据时间 SJSJ date PT变比 PTBB number CT变比 CTBB number 接受时间 JSSJ float 正向有功总 ZXYGZ float 反向有功总 FXYGZ float 补全标志 BQBZ float

测量点档案 表名:DEV_CLDXX(见表3-13)

21

表3-13 测量点档案 字段说明 字段 类型 主键说明 是否为空 其它说明 电表编号 CLDBH number 主键 not null 部门编号 BMBH number 测量点序号 CLDXH number 测量点性质 CLDLX number 测量点类型 CLDXLX number 测量点状态 CLDZT number 电表地址 CLDDZ varchar2(100) PT变比 PTBB number CT变比 CTBB number 功率计算标志 GLJSBZ number 电量计算标志 DLJSBZ number

系统的数据结构由标准数据库语言SQL生成。

具体的例如创建系统用户表格 Users的程序用SQL表示如下: create table USERS (

ID NUMBER not null, USERNAME VARCHAR2(20), PASSWORD VARCHAR2(20), NAME VARCHAR2(20), BMMC VARCHAR2(50), SFMS VARCHAR2(50), BZ1 VARCHAR2(20), BZ2 NUMBER, constraint PK_USERS primary key (ID),

constraint AK_KEY_2_USERS unique (USERNAME) );

权限表(QX表)的SQL语句如下 create table QX (

ID NUMBER not null, QXMC VARCHAR2(20), BZ1 VARCHAR2(20), BZ2 VARCHAR2(20), constraint PK_QX primary key (ID) );

用户权限表(YHQX表)的SQL语句如下: create table YHQX (

ID NUMBER not null, USERID NUMBER, QXID NUMBER, BZ1 VARCHAR(20),

22

BZ2 NUMBER, constraint PK_YHQX primary key (ID) );

USERID和QXID 是外键所以需要添加外键,SQL语句如下: alter table YHQX

add constraint FK_YHQX_REFERENCE_QX foreign key (QXID) references QX (ID); alter table YHQX

add constraint FK_YHQX_REFERENCE_USERS foreign key (USERID) references USERS (ID);

其它表的建表语句基本大致相同。

3.4运行设计

(1) 运行模块的组合

具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据。 (2) 运行控制

软件运行时有较友好的界面,基本能够实现用户的数据处理要求。 (3) 运行时间

系统的运行时间基本可以达到用户所提出的要求。

3.5出错处理设计

(1) 出错输出信息

在用户使用错误的数据或访问没有权限的数据后,系统给出提示:“对不起,你非法使用数据,没有权限!”而且用户的密码管理可以允许用户修改自己的密码,不允许用户的匿名登录。

(2) 出错处理对策

由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。但有可能占用更多的数据存储空间,权衡措施由用户来决定。

23

第四章 详细设计

4.1 总体结构

4.1.1系统管理模块

总体模块如图4-1所示:

系统管理模块 用异异平电测变户常常衡表量电维点站管范类公护维维 理 围型式护护 管管维块 理 护

图 4-1 系统管理模块图

用户管理模块如图4-2所示:

用户管理模块 添删修权加 除改限用用密管户 户 码 理 添加 修改用户删除用户权用户权限 权限 限 图4-2 用户管理模块图

24

异常范围管理模块如图4-3所示:

异常范围管理模块 异异异异常常常常范范范范围围围围查修添删询 改 加 除 图4-3 异常范围管理模块图

异常类型管理模块如图4-4所示:

异常类型管理模块 异异异异常常常常类类类类型型型型添删修查加 除 改 询 图4-4 异常类型管理模块图

平衡公式维护模块如图4-5所示:

平衡公式维护模块 添删修查加除改询平平平平衡衡衡衡公公公公式 式 式 式 图4-5 平衡公式维护模块图

25

其他维护如图4-6所示:

其它维护 电表 测量点变电站维护 维护 维护

图 4-6 其他维护模块图

4.1.2母线电量平衡管理

母线电量平衡管理模块如图4-7所示

母线电量平衡管理模块 母线平衡母线电量失压统计 汇总模块 汇总模块 模块

图4-7 母线电量平衡管理模块图

母线平衡汇总模块如图4-8所示

母线平衡汇总模块 按电压等级列出所有的变电站 相应变电站所有母线情况 相应的母线(按电压等级)查询模块 26

母线(按电压等级)查询模块 显示按时打印所以间查查询开个询汇结 果 的汇总情总情况 况 图 4-8 母线平衡汇总模块图

母线电量汇总模块如图4-9所示:

母线电量汇总模块 显示 按 进入 进入 打印 全部 日 变电 追加 查询 变电 期 站查 电量 结果 站的 查 询模 模块 总汇 询 块 显示按日打 所有期查印 开关询所汇 的电有开总 量情关电表 况 量 图 4-9 母线电量汇总模块图

4.1.3退补电量管理模块 退补电量模块如图4-10所示:

27

退补电量模块 显示所有的变电站的电量情况 在相应变电站的开关上增加电 量 删除变电站某一开关电量记录 修改变电站某一开关电量记录 打印相关的记录数据

图4-10 退补电量模块图

4.1.4系统数据管理模块

系统数据管理模块如图4-11所示

系统数据管理 手工数据备份 清除历史数据 备份数据 按时间查询数据 清除某一时间段的数据

图4-11 系统数据管理模块

4.2模块详细设计

4.2.1系统管理

模块名:用户管理模块

模块描述:用户可以修改密码,系统管理员可以添加用户,删除用户,给用户授权限。

输入:用户名,密码,用户权限。(用到的表有用户表,权限表,用户权限表)

对于本系统来说权限的类型(见表4-1)初步可以分为下面这几种

28

表 4-1 权限类型表

权限编号 1 2 3 4 5 6 7 8 9 10 11 12 权限类型 用户管理 异常范围管理 异常类型管理 平衡公式维护 电表维护 母线平衡汇总 母线电量汇总 失压统计 电量追加 退补电量查询 手工数据备份 清除历史数据 模块接口关系: 用户登陆模块实现算法如图4-12所示:

输入用户名,密码 N 是合法用户? Y 是管理员? Y 进入所有的模块 N 根据权限进入相应的模块 返回登录页面

图4-12 用户登陆模块算法图

对于具有不同权限的人访问本系统时,根据用户的权限来有选择的显示各个主模块的方法如下(见表4-2):

29

表4-2 本系统中根据用户权限显示主模块表:

模块编号 模块名称 拥有的子模块编号 子模块名称 1 用户管理 2 异常范围管理 1 系统管理 3 异常类型管理 4 平衡公式维护 5 测量点/电表维护 6 母线平衡汇总 2 母线电量平衡管理模块 7 母线电量汇总 8 失压统计 3 退补电量管理 9 电量追加 10 退补电量查询 4 系统数据管理 11 手工数据备份 12 清除历史数据 普通员工都有修改密码的权限,所以无需授予,具体的算法如图4-13所示:普通员工进入 用户管理模块 输入新密码 修改密码

图4-13

模块名:异常范围管理模块

模块描述:本模块可以查询异常范围,进行异常范围的增删改查。 输入:异常范围表,按电压等级显示所有的异常范围。 输出:无

允许进入:系统管理员、授权用户。 拒绝进入:没有授权的普通用户。 实现算法如图4-14所示:

30

N 是否是合法 显现错误信息 用户? Y 是否用户有访不显示本模块 问权限 Y 异常范围管理模块 进行异常范围的增删改查

图4-14

异常范围的增加异常子模块的数据输入输出列表(见表4-3):

表4-3 异常范围增加子模块数据表

输入 输出 跳转页面 电压等级(设置最高和最低) 向异常范围表中添加一条添加失败提示页面或返回到 异常上,异常下 新记录。 异常范围管理首页 关注上,关注下(报警范围2%)

删除异常范围子模块的数据输入输出列表(见表4-4):

表 4-4 删除异常范围子模块的数据表

输入 输出 跳转页面 异常范围表(ycfw)表的所删除异常范围(ycfw)表的一删除失败提示页面或返回到 有记录, 条记录 异常范围管理首页 要删除的异常范围编号。 模块名:异常类型管理模块 模块描述:本模块可以查询异常类型,进行异常类型的增删改查。 输入:异常类型表

允许进入:系统管理员、授权用户。 拒绝进入:没有授权的普通用户。 实现算法如图4-15所示:

31

N 是否是合法 显现错误信息 用Y 是否用户有访不显示本模块 问权限 Y 异常类型管理模块 进行异常类型的增删改查

图4-15

异常类型如下(见表4-5) 表4-5 异常类型表

异常编号 异常类型 1 变电站改造 2 通道异常 3 电量跃变 4 表底码为零或为空 5 变比率为零 6 失压 7 母线不平衡 8 变损超标 异常类型的删除异常类型子模块的数据输入输出列表(见表4-6) 表4-6 异常类型的删除异常类型子模块的数据表

输入 输出 跳转页面 异常类型名称,异常类型编从异常类型表(yclx)中删除删除失败提示页面或返回 号。 相应的数据 异常类型管理首页 异常类型的修改异常类型子模块的数据输入输出列表: 表 4-7 异常类型的修改异常类型子模块的数据表

输入 输出 跳转页面 异常类型名称,异常类型编修改异常类型表(yclx)中相修改失败提示页面或返回 号。 应的数据 异常类型管理首页 模块名: 平衡公式维护 模块描述:实现平衡公式的增删改查操作

32

输入: 平横公式表。

允许进入:系统管理员、授权用户。 拒绝进入:没有授权的普通用户。 实现算法如图4-16:

N 是否是合法 用户? 显现用户未登录时的处理页面 Y 平衡公式维护模块 进行平衡公式的增删改查

图 4-16

4.2.2母线电量平衡管理

模块名:母线平衡汇总

模块描述:进入模块后,按电压等级列出所有的变电站,选择变电站出现所有的母性情况。

输入:变电站表。

模块接口:母线(按电压等级)查询子模块。 子模块名:母线(按电压等级)查询子模块。

模块描述:显示变电站上所以开个的汇总情况,可以按时间(按时间段,按天, 按小时)进行查询汇总情况,打印相关的查询结果。

输入:变电站编号,变电站表,电能表,异常提示记录表。

输出:显示时间段上某个变电站上的总电量,分电量,不平衡率,所以开关的总电量,

退补电量和倍率。 实现算法如图4-17:

33

N 用户是否 登录? 显现用户未登录时的处理页面 Y 母线平衡汇总模块 按电压等级列出所有的变电站 N 变电站编号 是否为空? Y 母线(按电压等级)查询子模块。 图4-17 显示错误信息

模块名:母线电量汇总

模块描述:按电压等级显示所有变电站上母线平衡情况,对不平衡的变电站可以进

行追加电量。

输入:变电站表,电能表,异常提示记录表。 输出:各个变电站的总电量,分电量,不平衡度,异常信息,注册异常信息(用户

定义的异常,包括:改造中、通道异常等)和正常信息进行分类显示。 实现算法如图4-18:

34

N 用户是否 登录? 显现用户未登录时的处理页面 Y 母线电量汇总模块 N 是否追加电量 Y 电量追加模块

图 4-18

模块名:失压统计

模块描述:按电压等级列出所有变电站。可以查询某一变电站上所有开关的失压统

计情况。

输入:变电站

子模块接口:进入失压统计查询子模块。

模块描述:用户可以按时间段查询各个开个失压统计情况,打印相应的数据。相应

的数据输入输出见表4-8:

表4- 8 失压统计查询子模块数据表

序号 1 2 3 4 输入 变电站编号 A初,A底 B初,B底 C初,C底 输出 A差值 B差值 C差值 说明 从父模块传来的值 待定 4.2.3 退补电量管理

模块名:电量追加

模块描述:根据指定的变电站对各个开关进行电量追加。 输入:变电站编号(从其它模块传来的值),变电站表,电量追加记录表。 输出:电量追加记录表。

模块接口:母线平衡汇总模块。

35

模块算法如图4-19:

从其他模块传入变电站编号 N 是否为空 Y 提示错误信息 追加电量

图4-19

模块名:退补电量模块

模块描述:显示所有变电站所有的开关上的电量情况,对每个开关上的记录进行 增删改查,打印相关数据。 输入:退补电量记录表。 输出:退补电量记录表。

4.2.3退补电量管理

模块名:电量追加

模块描述:根据指定的变电站对各个开关进行电量追加。 输入:变电站编号(从其它模块传来的值),变电站表,电量追加记录表。 输出:电量追加记录表。

模块接口:母线平衡汇总模块。 模块算法如图4-20:

从其他模块传入变电站编号 N 是否为空 Y 提示错误信息 追加电量

图4-20

模块名:退补电量模块

模块描述:显示所有变电站所有的开关上的电量情况,对每个开关上的记录进行

36

增删改查,打印相关数据。 输入:退补电量记录表。 输出:退补电量记录表。

4.2.4系统数据管理

模块名:手工数据备份

模块描述:用户进行手工备份数据操作。 模块名:清除历史数据

模块描述:用户可以查询历史数据,对某一时间段的数据从数据库中 清除。这样可以使系统执行速度快一点。

输入:日表码数据表,小时曲线表码数据表,异常记录表等。

4.2.5 信息提示管理

模块名:信息提示

模块描述:当用户登陆成功后,如果有电量异常,给用户在相应的系统页面上显 示异常信息,如果有电量跃变的开关,给出提示,用户对某一跃变异常进行修复, 给出跃变恢复正常提示信息。

输入:用户ID或用户名,异常提示记录表等。 输出:异常信息。 实现算法如图4-21:

是否有 异常发生? 不显示异常信息 显示相关的异常信息

图4-21

37

第五章 编码实现

5.1程序设计语言介绍

5.1.1 Java简介

Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。

Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.7。 Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。

2009年04月20日,oracle(甲骨文)收购sun,java因此并归甲骨文公司。 Java语言特点

Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的、跨平台的动态语言。

1、Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

38

7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。

5.1.2 MVC设计模式简介

MVC设计模式是一种著名的用户界面软件开发设计模式,它是模型-视图-控制器(Model-View-Controller)缩写。 在MVC设计模式中,它把应用程序分成了3个核心部分,原理图如图5-1所示。

状态查询 模型 封装了用户数据和处理数据 的业务逻辑 业务请求 状态改变 选择视图 视图 提供了用户界面,将用户输入数据传递控制器或将模型数据显示给用户 控制器 连接了模型和视图,判断请求交给哪个模型,调用视图显示模型处理用户请求结果。 用户请求

图5-1 MVC设计模块原理图

1 模型(Model)

模型封装了用户数据和处理数据的业务逻辑,体现了应用程序的当前状态,而且可以将用户数据状态的变化提供给多个显示该数据的视图共用。模型是应用程序的核心。 2 视图(View)

视图提供了用户界面,是用户和应用程序的交互的窗口,既接受用户输入,也把模型数据状态显示给用户,但是视图不负责任何业务逻辑处理,仅仅是将用户输入数据传递给控制器或将模型数据显示给用户。 3 控制器(Controller)

控制器连接了模型和视图,根据用户请求判断将请求交给哪个模型来完成,然后调用视图来显示模型处理后的用户请求结果。

MVC设计模式将应用程序进行了分层,视图和模型通过控制器连接,从而减少了用户界面和业务逻辑之间的耦合,使程序设计更加清晰、灵活,也提高了软件的可扩展性、可维护性。

5.1.3 流行框架简介

本系统使用的是J2EE的三个开源框架:Struts1.2,Hibernate3.0,Spring2.0。 三个框架介绍

Struts框架是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)

39

提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。其原理如图5-2所示

Http Request ActionServlet (控制器) FormBean Action (控制器) 客户/浏览器 Web.xml Forward Jsp (视图) Struts-config.xml 业务逻辑 JavaBean,EJB (模型)

Http Response Get 图5-2 Struts框架原理图

Hibernate框架是开放源代码的对象关系映射工具(Object-Relational Mapping),是一款基于Java环境的优秀的对象持久化开发框架。它根据O/R(对象/关系)映射技术思想,对JDBC进行了轻量级封装,使开发人员可以使用一种面向对象的方式来操纵和管理关系数据库,所以从技术本质上来说该框架是一种提供面向对象的数据库服务中间件。 Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化。Hibernate框架位于应用程序的业务化和持久化层,在运行时的体系结构如图5-3所示:

应用程序 临时对象 持久化 对象 SessionFactory Session Transactcton Factory Connection Provider Transaction JNDI JDBC JDT 数据库

图5-3 Hibernate框架在运行时的体系结构图

SessionFactory接口,是一个数据库映射关系的内存映像,它是线程安全的,所以可以为多个线程同时调用产生Session,是Session的工厂,另外它为事务之间可以重用的数据提供了可供选择的二级缓存。

40

本文来源:https://www.bwwdw.com/article/lr37.html

Top