软件工程理论与实践 第2版 课件 第8章 面向对象分析.pptx

软件工程理论与实践 第2版 课件 第8章 面向对象分析.pptx

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程理论与实践第2版课件

第8章面向对象分析本章概述 本章首先讲述面向对象分析的过程和原则,然后阐述面向对象建模,包括如何建立对象模型,动态模型以及功能模型。本章目标:理解面向对象分析的过程和原则掌握面向对象建模的三种模型目录第一节第二节面向对象建模面向对象分析方法面向对象分析方法面向对象分析过程面向对象分析原则8.1面向对象分析过程 面向对象的分析主要以用例模型为基础。开发人员在收集到的原始需求的基础上,通过构建用例模型从而得到系统的需求。进而再通过对用例模型的完善,使得需求得到改善。所谓用例是指系统中的一个功能单元,可以描述为参与者与系统之间的一次交互。用例常被用来收集用户的需求。首先要找到系统的操作者,即用例的参与者。参与者是在系统之外,透过系统边界与系统进行有意义交互的任何事物。可以把参与者执行的每一个系统功能都看作一个用例。可以说,用例描述了系统的功能,涉及系统为了实现一个功能目标而关联的参与者、对象和行为。确定了系统的所有用例之后,就可以开始识别目标系统中的对象和类了。把具有相似属性和操作的对象定义为一个类。面向对象分析过程 确定了系统的所有用例之后,就可以开始识别目标系统中的对象和类了。把具有相似属性和操作的对象定义为一个类。属性定义对象的静态特征,一个对象往往包含很多属性,目标系统应当只考虑与系统业务相关的属性。 通常先找出所有的候选类,然后再从候选类中剔除与问题域无关的、非本质的东西。例如将书写的需求陈述中,提取名词作为候选类,描述特征的形容词作为属性,动词作为操作,然后再剔除不必要、不正确、重复的内容。类的划分目标系统的类可以划分为边界类、控制类和实体类。边界类代表了系统及其操参与者的边界,描述参与者与系统之间的交互。它更加关注系统的职责,而不是实现职责的具体细节。通常,界面控制类、系统和设备接口类都属于边界类。控制类代表了系统的逻辑控制,描述一个用例所具有的事件流的控制行为,实现对用例行为的封装。通常,可以为每个用例定义一个控制类。实体类描述了系统中必须存储的信息及相关的行为,通常对应于现实世界中的事物。边界类示意图控制类示意图实体类示意图类之间的关系 确定了系统的类和对象之后,就可以分析类之间的关系了。对象或类之间的关系有依赖、关联、聚合、组合、泛化和实现。依赖关系是“非结构化”的和短暂的关系,表明某个对象会影响另外一个对象的行为或服务。关联关系是“结构化”的关系,描述对象之间的连接。聚合关系和组合关系是特殊的关联关系,它们强调整体和部分之间的从属性,组合是聚合的一种形式,组合关系对应的整体和部分具有很强的归属关系和一致的生命期。比如,计算机和显示器就属于聚合关系。泛化关系与类间的继承类似。实现关系是针对类与接口的关系。面向对象分析过程 明确了对象、类和类之间的层次关系之后,需要进一步识别出对象之间的动态交互行为,即系统响应外部事件或操作的工作过程。一般采用顺序图将用例和分析的对象联系在一起,描述用例的行为是如何在对象之间分布的。也可以采用协作图、状态图或活动图。 最后,需要将需求分析的结果用多种模型图表示出来,并对其进行评审。由于分析的过程是一个循序渐进的过程,合理的分析模型需要多次迭代才能得到。面向对象分析过程面向对象的需求分析面向对象分析方法面向对象分析过程面向对象分析原则8.1面向对象分析原则1.定义有实际意义的对象2.模型的描述要规范、准确3.共享性4.封装性面向对象分析原则1.定义有实际意义的对象 特别要注意的是,一定要把在应用领域中有意义的、与所要解决的问题有关系的所有事物作为对象,既不能遗漏,也不要定义无关对象。2.模型的描述要规范、准确 强调实体的本质,忽略无关的属性。对象描述应尽量使用现在时态,陈述语句,以保证语义的清晰。定义对象时还应该描述对象之间的关系及对象的背景信息3.共享性 面向对象技术的共享有不同级别,如同一类共享属性和服务;子类继承父类属性和服务;同意应用中的共享类及其继承性;通过类库实现在不同应用中的共享等。对不能抽象为某一类的对象实例要明确排斥4.封装性 所有软件构件都有明确的范围及清楚的外部边界。软件构件的内部实现和界面接口分离。目录第一节第二节面向对象建模面向对象分析方法面向对象建模 在面向对象的分析中,通常需要建立3种形式的模型,它们分别是描述系统数据结构的对象模型,描述系统控制结构的动态模型,以及描述系统功能的功能模型。这3种模型都涉及数据、控制、操作等共同的概念,只不过每种模型描述的侧重点不同。一个典型的软件系统通常包括的内容为: 它使用数据结构(对象模型) 执行操作(动态模型) 完成数据值的变化(功能模型)。面向对象建模 面向对象分析中,解决的问题不同,3个模型的重要程度也不同。 1. 一般来说,解决任何问题,都要从客观世界实体及实体相互关系抽象出有价值的对象模型; 2. 当问题涉

文档评论(0)

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

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

1亿VIP精品文档

相关文档