- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]UML建模
第3章 类图、对象图和包图 学习重点: 理解类图的基本概念 为系统建模类 建模类之间的关联关系 理解并建模泛化关系 了解依赖关系和实现关系 了解对象图和包图的概念 构造类图 3.1 类的定义 什么是类? 具有相似结构、行为和关系的一组对象的描述符。 类的组成: 属性 操作 1、属性 标准格式: [可见性] 属性名 [:类型] [‘[‘多重性[次序]’]’][=初始值][{特性}] 可见性:可访问性; 多重性:属性值格式格式 次序:属性值顺顺序 特性:属性约束 1、属性 可见性 属性的可访问性,四类: 公共(public) 私有(private) 保护(protected) 实现(implementation) 1、属性 举例: +size: Area=(100,100) #visibility: Boolean=false -origin: Point; Colors: color[3] Points:Point[2..* ordered] Name:String[0..2] 2、操作 标准格式: [可见性]操作名[(参数列表)][:返回类型][{特性} ] 例: +display() #create() -attachXWindow(xwin:XWindowPtr) +getname(): string 参考资料 [美]Arthur J。Riel著,鲍志云译。OOD启思录。人民邮电出版社。2004。7 3.2 类的关系 四类基本关系 关联(association) 泛化(generalization) 实现(realization) 依赖(dependency) 1、关联 关联名 1、关联 关联角色和多重性 1、关联 受限关联 由关联类和限制符可以唯一确定受限制的类 例:一名顾客有多个银行账户,但指定的一个账户只能对应一个客户,甚至没有客户; 1、关联 关联类 把关联建立类 1、关联 关联约束/依赖 1、关联 聚合(aggregation) 整体和部分的关系,个体可以属于多个整体; 1、关联 自反关联 1、关联 派生(Derived)关联 2、泛化 Generalization, 一般元素和特殊元素之间的关系。 2、泛化 泛化的目的: 可以使子类共享父类的属性和操作,实现继承; 可以使子类的实例用于任何父类被声明使用的地方,实现多态; 2、泛化 继承 2、泛化 多态 2、泛化 抽象类(abstract,斜体表示):不能产生实例的类,因为类中的方法往往只是声明,而没有实现。 所有的基类都应该是抽象类,所有的抽象类都应该是基类。 3、依赖 一个元素(b)的改变会影响另外一个元素(a),则称存在依赖关系(a依赖b) 4、实现 一个元素完成另外一个元素的操作功能 如接口类及其实现;接口没有属性,只有声明的操作方法(对方法没有实现部分),而由实现类具体定义实现部分。 3.3 类的划分 三种类型: 边界类(Entity) 实体类(Boundary) 控制类(Control) 1、边界类 位于系统与边界的交界处,例如窗体、对话框、报表、与外部设备或系统交互的类等等; 边界类可以通过用例确定,因为活动者必须通过边界类参与用例; 1、边界类 1、边界类 2、实体类 保存永久信息,最终可能映射数据库中的表和字段; 2、实体类 3、控制类 协调其他类工作和控制总体逻辑流程,一般每个用例有一个控制类。控制类会向其他类发送消息。 3.4 类图 某校的类图 1、类图的抽象层次 概念类 描述应有领域中的概念,仅包含类名,不考虑细节; 分析类 分析不针对具体语言,包含一些类的细节特性; 设计类 针对具体的语言,考虑类的实现细节; 2、绘制类图 步骤 分析问题域,确定需求 寻找类,确定类的含义和职责 定义类的属性和操作 确定类之间的关系 精化类和类间的关系 绘制类图 3、寻找类 使用名词/动词分析寻找类 收集相关信息 补充的需求规格说明 用例 项目词汇表 分析信息 名词、名词短语 类或属性 动词、动词短语 操作 3、寻找类 使用CRC卡片分析寻找类 脑力风暴收集信息 关键业务用例表示,,其他卡片作为属性 3.5 设计原则 开闭原则 Liskov替换原则 依赖倒置原则 接口分离原则 1、开闭原则 指一个模块在扩展性方面是开发的,在更改性方面是封闭的。 下例:output逻辑复杂,修改复杂 1、开闭原则 开闭原则 添加具有Print方法的接口 2、Liskov替换原则 子类可以替代父类出现在任何父类出现的地方; 3、依赖倒置原则 依赖关系尽量依赖接口(或抽象类),而不是依赖具体类。 4、接口分离原则 设计时采用多个与特定客户类有关的接口比采用一个通用的接口好。 3.6 对象图 描述一组对象及其联系。通常用类图
您可能关注的文档
- [理学]dreaweaver第2章 网页布局pt.ppt
- [理学]D18Z 配位化合物.ppt
- [理学]Excel宏与VBA.ppt
- [理学]G11_1对弧长和曲线积分.ppt
- [理学]ERDAS遥感图像处理教程_绝对给力.doc
- [理学]GPRS培训讲义3.ppt
- [理学]javase-15-thread.pdf
- [理学]Java三种排序.doc
- [理学]JAVA备忘-网络编程.doc
- [理学]java第五章.ppt
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)