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

UML基础之Class Diagram

    博客分类:
  • UML
UML 
阅读更多

UML中,类图的使用最为广泛,一个类图包括三部分:

  • properties
    • attribute 指普通的变量 它有以下几个性质
      • visibility “-”表示此变量为private,“+”表示为public,“#”表示protected,“~”表示package
      • name 指变量的名称
      • type 指变量的类型
      • multiplicity 多样性
      • default values 默认值
      • {property-string} 比如{readOnly}表示此变量只读,而默认情况下为{unrestricted}表示可修改的
    •  
      • 例如:
        - name: String [1] = "Untitled" {readOnly}
         
    • association(关联) 指的是一个对象在类中的引用,关联关系在图中的表示为一条带箭头的实线,它从source class指向target class,在线的两端有“0...1”、“1”、“*”这样的关系。
  • multiplicity
    • 属性的多样性
      • Optional 表示下界为0
      • Mandatory 表示下界大于等于1
      • Single-valued 表示上界为1
      • Multivalued 表示上界大于等于1 在多值中如果有特殊含义,可以在属性的后面指明{Object},而且当多值中有重复的值可以{nonunique},不允许有重复的数据时用{unique}表示
    • 关联的多样性
      • 1 表示1v1的关联关系
      • 0...1 表示0到1的关系
      • * 表示0到n的关系
  • bidirectional association(双向关联) 用带双箭头的实线表示 在程序设计的时候最好让一端来控制整体的关联关系,如果可能的情况下,选择单值的一端。这就需要从属(slave end)的一端把原本封装的数据泄漏(leak)给主控端(master end)。
  • operations 表示类中的方法 它的语法如:
    visibility name (parameter-list) : return-type {property-string}
    • visivility 与变量中的意思一致 
    • name 方法的名称
    • parameter-list 指方法中的参数
    • return-type 指方法的返回值
    • porperty-string 指应用到此操作中的一些性质值,比如用{query}来表示本操作只会从类中取值,不会改变系统状态,而是用{modifier}表示会改变系统状态。
    • 如下:
      + balanceOn (date: Date = default value) : Money
  • generalization(泛化) 子类与父类之间的继承关系,子类可以overwrite父类的方法或参数;还可以实现多态(polymorphism)。表示“is a kind of”的关系
  • notes and comments 可以对类做注释,之间用虚线表示,无箭头。
  • dependency(依赖) 表示两个元素之间,如果一个发生改变,也会影响到另一个,之间用一条虚线加箭头表示。在类中,依赖的关系有如下几种:一个类向另一个发送消息;一个类把另一个当做本类数据的一部分;一个类当做另一个类方法中的参数。依赖关系应该被谨慎控制,不然我们对程序做的任何改动都会造成连锁反应。应该把表现与逻辑解耦。依赖的情况,可以用很多关键字表示。
    • <<call>> 源端(调用方、元素)调用目标(target)的方法
    • <<create>> 源端(调用方)创建目标对象
    • <<derive>> 源端(调用方)由目标对象衍生出来(??
    • <<instantiate>> 源端(调用方)是目标端的一个实例(如果源端是一个类,那么目标端就是一个元类(metaclass))
    • <<permit>> 目标端允许源端访问它的私有(private)属性
    • <<realize>> 源端是目标端的一个实现(implementation)
    • <<refine>> 修饰表示不同语义等级之间的关系(??
    • <<substitute>> 源端可以替代目标对象
    • <<trace>>
    • <<use>> 源端需要目标端的实现

         要降低元素之间的依赖程度,要防止循环依赖。

  • Constraint Rules 限制条件一般写在{}中,如:{限制名称:限制条件解释},在Design by Contract有三种情况:
    • post-condition (事后条件) 限制操作后应该得到的结果
    • pre-condition(事先条件) 限制操作之前应该有如何的操作
    • invarian(不变条件) 限制操作中,类中某个条件不会变,如一个账户,在增加xx钱,再减少xx钱,余额是一定的。
  • 补充1:聚集(aggregation)和组合(composition),这个是需要从上下文的语义关系才能看出来的。聚集的意思是:当需要对“整体/部分”关系建模时,其中一个类描述了一个较大的事物(“整体”),它有较小的事物(“部分”)组成。把这种关系称为聚集,它描述了“has a”的关系,意思是整体对象拥有部分对象,用一条直线加上一个空菱形表示,空菱形指向整体一端,例如汽车对象和发动机、轮子对象的关系。组合使用一条直线加上一个实菱形表示,与聚集的区别是,两个类之间的关系式(contains a),两个类之间是强关联,一个类销亡,另一个类也肯定消亡。
  • 补充2:http://www.iteye.com/topic/37302
  • 补充3:当需要表示静态的属性或方法时,须在相应的属性和方法下面画一条实线。当命名接口时,需要在接口名上方加上<<interface>>标签。

 

2
0
分享到:
评论

相关推荐

    UML class diagram

    UML class diagram

    C# and UML class diagram

    组合关系的生命周期与整体对象紧密相连,整体对象销毁时,部分对象也随之销毁。例如,一个文档与其版本之间的关系就是组合关系。在C#中,组合关系通常通过在构造函数中创建部分对象来实现,如`public ClassTwo class...

    UML 2 Class Diagram Guidelines

    《UML 2 类图设计指南》 UML(统一建模语言)是软件工程领域中用于系统建模的一种标准语言,它通过图形化的方式帮助我们理解和表达软件系统的结构和行为。类图是UML中的一种核心图表,主要用于描绘系统的静态结构,...

    UML簡介_Class Diagram.pdf

    其中,类图(Class Diagram)是UML中最常用的一种图表类型,用于展示系统中类的静态结构及其相互关系。本文将详细介绍类图的基本概念、组成元素以及如何使用类图来描述系统。 #### 二、类图目的与作用 类图的主要...

    UML class diagram tutorial

    统一建模语言(UML)类图教程涵盖了如何使用UML来构建和可视化面向对象系统。UML类图是由一组类和类之间的关系集合构成的图形化表示方法。在面向对象系统中,一个类提供了一个明确定义责任集合的清晰抽象。类由三个...

    UML基础与Rose建模实用教程(配套光盘中PPT和实例文件)

    2. **类图(Class Diagram)**:类图展示了类、接口以及它们之间的关系,如继承、实现和关联等。它是静态结构的表示,用于描绘系统的数据模型。 3. **对象图(Object Diagram)**:对象图是类图在特定时刻的实例,...

    UML 基础、案例与应用(第三版)

    首先,UML的基础知识包括了它的七大图类:用例图(Use Case Diagram)、类图(Class Diagram)、对象图(Object Diagram)、序列图(Sequence Diagram)、协作图(Collaboration Diagram)、状态图(State Diagram)...

    UML基础案例与应用(第三版)

    4. **类图(Class Diagram)**:显示系统中的类、接口和它们之间的关系,如继承、实现、关联等,用于静态结构的建模。 5. **对象图(Object Diagram)**:类图的实例,展示具体对象之间的关系。 6. **序列图...

    UML.rar_diagram_uml顺序图_状态图_类图_类图 包图

    4. **类图(Class Diagram)**:类图是UML中最常见的图,它描绘了类、接口、对象之间的结构关系,如继承、实现、关联、聚合和组合等。类图不仅用于设计阶段,还可以作为代码生成的输入,帮助开发者建立清晰的系统...

    UML基础案例和应用

    1. **类图(Class Diagram)**:类图是UML中最重要的图之一,它展示了系统中的类、接口及其相互关系。类图中包含了类的属性、操作以及类之间的关联、继承和依赖关系。 2. **用例图(Use Case Diagram)**:用例图...

    uml基础教程.pdf

    类图(Class Diagram)是 UML 中的一种静态结构图,它描述了模型中的类、类的内部结构和类之间的关系。在系统设计中,类图可以让思路更加清晰,帮助开发者更好地理解系统的结构和行为。 类之间的关系有五种: 1. ...

    《UML基础、建模与设计实战》课件和例子

    2. **类图(Class Diagram)**:描绘了系统的静态结构,包括类、接口以及它们之间的关系,如继承、关联、依赖等。类图有助于设计阶段的抽象和模块划分。 3. **序列图(Sequence Diagram)**:表示对象之间随时间...

    UML基础之10种图

    "UML基础之10种图" UML是Unified Modeling Language的缩写,翻译为统一建模语言。它是1997年由Object Management Group(对象管理组)发布的。UML是一种用来描述、构建、可视化和文档化软件系统的语言。它与程序...

    UML基础知识.pdf

    1. **类图(Class Diagram)**:展示类之间的静态关系,是最常用的UML图之一。它可以帮助理解系统中实体的结构和行为,包括属性、操作和关系等。 2. **用例图(Use Case Diagram)**:描述系统功能和用户需求,用例...

    UML基础、案例与应用

    **UML基础** UML(统一建模语言)是一种标准化的通用建模语言,用于软件工程中的系统分析和设计。它提供了一套图形化符号,帮助开发者清晰地表达软件系统的结构和行为。UML的核心是它的图表,包括用例图、类图、...

    uml基础.rar uml基础.rar

    1. 类图(Class Diagram):类图是UML中最常见的图,它展示了类的结构,包括类名、属性、操作以及类之间的关系,如关联、继承、依赖等。在学习UML时,理解类图的绘制和解析是基础。 2. 对象图(Object Diagram):对象...

    UML基础及Visio建模

    1. **类图(Class Diagram)**:类图是UML中最基本的图表,用于描绘系统的静态结构。它展示了类、接口、对象以及它们之间的关系,如继承、实现、关联、依赖等。 2. **序列图(Sequence Diagram)**:序列图描述对象之间...

    UML基础与ROSE建模案例

    2. **类图(Class Diagram)**:类图是UML中最重要的图,用于表示类、接口以及它们之间的关系,如继承、关联、依赖和实现。类图描述了系统中的静态结构。 3. **对象图(Object Diagram)**:对象图是类图在特定时刻...

    UML基础及Visio建模.rar

    6. **图(Diagrams)**: UML包括多种图,如类图(Class Diagram)、用例图(Use Case Diagram)、序列图(Sequence Diagram)、协作图(Collaboration Diagram)、状态图(State Diagram)、活动图(Activity ...

    UML2.2-Visio2007.zip.

    UML use case diagram, class diagram, package diagram, object diagram, composite structure diagram, interaction diagram, sequence diagram, communication diagram, interaction overview diagram, activity...

Global site tag (gtag.js) - Google Analytics