1、UML的术语和概念,系统和模型 注释 对象 接口、类型和角色 包 UML的扩充机制,系统和模型,系统 由一组为了完成一定目标而组织起来的元素构成的,这些元素是用一组模型分别从不同的角度描述的。 子系统 系统的一部分,用来将一个复杂的系统分解为几乎相互独立的部分。,系统和子系统,系统和模型,模型 对现实世界的简化,对系统的抽象,建立模型的目的是为了更好地理解系统。 视图 模型在某一侧面的投影,是从某个角度看模型或突出模型中的某一侧面,而忽略与这一侧面无关的实体。包括:用例视、设计视、过程视、实现视、配置视。 图 是一组元素的图形表示,通常表示成由顶点(事物)和弧(关系)组成的连通图。,注释,附加
2、在元素或元素集上,用来表示约束或注释的图形符号。,对象,对象(Object)代表了类的一个特定实例。对象具有身份(Identity)和属性值(Attribute Values)。 实例和对象基本上是同义词,它们常常可以互换使用。实例是抽象的具体表示,操作可以作用于实例,实例可以有状态来存储操作结果。实例被用来模拟现实世界中存在的具体的、或原型的东西。 对象就是类的实例,所有的对象都是实例,但是并不是所有的实例都是对象,例如,一个关联的实例不是一个对象,它只是一个实例,是一个连接。对象具有状态、行为和身份,同种对象的结构和行为定义在它们的类中。,对象,UML中最常用的实例是类的实例,也就是对象。
3、当使用对象时,通常将它放在对象图、或交互作用图、或活动图中,有时候,也可以将对象放在类图中表示对象与其抽象类之间的关系。 对于出现在同一个协作图或活动图中的多个对象图标,名字相同的对象图标代表同一个对象,而名字不同的图标则代表不同的对象。 不同图中的对象图标代表不同的对象,即使对象图标的名字是一样的。,对象,为了与上下文中的其他对象相区别,每个对象都应该有一个名字。 对象可以用3种方式命名:对象名、对象名和类名、或只用类名。 对象图标类似于类图标,只是名字底下加下划线如图所示。,对象,实践中,对象名通常用从问题域词汇表中抽取出来的名词或名词短语来表示,通常将每个单词的第一个字母大写,但name
4、、myFrame等一些单词除外。,对象,对象的状态 对象的状态包括对象的所有属性以及每个属性的当前值。对象的状态是动态的。当可视化对象的状态时,所规定的状态值是对象在时间和空间的某一点的值。在同一个交互作用图中,可以用多次出现的对象来表示对象的变化的状态,对象在图中的每次出现都代表不同的状态。 对状态的操作通常会改变对象的状态,对对象的查询不会改变对象的状态。,接口、类型和角色,接口 一组用于描述类或构件的一个服务的操作。 名称 一个有别于其他接口的文字串。 操作 描述类或构件的服务。 关系 接口可以参与泛化、关联、依赖和实现关系。,接口、类型和角色,接口、类型和角色,角色 一个参与特定语境的
5、实体的行为。,接口、类型和角色,类型 类的构造型,用于描述对象的域。,接口、类型和角色,包,包 用于把元素组织成组的通用机制。 名称 一个有别于其他包的文字串。 拥有的元素 类、接口、构件、节点、协作、用况和图,以及其他包。 可见性 可以控制包所拥有的元素的可见性。 引入与示出 引入授予一个包中的元素可以访问另一个包中的元素的单向承诺; 包的公共部分称为示出。一个包示出的部分仅对显示地引入这个包的那些包中的内容是可见的。,包,包,泛化 用于说明包的家族。,包,标准构造型 虚包(facade) 描述一个包只是其他一些包的视图。 框架(framework) 描述一个主要由模式组成的包。 桩(stub) 描述一个作为另一个包的公共内容代理的包。 子系统(subsystem) 描述一个表示被建模的整个系统的一个独立部分的包。 系统(system) 描述一个表示被建模的整个系统的包。,UML的扩充机制,原型 能够说清领域中的词汇,且看起来仍像原有构造块的新事物。,UML的扩充机制,标记值 为UML事物增加新的特性。,UML的扩充机制,约束 增加新的语义或改变已存在的规则。,THANKS,