




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020年8月10日,广东工业大学校订机学院,1,软件工程软件工程,2020/8/10,广东工业大学校订机学院,2, 第十章关系分析本章内容: 10.1整体-部分结构10.2一般-特殊结构10.3实例连接10.4讯息连接10.5讯息连接10.6讯息详细说明10.7电梯例,2020/8/10,广东工业大学计算机学院,3,对象类与外部的关系如下通(3)对象之间的静态连接(即,反映到对象属性中的连接)用实例连接表示。 (4)对象之间的动态连接(即,对象行为之间的依赖关系)由消息链接表示。 2020/8/10,广东工业大学校订机学院,4,10.1整体-部分结构整体-部分关系反映对象间的构成关系,也称为
2、集合关系。 10.1.1整体-部分结构及其应用用于描述系统中各种对象之间的配置关系,并且发现一个类对象是另一类对象的组成部分。 2020/8/10,广东工业大学计算机学院,5,图10-1整体-部分结构的方式,2020/8/10,广东工业大学计算机学院,6,实现方法: classapubbs private : int a; 2020/8/10、广东工业大学计算机学院、8,2020/8/10、广东工业大学计算机学院、9,10.1.2表示法图10-2是表示组合关系的图形符号。 在图中,上部是整体的对象,下部是构成该组合关系的方向,从三角形的顶角画的线指的是整体的对角。 三角形标记表示组合关系的方向
3、:从三角形顶角绘制的线指向整个对象,从三角形底边绘制的线与某些对象连接。 通常,将整体对象描绘在图的上部,将一部分对象放置在下部有助于理解模型。 2020/8/10,广东工业大学计算机学院,10,图10-2组合关系图形,2020/8/10,广东工业大学计算机学院,11,10.1.3如何发现整体-部分结构。 在此探讨从问题域发现整体部分结构的方法。 2020/8/10,广东工业大学校订机学院,12,问题域中的事物间的构成关系用各种各样的方式表现。 从各种方法考虑事物之间的构成状况是发现整体部分结构的基本战略。 1 .组织机构及其下级组织和部分2 .物理整体事物及其组织部分3 .组织和成员4 .抽
4、象事物的整体和部分5 .一个事物在空间上包含其他事物6 .具体事物及其某些抽象方面,2020/8/10, 广东工业大学校订机学院10.1.3节所述的战略可以发现很多候补的整体部分结构,但仍需要审查和筛选,可以考虑其必要性:1.系统责任的必要性是结构中的整体对象和部分对象都是系统责任的必要性, 两者之间的整体部分关系也是系统责任的要求表现广东工业大学计算机学院,14,2 .是否属于整个问题域部分结构中的整体对象和部分对象都应该属于现在的问题域,否则就不需要这个结构。 3 .如果有明显的整体-部分关系,不能明确区分两个对象之间谁是部分,谁是整体,则不应该用整体-部分结构来表示。 4 .如果某些对象
5、是否具有一个或多个属性,而某些对象只具有一个属性,请考虑将其取消,合并到整个对象中,使其成为整个对象的一个属性。、2020/8/10、广东工业大学计算机学院、15、10.1.5对象的定义简化,在OOA模型中,在对象的定义过于复杂的情况下,应考虑对其进行简化的方法。 方法是在复杂的对象内部进行“再分析”。 如果适用,可以使用它们构成一个部分对象,并创建与整体对象的类定义分离的整体-部分结构。 2020/8/10,广东工业大学计算机学院,16,10.1.6支持软件多路复用,在整体-部分结构中组装支持软件多路复用是OO方法受到重视的优点之一。 在任一情况下,可以使用总体部分结构来实现或支持复用。 一
6、种情况是两个或多个对象类具有一组属性和服务,它们描述这些对象的相同组件。2020/8/10、广东工业大学计算机学院,17、还有一种情况是在系统中已经定义了一种对象,在定义其他对象时,发现一组属性和服务与该定义的对象相同,这些属性2020/8/10,广东工业大学计算机学院,18,例如机械加工工厂的生产管理系统中,各种机床、起重机、电动停车等对象级别有一套属性和服务,描述了纳入这些对象的马达。 2020/8/10,广东工业大学计算机学院,19,10.1.7整体-部分结构的进一步运用,整体-部分结构是表现力强的系统结构手段,可以将其作为改善系统结构和解决一些棘手问题的有效手段。 1 .表示动态变化的
7、目标特征对象的一些属性和服务在系统的运行和演进过程中动态地变化。 例如,系统中的个人对象。 系统运转中随着时间的流逝,个人的身份在变化。 解决方法之一是删除旧对象,然后使用其他类创建新对象。 2020/8/10,广东工业大学校订机学院,20,缺陷:重复删除/加入对象的第二个属性是不变的,将旧对象的信息复制到新对象的第三个属性是,概念上的一个对象只是根据几个特征变化而已2 .表示数量不定的构成部分如果在一个对象中包含某些数量不定且内容相同的构成部分,则难以实现。 例如,“书”对象是2020/8/10、广东工业大学校订机学院、21、10.1.8调整对象层和属性层,按照整体-部分关系,在整体对象中追
8、加属性,表示该部分对象。 此属性的详细说明指定此属性的数据类型。 如果结构紧密,则对于将某些对象的类作为其数据类型的松散结构,使用对象指针或对象id作为数据类型。 2020/8/10,广东工业大学校订机学院,22,10.2.1一般-特殊结构,10.2.1一般-特殊结构及其用途一般-特殊结构是由具有一般-特殊关系(继承关系)的等级构成的结构。 一般类和特殊类的定义以两种方式给出,从类的特征来看,如果类a具有类b的所有属性和所有服务,并且具有独特的属性或服务,则a被称为b的特殊类,b被称为a的一般类。 从类集合的元素来看,如果类a中的所有对象都是类b中的对象,并且存在不属于类a的对象,则a是b的特
9、殊类,而b是a的常规类。 这两个定义在本质上是等价的。 2020/8/10,广东工业大学校订机学院,23,一般类特征集是特殊类集合的真实子集特殊类对象实例集合是类对象实例集合的真实子集,如图10-5所示。 2020/8/10、广东工业大学校订机学院、24、10.2.2表示法、一般特殊结构的表示法如图10-6所示,用一般特殊结构连接器连接该结构的各类。 其中,图10-6(a )是一般特殊结构连接器,从圆弧引出的链路与一般等级连接,从直线引出的链路与各特殊等级连接。图10-6(b )是完全一般的特殊结构,包括结构中的每个类。 2020/8/10,广东工业大学计算机学院,25,图10-6一般-特殊结
10、构连接,2020/8/10,广东工业大学计算机学院,26,10.2.3是如何发现的2 .学习问题域的分类学知识问题域现行的分类方法是事物的特征、分类3 .根据一般特殊结构的定义分析,根据一般特殊结构的两个定义,导出两个构想。 一种是将每个类看作一个对象集合,分析集合间的包含关系。 二是看一个班是否具有另一个班的所有特征。 2020/8/10,广东工业大学计算机学院,27,4 .班级属性和服务考察:看一个班级属性服务是否适合这个班级的所有对象。 另一方面,检查两个类是否有具有共同属性的服务。 5 .考虑区域范围内的复用,但考虑相同区域中的复用性。 2020/8/10,广东工业大学计算机学院,28
11、,10.2.4审查与调整,1 .是否符合分类学常识特殊结构中各类之间的关系应符合分类学常识和人的日常思维方式。 检查方法是“is-a-kind-of”的关系,测量一般类和特殊类的配对。 2 .在系统责任是否需要这样的分类的一个候选的一般特殊结构中,特殊类和特殊类以及一般类和特殊类之间在概念上有区别,但是系统责任不一定要求这样的区别。 2020/8/10,广东工业大学校订机学院,29,3 .问题域是否需要这样的分类考虑必须从问题域出发。 4 .继承关系是否构成在常识上某个类之间应该是一般的特别关系,但是抽象的类没有继承的属性和服务。 正确的方法是维持这两个类之间的相互关系,不要构建一般的特殊结构
12、。 2020/8/10,广东工业大学校订机学院,30,10.2.5多重继承和多态性问题,应根据问题域和系统的实际要求,如果类之间的关系是多重继承,应确立多重继承的一般特殊结构。 由于OOA模型应该忠实地映射问题域,所以在OOA中不考虑实现条件,以问题域和系统责任的原样的姿态制作结构,一旦成为OOD,就根据具体的实现条件进行必要的调整。 广东工业大学计算机学院,2020/8/10,广东工业大学计算机学院,31,图10-7是多继承结构的示例,2020/8/10,广东工业大学计算机学院,32用一般特殊结构表示对象,例如,用一般等级“多边形”定义的“边数”、“边长”、“边长” 其中,1 ) 多边形类.
13、(边数、边长、顶点数据、描绘)2) 正方形类.(边数、边长、顶点数据、描绘)3) 长方形是理想的,2020/8/10,广东工业大学校订算机学院,34,最后,对开始学习OO方法的读者,(1)重命名(rees 重装是实现多态性的一种方法,不更改名称而更改继承的属性或服务的内容。 重命名是解决多个继承的名称冲突的方法之一,不更改内容而重命名属性或服务。 (2)多重继承和多态性也是完全不同的两个概念,它们之间没有必然的联系。2020/8/10,广东工业大学校订机学院,35,10.2.6一般-特殊结构简化,一般-特殊结构将问题域中具有一般-特殊关系的结构归纳为一个,对一般类集中定义对象的共同特征,通过继
14、承简化特殊类的定义,但是没有节制地一般产生了一些不良影响,表现为两种现象:一是创造了深层次的继承,增加了系统的理解难度和处理开销;二是从某种类别中分类过多的特殊类别,使系统内的类别设定过多,增加了系统的理解难度和处理开销。 2020/8/10,广东工业大学计算机学院,36,重点检查以下情况:一个案例是,某特殊班级之间的差异可以用一般班级的某属性值来表现,没有其他差异。 第二个可以简化的是,特殊类没有自己的属性和服务。 第三个简单的情况是,一个类下面只有其他特殊类,而该类没有可创建的对象实例。 2020/8/10,广东工业大学校订机学院,37,通常,系统中的一般类只有满足下述任一条件才有存在的价
15、值,不满足下述任一条件才应该考虑简化。 (1)有必要使用这个来制作对象实例。 (2)有两个以上的特殊班级。 (3)其存在有助于软件的多路复用。 2020/8/10,广东工业大学计算机学院,38,10.2.7调整对象层和特征层,一般-特殊结构的活动的定义使分析师对系统中的对象类和其特征有更深的认识。 在创建结构时,通常需要对类图的对象和特征级别进行更改。 这包括添加、删除、联接或分离特定类,以及添加、删除或移动特定属性和服务到其他类。 对此,分析师需要随时回到对象水平和特征水平,进行必要的修正。 为了通过一般特殊结构连接器连接结构中的各类,实现整齐的美观,还需要根据需要调整类的位置。 在OOA工具的支持下,上述修改和调整很容易。2020/8/10、广东工业大学校订机学院、39、10.3实例连接、实例连接也称为链,表示对象间的静态关系。 静态连接是一个对象对另一个对象的依赖关系,最终可以由对象属性表示。 10.3.1简单实例连接1 .表示本节介绍实例连接中最简单的情况之一,即两种对象之间没有属性的实例连接。 其表示法如图10-9(a )所示,在具有实例连接关系的类之间划上连接线进行连接。 在连接线旁边提供表示其含义的连接线名称,在连接线的两端用数字表示其多重性。2020/8/10、广东工业大学计算机学院、40、图10-9这两种对象之间不具有属性的实例连接、2020/8/10、广东工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妊娠合并肺结核产后护理
- 成功的职业销售技能培训讲义
- 河北唐山市区县联考2025年高考化学试题原创模拟卷(六)含解析
- 福建省莆田市仙游县郊尾中学2025届高三下学期第一次调研考试数学试题试卷含解析
- 湖南师范大学《素描人体》2023-2024学年第二学期期末试卷
- 保定学院《数据统计与分析》2023-2024学年第二学期期末试卷
- 江苏省郑梁梅中学2025届高三语文试题下学期第二次质量检测试题含解析
- 中山火炬职业技术学院《医疗保险》2023-2024学年第二学期期末试卷
- 2025届山东省蒙阴市级名校初三年级第六次月考物理试题含解析
- 天津商务职业学院《书法创作》2023-2024学年第二学期期末试卷
- 中建项目商务管理手册
- 承插型盘扣式脚手架作业指导书
- 二氧化碳的检测
- 《菊次郎的夏天》电影赏析
- 佳能相机PowerShot SX60 HS使用说明书
- GB/T 44311-2024适老环境评估导则
- 2025届高考语文复习:补写语句+课件
- 康养服务专业群建设方案
- 人教版部编版统编版一年级语文上册汉语拼音9《y+w》课件
- CB-Z-211-1984船用金属复合材料超声波探伤工艺规程
- CJJ99-2017 城市桥梁养护技术标准
评论
0/150
提交评论