第一层客户机是用户与整个系统的接口,客户的应用程序精简到一个通用的浏览器软件(如Internet Explore,Netscape Navigator等),浏览器将HTML代码转化成图文并茂的网页,网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQL请求,管理数据库。其结构如图3.3所示。
B/S模式的体系结构具有界面统—、使用简单、易于维护、扩展性好等优点,但是就现在我国的网络发展水平来看,B/S模式适用于与用户交互量不大的应用,在负责数据处理方面,C/S模式还是不可替代。
3.1.2系统体系结构的选择
由于图形化电力生产企业设备管理系统涉及到大量的数据处理,特别是对空间数据文件的操作,所以我们选用交互能力强,具有较强的数据操纵能力和事务处理能力的C/S模式。而且针对电力生产企业的实际情况,我们拟选用三层的C/S结构,因为三层C/S模式具有安全性强、效率高、易于维护等特点,这种三层结构一般比较适合于开发大型分布式应用系统,很适合电力生产MIS系统,而且在电力生产企业的局域网环境里,系统维护升级也比较方便,这种三层C/S模式完全适合电力生产企业的MIS系统建设。
3.2 开发语言与工具的选择
选择合适的开发语言与工具对于软件系统的开发效率、开发周期,以及最终软件产品的性能都有着极其重要的作用,本系统的开发语言选择了 Java。Java是一种彻底的面向对象通用程序设计语言,Java不但适用于网上程序设计,也适用于一般大规模软件工程项目。首先介绍一下Java的特点:
(1)平台无关性 用一般语言编写的应用程序如果换了一种平台系统,必须把源代码在新的平台上重新编译,以形成适合于该种CPU的指令的代码方可运行。而平台无关性是指用Java语言编写的程序可以运行于不同的平台之上。Java的数据类型与机器无关,Java虚拟机建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供不同平台的接口;
(2)安全性 Java类似于C++,它舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问;
(3)面向对象 Java语言的设计集中于对象及其接口,并提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量和相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的可重用性;
(4)健壮性 Java语言注重检查程序在编译和运行时的错误。类型检查帮助检查出很多开发早期出现的错误,Java语言自己操纵内存减少了内存出错的可能性Java还实现了真数组,避免了覆盖数据的可能性。这些功能特征大大缩短了开发Java应用程序的开发周期;
(5)多线程 多线程是指使多个应用程序能够开发执行。线程有别于进程,进程是指一个正在运行中的程序,它有自己管理的一组系统资源和一个独立的存储空间。多进程系统必须带有进程之间的通信机制,为了实现通信就必须花费许多开销。线程也是指一个正在运行的程序。多个线程共用同一个内存区域,也共享同一组系统资源。所以,线程之间进行通信和切换时,系统开销要比进程机制小的多;
(6)动态性和分布性 Java的设计使它适合于一个不断发展的环境。在类库中可以自由的加入新的类和方法以适应新的环境,而不会影响用户程序的执行。分布性表现在Java提供的类库可以容易地处理TCP/IP协议,用户可以通过URL开启和使用远程对象。
本系统的开发工具选择了 Jbuilder, Jbuilder满足很多方面的应用,下面简要介绍一下Jbuilder的特点: (1)Jbuilder支持最新的Java技术,包括Applets﹑JSP/Servlets﹑JavaBean﹑EnterpriseJavaBeans﹑CORBA应用. (2)Jbuilder非常有利于高效团队的开发.Jbuilder的集成团队开发环境非常灵活并具有可扩展的特性,简化了大型分散开发团队的原代码的并发管理. (3)用户可以自动地生成基于后端数据库表的EJB Java类.Jbuilder同时还简化了EJB的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言Interface Definition Language)和控制远程对象. (4)Jbuilder支持各种应用服务器.Jbuilder与Inprise Application Server紧密集成,同时支持WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速开发J2EE的电子商务应用. (5)Jbuilder能用Servlet和JSP开发和调试动态Web 应用. (6)Jbuilder的本地开发依赖于软件中所包含的数据库:JdataStore.在Jbuilder中用DataExpress和InternetBeans能快速创建专业的数据库应用. (7)利用Jbuilder,可创建(没有专有代码和标记)纯Java2应用.由于Jbuilder是用纯Java语言编写的,其代码不含任何专属代码和标记.它支持最新的Java标准,包括Java2﹑Java2 SwingJFC﹑XML﹑Java2D﹑Java Collections﹑Message Queue﹑Accessibility APIs﹑JDK 1.x﹑JavaBeans﹑JDBC﹑EJB﹑JSPServlets﹑RMI﹑InnerClasses﹑Serialization﹑JNI以及Java Archives. (8)Jbuilder拥有专业化的图形调试介面,支持远程调试和多线程调试.调试器支持各种JDK版本,包括J2ME﹑J2SE﹑J2EE,支持多JDK. (9)Jbuilder有一个可扩展的源码编辑器.它的CodeInsight向导自动访问相关Java对象的属性﹑事件﹑方法和包的上下文提示. (10)灵活开放的IDE架构.你可以使用开放工具API将一些附加的或第三方工具紧密集成到Jbuilder环境中,扩展IDE的功能.
3.3 系统开发方法分析
管理信息系统(Management Information System,MIS)是在管理科学、系统科学、计算机科学等的基础上发展起来的综合性边缘科学。到目前为止,它还处于不断完善和发展阶段。开发方法有:
1、结构化系统开发方法是目前应用得最普遍的一种开发方法。用结构化系统开发方法开发一个系统,将整个开发过程划分为首尾相连的五个阶段,即一个生命周期:
(1)系统规划:根据用户的系统开发请求,进行初步调查,明确问题,确定系统目标和总体结构,确定分阶段实施进度,然后迸行可行性研究;
(2)系统分析:分析业务流程、分析数据与数据流程、分析功能与数据之间的关系,最后提出分析处理方式和新系统逻辑方案;
(3)系统设计:进行总体结构设计、代码设计、数据库(文件)设计、输入/输出设计、模块结构与功能设计,根据总体设计,配置与安装部分设备,进行试验,最终给出设计方案;
(4)系统实施:同时进行编程(由程序员执行)和人员培训(由系统分析设计人员培训业务人员和操作员),以及数据淮备(由业务人员完成),然后投入试运行;
(5)系统运行与维护:进行系统的日常运行管理、评价、监理审计,修改、维护、局部调整,在出现不可调和的问题时,进一步提出开发新系统的请求,老系统生命周期结束,新系统诞生,构成系统的一个生命周期。
在每一阶段中,又包含若干步骤,步骤可以不分先后,但仍有因果关系,总体上不能打乱。
2、原型法
原型是一个可以实际运行、反复修改,可以不断完善的系统。原型法的基本思想是在系统开发的初期,在对用户需求初步调查的基础上,以快速的方法先构造出一个可以运行的系统雏形,即初始原型。将这个原型提供给用户使用,在使用过程中进行通信和反馈,听取用户的意见,然后修正原型,补充新的数据结构、功能实现和应用模型,形成新的原型。如此下去,经过几次反复的评价和原型系统修改,逐步确定各种需求细节,最后可以达到用户与开发者之间的完全沟通,消除各种误解,形成明确的系统定义及用户界面要求。至此,或者以最后的原型为基础,修改完善成为最终实际运行的系统;或者舍弃原型重新开发新的系统,但这个新系统也是在原型的基础上加以定义的。
采用原型法进行开发通常包括四个步骤:
(l)确定用户需求:主要任务是开发者和用户共同定义基本的信息需求,包括数据的提取和过程模拟。用户的基本责任是根据系统的输出来清晰地描述自己的基本需要,规定系统的基本范围。获得用户需求的主要途径是开发者设计出若干个关键性的问题向用户询问,通过对问题答案的分析得到用户对系统的基本需求,同时开发人员还要估计开发这一原型的成本。
(2)开发原始模型:在开发原始模型阶段要建立一个原型系统,原型并不是一个完整的软件系统,功能和数据都不很完善,它的主要目的是为了反映开发者对用户需求的理解程度。
(3)征求用户对初始模型的改进意见:让用户在实际操作中对模型作出评价,以求找出系统与用户所期望的系统之间的偏差之处。这样,一方面帮助开发人员更好地理解用户的需求;另一方面,用户通过对原型法的使用,会受到一些启发,从而进一步细化或改进自己的需求。开发者将主要针对这一阶段用户提出的意见,对原型加以改进,直到用户对模型的功能已经满意,可以投入到业务系统使用中或者用户认为目前的模型与他们所期望的系统之问相距太远,或开发者认为用户所提出的要求或意见在目前条件下根本无法实现,从而终止系统的开发工作这几种情况才终止原型法的这种反复迭代过程。
(4)修改原型:主要是根据用户的反馈意见对模型加以修改或完善,再把修改后的模型系统返回到第三阶段接受用户的重新评价。这样就使得整个系统不断细化、不断完善,而且越来越接近用户的期望要求。
3、面向对象开发方法:面向对象的开发方法是从80年代各种面向对象的程序设计方法逐步发展而来的。面向对象方法一反功能分解方法只能单纯反映管理功能的结构状态,数据流程模型只是侧重反映事物的信息特征和流程,信息模拟只能被动地迎合实际问题需求的做法。
面向对象的开发方法认为,客观世界是由各种各样的对象组成的,每种对象都由各自内部状态和运行规律,不同的对象之间的相互作用和联系就构成了各种不同的系统。面向对象的方法的主体为对象,而对象至少应有以下特征:
(1)模块性:对象是一个独立存在的实体,从外面可以了解它的功能,但其内部细节是“隐蔽”的,不受外界干扰。对象之间的相互依赖很小。
(2)继承和类比性:事物之间都有一定的相互联系,事物在整体结构中都会占有它自身的位置。在对象之间有属性关系的共同性,即子模块继承了父模块的属性,通过类比抽象出典型对象的过程。
(3)动态连接性:各种对象之间统一、方便、动态的消息传统机制。
面向对象的方法是以对象为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换,OO方法的应用解决了传统的结构化开发方法中客观世界描述工具和软件结构的不一致问题,缩短了开发周期,解决了和设计到软件模块结构之间多次转换映射的繁杂过程,是一种有发展前途的系统开发方法。能够满足软件开发对于生产效率、可靠性、易维护性、易管理等方面的更高、更快、更强的迫切需求。
面向对象的开发强调从问题域的概念到软件程序和界面的直接映射;把客观世界看成是许多对象更接近人类的自然思维方式。对象比函数更为稳定;软件需求的变动往往是功能相关的变动,而其功能的执行者----对象----通常不会有大的变动。另外,面向对象的开发也支持、鼓励软件工程实践中的信息隐藏、数据抽象和封装。在一个对象内部的修改被局部隔离。面向对象开发的软件易于修改、扩充和维护。
面向对象开发的使用鼓励重用,不仅软件的重用,还包括分析、设计的模型的重用。更进一步,OO技术还方便了软件的互换性,即,网络中一个节点上应用能够利用另一个节点上的资源。面向对象的开发还支持并发、层次和复杂等一些在目前的软件系统中常见的现象。面向对象的开发支持开放系统的建设;利用不同的应用来进行软件集成有了更大的柔性。最后,面向对象开发的使用可以减小开发复杂系统所面临的危险,主要是因为系统集成遍布软件生命周期的各个阶段。面向对象本质上就是迭代的和渐增的。在这里,快速原型和反馈环路是必需的标准结构。开发过程就是一次次的迭代反复过程。对象和它们之间的关系成为分析、设计和编码等各个阶段的共同表达媒介。开发的重心从编码向分析偏移,从功能为中心向数据为中心偏移。而且,面向对象开发的迭代和无缝性使得重用变得更加自然。OO方法在处理复杂系统的分析和设计、分析和设计的重用方面的应用前景也是非常可观。抽象、封装、模块化、层次、分类、并行、稳定、可重用性和可扩展性是OO方法的最主要的特点和成就。
面向对象方法与其它开发设计的不同之处就在于它提出了面向对象分析OOA(object oriented analysis)方法和面向对象设计OOD(object oriented design)方法。面向对象分析是将问题空间分解成一些类或对象,找出这些对象的特点以及对象间的关系。在通常的系统分析过程中系统分析员遇到的困难主要有:对问题空间的理解、对人们之间的通信以及需求不断变化的处理。
一般的系统开发者对系统需求者的业务都不是很熟悉,属于外行,而面向对象的分析通过抽象问题空间中的事物,将要解决的问题直接映射到模型,减少了语义差异和转换,使对系统的理解更准确、更容易。人们之间的通信是指系统分析员与用户之间的通信。面向对象方法是建立在人类认识方法的基础上的,将问题空间解析为:对象及其属性、整体及其部分。、类属及其成员,为通信提供了一种共同的法则,使通信变得更为有效了。在系统开发过程中,需求会发生不断的变化,在系统中对这种变化最不敏感的就是对象。面向对象方法显式地捕捉数据和处理的共性,将代表共性的类和对象稳定下来,把不稳定的东西隐藏起来,这样就在一定程度上减少了系统的复杂性,使系统变得更稳定。
面向对象设计OOD是OOA的结果的具体实现,包括人机交互、任务管理和数据管理等。OOD把属性和服务看作是一个内在的整体,从而保持分析、设计和编程之间的内在一致性、它运用了人们思维的普遍的组织方法来进行组织设计,使得问题空间专家、系统分析员、设计员、和程序员之间的沟通更加有效。
同原型方法一样面向对象方法需要一定的软件基础支持才能应用,另外在大型的MIS开发中如果不经过自顶向下的整体划分,而开始就自底向上的采用OO方法开发系统,同样会造成系统结构不合理,各部分关系失调等等问题。OO的发展将日渐流行,OO技术也将日趋成熟。
综上所述,软件开发方法选择的正确与否是信息系统开发成败的关键因素之一。不同的系统对应不同的开发方法,只有开发方法适当,才能以较低的成本获得适用的信息系统软件。据此,用户和软件开发人员在选择开发方法时应根据企业的条件、基础管理水平和软件开发人员本身的素质以及每种开发方法的特点和适用范围来选择软件开发方法。表2-1是三种开发方法的优缺点对比。
表3.1 三种开发方法的优缺点对比
方法 优点 缺点 应用
结构化方法 1.面向用户
2.工作阶段区分严格,工程进度易于计划和控制
3.运用了系统的观点,自顶向下开发
4.工作成果文献化、标准化、便于交流与日后的维护 1.开发周期长,开发过程复杂
2.适应外部环境变化能力差
3.对于结构化程度较低的系统,功能需求很难在开发初期 适用于技术层面难度大,而分析层面难度不大的系统,适用于有大量运算、逻辑性强的大型系统
原型法 1.增进用户与开发人员之间的交流,用户的参与贯穿在整个开发过程中
2.动态辨认用户需求
3.缩短开发周期,降低开发风险 1.不如结构化法成熟和便于控制
2.需要有自动化的工具的支持
3.用户的大量参与带来很多问题
适用于分析层难度大,技术层面难度不大的系统
面向对象法 1.用户与开发人员 之间的交流更直接、更准确、更快、更容易
2.增强了系统开发过程的稳定性
3.提高了软件生产效率和软件质量
4.系统具有良好的可维护性、可扩充性和可重用性 面向对象法由于出现的时间短,还没有形成一个成熟的方法
适用于各种系统的分析与设计
这三种方法都有各自的特点和长处,面向对象法是目前被认为是最适合进行系统分析和设计方法。因此,我们选用面向对象的开发方法。
3.4 数据库设计
3.4.1 数据库设计遵循的原则
数据库是管理分析系统的核心,是存储数据的实体,是整个系统信息资源共享的基础。数据库设计的任务是按照用户应用的要求,为某一企业或组织设计一个结构合理、使用方便、效率较高的数据库及其相关应用系统。数据库系统设计的优劣将直接影响整个系统的性能。在对数据库应用程序产生影响的各个环节中,数据库本身的设计最为重要,开发人员组织数据表格中独立数据项的方法以及将数据库中不同的表格相互联系的方法形成了数据库应用程序的基础。因此,数据库的设计应遵循以下原则:
(1)设计的数据库必须层次分明,与信息逻辑模型吻合,符合用户的实际要求。
(2)数据库必须高度结构化,保证数据的结构化、规范化和标准化,这是建立数据库和进行信息交换的基础。
(3)尽可能地减少冗余度,减少存储空间的占用,降低数据一致性问题发生的可能性,但是还要考虑适当的冗余,以提高运行速度和降低开发难度。
(4)保证数据共享,同时兼顾数据的独立性,即在数据库修改或扩充之后,不影响用户的使用,不必修改或重写应用程序。
(5)解决由于数据共享带来的数据完整性、安全性等问题。
3.4.2 数据库的选择
本系统采用Microsoft SQL Server为系统数据库,它是为具有关键任务的应用管理系统而设计的大型数据库管理系统,能够满足网络化客户机/服务器的应用需要,依靠其基于分布式客户机/服务器计算的高可靠性、开放性、可管理性,充分利用Windows NT具有的高级操作系统技术,为数据系统提供坚实的解决方案。其性能的优异性表现在:
·采用功能强大的客户机/服务器体系结构,使得信息管理专业人员集中控制数据,而最终用户管理各自的应用,从而具有良好的可靠性和方便性。
·具有可伸缩的高性能,当用户数目和数据库的大小增加时保持事务和查询的高数据流量和快速的相应时间。
·具有可移植性和可伸缩性,能够满足数据容量增长的需要。
·提供可靠的容错性,保证全天候连续的应用可用性。
·提供对网络和DBMS的单个登录,实现集成安全性。
·可实现在线维护,无人值守备份。
·通过对事务日志和数据库自身的磁盘镜像保护,防止介质故障。
·保证数据库的一致性,且可在系统故障的事件中恢复数据库允许应用在系统故障发生后快速的在线恢复。
3.4.3 数据库的逻辑结构
开发一个具体的数据库应用系统时,核心问题是设计数据库结构,数据库结构设计的好坏是系统开发成败的关键所在。由于系统开发人员对现实世界的认识或看问题的方法不尽相同,同一个系统可以设计出不同的关系数据库结构,由于数据库结构设计不当,在实际应用当中往往会出现数据冗余、修改异常、插入异常以及删除异常等问题。
数据模型是面向数据库中的数据逻辑结构的设计模型,一个数据模型实质是一组向用户提供的规则,这组规则规定了数据是如何组织的,其结构怎样以及允许进行那些操作。常见的数据模型有层次模型,网状模型和关系模型三种。
(1)层次模型能够反映客观世界存在较广泛的同类事物的信息结构,但处理效率较低,难以描述层间是多对多关系的数据结构。
(2)网状模型改善了层次模型的限制,提供了多对多关系的描述。
(3)关系模型将数据的逻辑结构归纳为满足一定条件的二维表的形式,称为一个关系,其中行称为记录,列称为域。这与我们实际中利用各种表格来记录、处理有关数据的操作方法极为相似。因此,用这种关系模型来处理和使用信息就更为方便、直观。与其它两种模型相比,关系数据模型具有以下优点:
(1)具有较好的非过程化特性,面向非专业用户,应用系统的开发效率高。
(2)易于实现对数据库的重组和控制。
(3)易于实现各种不可预计的随机查询,从而对管理决策活动中数据库的应用提供较好的支持。
(4)理论基础好,数据库的研究更加科学化,尤其是关系操作的完备化、规范化和查询优化等方法,为数据库技术的成熟奠定了很好的基础。
因此,本系统采用关系数据模型。
3.5计算机系统和网络系统方案的选择
目前网络操作系统比较多,从大家广为熟悉的Novell系列,到今天异军突起的Windows NT网络操作系统,我们选择操作系统时遵循了如下原则:
(1)所用的网络必须能同现有的系统相连接(如MS-DOS、Windows、Unix等用户环境);
(2)能够利用多种通信方式实现各计算机之间的远程联网;
(3)能够支持多媒体环境,如实现语音图像等形式的传输;
(4)支持国际通用的大型网络数据库;
(5)能够实现安全、可靠的信息管理。
基于以上原则,网络操作系统采用Windows 2000 Server。该系统继承了NT的许多特点,具有很好的网络操作功能,又增加了许多自身的特点,主要有:
·良好的管理机器硬件本身的能力,如多处理器管理、电源管理等。
·支持分布式处理以及内建网络的能力。
·遵守大部分工业标准,兼容了其他作业平台的基础。
·提供完整的系统安全保护机制。
·在系统构架上提供延展性能力。
·操作系统与其它系统良好的兼容性。
首页 上一页 1 2 3 4 5 6 下一页 尾页 4/6/6
电力生产MIS系统之设备管理系统开发(四)由毕业论文网(www.huoyuandh.com)会员上传。