精·SE8面向对象的分析及设计方法1.ppt

  1. 1、本文档共107页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章要点 数据对象 使用实例 类— 对象模型 对象—关系模型 对象—行为模型 基于数据对象分析方法 面向对象的设计模型 系统设计 对象设计 领域对象设计 思考题 软件开发中为什么要使用面向对象方法? 面向对象分析方法与结构化分析方法有哪些相似之处?有何区别? 面向对象方法是对过去的一个完全突破,还是“换汤不换药”? 传统方法学的缺点 存在的问题: 生产率提高的幅度远不能满足需要; 软件重用程度很低; 软件仍然很难维护; 软件往往不能真正满足用户需要。 出现上述问题的原因很多,最根本的是瀑布型开发模型和结构化技术的缺点。 传统方法学的缺点 瀑布型模型的缺点:僵化 瀑布模型要求:生命周期各阶段间遵守严格的顺序。 实际情况:软件开发往往在反复实践中完成。 瀑布模型要求:预先定义并“冻结”软件需求。 实际情况:某些系统的需求的一个逐渐明确的过程,且预先定义的需求到软件完成时可能已经过时。 传统方法学的缺点 结构化技术的缺点: 本质上是功能分解,以实现功能的过程为中心,而用户的需求变化主要是针对功能的。这就使基于过程的设计不易被理解;且功能变化往往引起结构变化较大,稳定性不好。 系统有明确的边界定义,且系统结构依赖于系统边界的定义,这样的系统不易扩充和修改。 结构分析技术对处理的分解过程带有任意性,不同的开发人员开发相同的系统时,可能经过分解而得出不同的软件结构。 数据与操作分开处理,可能造成软构件对具体应用环境的依赖,可重用性(reusability)较差。 解决问题的途径 新的软件开发模型,如快速原型方法、螺旋模型方法等; 新的软件开发方法学——面向对象方法学。 面向对象方法学OOM 特点:尽可能模拟人类习惯的思维方式,即问题域与求解域在结构上尽可能一致。与传统方法相反,OOM以数据或信息为主线,把数据和处理结合构成统一体———对象。这时程序不再是一系列工作在数据上的函数集合,而是相互协作又彼此独立的对象的集合。 传统方法和面向对象方法的比较 传统方法和面向对象方法的比较 OOM:以object 为核心,强调对现实概念的模拟而不强调算法。“面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统”。 ? Class:由特殊到一般的归纳(induction) ? Inheritance:由一般到特殊的演绎(deduction) 稳定性好:软件功能需求的变化不牵动全局,只需局部修改; Class 独立性强:只要修改不涉及class的对外接口,则内部修改完全不影响外部调用; Inheritance和多态性(polymorphism)使其很容易被修改和扩充; 容易理解; 面向对象软件开发 面向对象技术是一个有全新概念的开发模式,其特点是: 方法是对软件开发过程所有阶段进行综合考虑而得到的; 从生存期的一个阶段到下一个阶段所使用的方法与技术具有高度的连续性; 将OOA、OOD、OOP集成到生存期的相应阶段。 面向对象软件开发 面向对象的分析:建立应用领域的面向对象模型,识别出的对象反映了与待解决问题相关的一些实体及操作。 面向对象的设计:建立软件系统的面向对象模型,这个软件系统能实现识别出的需求。在面向对象设计的对象与要解决问题的答案是关联的。虽然两者存在密切的关系,但设计者有时不得不通过增加新的对象和转换问题对象的方法来实现答案。 面向对象的程序设计:使用面向对象的程序设计语言来实现软件设计。面向对象的程序语言支持对象的直接实现和提供设施来定义对象。 面向对象分析方法(OOA) 定义 利用面向对象的概念和方法来构建软件需求系统,更加关注对象的内在性质,以及对象的关系与行为。 基本步骤 定义系统的用例; 在领域分析的基础上建立问题域的类—对象模型; 建立对象—关系模型和对象—行为模型。 面向对象分析模型 面向对象分析模型 核心 使用实例(用例):软件分析员根据需求创建一组“场景”(Scenario),每个场景包含了一个使用实例。从用例出发,进一步抽取和定义OOA模型的3种模型(中间层) 中间层 类--对象模型:描述系统所涉及的全部类-对象,每一个类--对象都通过属性、操作和协作者来进行进一步描述 对象—关系模型:描述对象之间的静态关系,同时定义了系统中所有重要的消息路径,它也可以具体化到对象的属性、操作和协作者。 对象—行为模型:描述了系统的动态行为,即对象在特定的状态下如何反映外界的事件。 3种模型相当于结构化分析模型的E-R图、DFD图和STD图,分别起到描述数据模型、功能模型与行为模型的作用 面向对象分析模型 用例图 为用户进行需求获取和建模提供了一种有效的方法,是面向对象分析建模的基础。 一个“用例”可描述软件系统和一个外部角色

文档评论(0)

daixuefei + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档