`
sundful
  • 浏览: 1250142 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

UML用户指南(二)----类、关系、图、接口、包、实例

阅读更多

 

 

     UML为类提供了图形表示,强调抽象的最重要的部分。在用UML对类建模时,要记住: 对最终用户或实现者来说,各个类都应该映射到某个有形的或者概念性的抽象。一个结构良好的类,应符合如下条件:

 

     ① 为取自问题或者解域的词汇中的事物提供明确的抽象

     ② 嵌入一个小的,明确定义的责任集,并且能很好实现它们

     ③ 把抽象的规约和它的实现清楚地分开

     ④ 简单而且可以理解,并具有可适应性和可扩展性。

 

 

 

概念

 

 

1. 可见性:公用的(public)、受保护的(protected)、私有的(private)、包(package)

 

 

2. 实例范围和静态范围:前者表示每一个实例均有它自己的值,后者表示对于类目的所有实例,特征的值是唯一的,也称为类范围,通过对特性串加下划线来表示它

 

3. 多重性



 

 

 

4. 抽象元素、叶子元素和多态性元素

 

 



 

 

 

把一个类名写为斜体表示是抽象的;指派leaf,表示它是叶子操作,意味着该操作不是多态的,不可以被覆写(这类似于java中的final操作)。除了leaf之外,还有:查询(query),操作不会改变系统的状态;顺序(sequential),调用者必须在对象外部进行协调;监护(guarded),通过将所有对象监护操作的所有调用顺序化;并发(concurrent),静态(static);

 

 

 

5. 属性

 

[可见性] 属性名 [':' 类型] ['['多重性']'] ['=' 初始值] [特性串 {',特性串}]

 

 

6. 操作

 

[可见性] 操作名 ['('参数表')'] [':' 返回类型] [特性串 {',特性串}]

 

 

 

模板类

 

 

模板是一个被参数化的元素,最常见的用法是详述可以被实例化为特殊元素的容器,并保证它们的类型是正确的。在UML中,模板类的画法与普通类一样,只是在类的图标的右上角带有一个附加的虚框

 



 

 

 

在UML中绘制类目时,要遵循如下策略:

 

 

仅显示语境中对理解抽象来说重要的类目特征

选择类目的意图提供最佳可视化提示的衍型化的版本。

 

 

 

关系

 

 

 

 1.依赖(dependency)

 

是UML中的语义关系,其中一个元素(独立元素)发生变化会影响到另一个元素(依赖元素)的语义。




 
 

 

 2.关联(association)

 

类之间的结构关系。两个类之间的简单关联表示了两个同等地位类之间的结构关系,这意味着这两个类在概念上是同个级别,一个类并不比另一个类重要

 

 

 

 

有时候要对"整体/部分"关系建模,其中一个类描述了一个较大的事物       ("整体"),它由较小的事物("部分")组成。这就是组合和聚合

 

 

 

 

A.聚合:它描述了"has-a"关系,意思是整体对象拥有部分。它被表示为一个整体的一端有一个空心菱形修饰的简单关联。

 



 

 

 

B.组合:是聚合的一种形式,它具有强的拥有关系,而且整体与部分的生命周期是一致的。一旦创建,它们就是同生共死

 



 

 

 

 

 

 

    3.泛化(generalization):是一种特殊/一般关系。

 



 

 

 4.实现(realization):类目之间的语义关系,其中一个类目指定了由另一个铃木保证执行的合约。
 

 

 

 

下面给出一个学校的信息系统中的一组类:

 

 

 

 



 

 

 

在用UML绘制关系时,要遵循如下策略:

 

 

仅显示对理解特定的成组事物必不可少的关系。避免使用多余的关系

 

 

 

 

 

 

 

在软件方面,有5种互补视图对于软件体系结构的可视化、详述、构造、和文档化是最重要的,分别是:用例图、设计图、交互图、实现图和部署图

 

 

 

结构图:可以把系统的静态方面看做是对系统的相对稳定的骨架的表示。UML的结构图大致上是围绕着对系统建模时发现的几组主要事物来组织的。

 

 

 

① 类图

 

 

 

展示了一组类、接口、协作以及它们之间的关系。

 

 

② 构件图

 

 

展示了实现构件的内部部件。、连接件和端口

 

 

③ 组合结构图

 

 

展示了类或者协作的内部结构。

 

 

④ 对象图

 

 

展示了一组对象已经它们之间的关系。用对象图说明在类图中所发现的事物的实例的数据结构和静态快照。

 

 

⑤ 制品图

 

 

展示了一组制品以及它们与其他制品、与它们所实现的类之间的关系。

 

 

⑥ 部署图

 

 

展示了一组结点以及它们之间的关系。

 

 

行为图:把系统的动态方面看作是对系统变化部分的表示。

 

 

 

① 用例图(use case diagram)

 

 

描述了一组用例和参与者以及它们之间关系。可以用用例图表述系统的静态用例视图。

 

 

 

② 顺序图(sequence diagram)

 

 

强调消息的时间次序的交互图。

 

 

③ 通信图(communication diagram)

 

 

强调收发消息的对象的结构组织的交互图。

 

 

④ 状态图(state diagram)

 

 

展示了一个由状态、转换、事件和活动组成的状态机。

 

 

⑤ 活动图

 

 

展示了计算机中一步步的活动六。

 

 

一个结构良好的图,应该满足如下要求:1.仅包含对于理解这个方面所必须的元素。2.不过分简化,以免读者误解重要的语义

 

 

对复杂的视图建模,要遵循一下策略:

 

 

① 确信无法在更高的抽象层次上表达这些信息

 

② 如果已经尽可能地隐藏了能够隐藏的细节,但图仍然很复杂,就考了把一些元素组织到一些包或者较高层次的协作中,然后仅把这些包或者协作画在图中。

 

③ 如果仍然复杂,就用注解和色彩作为可视化提示

 

④ 如果图还是很复杂,就打印出来挂在墙上

 

接口

 

接口详述了类或构件的合约而不指定其实现。一个类或构件可以实现多个接口。提供服务的成为供接口(provided interface)。类似地,一个类所需要的来自其他类的服务集合是它的需接口(required interface)

 

 

 

 

 

这个构件提供了3个接口:IUnkown、Component3、Component4。IUnkown接口是展开形式,另外两个以简单形式。还需要两个接口,即ITransaction、Component2。ITransaction为展开形式。

 

 

 

 

 

在UML中,把组织模型的组块称之为包。它不能执行。包可以拥有其他元素,这些元素可以是类、接口、构件、结点、协作、用例和图,甚至是其他包。

 

 

在包Vision中有一个名为Camera的类,而包Vision又在包Person中。类Camera的全名为Person::Vision::Camera。

 

 

应该记住,包只是为了帮助组织模型的元素。如果在实际系统中有些抽象表明它们本身就是对象,就不要使用包



 

 

 

 

 

 

实例

 

实例(instance)是抽象的具体表现,可以对它施加一组操作,而且它可能由一组状态,用以存储操作的结果。

 

在建模时,要把它们放在对象图中(若想可视化它们的细节),或者放在交互图和活动图中(若想可视化它们在动态情景中的参与情况)。如果要显示地表示对象与它的抽象之间的关系,可以把对象放在类图中。在表示法上,实例的名称后跟一个冒号再加上类型,例如    t:Transaction。

 



分享到:
评论

相关推荐

    UML用户指南(中文)

    类图是UML中最基本的图表,用于描述系统中的类、接口及其相互关系,如继承、实现和关联。类图展示了类的属性(Attributes)、操作(Operations)以及它们之间的关系。 4. **序列图(Sequence Diagram)与协作图...

    UML用户指南-UML用户指南

    《UML用户指南》是面向软件开发者和系统分析师的重要参考资料,它详细介绍了统一建模语言(Unified Modeling Language,简称UML)的使用方法和概念。UML是一种图形化的建模工具,广泛应用于软件开发的各个阶段,包括...

    uml书籍( UML用户指南(第2版).pdf+面向对象设计uml实践(第二版).pdf)

    《UML用户指南(第2版).pdf》与《面向对象设计uml实践(第二版).pdf》这两本书籍是IT领域中关于统一建模语言(Unified Modeling Language,简称UML)的重要参考资料,对于理解并应用UML进行软件设计具有极高的价值。...

    UML用户指南

    **UML用户指南** UML(Unified Modeling Language)是一种标准化的通用...本《UML用户指南》PDF文件将详细阐述以上内容,包括更多实例、图示和实践指导,旨在帮助读者全面掌握UML,并将其有效地应用于软件开发实践中。

    UML用户指南(第2版)_书签版

    9. **模型和模型元素**:UML模型由一系列模型元素构成,包括类、接口、用例、对象、活动、事件等,它们通过关系相互连接,形成完整的模型。 阅读《UML用户指南(第2版)_书签版》将帮助你掌握UML的基本语法和用法,...

    UML用户指南(高清最新版)

    每种图都有其特定的用途,如类图用于表示系统中的类、接口和它们之间的关系,而用例图则侧重于描述系统与用户之间的交互。 2. **关系**:UML中包含了多种关系,如关联(Association)、依赖(Dependency)、泛化...

    UML用户指南(第2版)第二部分

    ### UML用户指南(第2版)第二部分:核心概念解析与应用 #### 一、UML概述 统一建模语言(Unified Modeling Language,简称UML)是一种图形化的标准化建模语言,它允许软件开发人员对系统进行可视化、分析、设计、...

    UML用户指南(包括中英文两版)

    **UML用户指南详解** UML(统一建模语言,...这份“UML用户指南”中文版提供了详尽的解释和实例,是理解和掌握UML的理想资源。配合英文版阅读,可以帮助你更好地理解其中的专业术语和概念,提升跨文化交流能力。

    UML用户指南(CHM格式)

    除了这些基础图示,UML还包括包图、定时图、交互概览图等,以及扩展机制,如注解、约束和 stereotypes,这些都可能在指南中有所涉及。 学习UML的目的是为了更好地进行系统分析和设计,它提供了一种标准化的语言,...

    uml 用户指南

    ### UML用户指南知识点概述 #### 一、UML简介 - **定义**:统一建模语言(Unified Modeling Language, UML)是一种图形化的标准建模语言,用于软件开发过程中的系统架构、设计和文档记录。 - **目标**:帮助开发者...

    UML用户指南(第2版)4

    - **事物**:是UML模型中最基本的构建块,包括结构事物(如类、接口)、行为事物(如用例、活动)、分组事物(如包)和注释事物。 - **关系**:描述了事物之间的连接,包括依赖、关联、泛化、实现等。 - **图表**...

    UML建模实例(包括mdl,doc文档)

    本资料包包含的"UML建模实例"旨在帮助用户深入理解并掌握UML的各种元素和应用场景。 1. **UML基本概念** - UML是一种标准化的建模语言,用于系统分析、设计和项目管理,它结合了面向对象的思想和图形化表示。 - ...

    UML用户指南(第2版)第三部分

    ### UML用户指南(第2版)第三部分知识点解析 #### 一、UML概述 UML(Unified Modeling Language)即统一建模语言,是一种图形化的标准建模语言,用于软件系统的可视化建模。它提供了丰富的图形符号表示,能够帮助...

    uml用户指南

    2. **类图**:表示类、接口以及它们之间的关系,是系统静态结构的模型,用于描述类的属性、操作以及类之间的继承、关联、聚合和组合关系。 3. **序列图和协作图**:都是行为图,展示对象间的交互顺序,不同之处在于...

    UML Distilled(UML精华)-3rd-(英文版&繁体中文版)

    1. **基本图元和关系**:书中介绍了UML中的基本图元,如类、接口、对象、用例、活动和状态机,以及它们之间的关系,如关联、依赖、泛化和实现等。理解这些基本元素是学习UML的基础。 2. **类图和对象图**:类图用于...

    UML实践(第二版)

    3. **类与对象**:在UML中,类是具有相同属性、操作和关系的对象的模板,而对象是类的实例,具有具体的值。 4. **接口与组件**:接口定义了对象或组件可以提供的服务,而组件是可替换的、独立的软件单元,它们可以...

    UML学习指南ppt_pdf

    1. **类图(Class Diagram)**:类图是UML中最常见的图,用于表示类、接口以及它们之间的关系,如继承、关联、聚合和组合等。类图可以用来描述系统的静态结构。 2. **对象图(Object Diagram)**:对象图与类图类似,但...

    UML-20-Cheatsheet.pdf

    - **类图**:显示了系统的静态结构,包括类、接口、对象及其之间的关系。 - **序列图**:描述对象之间的消息传递顺序。 - **状态图**:展示对象在其生命周期内可能经历的状态以及状态间的转换。 #### 七、UML 2.0的...

Global site tag (gtag.js) - Google Analytics