第7章 面向对象分析-1.pptx
《第7章 面向对象分析-1.pptx》由会员分享,可在线阅读,更多相关《第7章 面向对象分析-1.pptx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章 面向对象分析7.1面向对象分析方法 7.1.1面向对象分析过程面向对象的分析主要以用例模型为基础。开发人员在收集到的原始需求的基础上,通过构建用例模型从而得到系统的需求。进而再通过对用例模型的完善,使得需求得到改善。所谓用例是指系统中的一个功能单元,可以描述为参与者与系统之间的一次交互。用例常被用来收集用户的需求。首先要找到系统的操作者,即用例的参与者。参与者是在系统之外,透过系统边界与系统进行有意义交互的任何事物。可以把参与者执行的每一个系统功能都看作一个用例。可以说,用例描述了系统的功能,涉及系统为了实现一个功能目标而关联的参与者、对象和行为。确定了系统的所有用例之后,就可以开始识
2、别目标系统中的对象和类了。把具有相似属性和操作的对象定义为一个类。7.1面向对象分析方法 边界类示意图控制类示意图实体类示意图目标系统的类可以划分为边界类、控制类和实体类。边界类代表了系统及其操参与者的边界,描述参与者与系统之间的交互。它更加关注系统的职责,而不是实现职责的具体细节。通常,界面控制类、系统和设备接口类都属于边界类。控制类代表了系统的逻辑控制,描述一个用例所具有的事件流的控制行为,实现对用例行为的封装。通常,可以为每个用例定义一个控制类。实体类描述了系统中必须存储的信息及相关的行为,通常对应于现实世界中的事物。7.1面向对象分析方法 确定了系统的类和对象之后,就可以分析类之间的关
3、系了。对象或类之间的关系有依赖、关联、聚合、组合、泛化和实现。依赖关系是“非结构化”的和短暂的关系,表明某个对象会影响另外一个对象的行为或服务。关联关系是“结构化”的关系,描述对象之间的连接。聚合关系和组合关系是特殊的关联关系,它们强调整体和部分之间的从属性,组合是聚合的一种形式,组合关系对应的整体和部分具有很强的归属关系和一致的生命期。比如,计算机和显示器就属于聚合关系。泛化关系与类间的继承类似。实现关系是针对类与接口的关系。7.1面向对象分析方法 明确了对象、类和类之间的层次关系之后,需要进一步识别出对象之间的动态交互行为,即系统响应外部事件或操作的工作过程。一般采用顺序图将用例和分析的对
4、象联系在一起,描述用例的行为是如何在对象之间分布的。也可以采用协作图、状态图或活动图。最后,需要将需求分析的结果用多种模型图表示出来,并对其进行评审。由于分析的过程是一个循序渐进的过程,合理的分析模型需要多次迭代才能得到。7.1面向对象分析方法 7.1面向对象分析方法 7.1.2面向对象分析原则1定义有实际意义的对象2模型的描述要规范、准确3共享性4封装性7.2面向对象建模 在面向对象的分析中,通常需要建立3种形式的模型,它们分别是描述系统数据结构的对象模型,描述系统控制结构的动态模型,以及描述系统功能的功能模型。这3种模型都涉及数据、控制、操作等共同的概念,只不过每种模型描述的侧重点不同。一
5、个典型的软件系统通常包括的内容为:它使用数据结构(对象模型),执行操作(动态模型),并且完成数据值的变化(功能模型)。7.2面向对象建模 7.2.1建立对象模型复杂问题(大型系统)的对象模型通常由下述5个层次组成:主题层(也称为范畴层)、类与对象层、结构层、属性层和服务层,如图所示。上述5个层次对应着在面向对象分析过程中建立对象模型的5项主要活动:划分主题;找出类与对象;识别结构;定义属性;定义服务。7.2面向对象建模 1.划分主题A主题主题是把一组具有较强联系的类组织在一起而得到的类的集合。主题的划分有以下两种方式。自底向上。先建立对象类,然后把对象类中关系较密切的类组织为一个主题。如果主题
6、数量仍然很多,则可进一步将联系较强的小主题组织为大主题,直到系统中最上层主题数不超过7个。这种方式适合于小型系统或中型系统。自顶向下。先分析系统,确定几个大的主题,每个主题相当于一个子系统。将这些子系统再分别进行面向对象分析,建立各个子系统中的对象类。最终可将各个子系统合并为一个大的子系统。7.2面向对象建模 B主题图上述的主题划分的最终结果能够形成一个完整的对象类图和一个主题图。主题图一般有如下3种表示方式。展开方式将关系较密切的对象类画在一个框内,框的每个角标上主题号,框内是详细的对象类图,标出每个类的属性和服务以及类之间的详细关系,这就是主题图的展开方式。压缩方式将每个主题号及主题名分别
7、写在一个框内,这就是主题图的压缩方式。半展开方式。将每个框内主题号、主题名及该主题中所含的对象类全部列出,这就是主题图的半展开方式。主题图的压缩方式是为了表明系统的总体情况,而主题图的展开方式是为了表明系统的详细情况。7.2面向对象建模 2.确定类与对象建立对象模型首先要确定对象、类,然后分析对象、类之间的相互关系。对象类之间的关系可分为关联、依赖、泛化和实现等关系。对象模型用类符号、类实例符号、类的关联关系、继承关系等表示。有些对象具有主动服务功能,称为主动对象。7.2面向对象建模 3.确定属性属性的确定既与问题域有关,也和目标系统的任务有关。标识属性的启发性准则如下:1)每个对象至少需包含
8、一个属性。2)属性取值必需适合对象类的所有实例。3)出现在泛化关系中的对象所继承的属性必须与泛化关系一致。4)系统的所有存储数据必须定义为属性。5)对象的导出属性应当略去。6)在分析阶段,如果某属性描述了对象的外部不可见状态,应将该属性从分析模型中删去。通用的属性应放在泛化结构中较高层的类中,特殊的属性应放在较低层的类中。实体关系图中的实体可能对应于某一对象。这样,实体的属性就会简单地成为对象的属性。如果实体(如学校)不只对应于一类对象,那么这个实体的属性必须分配到分析模型的不同类的对象之中。7.2面向对象建模 4.确定服务“对象”是由描述其属性的数据以及可以对这些数据施加的操作(即方法或服务
9、),封装在一起构成的独立单元。因此,为建立完整的对象模型,既要确定类中应该定义的属性,又要确定类中应该定义的服务。但是,需要等到建立了动态模型和功能模型之后,才能最终确定类中应有的服务,因为这两个模型更明确地描述了每个类中应该提供哪些服务。实际上,在确定类中应有的服务时,既要考虑该类实体的常规行为,又要考虑在本系统中特殊需要的服务。7.2面向对象建模 7.2.2建立动态模型对象模型建立后,就需考察对象和关系的动态变化情况。动态模型描述对象和关系的状态、状态转换的触发事件、对象的服务(行为)。(1)状态状态是对象在其生命周期中的某个特定阶段所处的某种情形,它是对影响对象行为的属性值的一种抽象。状
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 面向对象分析-1 面向 对象 分析
限制150内