(电气工程专业论文)用电营销管理信息系统开发.pdf_第1页
(电气工程专业论文)用电营销管理信息系统开发.pdf_第2页
(电气工程专业论文)用电营销管理信息系统开发.pdf_第3页
(电气工程专业论文)用电营销管理信息系统开发.pdf_第4页
(电气工程专业论文)用电营销管理信息系统开发.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

西安理工大学工程硕士学位论文 题目:用电营销管理信息系统开发 学科:电气工程 作者:刘雄 导师:高勇 答辩日期:2005 用电营销管理信息系统开发 摘要摘要:本文阐述了将模块化程序设计方法和面向对象的程序设计方法结合起来 的一种新的设计思路,并编制了用电营销管理信息系统软件。 在设计思路上,针对用电营销业务信息量大、业务变更频繁的自身特点, 采用业务动态建立与处理, 实现了具有相当通用性和灵活性的用电营销管理信息 系统软件。软件建立在 windows2000 系统平台上,以 microsoft sql server7.0 为数据库服务器,用优秀的面向对象快速、可视化开发工具 visual c+6.0、 visual foxpro6.0 最终完成系统软件各功能模块的编码和整个系统软件调试。 该系统通过实际运行证明了设计开发方法合理,提高了开发效率降低了开发成 本,思路正确,完全适应于用电营销部门的业务需求。 本文是在用电营销 mis 软件研究成功并且针对安康供电局用电营销具体业 务搭建具体应用系统完成的基础上总结提高写成。现在项目已经完成,用电营销 mis 软件已经成功应用于安康供电局用电营销部门。 关键词关键词:用电营销、mis 、面向对象 摘要 subject:development power consumption marketing management information system major: electric engineering author: liu xiong tutor: gao yong date: 2005 development power consumption marketing management information system abstract: this paper adopts mature software engineering method, combine modularization procedure design method and object -oriented procedure design method, and adopts the new method of designing to work out the power consumption marketing management information system software. this paper analyses modularization procedure design method and object -oriented method design mis advantages and disadvantages , and necessity and possibility those methods combined , according to the marketing business characteristic of power consumption marketing ,the methods of designing abandons traditional mis development mode completely, operation set up and deal with dynamically without encapsulation code, have realized commonality and flexibility of power consumption marketing mis software. finally, on the system platform of windows2000 regard microsoft sql server 7.0 as the database server, by object -oriented, visual developing software visual c+6.0, visual foxpro 6.0 and finish systems software every function code and the whole systems software of module debug finally. it proved that, this development approach is rational, reduced development costs and improving efficiency 西安理工大学工程硕士学位论文 of developing, totally meet the demand of the department. based on the study of ankang power supply bureaus power consumption marketing mis, this paper h completed discussion of the power consumption marketing mis . key words: power consumption marketing, mis, object oriented 西安理工大学工程硕士学位论文 第 1 页 1 概 述 1 概 述 1.1 用电营销系统概述 伴随着我国经济的长足发展, 社会电气化程度的飞速提高, 使得人们 对供电企业提供安全、 经济、 可靠和高质量的电能资源的要求也越来越高。 随着电力销售的硬件环境已经初具规模, 如何构建良好的电力销售软件环 境,成为各家电力集团公司增供扩销的一个工作重点。 电力企业在积极进行规范电力营销业务、 统一工作标准、 优化企业内 部工作流程、 提升企业对外服务形象等各项管理改革时, 迫切地希望利用 信息技术为企业的管理和经营提供科学的管理手段。 目前的用电管理, 侧 重于地方的相关事务处理,进行粗加工的多、精加工的少,统计多、分析 少,中层的控制、调节等管理内容基本上没有完全纳入计算机管理,至于 计算机辅助决策等各地差距更大。 用电营销是一个面向广大用户的服务窗口部门, 而目前投入使用的用 电营销管理信息系统,由于功能单一,灵活性差,不适应于用电营销业务 复杂,变更快的特点。具体来讲具有如下特点: 1)内容繁杂,信息量大,需要进行大量的加工处理 2)时间性强,准确性高,需要进行快速的信息收集与处理 3)变动频繁,需要较高的应变能力 4)业务联系紧密,横向交叉多,需要高速便捷的信息传输手段 5)信息量迅速膨胀,需要高超的综合处理能力和决策手段 6)信息要求高度共享,需要与众多系统进行数据通信,较好数据接口 用电营销系统是一个相对于普通的管理系统较复杂的系统, 目前已经 投入了大量的人力物力进行系统的构建和维护,然而由于其固有的复杂 性,使得问题往往难以得到很好的解决。 1.2 安康局用电营销系统的技术现状 1.2 安康局用电营销系统的技术现状 1 概 述 第 2 页 目前已经投入使用的 mis 系统, 并不能很好的适应用电营销系统的这 些特点, 大量 mis 系统由于在开发前对业务需求估计不足而最终造成软件 失败而不能投入使用; 而投入使用的 mis 系统也因为业务的修改而频繁的 修改源代码来适应业务的变更, 增加了软件维护的费用和周期, 同时也给 管理员和系统开发人员带来了不便。目前使用的 mis 系统有如下共同特 点: 1)采用松散的软件架构,计算机资源得不到有效利用。 目前,由于用电与营业管理的计算机,大部分都是独立分散的运行。 每台机器执行相对独立的工作,cpu 资源利用率低,致使计算机应有的作 用得不到充分的发挥。而且松散的软件构架极易引起数据库的不一致问 题。在这种构架的影响下,子系统往往是独立开发,因此使得资源的共享 造成了相当的困难,不同的系统之间没有办法直接进行数据的通信与利 用,降低了企业管理的效率。 2)软件的重复开发,造成人力和物力的浪费,软件的可移植性差。 目前,在全国,即使在一个网局(电业管理局) ,省电力局内部,甚至 一个供电企业内部, 软件的重复开发的情况也是相当的普遍。 同样一个项 目由于在不同的单位具体的业务需求的不同而导致重复开发, 类似的 mis 系统在不同部门重复立项, 没有站在统筹安排以及成果共享的高度上对系 统进行彻底的系统的分析而盲目上马,使软件系统的可移植性非常差。 3)没有使用科学的开发方法,缺乏整体的布局和规划。 从前一段国内整个用电与营业管理方面计算机的应用情况来看, 大都 重视设备的购置,人员的配备,某一项的应用等工作,而对采用科学的开 发方法和用系统工程的思想进行总体的布局和规划却缺乏足够的重视。 有 的甚至要退倒重来,严重影响了应用的进程,浪费了大量的人力和物力。 4)管理方式不能彻底的改变,管理水平得不到真正的提高。 由于国内现在的计算机应用只是局部的,在个别的环节上机械的代替 西安理工大学工程硕士学位论文 第 3 页 人工劳动,传统的条块分割的管理格局不能打破,因此,计算机应有的作 用得不到充分的发挥,效益也就不明显。 安康供电局用电营销采用微机化管理起步于上世纪 90 年代中期, 主要采用电子表格 lotus1-2-3 及一些简单的 foxbase 程序进行电量电 费计算处理。这些基于 dos 的离散的程序及表格,在初期方便了业务 人员处理繁琐的计算业务,对规范用电营销业务起到了积极的作用。 随着电力企业体制改革,用电营销为满足市场化的需要,各项管理业 务进一步细化,这种简单的程序已无法满足要求,存在下面一些缺陷: 1) 原系统基于 dos,未能充分利用网络进行资源共享,造成数据 重复录入和计算分析,容易造成数据不一致,效率很低; 2) 原系统不具备流程管理,无法对用电营销管理业务进行监督 和控制,很容易造成管理漏洞和处理差错; 3) 原系统仅仅对电量电费业务进行了简单的处理,而用电营销 业务是包含业扩、电能计量、电量电费、用电检查、综合管理等全过 程业务,原系统功能不能满足要求; 4) 在电力企业体制改革过程中,业务项目分类及报表格式变动 频繁,原系统所有算法是通过程序实现的,维护很不方便,也易出错。 1.3 本课题的目的和意义1.3 本课题的目的和意义 针对目前的用电营销 mis 系统的特点与现状,本文对用电营销 mis 进行了彻底的分析, 提出了一种与现行的开发方法完全不同的开发思路并 予以了最终的实sd-mis。 针对业务需求变更快的特点, 软件在开发过程中从始至终贯彻了灵活 性和通用性的开发思想。 在对用电营销 mis 需求进行系统的分析, 充分的 总结其所需要的各项功能之后, 建立起来其宏观上的功能模型。 依照此模 型,开发出来了具有一定意义上讲“开发工具”性质的 mis 系统。sd-mis 1 概 述 第 4 页 可以根据用户的业务逻辑,动态的生成处理该业务逻辑的管理信息系统, 极大的提高了软件的复用性, 并且具有了相当的通用性。 这套开发工具本 着简单灵活的开发思想, 使得利用其生成可以处理复杂逻辑的应用程序快 速便捷。 只需要对系统管理员进行短期的培训, 系统管理员就可以在日后 的工作中轻易的根据业务需求的变动对应用系统进行相应的改动而无需 对程序的源代码进行修改。 sd-mis 采用流行的客户端/服务器结构设计, 从根本上解决的数据不 一致和资源不能充分共享的缺陷。 这种瘦客户端应用程序降低了对客户机 配置的要求, 同时利用服务器强大的数据处理能力加快了访问的速度。 操 作上形式灵活, 对数据库服务器的访问即可以使用企业intranet内部pc, 同时也可以通过任何地方的pc机, 借助internet对数据库进行远程访问。 1.4 本论文的主要内容 1.4 本论文的主要内容 本课题的主要任务是在上面提出的差距方面, 进行一些探讨, 并实现 安康供电局用电营销 mis 系统软件的设计和开发。 本论文就是在本课题的 研究工作的基础上总结提高写成,主要的工作: 1)用电营销 mis 系统进行功能模型的抽象 2)研究通用性 mis 系统软件的开发思路与方法 3)完成工具软件的设计与编码,进行系统集成测试。 4)在工具软件的基础上, 分析安康供电局的具体业务, 搭建应用系统。 sd-mis 系统采用内置工具, 可以由系统管理员任意建立/修改数据库 结构、按各地区习惯定置卡片/台帐、根据需要自行设计报表/图表、自行 编写计算公式满足特殊算法要求等。sd-mis 系统从根本上克服了各地管 理模式差异而造成的系统移植难的问题,灵活配置通用流程和特殊流程, 自动进行工作流转和业务部门之间的业务交接, 全程监控业务流程实施情 况, 它是目前唯一的真正意义上的通用电力营销管理信息系统。 为供电企 业带来了明显的经济效益和社会效益。 2 sd-mis 需求分析 - 5 - 2 sd-mis 需求分析2 sd-mis 需求分析 对需求的完全理解对软件开发工作的成功至关重要, 对需求进行详尽 的分析、精确的描述定义可以缩短开发周期、降低后期开发成本,也是设 计高质量、高可靠性软件的首要的前提工作。sd-mis 以国电公司的技 术规范 为纲领、 各省基层营销管理工作实际情况为范本, 按照统一规划、 统一设计、统一开发、统一建设的“四统一”原则,结合网省公司内营销 管理模式统一、营销工作标准统一、营销业务流程统一、系统功能设置和 数据编码格式统一、软件硬件平台建设统一的标准进行了精心设计与分 析。 本章通过软件工程的方法对用电营销 mis 系统软件进行了业务分析、 功能分析、软件性能分析,以保证充分把握目标,这对后面软件体系结构 的分析、建模和设计至关重要。 2.1 业务分析 2.1 业务分析 图 2-1 业务结构图 图 2-1 业务结构图 sd-mis 营销管理信息系统软件为电力企业用户提供的信息化解决方 案主要包括通用电力用电营销管理系统、 以呼叫中心为主的供电企业客户 西安理工大学工程硕士学位论文 - 6 - 服务系统,从结构上分为四个层次:客户服务层、营销业务层、质量管理 层、决策支持层,各层功能图 2-1。 2.2 软件功能分析 2.2 软件功能分析 根据用电营销 mis 应具备的功能, 并针对该 mis 软件双方签订的技术 协议,用电营销 mis 软件应该具备如下功能。 2.2.1 数据库管理功能: 2.2.1 数据库管理功能: 数据库管理需要提供与标准的dbms所提供的数据库管理功能类似的 管理,但却需要给管理员提供一个比 dbms 更加易于使用的操作环境,也 就是说根据系统的具体需求定制一套适合于普通操作人员使用的 dbms, 需要实现的具体功能如下: .实现数据表的创建、删除以及数据表的清空操作 .实现数据字段的添加、删除以及字段类型的修改 .实现定义主键及索引 .实现数据表、数据字段定义信息的浏览与查询 .实现数据字典功能,随时供用户查阅和修改 .实现数据库的备份与还原 2.2.2 子系统、子功能: 2.2.2 子系统、子功能: 支持管理员动态的定义和生成新的子系统、子功能、子模块三级结构 的应用。 利用这三级菜单式的结构就可以实现应用的归类与分组, 实现标 准 mis 系统的业务菜单功能。具有如下功能: .可创建、删除新的子系统、子功能、子模块 .对创建的子系统、子功能、子模块进行命名 .自动完成对子系统、子功能、子模块的全局编号 2.2.3 动态窗体: 2.2.3 动态窗体: 动态窗体是本文提出的 mis 系统所要解决的核心问题之一, 也就是需 2 sd-mis 需求分析 - 7 - 要实现窗体的动态加载。 动态窗体分为两个状态, 即设计状态和运行状态。 在设计状态下用户可以完成对窗体的设计, 然后根据自定义规约来记录这 样的设计信息,保存到数据库中去。在窗体的运行阶段,根据数据库的内 容进行动态的加载控件以及控件与数据库中字段信息的具体对应关系。 在 设计状态下要求可以对窗体布局进行动态调整, 允许定义窗体上控件的具 体信息,定义文本控件与数据库字段的对应关系。通俗的来讲,在动态窗 体在运行阶段加在以后,实际上来讲是与通常的应用的程序没有区别的, 然而不同的是窗体上的信息是从根据用户的定义信息动态加载的, 而不是 预先在代码中写好并编译运行的。这些特性使得 yd-mis 可以从根本意义 上实现应用系统的快速搭建及适应业务调整。具体功能如下: .对窗体进行设计,包括窗体的大小、名称等基本属性 .对窗体布局进行设计,包括窗体上摆放文本框、标签、图像控件、线 型以及字体。 .可设计窗体上对应的文本框所绑定的数据字段 .完全采用鼠标驱动的方式,对窗体进行设计及数据字段的绑定 .对窗体控件设置属性 .完成在运行状态下动态窗体的加载及数据的绑定 2.2.4 记录操作功能: 2.2.4 记录操作功能: 在窗体上完成标准的数据操作,包括添加、删除、保存、更新操作。 2.2.5 数据检查: 2.2.5 数据检查: 提供对提交数据的检查功能,可在数据更新时对用户输入的数据进行 检查。 检查条件由用户根据系统提供的规约进行定义。 对于检查条件的判 断由专门的编译模块进行处理, 根据返回的值, 如果存在不满足条件的输 入要给出具体的出错信息。 2.2.6 自定义公式与预处理: 2.2.6 自定义公式与预处理: 由于业务需求的不定性,因此不可能采用常规的处理方法,即业务处 理代码不可能封装在程序代码中, 随同源程序发布, 这样就不能在不修改 西安理工大学工程硕士学位论文 - 8 - 源代码的情况下对业务处理进行变更。 本文根据这种情况提出了一种全新 的实际思路, 即由用户按照规约定义业务处理代码, 然后利用专用的处理 模块进行预处理和执行。 也就是说对于具体的业务处理, 需要由用户自行 录入处理规则, 然后程序在执行过程执行用户录入的处理规则, 进行业务 处理。具体功能如下: .实现标准数学运算的解释,包括加、减、乘、除运算以及括号、优 先级处理 .实现特殊的数学运算函数解释,包括正弦,余弦,正切,余切、均 方根等。 .实现特殊函数的解释,如求和函数,数据查找函数,求最大值函数、 求最小值函数 .实现控制语句的解释 .对布尔运算及其组合运算进行解释 .针对现行用电用户存在网状复杂的电表连接方式,没有完全实现一 户一表。 电表与用户存在复杂的网络关系, 采用数学模型对其进行处理是 相当复杂的问题,然而由于 yd-mis 是使用用户定义公式来实现计算的, 无论是多么复杂的情况, 都可以分解成基本运算, 只需要提供数据查找函 数,就可以从根本上处理这种网状的用户电表关系,分解其复杂性,并 实现了相当的通用性。例如,如果电表 a 下面连接有电表 b 和 c,而存在 用户也连接的 a 表上, 却没有独立的电表, 那么该用户的电量就是 a 表电 量减去 b 表电量和 c 表的电量后的电量。 这种情况下只要使用数据查找函 数,在数据库中找到 b 表和 c 表的电量,就可以计算出该用户的电量。 2.2.7 数据查询 2.2.7 数据查询 .捕捉用户的鼠标焦点, 直接对焦点字段进行搜索.同时也可以选择需 要搜索的字段 为便于用户对满足特定条件的记录进行查询, 本系统提供快速查询功 2 sd-mis 需求分析 - 9 - 能具体功能如下: .提供继续查找功能,可将满足条件的记录逐一显示在数据窗体上 2.2.8 即时统计 2.2.8 即时统计 可对满足特定条件的记录进行求和及个数统计, 并把满足条件的记录 进行显示。条件有用户根据向导自动生成。 2.2.9 动态报表: 2.2.9 动态报表: 业务需求的不定性和频繁变更,同时也要求报表要具有可设计性和动 态性。 类似于动态窗体同时动态报表也分为设计阶段和运行阶段, 此模块 实现的具体功能如下: . 实现报表的动态添加、删除 . 报表字段添加、删除功能。 . 报表的界面设计,包括页眉、页脚、表头、正文的设计 . 报表设计中可设置字体、字型、字号;报表边框;报表中的斜线; 合并单元格等功能 . 实现报表界面的刷新 . . 设计状态下设计报表的数据源,在运行状态下完成对数据库信息 的提取 . 可设计单表和多数据源的复杂交叉报表 . 完成在运行状态下报表界面和数据的动态加载 2.2.10 数据源选取 2.2.10 数据源选取 无论是动态窗体还是动态报表,对其进行数据绑定之前都首先需要设 计其数据的数据来源,即数据源。它可以动态的指定的数据来源,支持对 交叉表以及外联结的高级定义功能。具体功能如下: .读取数据库中的用户表信息,供用户选择数据表来源 .读取表中的字段信息,供用户选择字段来源 .提供生成基于多表连接的数据来源 西安理工大学工程硕士学位论文 - 10 - .多表连接支持外连接、左外连接、右外连接等不同的多表连接形式 2.2.11 一次接线图 2.2.11 一次接线图 根据不同的用电用户,需要显示其一次接图。要求图元模块具有绘制 图元并与用户窗体实现无缝连接实时显示的功能。具体功能如下: .实现标准的一次接线图控件. .实现用户图元模板的生成、存储及调用 . .实现接线图绘制需要的缩放、拖拽、线型调整、颜色设置等基本图 形绘制功能 .根据自定义规约实现对接线图信息的存储 .在动态窗体上实现接线图的缩略显示,并可实时编辑 2.2.12 统计图表 2.2.12 统计图表 可对满足某种条件的数据库中的数据进行统计比较,并以多种显示方 式提供给用户统计结果。 清晰的显示满足不同条件的数据库记录所所占的 比例及其各自的总数。关于统计条件的定义,由用户根据向导动态创建。 2.2.13 文档管理功能: 2.2.13 文档管理功能: 可实现本系统的大量文件的集中管理;包括文件的查询、归类、打开 和编辑文档功能,使用标准的树型控件,实现于 windows 资源管理器类似 的人机接口功能。具体功能如下: .可以动态添加、删除节点 .为结点命名 .指定节点关联文件 .实现分组功能 2.2.14 权限管理: 2.2.14 权限管理: 软件的使用权限分为: 系统管理员级和普通操作员级。 系统管理员具 有包括设计以及普通操作的权限; 而普通操作员仅具有普通操作权限。 权 限管理提供对用户级别的赋予与回收功能。 2 sd-mis 需求分析 - 11 - 2.2.15 表单打印 2.2.15 表单打印 对于动态窗体上的信息,需要进行以表单的形式进行打印。打印需要 完全反映窗体上的信息, 包括窗体的各种控件以及其外观属性都要完全的 在打印输出上进行切实的反映。 2.3 软件性能分析 2.3 软件性能分析 软件不但要实现预期的功能,更关键的在运行期具有相当的鲁棒性, 可以应付多用户的并发请求, 在考虑重负载及计算机故障的情况下, 保证 数据的完整性和一致性。 2.3.1 事务处理 2.3.1 事务处理 在实际的业务处理过程中,经常遇到相互关联的一系列操作,它们要 求具有原子性。 即: 所有的这些互相关联的操作要么全部被成功的完成而 且这些操作的结果被永远的存储到数据库中, 要么它们的部分执行不能起 到任何作用, 数据库仍然保持在没有任何操作运行的状态下。 只有引进了 事务的概念,在数据库的实际应用中才可以保证数据库处于一致性状态, 保证数据库的完整性。具体的来讲,事务处理模块应该具备如下的功能 .保持事务原子性:一个事务是一个不可分割的工作单元,事务中包 括的诸操作我么都做,要么都不做 .保持事务一致性:事务必须是使数据库从一个一致性状态变化到另 一个一致性状态。 .保持事务持续性:一个事务一旦提交,它对数据库中数据的改变就 是永久性的。接下来的其它操作不应该对其有任何影响 这些功能在 mis 系统软件中的应用至关重要, 例如在进行业务计算的 过程中, 通常计算的数据量非常大而且涉及整个数据库的内容, 如果这一 系列相关操作在执行的过程中发生中断, 那么数据库将处于一种数据不一 西安理工大学工程硕士学位论文 - 12 - 致的状态下。比如工资管理系统中,完成对职工工资的提升操作,这样的 操作是要求对每一位员工都进行的, 如果在进行的过程中发生了中断, 数 据库中的一部分员工工资信息进行了更改而另一部分却没有进行更改, 这 样数据库就处于一种不一致的状态下, 而且这种不一致的状态显然是很难 进行恢复的。 也就是说如果在数据库系统恢复正常后, 数据有一部分是经 过处理的而有一部分是没有经过处理的, 而通常找出这样的分割点又是不 可能的。 无论是保留这样的数据原封不动还是重新进行处理都将得出错误 的结果。 2.3.2 数据恢复2.3.2 数据恢复 数据库恢复模块用来进行事务中止后得善后处理和系统故障恢复处 理,确保系统发生故障以后,数据库能够恢复到正确的状态。 2.3.3 并发控制 2.3.3 并发控制 由于这里采用的软件构架是客户端、服务器模式,因此有别于传统的 单击操作数据库系统的使用模式。 因此也会带来新的问题, 即由于数据库 服务器要同时为多台客户机提供服务, 因此不可避免的引进的并发控制问 题。 为了提高整个系统的运行效率, 软件允许多个用户对同样的数据库对 象进行访问, 也就是说允许多个事务进行并行处理, 这样就会带来典型的 读取脏数据,更新异常等一系列问题。具体的讲,数据并发处理模块要求 实现如下功能: .在多用户并发请求下,实现事务的动态调度,实现并发性,增加服 务器的相应速度 .实现事务的可串行化,避免由于并发操作带来的数据不一致问题 .避免由于并发操作对资源的请求而产生的死锁,在产生死锁的情况 下进行决策,恢复系统 3 用电营销管理信息系统设计 - 13 - 3 用电营销管理信息系统设计 3 用电营销管理信息系统设计 本章从软件工程开发的方法、 软件的体系结构、 功能模块等方面进行 了概要设计。 本设计分析是针对上述所提出的用电营销mis软件存在的问题及所要 实现的功能。从总体上把握设计思路及开发方法,以达到预期的目标。 3.1 用电营销 mis 软件的设计方法 3.1.1 系统的开发方法 3.1.1 系统的开发方法 采用成熟的软件工程方法, 并且将模块化程序设计方法和面向对象的 程序设计方法结合起来。 目前,程序设计方法较多,其中最流行的程序设计方法主要有两种, 一是以传统的软件工程为代表的自顶向下的模块化程序设计方法, 另外一 种是以面向对象为代表的自底向上的程序设计方法。 两种程序设计方法各 有优缺点。 模块化的程序设计方法, 以功能为核心, 所以在满足其两个基本前提: 首先系统功能在开发初可以被精确定义, 其次功能可以表达系统的主要特 征的情况下, 这个方法具有简单高效的优异特征。 但是由于最初软件功能 的不精确性和不稳定性, 从而使得功能的精确表达难以实现, 且该方法忽 略了系统数据结构, 以及随着开发的逐步深入, 模块的独立性也变得较差, 从而使得系统整体上缺乏可重用性、可扩充性和可维护性等质量特征。 面向对象的程序设计方法,强调数据的重要性,以对象为核心,用系 统本身的结构构造整个系统, 由于对象表现出很强的独立性和通用性, 使 得软件具有很强的可重用性、 可扩充性和可维护性, 这也是面向对象的程 序设计方法所特别强调的。 此外, 面向对象构造系统的思想使得系统的可 测性大大增强, 面向对象编程语言的规范性较好, 使得系统在开发后期以 至维护阶段,故障明显降低。但是,面向对象的程序设计方法在实践过程 中也存在一些问题: 西安理工大学工程硕士学位论文 - 14 - 1)在设计过程中,一个完整的面向对象的设计,建立各种对象模型的 过程是艰苦和漫长的,需要较专业的技术水平。相对前者,难度大,时间 长。 2)为了使系统结构严谨清晰、完全可靠,通常包含不少冗余成分,实 现的代价高且不易把握。 3)编程语言的复杂性明显增加,对程序员的素质要求比较高等。 4)各层对象之间的通信信息传递缓慢,且有时间执行上的不确定性, 不利于提高实时性。 由于模块化的设计方法和面向对象的设计方法并不是根本对等的, 一 个模块至少可以抽象成一个对象, 这在现代面向对象的程序设计语言中已 有了很好的体现,因此将这两种设计方法结合起来也是完全可能的。 针对通用性很强的用电营销 mis 软件的特点, 结合两种编程方法的优 点, 进行系统开发。 目前用电营销 mis 软件应具备的基本功能模型已经确 定, 成为了事实上的标准, 只是这些基本功能的完备程度不同以及具体的 业务表达形式不同而已。 这些基本功能模型表达了系统主要特征, 且系统 的这些基本功能非常稳定,因此可以被精确定义,所以,可以采用模块化 的程序设计方法,将 mis 软件进行分割成若干个子模块,如动态窗体,业 务计算,报表打印等。而对于各子模块,由于其数据关系相对与整个系统 简单,对象模型相对容易建立,因而采用面向对象的程序设计方法,也增 强了子模块的可重用性、 可扩充性和可维护性, 便于根据需要和发展以及 具体的环境进一步完善各个子模块的功能。 3.1.2 明确的接口定义 3.1.2 明确的接口定义 在开发过程中子模块采用了面向对象的分析与设计方法, 而整个系统 采用了模块化设计思想, 因此软件的接口定义变得异常重要。 如果软件的 接口定义不清晰将给软件的模块集成带来巨大的困难, 造成大量的源代码 修改工作,系统的协调性不好,极易引起软件的不稳定。因此,在系统设 计之初, 把软件的模块间的接口定义做了仔细的分析和定义, 定义了接口 3 用电营销管理信息系统设计 - 15 - 标准、 接口类型、 接口方法, 而这种接口事实上也是进行单元测试的标准, 可以依照这种标准在单元测试阶段设计测试用例以及同时也为系统的集 成测试铺平了道路。 3.2 初步设计 3.2.1 开发平台及开发工具 1) 系统开发平台 3.2.1 开发平台及开发工具 1) 系统开发平台 采用 microsoft 公司的 windows 2000,windows 2000 业界公认的优 秀的企业开发平台,对企业应用尤其是数据库应用提供了全套的解决方 案,具有高度的可靠性与稳定性。而且其具有事件驱动、动态数据交换等 多项极易实现灵活功能的相关技术,并且具有良好的人机接口。 2) 数据库平台 2) 数据库平台 数 据 库 采 用 microsoft 公 司 数 据 库 服 务 器 ms sql server 2000,microsoft sql server 是运行在 windows nt 上的一个 著名的高性能数据库管理系统, 它是基于多线程的客户/服务器 体系结构。sql server 允许集中管理服务器,提供企业级的 数据复制,提供平行的体系结构,支持超大型数据库,并可以 与 ole 对象紧密集成。sql server 应用程序使用方便、简化数 据库系统、能够实施企业规则和规章、既能够保证数据的完整 性,也能保证数据的安全性。microsoft sql server 非常适合 于客户/服务器方案。采用 ms sql server 有利于 client / server 结构的用电营销 mis 软件的快速搭建。ms sql server 2000 具有崭新的 transact-sql 语言和供用户调用的数据库管理 api-sqldmo, 这些都十分 有利于实现灵活的、通用的 mis 软件功能。 3)3) 开发工具 开发工具 .主要开发工具: vb 是由微软公司出品的全球最受欢迎的 rad 快速开 发产品,vb 语言具有功能强大、简单易用等明显的优点。更为关键的是 西安理工大学工程硕士学位论文 - 16 - 在微软公司的努力下,vb 对企业开发提供了相当的支持。因为同时微软 技术的缘故,vb 与 sql server 具有相当好的兼容性和互支持性,程序运 行的稳定性和高效性都有一定的保证。 .辅助开发工具: microsoft公司的office 办公套件中的excel软件, 该软件具有报表设计的特性, 并且具备 vba 开发语言, 可以对 excel 进行 二次开发,形成较专业化的通用报表处理软件. vba 是一种面向对象 的程序设计。vba 不仅可以分析复杂多变的问题,而且很容易 根据用户提出的小改动 ,迅速修改,并可用继承的方式缩短 程序开发的时间。此外,与 sql server 有着很好的融合性,有利于增 强系统软件的可靠性。 3.2.2 软件的模块化分析 3.2.2 软件的模块化分析 由于 sd-mis 软件在宏观上采取了模块化的设计方法,因此对软件系 统的模块化分析也就成了重中之重。 分析阶段产生的软件的子模块及其互 相之间的接口调用关系,直接影响了软件的总体质量及开发成败。因此, 本文在概要设计阶段, 针对需求阶段的用户需求说明书, 对软件进行了彻 底的分析,进行了系统的模块分解与接口定义 。 在下面的具体分析过程中,以模块化及其与软件的接口为主线,以数 据库为中心,以下是软件的关键模块的分析: 1)数据源模块 数据源的目的是为各个动态窗体及动态报表指定其使用的数据来源。 数据源模块采用向导的形式, 供用户选择表及字段, 同时允许定义在主从 表数据源下的连接形式。 即建立来自于不同表的数据源。 这样的主从表数 据源具有三种情况:外连接,左外连接、右外连接。数据源设计的结果实 际上是一条标准的 sql 语句, 存储在数据库的相应字段, 供动态窗体和动 态报表在运行状态下为数据控件设置数据源属性。 2)动态窗体模块 模块要求能够很方便的建立窗体,所用的控件有:标签 label、文本 3 用电营销管理信息系统设计 - 17 - 框 text、图片控件 picture、图元控件,线形控件,文本框控件要求绑定 在所提供数据源对应的字段。 把整个窗体存贮到子系统功能表的一个字段 中 在窗体设计的过程中按照上述字段要求扫描整个窗体, 把控件信息按 照自定义的规约写入数据库对应的字段中去,完成窗体信息的保存。 在程序在运行状态下, 根据上述信息进行窗体的加载。 这样的窗体就 可以恢复设计时的原貌。 对于需要绑定字段信息的文本框控件, 数据的绑 定采取如下方法: a)读取该窗体的数据源属性 b)把它赋给窗体的数据控件的数据源属性 c)设置文本框的数据源属性为该数据控件 d)设置文本框控件的数据字段属性,完成数据的绑定 特别需要强调的是窗体的文本框控件要求具有 ole 自动化特新, 因为 采用鼠标驱动的方式从数据源树上拖拽字段来实现数据绑定, 因此文本框 控件要求具有这样的拖拽事件的响应能力。 当有拖拽事件经过它的时候要 求它立刻进行反映读取数据源树的字段信息进行自动数据绑定。 3)数据源树模块 数据源树模块的输入参数为数据源模块生成的数据源生成树型结构 视图,数据源上列出该数据源的所有字段,它们都作为数据源树的子树。 数据源树不仅仅要从外观上对该数据源的字段及其来源表信息进行 显示, 同时应具有 ole 特性, 该特性要与动态窗体相配合完成窗体数据绑 定。 当用户鼠标点击到树的子项也就是一个具体的数据字段时,要启动 ole 特性,记录此次点击的字段信息。这种信息要随着鼠标从数据源树拖 拽到动态窗体的过程中予以保持, 知道用户鼠标经过动态窗体的某个文本 框为止。这是文本框也会启动 ole 特性,接受这种信息,自动的完成字段 绑定。 西安理工大学工程硕士学位论文 - 18 - 4)记录操作模块 在动态窗体的运行状态下实现数据的添加、删除、更新操作。因为在 动态窗体的加载过程中, 窗体的数据控件的数据源已经绑定到了该窗体的 数据源, 而且每一个文本框控件也实现了与数据字段的绑定, 因此在记录 操作已经与普通的数据库开发模式下的记录操作没有什么差异, 只要执行 标准的数据库的记录操作语句就可以了。 需要强调的是, 因为在实际的应用过程中, 某一个窗体的数据源经常 是来自与不同的数据表的连接而建立起来的, 也就是本文在数据源定义的 时候提到的基于主从表连接建立的数据源。 在这种情况下, 根据数据库的 有关理论知识, 对于来源于从表的数据, 是不允许进行在整个视图中进行 更新操作的。 因此这里在动态窗体进行加载的过程中, 需要对来源于非主 表的数据进行锁定,不允许用户进行操作。具体的讲,也就是在动态窗体 在加载的过程中判断每一个需要进行绑定的文本框控件, 其数据来源是否 为数据源中的从表, 如果是则对该文本框控件实行加锁, 这样用户就不能 对该文本中的数据进行任何更改。 根据数据库理论,对基于多表连接的 视图是不能进行任何记录操作的。 因此在实现记录操作的提交过程中, 需 要进行相关的处理。即扫描窗体的非锁定控件(即与主表字段绑定的控 件),扫描它们的字段信息以及值信息,生成标准的 sql 记录操作语句, 对它们的更改进行写库操作, 而对非绑定非主表字段的控件信息不予以记 录操作。 同时由于不论是来自于主表的字段还是从表的字段, 它们都具有 一样的数据源因此可以很容易实现主从表数据的随动。 5)字段值提取模块 此模块是为计算模块提供服务的, 计算模块的定义信息是由用户自定 义的, 是对所有的记录的记录进行的通用操作, 因此计算的定义包含有字 段信息,在计算之前要根据当前光标的位置,提取字段值信息,生成不包 含变量的算术及布尔表达式。 例如, 一条典型的计算表达式可能类似如下: if(_ygdl1000) 3 用电营销管理信息系统设计 - 19 - return(_df*1.2+100) else return(_df*1.1+100) 这样的一条带有判断语句的计算公式在交给编译模块进行编译之前, 首先要做的就是取出在数据库当前光标下改字段对应的值,然后进行处 理。 这里规定,字段的书写格式为“_”字段名称,因此在扫描的过程 中就需要根据上述规则进行替换操作,生成全部为具体值的计算表达式, 如上例,替换的结果类似如下: if(5001000) return(150*1.2+100) else return(150*1.1+100) 上述表达式形式就是经过预处理的计算表达式标准形式, 具备这样形 式的表达式即可以提交给预处理模块进行处理。 6)用户自定义函数模块 基于对用电营销 mis 软件的业务功能模型的分析, 总结出特殊的处理 函数,作为用户自定义函数,实现特定的功能。具体的自定义函数如下: 表 3-1 sd-mis 用户自定义函数 函数名称 参数 含义 sum expr_number, 计算所有参数的和 max expr_number, 求所有参数的最大值 min expr_number, 求所有参数的最小值 finddata (fld1,value,fld2) 返回字段 fld1 值为 value 的记 录的 fld2 的值 7)预处理模块 西安理工大学工程硕士学位论文 - 20 - 在计算模块将提到使用 sql server 2000 内嵌的 transact sql 进行 处理, 而上面的公式的写法实际上是为了便于用户书写而定义的一套语法 规则, 这套语法规则完全遵循 c 语言的语法规则, 因为这样做可以具有很 广泛的应用基础, 对数据库管理员的培训也简单易行。 因此在把计算表达 是提交给数据库管理系统进行计算之前需要进行预处理,转换成 transact sql 语法形式。 a) 在复杂的表达式中,可能需要有用户定义的中间变量,这里给用 户的定义语法全部按照 c 语言的标准语法, 这样符合标准 c 语言的标准, 使得用户容易掌握。而在 transact-sql 语法中,定义变量却有其另外的 一套语法,因此,预处理模块同时要求对变量的定义进行,如下例: float firstvariable float secondvariable firstvariable=0.1 secondvariable=0.2 float result=firstvariable+secondvariable 这是一套标准的 c 语言语句,需要对其进行预处理,处理成 dbms 可 以识别并进行运算的语句,如下: firstvariable float secondvariable float set firstvariable=0.1 set secondvariable=0.2 result float set result=firstvariable+secondvariable b)控制块的转换 在 transact-sql 语言中,程序块的形式如下: begin sql_statement|statement_block 3 用电营销管理信息系统设计 - 21 - end 因此需要对在程序块前后加上 begin 和 and,这样 transact-sql 才 可以进行处理。 8)计算模块 当所有的预处理都进行完毕之后, 这样的语句就可以提交给计算模块 进行处理,计算模块的作用是向 dbms 输送计算表达式,并负责接受 dbms 计算后返回的结果。 计算模块提供的数学函数如下表: 表 3-2 sd-mis 数学函数表 函数 参数 描述 abs (numeric_expr) 绝对值 sin (float_expr) 正弦 cos (float_expr) 余弦 exp (float_expr) 给定数据的指数值 log (float_expr) 指定值的自然对数 log10 (float_expr) 底为 10 的对数值 pi () 常量,3.1415926 power (numeric_expr,y) 数据 y 次幂 sqrt (float_expr) 平方根 square (float_expr) 平方值 tan (float_

温馨提示

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

评论

0/150

提交评论