欢迎来到天天文库
浏览记录
ID:20625311
大小:1018.00 KB
页数:64页
时间:2018-10-14
《6章 oo方法与uml》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章OO方法与UML6.1面向对象开发方法概述面向对象方法的发展简史面向对象开发方法(OO方法)是一种用于指导软件开发的系统方法。它最早出现在挪威计算中心和奥斯陆大学共同研制的仿真语言Simula67中。80年美国Xerox研究中心推出的SmallTalk80语言使得面向对象的编程开始得到比较完整地支持。80年代中后期OO方法不断成熟,并在开发GUI应用系统和大规模信息系统等方面取得了一系列成功范例。90年代以后,OO方法开始广泛流行,并逐渐取代结构化开发方法的主流地位。6.1.1OO方法的基本思想OO方法理解和构造软
2、件系统的基本思想是:软件系统不是由彼此独立的“数据”和“功能”组成的,而是由“一起协作、相互作用以完成指定任务的对象集合”构成的。“对象”封装了“有关的数据和功能”——代表了业务领域中存在的“事物”。软件系统中的对象通过“属性(数据成员)”说明自己的当前状态;通过“方法(成员函数)”参与业务活动并承担自己的职责;通过“消息”请求与其他对象的协作,利用他们的方法提供自己所需的服务。“类”是对具有相同特征的对象的抽象定义,它描述了对象的内部结构(属性、方法),是用于创建实例对象的模板。OO方法提供“继承”机制,允许以层次结构
3、来体现“一般性事物”和“较特殊事物”的共性和差异。综上所述,面向对象方法的基本思想可以用如下等式来概括:OO=Objects(对象)+Classes(类)+Inheritance(继承)+Communicationwithmessages(消息通信)结构化方法数据与功能是分离的功能1输入输出功能2功能3数据实体对象把和一个事物有关的数据和功能封装为系统组成的基本单位消息消息描述该对象状态的数据对象A体现对象职责的方法描述该对象状态的数据对象B体现对象职责的方法结构化方法系统是功能和数据的集合功能处理数据输入并产生输出功
4、能与功能之间传递数据面向对象方法系统是对象的集合对象封装自身数据和功能对象间通过消息协作6.1.2OO方法VS结构化方法6.1.3OO方法的优点问题空间与解空间结构的一致性通过对现实(业务)系统的直接模拟来构造软件系统,将现实系统中的事物直接映射到软件系统中。体系结构的独立性对象固有的封装性和信息隐藏机理保证了对象具有很强的自含性和独立性,消息通信弱化了对象之间的依赖,局部修改不会造成大范围的影响,从而使系统便于拓展、维护和进化可复用性对象具有较强的独立性,可复用于多个项目,同时继承机制使得子类可以自动得到父类的程序实现
5、,有利于减少编码量,提高开发效率。开发过程的高度连贯性在系统分析、设计、实现等阶段始终围绕着“类和对象”进行发现和精化,核心任务和概念没有变化,便于开发工作的平滑过渡。……6.1.4OOA的主要任务OO方法也由一组用于指导系统分析(OOA)、设计(OOD)和实现(OOP)的技术集合构成。其中在面向对象的分析阶段,要完成如下任务:定义系统范围,说明系统内部要向外部的“参与者”提供哪些服务以及提供服务的方式。定义系统的结构,确定系统内部应包含的事物(类),事物的内部结构(属性、方法)以及事物之间的静态关系。定义系统行为,说明
6、提供每一种系统服务的过程是由系统内哪些对象以什么样的消息通信方式协作完成的。为上述信息建立可视化的模型统一建模语言(UnifideModelingLanguageUML)是一种绘制软件蓝图(蓝图意为一个详细的、各部分完全协调的计划或行动规划)的可视化建模语言,可用于对软件密集型系统进行可视化、详述、构造和文档化。6.2UML——统一建模语言6.2.1UML的发展历程UML产生的背景——OO方法大战。80年代末对OO分析和设计技术的研究达到高潮,当时指导面向对象开发的方法论有50多种,其中比较有代表性的包括由GradyBo
7、och(Rational公司)提出的Booch方法Booch是面向对象方法最早的倡导者之一,Booch方法强调利用“宏开发”和“微开发”两个过程实现系统的演进,比较适合于指导系统的设计和构造。由JamesRumbaugh(通用电气公司)提出OMT方法OMT引入各种独立于语言的表示符。用对象模型、动态模型、功能模型和用例模型完成对整个系统的建模,比较适用于分析和描述以数据为中心的信息系统由IvarJacobson(Objectory公司)提出的OOSE方法OOSE最大特点是以用例(Use-Case)为中心驱动开发过程,用例
8、是精确描述需求的重要武器,也贯穿于对系统的测试和验证过程。OOSE比较适合支持商业工程和需求分析。众多的开发方法论和建模技术限制了OO方法的有效应用,94年开始,在OO方法研究领域内具有领导性的三位大师(GradyBooch、JamesRumbaugh、IvarJacobson)开始彼此从对方的方法中吸纳思想,并致力
此文档下载收益归作者所有