6章 OO方法与UML.pptVIP

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 OO方法与UML 6.1面向对象开发方法概述 面向对象方法的发展简史 面向对象开发方法(OO方法)是一种用于指导软件开发的系统方法。它最早出现在挪威计算中心和奥斯陆大学共同研制的仿真语言Simula67中。80年美国Xerox研究中心推出的SmallTalk80语言使得面向对象的编程开始得到比较完整地支持。80年代中后期OO方法不断成熟,并在开发GUI应用系统和大规模信息系统等方面取得了一系列成功范例。90年代以后,OO方法开始广泛流行,并逐渐取代结构化开发方法的主流地位。 6.1.1 OO方法的基本思想 OO方法理解和构造软件系统的基本思想是: 软件系统不是由彼此独立的“数据”和“功能”组成的,而是由“一起协作、相互作用以完成指定任务的对象集合” 构成的。“对象”封装了“有关的数据和功能”——代表了业务领域中存在的“事物”。 软件系统中的对象通过“属性(数据成员)”说明自己的当前状态;通过“方法(成员函数)”参与业务活动并承担自己的职责;通过“消息”请求与其他对象的协作,利用他们的方法提供自己所需的服务。 “类”是对具有相同特征的对象的抽象定义,它描述了对象的内部结构(属性、方法),是用于创建实例对象的模板。OO方法提供“继承”机制,允许以层次结构来体现“一般性事物”和“较特殊事物”的共性和差异。 综上所述,面向对象方法的基本思想可以用如下等式来概括: OO = Objects (对象) + Classes (类) + Inheritance (继承) + Communication with messages(消息通信) 6.1.2 OO方法 VS 结构化方法 6.1.3 OO方法的优点 问题空间与解空间结构的一致性 通过对现实(业务)系统的直接模拟来构造软件系统,将现实系统中的事物直接映射到软件系统中。 体系结构的独立性 对象固有的封装性和信息隐藏机理保证了对象具有很强的自含性和独立性,消息通信弱化了对象之间的依赖,局部修改不会造成大范围的影响,从而使系统便于拓展、维护和进化 可复用性 对象具有较强的独立性,可复用于多个项目,同时继承机制使得子类可以自动得到父类的程序实现,有利于减少编码量,提高开发效率。 开发过程的高度连贯性 在系统分析、设计、实现等阶段始终围绕着“类和对象”进行发现和精化,核心任务和概念没有变化,便于开发工作的平滑过渡。 …… 6.1.4 OOA的主要任务 OO方法也由一组用于指导系统分析(OOA)、设计(OOD)和实现(OOP)的技术集合构成。其中在面向对象的分析阶段,要完成如下任务: 定义系统范围,说明系统内部要向外部的“参与者”提供哪些服务以及提供服务的方式。 定义系统的结构,确定系统内部应包含的事物(类),事物的内部结构(属性、方法)以及事物之间的静态关系。 定义系统行为,说明提供每一种系统服务的过程是由系统内哪些对象以什么样的消息通信方式协作完成的。 为上述信息建立可视化的模型 6.2 UML——统一建模语言 统一建模语言(Unifide Modeling Language UML)是一种绘制软件蓝图(蓝图意为一个详细的、各部分完全协调的计划或行动规划)的可视化建模语言,可用于对软件密集型系统进行可视化、详述、构造和文档化。 6.2.1 UML的发展历程 众多的开发方法论和建模技术限制了OO方法的有效应用,94年开始,在OO方法研究领域内具有领导性的三位大师( Grady Booch 、 James Rumbaugh 、 Ivar Jacobson )开始彼此从对方的方法中吸纳思想,并致力于将他们的主要工作结果进行统一化。 吸收了多种不同开发方法的优点,建立了一种适用于面向对象软件开发的,以用例驱动的、以体系结构为中心的,迭代及增量的软件开发过程——RUP( Rational 统一软件开发过程) 统一了不同开发方法的基本概念,定义了用以可视化表现这些概念的符号体系及语义,形成了可用于对各个开发阶段的制品进行建模的可视化建模语言——UML 6.2.2 UML的特点 UML是一种定义良好、富有表达力且普遍适用的建模语言。可用于对复杂系统(包括非软件领域的系统)的静态结构、动态行为和构造实施建立可视化模型;特别适用对采用OO方法开发的软件系统进行建模。 UML是一种可以在软件开发全过程中使用的建模语言,对于需求分析、系统设计、实现等不同阶段的制品都可以采用UML进行文档化。 UML只是一种建模语言,而不是软件开发方法,也不是软件开发过程。 UML更适合对采用OO方法开发的软件系统进行建模。 UML更适合用于“用例驱动的,以体系结构为中心的、迭代及增量的”软件开发过程中。 6.2.3 UML的构成三要素 UM

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档