- 1、本文档共83页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二部分:如何运用UML建模
第六章结构模型
提纲
• 概述
• 类图
• 对象图
• 组件图
• 部署图
• 小结
概述
• 结构模型
对系统的静态方面进行可视化、详述、构造
和文档化
由类、接口、协作、组件和节点等结构事物
的布局构成
包含
• 类图 • 组件图
• 对象图 • 部署图
类图
类图
• 什么是类?
具有相似结构、行为和关系的一组对象的
描述符
组成
• 属性
• 操作
类图
• 类的组成
属性
• [可见性] 属性名[: 类型] [‘[’多重性[次序]‘]’][ =初
始值][{特性}]
• 例:- balance: double = 0.0
操作
• [可见性] 操作名[ (参数列表)] [:返回类型][{特
性}]
• 例:- getBalance ( ): double
类图
• 属性和操作
可见性:模型元素在所含空间外的可见度
• 公共(Public)
• 私有(Private)
• 保护(Protected)
范围:表示属性/操作的所有者范围
• 实例范围
• 类范围
类图
• 范围
实例范围
• 不同对象具有不同属性值
类范围
• 为类的所有对象提供全局特征
• 为每个对象定义具有单一、共享值的属性
类图
• 类图
展示一组类、接口、协作及其之间的关系
类图
• 类图
通常包含
• 结构事物:类、接口、协作
• 关系:依赖、关联、泛化、实现
一般用法
• 命名和建模系统中的概念
• 对简单协作建模
• 建模逻辑数据库模式
类图
• 泛化关系
一种特殊(子元素)/一般(父元素)关系
子元素共享父元素的结构和行为
子元素的对象可替代父元素的对象
类图
• 泛化关系
用于建模面向对象中的继承
• 给定一组类,寻找两个及以上类之间公共的职
责、属性和操作
• 将公共的职责、属性与操作抽象为一个父类
• 指明子类到父类间的继承关系
类图
• 泛化关系
用于实现面向对象中的多态
• 覆写 :子类重新定义从父类继承来的操作
• 多态 :继承了同一父类的多个子类的同名操作具
有各自不同的形态
类图
• 抽象类(Abstract class)
不能产生实例的类
• 在UML 中用斜体书写表示
• 类中的操作只有声明,没有实现
• 泛化关系中所有的基类都应该是抽象类
优点
• 抽象操作定义了一组子类必须实现的“契约”
• 可替换性原则 :任意子类都可代替父类
类图
• 泛化的约束
泛化集合:由一个超类的若干子类构成
类图
• 泛化的约束
四种约束
• 完全(complete) :泛化集合中子类覆盖所有可能性
• 不完全(incomplete) :泛化集合中还存在其他子类
• 互斥(disjoint) :对象仅可能是一个子类的实例
• 重叠(overlapping) :对象可以是多个子类的实例
文档评论(0)