zoukankan      html  css  js  c++  java
  • UML类图详解一

    类图的基本目的是显示建模系统的类型,主要包括的类型有:类、接口、数据类型、组件等

    UML为这些类型起了个名字叫分类器。通常可以把分类器当做类,但在技术上,分类器是更为普遍的术语。

    类名

    类的UML表示是一个长方形,垂直地分为三个区,顶部区域显示类的名字。中间区域列出类的属性。底部列出类的方法。

    类属性列表

    类的属性节在分隔线上列出每一个类的属性。属性是可选择的,要是一用它,就包含类的列表显示的每个属性。

    每个参数都使用这样的格式:“参数名:参数类型”或“参数名:参数类型 = 默认值”

    继承

    关联

    系统建模时,特定的对象间将会彼此关联,而且这些关联本身需要被清晰地建模。有五种关联。

    双向(标准)的关联

    一个双向关联用两个类间的实线表示,在线的任一端,放置一个角色名和多重值。

    多重值和它们的表示:

    可能的多重值描述
    表示 含义
    0..1 0个或1个
    1 只能1个
    0..* 0个或多个
    * 0个或多个
    1..* 1个或我个
    3 只能3个
    0..5 0到5个
    5..15 5到15个

    单向关联

    两个类是相关的,但是只有一个类知道这种联系的存在。

    一个单向的关系,表示为一条带有指向已知类的开放箭头的实线。如同标准关系,单向关系包括一个角色名和一个金重值描述,但是与标准和又向关系不同的是,单向关联只包含已知类的角色名和金重描述。

    软件包,

    在一个大的系统或大的业务领域建模,在模型中将会有许多不同的分类器。管理所有的类将是一件很麻烦的事情,所以,UML提供了一个称为包的组织元素。软件包使建模者能够组织模型分类器到名字空间中。

    有两种方法表示软件包。没有规则要求使用哪种标记,依据个人的判断:哪种更便于你画的类图。两种方法都是由一个较小的长方形嵌套在一个大的长方形中开始的,建模者必须决定包的成员如何表示,

    1、如果建模者决定在大长方形中显示软件包的成员,则所有的那些成员需要被放置在长方形里面,另外,所有的软件包的名字需要放在软件包的较小的长方形之内。

    2、如果建模者决定在大的长方形之外显示软件包成员,则所有将会在图上显示的成员都需要被置于长方形之外,为了显示属于软件包的分类器属于,从每个分类器画一条线到里面有加号的圆周,这些圆周粘附在软件包之上。

    接口

    一个类和一个接口不同:一个类可以有它形态的真实实例,然而一个接口必须至少有一个类来实现它。在UML2中,一个接口被认为是类建模元素的特殊化。因此,接口就象类那样绘制。但是长方形顶部区域有“interface”。

    接口和具体实现类之间用一个带有闭合单向箭头的实线表示继承。

    关联类

    在关联建模中,存在一些情况下,需要包括其它类,因为它包含了关于关联的有价值的信息。这种情况下,就会使用关联类来绑定你的基本关联。关联类和一般类一样表示。不同的是,主类和关联类之间用一条相对的点线连接。

    聚合

    聚合是一种特别类型的关联,用于描述“总体到局部”的关系,在基本的聚合关系中,部分类的生命周期独立于整体类的生命周期。

    1、基本聚合

    某个类是另外某个类的一部分。在一个聚合关系中,子类实例可以比父类存在更长的时间,为了表现一个聚合关系,画一条从父类到部分类的实线,并在父类的关联末端画一个未埴充的棱形。

    2、组合聚合

    组合聚合关系是聚合关系的另一种形式,但是子类实例的生命周期依赖父类实例的生命周期。例如一个company类实例至少总有一个department类实例。

    3、反射关联

    类也可以使用反射击关联与它本身相关联。

    可见性

    UML识别四种类型的可见性:public, protected,private ,package。

    UML支持的可见性类型的标志

    标志 可见性类型
    + Public
    # Protected
    - Private
    ~ Package

    结论

    至少存在两个了解类图的重要理由。第一个是显示系统分类器的静态结构;第一个理由是图为UML描述的其他结构图提供了基本记号。开发者将会认为类图是他们特别建立的;但是其他团队成员将发现它们也是有用的。

    业务分析师可以用类图,为系统的业务远景建模。

  • 相关阅读:
    使用 RemObjects SDK 建立 WebService 应用
    Excel文件读写的.NET开源组件 Koogra Excel BIFF/XLSX Reader Library
    DataSnap 2009 系列之三 (生命周期篇)
    更改SQL Server表所有者的操作方法
    delphi调用cmd的两种方法
    用AndroidX86和VirtualBox打造高性能Android开发环境
    DevExpress 换肤
    Remobjects关于Channel is Busy 错误的解决方法
    关于D7“System.pas not found”错误的解决方法
    40 套漂亮的图标
  • 原文地址:https://www.cnblogs.com/ghfsusan/p/1651636.html
Copyright © 2011-2022 走看看