




已阅读5页,还剩56页未读, 继续免费阅读
(机械设计及理论专业论文)构建电力企业分布式信息系统的集成方案研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 捅要 信息技术的发展与应用正在改变着我们的生产和生活方式,也不断地推动着现 代企业朝着信息化、规范化、网络化的方向发展。信息技术正在飞速地发展,企 业的现代化管理水平也在不断提高,为了弥补传统管理信息系统的不足,本文提 出了将c o r b a j a v a 技术应用于信息系统的集成,并通过u m l 统一建模语言来分析 和设计系统,建立面向对象的模型。然后通过实例分析了该技术在电力企业信息 管理系统集成的应用。, 论文重点研究了信息系统建模与塞盛燮的问题。筒先简述了面向对象建模中 的一些方法和原则,然后运用u m l 统一建模语言分析了0 0 建模的过程。这一过 程包括面向对象的需求分析( 问题域定义) 、面向对象的分析( o o a ) 、面向对象的设 计( o o d ) ,这样三个阶段。总结与分析了u m l 建模语言在实际建模中的应用,并 结合企业权限实例具体地展现了这个过程。为存在于企业信息系统建模中的实际 复杂问题,提供了有效的参考和分析手段。论文然后在0 0 建模的基础上,并且 通过在“新会市电力工业局基于i n t e m e t i n t r a n e t 的信息管理系统”课题中遇到的 实际问题,论述了目前存在的三种主流中间件技术,在分析了它们的优、缺点后 提出了自已的c o r b a j a v a 方案,并把这种方案运用于信息系统集成上。初步提出 了c o r b a j a v a 与w e b 集成与基于c o r b a j a v a 的w e b 数据库访问的两种集成方案。 这种c o r b a j a v a 解决方案能够把当今大量存在于企业中的基于c l i e n t s e r v e r 的信息 系统以比较小的代价迁移到基于w e b 的信息系统中去,维护了企业信息系统运转 的连续性,有着,广阔的实用前景。在论文的最后展望了w 曲s e r v i c e 这个未来的信 、, 息技术。 y u m l 是0 0 建模的利器,中间件技术是信息技术不可或缺的支柱,本文所阐 述的c o r b a j a v a 中间件技术有着巨大的优势,因此本文的研究工作具有一定的理 论意义和应用前景。 vv。 。一y 7 关键词:0 0 建模u m l 中间件c o r b a j a v a 集成 华中科技大学硕士学位论文 i l l a b s t r a c t t h ed e v e l o p m e n ta n da p p l i c a t i o no fi n f o r m a t i o nt e c h n o l o g yh a v ec h a n g i n go l n m o d eo f p r o d u c t i o n a n dl i f e ,a n dp u s h i n gm o d e me n t e r p r i s e st o d e v e l o p t ob e i n f o r m a t i o n i z e da n ds t a n d a r d i z e do n e sw i t hn e t w o r k s i n f o r m a t i o nt e c h n o l o g yi s d e v e l o p i n gs o o na n dt h em a n a g e m e n to fe n t e r p r i s e si si m p r o v e dq u i c k l y i no r d e rt o m a k e u p t h es h o r t a g eo f t r a d i t i o n a li n f o r m a t i o nm a n a g e m e n t s y s t e m ,t h ea r t i c l eu s e d t h e c o r b a j a v as c h e m et o i n t e g r a t e i n f o r m a t i o ns y s t e m a n du s eu m lt o a n a l y s ea n d d e s i g ns y s t e m ,t ob u i l do b j e c t - o r i e n t e dm o d e l t h r o u g hi n s t a n c e ,a n dt h e n ,t oa n a l y s e t h eu s i n go f t h i st e c h n o l o g yi np o w e r e n t e r p r i s ei n t e g r a t e di n f o r m a t i o ns y s t e m t h ea r t i c l ef o c u so nt h ec o n s t r u c t i o no fi n f o r m a t i o ns y s t e ma n d i n t e g r a t i o n f i r s t , t h e m o t h o da n dp r i n c i p l eo fo b j e c t - o r i e n t e dc o n s t r u c t i o nw a si n t r o d u c e di nb r i e f , a n d u m lw a su s e dt o a n a l y s et h ep r o c e s s o fo b j e c t - o r i e n t e dc o n s t r u c t i o n i ti n c l u d e o o d a 、o o a 、o o d t h r o u g h t h ep r o b l e ma n a l y s i s ,d e s c r i b et h ep r o c e s sp r a c t i c a l l y a n dt h e nb a s e do nt h ec o n s t r u c t i o no fo b j e c t - o r i e n t e dd i s c u s s e dt h em i d d l e w a r ea n d c o r b a j a v a t e c h n o l o g y g i v i n g t w os c h e m eo f i n t e g r a t e d i n f o r m a t i o n s y s t e m , c o r b a j a v aa n dw e bi n t e g r a t e d ,a n dc o r b a j a v aa n dw e bd a t a b a s ea c c e s s a tl a s t d e s c r i b e dt h ef u r t h e rt e c h n o l o 蚤e bs e r v i c e t h em i d d l e w a r et e c h n o l o g yw i l lb e a b s o l u t e l yn e c e s s a r i l y t ot h ei n f o r m a t i o n t e c h n o l o g y t h ec o r b a j a v at e c h n o l o g yh a sg r e a ta d v a n t a g ei ni n f o r m a t i o ni n t e g r a t i o n a sar e s u l t t h er e s e a r c hw o r ki nt h i st h e s i sh a sb o mt h e o r e t i c a l s i g n i f i c a n c ea n d p r a c t i c a lp e r s p e c t i v e k e yw o r d s :o b j e c t - o r i e n t e d u ,见m i d d l e w a r ec o r b a j a v a i n t e g r a t i o n 华中科技大学硕士学位论文 1绪论 我们生活在信息对代,信息技术已经渗入到了这个时代的方方面面。我们的日 常生活、一个企业的成败与兴衰、甚至我们这个社会的正常运转,都已离不开它。 所以为我们这个社会提供高效、适用的软件,去迎接在这个飞速发展的信息社会 中不断出现的新的挑战,是每个信息技术从业人员应该时刻关注的焦点。 圈圜圜 系统软件中回件 网络软件 系统软件 硬件 的发展趋势 行业软件基础 系统软件中问件 网络软件 系统软件 硬件 计算机软件的发展经历了从小到大、从简单到复杂的过程见图1 1 所示。早期 的软件仅仅只是个满足某个需求,以硬件为基础的简单系统,并且具有功能单一、 开发困难、重用率低等特征。随着计算机软、硬件水平的发展,越来越多的软件 系统构建在系统软件、网络软件、软件中间件之上。特别是9 0 年代末期中间件技 术的发展,为高效、健壮、可扩展地开发复杂软件系统提供了技术上的有力保证。 1 1 企业信息化所面临的问题 信息技术是以研究信息的生产、采集、存贮、变换、传递、处理过程和广泛应 用的- e 7 科学技术。其核心是计算机技术和通信技术,以及两者相结合所派生出 的新兴技术,如网络技术和集成技术等。信息技术的发展已经经历了两个阶段, 目前正处于第三个阶段。从1 9 4 6 年开始到7 0 年代末,是第一个阶段:大型主机 时代,这个阶段计算机的主要任务是科学计算。从8 0 年代初开始的第二个阶段: 华中科技大学硕士学位论文 p c 机时代,计算机获得了空前的发展,计算机应用从集中运算转化为分布式处理, 广泛运用于各个领域。第三阶段:网络时代,起源于8 0 年代末9 0 年代初,它芷 在给世界带来革命性的改变,使我们步入了信息社会。 企业的信息化就是指:企业在进行生产、管理和销售等各项企业活动中,充分 利用信息处理技术和信息设备、网络技术和网络设备以及现代化的通信设备,对 企业进行全方位、多角度、高效和安全的改造。通过信息资源的开发和信息资源 的有效利用来提高企业生产能力与经营管理水平,增强企业在国内外市场竞争能 力。 在企业的信息化过程中,单任务级应用和部门级应用成功范例较多。完成它们 所运用的计算机技术相对比较简单、成熟,而且企业内部间相互运作关系较少, 因此容易实现。但进入企业级应用阶段后,由于所涉及的企业内部相互关联、相 互操作越来越多,因而所需的计算机技术也越来越复杂,实现的难度也越来越大。 企业级信息化开发所面临的主要问题有下面几个方面: 1 ) 用户对计算机技术不够了解,计算机开发人员对用户领域的知识不够。从 而导致用户对计算机应用的期望值过高,希望计算机能够做更多的工作, 甚至决策。同时开发人员的产品不能完全符合企业的运作流程。结果导致 系统开发后无法满足用户要求,以致系统开发失败。 2 ) 由于企业的运作是一个多重不确定的复杂系统,开发人员不能很好地了解 它,又希望搞大而全的信息管理系统。结果导致系统开发过程与企业运营 变化不能同步。以致于系统开发难以完成,不能很好投入使用,最后导致 系统应用失败。 3 ) 当前计算机技术正处于飞速发展当中,不同的计算机技术运用于不同的时 期。因此异构计算机系统的通信问题还将长期存在,怎样尽可能多地集成 遗留系统与新开发的系统,正成为广大信息技术人员一个棘手的问题。 1 2 面向对象思想与u m l 1 2 1 面向对象方法学 面向对象的方法学运用于程序设计与分析阶段,在构建结构优良,高效可靠, 具有可扩展性的复杂系统方面有着很大的优势。从理论上说,面向对象是相对于 华中科技大学硕士学位论文 过去常说的面向过程而言的。在面向过程的程序设计中,过程是构造软件的基本 核心。而面向对象的程序设计则不然,它的核心是对象,并且对象与对象之间相 互作用就构成了软件。把客观事物描述成对象,比用数据或函数来描述客观事物 更加自然更加贴切。面向对象的思维方式是把世界看成由许多不同种类的对象构 成,每一个对象都有各自的内部状态和内在运动规律,不同对象之间的相互联系 和相互作用构成了完整的客观世界。 同时,面向对象还是一种从组织结构上模拟客观世界的方法,它从构成客观世 界的基本成分即对象出发,通过抽象来实现对客观世界的模拟,再将客观世界中 的对象映射到计算机系统中,并抽象提取对象之间的相互联系和相互作用。使人 们分析、设计和实现系统的方法同人们认识客观世界的过程尽可能保持一致,它 是一种把对象及不同对象之间的相互关系作为研究对象的方法。 1 2 2i ,m 旺 u m l ( 统一建模语言。u n i f i e dm o d e l i n gl a n g u a g e ) 是一种面向对象的建模语 言。在面向对象的建模领域的三位大师b o o c h 、r u m b a u g h 和j a c o b s o n ,于9 0 年代 初相继提出了具有极大影响力的三种建模方法b o o c h1 9 9 3 、e o m t - 2 和o o s e ,它 们都有着各自的优缺点。因此在客观上需要把面向对象的建模语言统一起来,这 样系统分析设计人员在o o ( o b j e c t - o r i e n t e d ) 建模时能够有一个标准、统一的工具来 相互交流。于是三位大师从1 9 9 4 年1 0 月到1 9 9 6 年开始致力于这一工作,并且最 终推出了统一建模语言一u l 帆。 从此u m l 在软件工业化方面做出了杰出的贡献。并且被o m g ( o b j m m a n a g e m e n tg r o u p ) 采纳为业界标准。u m l 是集合了众家之长的建模语言,u m l 没有特定的平台,与具体的实现无关。它是一种图形化的面向对象建模语言。u m l 通过不同的图形表示来捕捉系统静态结构和动态行为的信息,建立起对象模型。 不同的图形是从不同的角度来看待系统。所以最终成为了开发人员采用面向对象 方法分析系统和设计系统首选的标准化工具,即一种将o o 思想转化为计算机表 达方式的建模工具语言。 华中科技大学硕士学位论文 1 3 分布式对象技术及中间件 1 3 1 分布式对象技术 8 0 年代中后期,以支持信息共享的应用需求为核心,形成了面向过程的第一 代分布计算技术。随后在9 0 年代初出现了从集中计算模式向分布式c s 计算模式 转移的热期。同时也暴露出许多在集中计算模式下不曾出现的或不突出的问题: 例如异构环境下的应用互操作问题、系统管理问题、系统安全问题等等。为了解 决这些问题,人们提出了分布对象的概念并发展成为分布对象计算。 分布对象存在于网络的任何地方,可被远程客户应用以方法调用的形式访问。 分布对象是使用何种程序设计语言和编译器所创建,对客户对象来说是透明的。 分布对象技术采用面向对象的多层c s 计算模型,该模型符分布在网络上的全部 资源都按照对象的概念来组织,每个对象都有定义明晰的访问接口。创建和维护 分布对象实体的应用称为服务器,按照接口访问该对象的应用称为客户。服务器 中的分布对象不仅能够核访问,而且自身也可能作为其他对象的客户。因此在分 布对象技术中,客户与服务器的角色划分是相对的或多层次的。支持客户访问异 地分布对象的核心机制称为对象请求代至j ( o b j e c tr e q u e s tb r o k e r :o r b ) 。o r b 处于 分布对象技术的核心位置。 1 3 2 中间件 中间件( m i d d l e w a r e ) 技术是组件技术在服务器端逻辑层的应用,它使得开发分 布式应用系统的人员,摆脱了传统的低层网络编程和复杂的分布事务管理的困扰, 从而简化了分布式处理的复杂程度。1 。同时中间件开发相对于客户端的组件开发要 困难得多,除了业务逻辑的实现之外,还有大量的服务器的事务逻辑:多线程、 遗留应用集成、安全认证、数据库访问及对象管理等。 中间件是处于操作系统和应用程序之间的通用服务。这些服务具有标准的程序 接口和协议,针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范 的多种实现方式。中间件以自身的复杂换取了开发分布式应用系统的便捷,所有 与应用系统无关的基础细节。都由中间件来完成,从而帮助用户灵活、方便、高 效地开发与集成应用系统。今天,在欧美发达国家,中间件已经与操作系统、数 据库管理系统并重,它们被称为基础软件领域的”三架马车”。 4 华中科技大学硕士学位论文 主流中间件技术解决方案 m i c r o s o r 的分布式c o m ( d c o m ) 扩展了组件对象模型技术( c o m ) 。因为 d c o m 是世界上领先的组件技术c o m 的无缝扩展,所以可以把基于c o m 的应用、 组件、工具以及知识转移到标准化的分布式计算领域中来。使得d c o m 应用拥有 多种选择的开发工具和强大的客户基础,从而可以快速地开发分布式应用。但同 时d c o m 的致命弱点是它只能应用于w i n d o w s 平台上,使得它不适合于异种平台 的分布式应用。 e j b ( e n t e r p r i s ej a v a b e a n ) 是s u n 公司推出的基于j a v a 的服务器端组件规范j 2 e e 的一部分,j 2 e e 简化了基于组件服务器端应用的复杂度,是由众多厂家参与制定 的一个规范。它是在j a v a b e a n 本地组件基础上,发展的面向服务器端分布式应用 组件技术。由于服务器市场的主流还是大型机和u n x 平台,这意味着以j a v a 开 发的组件,能够做到”w r i t eo n c e ,r u n a n y w h e r e ”,所以e j b 在异构平台上的应用相 当成功。但同时e j b 也有很大的不足一它只能用j a v a 语言开发,这点限制了其 进一步的应用。 c o r b a 是对象管理小组( o m g ) 的一个规范,它的底层和核心部分是对象请求代 理( o r s ) 。从某种意义上说,c o r b a 是”软件总线”。在c o r b a 中,每一个组件是 一个对象,有一个基于面向对象的接口,内部代码实现可以是0 0 或非0 0 的语言, 总线上的对象能够被任何其它对象所使用。c o r b a 提供了接口定义语言( i d l ) 到c 、 c + + 、j a v a 、c o b o l 等多种语言的映射机制。c o r b a 解决方案是平台无关性和语言 无关性的,从这个角度来说它是优于d c o m 方案和e j b 方案的。因此c o r b a 是一 种通用的分布对象集成环境,在集成同一领域的应用程序方面具有先天的优越性。 并且集成后的系统与软、硬平台关系不大,当需要修改时,付出的代价不会太大, 从而保证了企业信息化的连续性。所以c o r b a 集成方法已经成为了企业界信息系 统集成和维护的首选方案。 1 ,4 课题来源及本论文的目标 电力企业的信息具有地域分散性、数据庞杂性、处理实时性的特点。广东省新 会市电力工业局为了迎接现代企业在未来所面临的挑战,为了完成企业生产、管 理、运营的信息化,与华中科技大学机械科学与工程学院合作开发了“新会市电 华中科技大学硕士学位论文 力工业局基于i n t e m e t i n t r a n e t 的信息管理系统”。新会市电力工业局下属单位分布 比较分散,局本部建有高效快速企业网,建设了从局本部到农电所的广域网,骨 干线路均铺设的是光纤。由于企业计算机网络仍处于不断完善时期,项目要求系 统应具备较强的适应能力和演化能力。要求不论在怎样的网络环境下均能健壮地 运行,并且能够随着网络软、硬水平的增强和经营管理水平的提高,平稳地从集 中式数据库方式向分布式数据库方式,以及从独立的应用程序方式向适应 i n t e m e c i n t r a n e t 环境的方式演化。 新会市电力工业局的基于i n t e m e t i n t r a n e t 的信息管理系统,在第二期工程开发 的基础上,拥有了物资管理、q c 管理、用电经营管理、工程管理、后勤保障管理、 g i s 及线路设备管理、变电设备管理和线路工区管理八个子系统。这八个子系统在 第二期工程中分属于不同的部门,相互之间是独立的没有联系,更没有协作起来 共同完成企业的日常管理,这非常不利于一个企业的现代化管理。因此用户方一 新会市电力工业局,决定进行第三期工程的开发。即在原有系统的基础之上通过 改造、集成的方法来构建一个新的系统,同时这个系统应该具有统一性、高效性、 便捷性等特点。 课题小组经过充分的调研与技术准备之后认为:为了保护和利用企业原有的 软、硬件投资,通过新建、集成和改造来构建企业信息系统;为了适应电力企业 管理的现代化,只有具有全球连接的、分布的、动态的、多平台特点的基于w e b 的交互式超媒体信息系统,才能满足现代化企业的管理需求。在基于这几点的认 识之上,本文的目标之一是:运用u m l 这种面向对象的统一建模语言来完成电力 企业的系统分析。这种采用面向对象思想的系统分析和传统的系统分析方法有着 很大的不同,并且这种分析方法是正确构建分布式信息系统的必要保证。本文的 另一个目标是:采用c o r b a j a v a 这种混合型的分布式技术来完成企业信息系统的 改造集成工作。构建企业的分布式信息管理系统是企业管理信息化的必然趋势, 本文主要提出了两种集成方案:基于c o r b a j a v a 的w e b 集成方案与基于c o r b a j a v a 的w e b 数据库访问方案。然后分析了实际课题中的电力企业信息系统的框架结构, 并且简略地给出了基于c o r b a j a v a 技术的代码实现过程。 本文的论述思路是这样来安排的。 第一章简述了企业信息化的必要性和所面临的问题,同时概述了本文所涉及的相 关技术。 6 华中科技大学硕士学位论文 第二章详述了0 0 建模思想、过程。运用u m l 工具对整个信息系统进行了初步 的分析,并且通过权限实例详细描述了对象设计这个重要过程。 第三章在0 0 建模的基础之上,详细论述了c o r b a j a v a 这种混合中间件技术。并 在此基础上提出了基于w e b 的集成方案和w e b 数据库的访问方案。最后 描述了电力工业局信息系统的框架结构,并且给出了程序设计的实例。 第四章论文的最后进行了总结,并且展望了信息系统领域的未来技术w e b s e r v i c e 。 7 华中科技大学硕士学位论文 2电力企业信息系统的0 0 建模与u m l 本章将比较详细地论述o o 建模思想、过程,以及u m l 的要点和在电力企业 的o o 建模中无处不在的应用。 2 1 问题域的定义 2 1 10 0 对传统软件工程的挑战 e d w a r db e r a r d 有如下描述“1 : 仅仅使用面向对象程序设计c o o p ) 将不会产生最好的结果,软件工程师及其管 理者必须考虑面向对象分析( o o a ) 、面向对象设计( o o d ) 、面向对象领域分析 ( o o d a ) 、面向对象数据库系统( o o d b m s ) 和面向对象计算机辅助软件工程 f o o c a s e ) 等。即在软件工程的早期和全程采用面向对象技术,才能得到更多的优 势。 计算机科学界对问题域的认识史 计算机科学属应用科学,应用的领域称为问题域。对问题域的认识从一定意义 上说就是对世界的认识。计算机之所以在许多领域表现出高深的智慧,完全在于 设计人员对该领域的问题有着清醒的认识。工程技术人员为了运用计算机解决实 际问题,必须要做到两步:第一,要正确地认识问题域( 这同人们的思维和认识是 一致的) ;第二,要把这种认识形式化地描述( 通常采用计算机相关技术) 。在面向 对象技术成熟之前,科学界对问题域的认识大致经历了以下两个过程”1 : 结构化设计思想。7 0 年代末期,人们发现能否有效地利用计算机的关键,不 在计算机本身,而在于如何弄清”用户需求”。这种设计思想,使得系统的设计和实 施以需求为导向逐步展开。认为系统是分层的,是由相互独立又相互联系的子系 统构成的,通过自顶向下的认识过程,复杂系统被规范的定义和表示。 原型化设计思想。8 0 年代人们发现,由于行业问语言的障碍,要弄清用户的 需求十分困难。于是通过诱导需求的手段,迅速构造现实系统的计算机模拟原型, 再通过多次与用户交互,在反复修改中不断完善原型,最终形成所需求的系统。 华中科技大学硕士学位论文 随着我们所要面对的问题域越来越复杂,传统的软件开发方法有其明显的缺 点,主要表现在: 生产率提高的幅度远远不能满足需要 软件重用率很低 软件仍然很难维护 软件往往不能真正满足用户需要 这一切的根源,正是存在于对问题域认识的方法上。分析和设计采用的是不同 的模型,在系统建立起来之前,往往很难依靠分析就确定一套准确、一致、有效 的应用需求,这种预先定义需求的方法更不能适应用户需求不断变化的情况。 0 0 方法对问题域认识的思想“1 兴起于8 0 年代,成长和繁荣于9 0 年代的面向对象的方法学。和结构化自顶向 下的认识方法完全相反,直接面对要解决的现实对象。通过对象的属性、行为表 示问题域的静态结构,对象对事件的响应表示问题域的动态联系,遵循自底向上 逐步抽象、归纳、综合的方法寻求对问题域的认识和表达如图2 1 所示: 图2 1问题空问与解空间的结构 0 0 分析与设计采用的是相同的模型,并且符合客观自然和人类的思考习惯, 0 0 建模在进入到设计阶段后,只是逐步完善其细节,并不会改变原有的模型“1 。 分析阶段的模型是对问题空间的描述,而设计阶段模型描述的是怎样去实现。由 于它们具有相同的模型这样在0 0 建模的过程中可以不断地验证软件设计是否符 合最终用户的需求,并且所做出的改动不会对整个模型产生很大的影响。 9 华中科技大学硕士学位论文 2 1 20 0 方法建模的基本过程 0 0 问题域定义阶段 需求( 问题域描述) 问题分析( 类图) 0 0 设计阶段 静态类设计( 细化类设计、类关系) 动态类设计( 时序图、协作图、状态图) 整体系统设计阶段 子系统之间的关系( 部件图) 软、硬件之间的物理关系( 布局图) u m l ( 统一建模语言) 在0 0 建模过程中起着巨大的作用,0 0 建模的每一个过程 都对应着一种u m l 工具。并且这些工具前后关联,完全统一在u m l 的框架下。关 于运用u m l 来建立o o 模型的具体过程,将在后续几节中详细介绍。 2 1 3 0 0 问题域定义与u s ec a s e 面向对象的问题域定义的任务是获取用户需求,描述用户需求,通过对象的认 定,确定问题域空间中存在的类和类的层次结构。u m l 采用案例模型( c a s e ) 描述用 户需求,用类图( c l a s s ) 描述问题域空间中存在的类。 面向对象的需求分析 面向对象的需求分析阶段,即采用面向对象的思想,对问题域进行描述。不同 于传统的需求分析方法,它关注的是问题域中的对象,而不是功能。这一过程实 际上是一种语意分析形式,它与正式的语言学、而不是传统的结构化设计有共同 之处。首要任务是解决必须做什么,而不是如何去做,其核心在于同用户的交流。 这一过程的最终目标是写出问题说明书,然后在此基础上进行个案分析。具体步 骤如下: 1 ) 与用户交流,描述问题 在了解有关该问题领域方面知识的基础上,简洁而精确地说明所要解决的问 题。问题说明书应该涉及问题本身,而不是该问题基于计算机的解决方案。 2 ) 细化问题说明书 问题的说明书必需用清楚且组织良好的语言去说明书它,良好的语法是至关重 i o 华中科技大学硕士学位论文 要的,否则会使所要表达的想法一团糟。需要建立一个词汇表,一般来说,对于 熟悉该领域的人会马上明白术语的含义。但对于具有模糊含义的术语,或者在目 前的问题中存在于有限的范围内,这就需要专门来定义它。 3 ) 确认问题和解决方案 在问题说明书中,要确认的一件重要事情是用户的目标。用户确切地要完成什 么? 用户的目标将影响解决方案的方向。设计方还必须说明所希望的结果。解决 问题的最终成果是什么? 最终成果表达了什么信息? 案例图 图2 2从问题说明书到案例图”1 u m l 中的使用个案( u s ec a s e ) u m l 采用使用案例( u s ec a s e ) 来描述需求分析的结果。值得强调的是,c a s e 图 并不等于系统需求,但它却展现和暗示了需求。使用c a s e 对理解系统的应有行为 和导出详细需求极有帮助。复杂的系统常常有多个c a s e ,可以分成几个层次。分 析系统需求时,最好先确定一些关键或优先的c a s e 。这些必须支持的c a s e 推动者+ 系统的初步设计。初步设计经过分析及修改后,成为优化的设计。图2 2 说明了 在需求分析中从问题说明书到c a s e 图的过程。 u m l 中的u s ec a s e 框图揭示了系统中的使用案例与角色之间的关系。使用案 例是系统提供的功能块,通过使用案例观察系统,能够将系统实现与系统目标分 开,客户可以看到系统提供的功能,先确定系统范围再深入开展项目工作。 华q - 科技大学硕士学位论文 a c t o r ( 角色) u s e c a s e ( 案例) 图2 3角色与案例的图例 与传统方法不同,将项目分解成使用案例是个面向对象过程,而不是面向实现 的过程,因此它关注的是用户对系统的需求。角色是与所建系统交互的人或物。 使用案例描述系统范围内的一切,而角色描述系统范围外的一切。在u m l 中,角 色与个案表示如图2 3 所示。 2 1 4 0 0 问题域分析与类图 这一阶段的任务是从问题说明书中提取问题、抽离问题对象,逐步建立起问题 域空间中存在的类和类的层次结构。从现实世界中抽离有用对象,形成计算机所 认识的类( c l a s s ) ,需要丰富的领域经验和相当的计算机开发经验。前面编制的” 问题说明书”和绘制的”使用个案图”正是为了这个阶段而准备的。这个阶段将 正式从现实领域走入计算机领域,为了弥补自然思维与计算机思维方法上的鸿沟, 需要开发人员不断钻研领域知识、不断和用户进行交流,这样才能尽可能地缩小 差异。好在我们已经有了”面向对象方法学”这个利器,有了”问题说明书”和” 使用个案图”的前期准备,它们将会使我们所建立的对象模型最大限度地符合现 实模型。 必须要说明的一点是:分析阶段所得到的类与设计阶段要设计的类侧重点有所 不同。分析阶段的类和属性只是简单从问题域中抽取出的,而设计阶段标识的类、 属性和操作是为了实现某个实体。即分析阶段只是简单从问题域中抽离出类,只 是简单对类做一个大概的层次上的划分,同时类的属性只显示了在需求中提到的 部分,没有细化到操作。在设计阶段将对类做进一步细化设计,确定在解空间应 该存在的类和类之间的关系。 u m l 类有两种表达方法:长式与短式,简单地说短式是长式盼简化表达形式。 图2 4 代表的是类图的长式,标记的顶上一格显示类的名称,中间一格是该类的 属性,最下面一格代表类中的操作方法。图2 5 是u n i l 类图的短式,只有类的名 称。图2 6 是对象图,标记显示对象实例名( 如o b j e c t l ) 及类名,中间有冒号( :) , 是 华中科技大学硕士学位论文 并加底线。在编程语言中用来存放对象引用的变量,就是对象实例名。 c 1 a s s t t r i b u t e o p e r a t i o n0 图2 4 类图的长式图2 5 类圈的短式图2 6 对象图 2 2 运用u m l 的信息系统分析与设计 2 2 1 u u l 的系统级建模表示方法 面向对象的系统分析阶段( o o a ,o b j e c t o r i e n t e da n a l y s i s ) ,就是抽取和整 理用户需求并建立问题域精确模型的过程。面向对象分析( 0 0 a ) 是以对象及其交互 关系为手段,将基于客观一用户角度,对问题域描述的需求分析,转换为基于 主观一计算机角度,对问题域的分析。分析阶段还应该完成整个系统划分为若 干个子系统的工作,设计出合理的系统结构、合理的子系统间关系,逐步分析每 一个子系统,并最终完成整个系统设计。同时需要作出一些明确的决策以解决各 自系统的软硬件资源分配的问题,从而为下一步的设计作出必要的准备工作”“,。 在删l 中与系统级分析相对应的是部件图和布局图。部件图代表组成软件系统 的各个部件,布局图描述了系统软、硬环境的部署。u h l 采用这些图形来规范在系 统分析中所得到的结果。实际上u 】i l l 这种统一建模语言是建立在上述的分析思想 之上的,具体的u m l 语言只不过是一些图形表达规范罢了。 部件图( c o m p o n e n td ia g r a m e ) 软件系统般由一组部件组成,即子系统。部件是相对独立的软件实施”“,是 可执行的软件模块,有自已特有的功能,并可在系统中安装使用。部件图是描述 部件之间组织和依赖关系的图,系统中各部件相互合作,给系统提供了整体的功 能。1 ,如图2 7 所示。 华中科技大学硕士学位论文 图2 7 部件( c o m p o n e n t ) 的u m l 标记 布局图( d e p io y m e n tdi a g r a m e ) 布局图说明系统中软件和硬件部件之间的物理关系。1 ,描述系统运行时的处理 节点( n o d e ) 以及节点上的部件、进程和对象的配置关系。所谓节点”“”1 ,指的是可 以运行的实实在在的东西,如工作台或服务器,它运行时有处理数据或运算的功 能,节点内含有部件实例和其他东西,如数据库、文件等。利用系统布局图可以 为各种网络拓扑结构建立模型,主要包括:c 1 i e n t s e r v e r 、三层体系架构、 i n t e r n e t i n t r a n e t 或广域网。在u m l 中,布局图主要描述网络系统中节点的拓扑 结构、这些节点是怎样连接的以及应用软件是怎样划分并分配到相应的节点上的。 u m l 用一立体的框块或盒子来表示节点,如图2 8 所示。这里节点a 包含两个部件: c o m p l ( 部件1 ) 和c o m p 2 ( 部件2 ) 。 圈2 8 布局图节点( n o d e ) 的u m l 标记 2 2 2u m l 的静态分析 一旦系统的基本使用环境确定后,则要开始标识候选类并指明它们的责任和相 互间的关系“1 。由前面的分析可知,在面向对象的软件开发中,类的分析与设计是 1 4 华中科技大学硕士学位论文 其核心部分。类与子类的形成:客观世界兰苎_概念! 竺蔓卜类 三三,子类”“,是个完整的抽象思维过程。由此可见,必须从客观世界出 发才能正确识别出类和对象,并运用抽象思维方法获得概念,最后表达为具有层 次、类属、继承等关系的类结构。 关联( a s s o c i a t i o n ) 关联定义了类之间的一种语义联系。3 ,是类实例间链接的抽象,在u m l 类图中 用壹线表示。关联往往是句子中动词的直接表现,如图2 9 所示的例子就可表达 为高压线路由电缆组成。这个句子中的动词命名了一个关联,称为关联名 ( a s s o c i a t i o nn a m e ) 。在描述关联时,为了说明有多少实例参与了关联,u m l 定义 了关联的阶( m u l t i p l i c i t y ) 。阶的表示形式有多种,十表示与多个对象联系,0 1 表示与零个或一个对象联系,l 表示只与一个对象联系。 r 11术r _ l高压线路f - _ 爿 电缆 l l 一 有序 l - j 图29 关联 聚合( a g g r e g a t io n ) 聚合是= 种特殊形式的关联,用来说明对象间的整体部分的关系,用空心菱 形表示( 如图2 1 0 变电站与变电设备的实例) 。复合( c o m p o s i t i o n ) 是聚合的另 种形式,整体和部分之间具有很强的所有权关系和致的生存期,部分对象只属 于一个整体,但是一旦被创建,就和整体同时存在和消亡,用实心菱形表示,如 图2 1 0 所示的部门与部门经理的实例。 继承( f n h e rj c a n c e ) 管 图2 1 0 聚合与复合 华中科技大学硕士学位论文 继承用来描述一组具有相同属性和行为的对象实例,在u m l 中用三角形表示。 一个对象类定义好之后,可以把它扩展成新的类,称为子类,原来的类称为母类。 子类继承其母类的属性和行为,可以把本来在母类定义的运算重新定义。从而母 类的行为可为子类所继承,子类也可以”青出于蓝”,修订母类的行为,并树立 其特有的新属性和运算。如图2 1 1 所示的人员与职员的实例。 窨= :。s a t i n ,g 赫 n n n g ( ) :i n t ”e g e r z i l q吊 ,u s e r h m :s t r i n e ,d十r o v a l i d a t e p a s s - o r d 0 :b o o l e a n c h e m e e p o r d n s iz 图2 1 1 母类( p e r s o n ) 与子类( u s e r ) 服务类( s e r v a n tc ia s s ) 这是一种特殊类关系,经常出现在类设计中。服务类把原本属于主类的属性和 运算包装起来,自己成为主类的属性。正因为如此,一个服务类只可以为一个主 类服务,它与主类的关联也就是复合型。 c i r c l e 葛忑而瓦i 一 岛x 0 :r e a l y 0 :r e a l o v e ( d xr e a l d y :r e a l ) 一 p o i n t , 博f 孺赢 竺! 坚 o v e ( d x :r e a l ,d y :r e a l ) 图2 1 2 作为c ir c i e 的服务类p o i n t 如图2 1 2 所示,左边的圆类,其圆心坐标由( x o ,y o ) 给出。为精简圆类的设计 1 6 一 华中科技大学硕士学位论文 可以用一个点类把圆心坐标,以及相关的运算包装起来。这样点类就成了圆类的 服务类,如图右边所示,圆类是点类的主类( m a s t e rc l a s s ) 。若要调用圆类的运 算m o v e ,只需调用点类中相应的运算m o v e ,就可以把圆在x 方向移动出,在y 方 向移动d y 。 2 2 3u m l 的通用对象设计样式 把问题分解为多个对象,除了取决于问题的本身,也受设计人员主观见解的影 响。尽管如此,经验告诉我们,少数几个对象的设计模块,往往像建筑砖那样, 出现在更大、更复杂的系统架构中。这些模块,称为”设计样式”( d e s i g np a t t e r n ) 1 。一个设计样式可以反复使用,以解决同类的问题。设计样式,是人们在大量的 设计中总结出来,并具有代表性和实用性的标准范式。它有着广为人知的外在表 现或行为,并对应一组熟知的运算和相同的设计内容。因此编程人员可以轻而易 举地实施设计,以加快从设计到编码的进程。下面所介绍的设计样式,都是经常 出现在实际设计中的”砖块”,在随后的实例中可以看到如何用这些砖块来构造 对象系统。 集合管理器( c o i le c tio nm a n a g e r ) 集合管理器是众多对象设计样式中应用最广的一个,它有一个管理器( m a n a g e r ) 类,负责管理一组对象( 即,对象集合) 。而且,管理器类负责构造和去除集合中 对象。 职员 s e r m a n a g e r0 囊e t u s e r ;o :u s e r x e t u s e r ( u s e r n a m e :s t r i n g ) :u s e x e t u s e r c o u n t ( ) :i n t e g e r x o n t a i n s ( u s e r :u s e r ) :b o o l e a n 汽d d u s e r ( u s e r n a m e :s t r i n ) :u s e r v r e m o v e u s e r ( u s e r n a m e :s t r i n g ) x e m o v e u s e r ( u s e r :u s e r ) 、e m o v e a l i u s e r s0 堡! ! e 旦譬 l f s 图2 13 集合管理器u s e r m a n a g e r 管理u s e r 图2 1 3 所示的是职员管理器( u s e r m a n a g e r ) 管理组职员( u s e r ) ,u s e r 代 1 7 华中科技大学硕士学位论文 表一个可变长度的用户对象阵列,用户管理器,全权负责构造每一个用户对象的 实例。也就是图中增加用户运算a d d u s e r ( u s e r n a m e :s t r i n g ) ,是唯一可以构造用 户的运算,这是用户管理器和其他集合管理器特有的行为。集合管理器常用索引 ( i n d e x ) 来快速查找其中的对象。因此,每个对象都必须有一个关键字( k e y ) 与之 对应,上面的例子中,用户对象的关键字是用户名( u s e r n a m e ) 。通过用户管理器 来构造用户对象,就可保证这些对象被正确地放到索引中,这也意味着在添加用 户的运算中,要有更新索引的程序。由此可见,使用通用对象设计样式,不仅可 以方便地搭建整个对象系统,还可以规范设计,避免一些常见错误。这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基底节出血护理问题
- 护理中医护理膝关节
- 医疗人才流动现状与培养机制创新研究报告
- 2025年新能源商用车辆市场新能源公交车应用场景案例分析报告:市场研究
- 品牌竞争影响力-洞察及研究
- 餐饮连锁店节假日促销方案
- 高校学生心理健康教育方案实践报告
- 厨师岗位聘用协议书范本及须知事项
- 2025年互联网金融平台用户信任建立与金融科技风险管理策略研究
- 幼儿园安保人员培训考试题
- GB/T 19851.12-2025中小学体育器材和场地第12部分:学生体质健康测试器材
- 医院安保课件
- 文印员考试题库及答案
- 2025年涂料行业研究报告及未来发展趋势预测
- 2025年部编版新教材语文九年级上册教学计划(含进度表)
- 2025河北唐山某国有企业单位招聘劳务派遣工作人员44人笔试参考题库附带答案详解(10套)
- 留疆战士考试题库及答案
- 班主任与家长沟通课件
- 2025年安庆怀宁县事业单位招聘考试试题【答案】
- 预防残疾知识讲座课件
- 浪漫七夕领证活动方案
评论
0/150
提交评论