zoukankan      html  css  js  c++  java
  • UML和模式应用学习笔记(8)——交互图和类图 (补充)

    准则:应该花费时间使用交互图进行动态对象建模,而不仅是使用类图进行静态对象建模

    UML关键字是对模型元素分类的文本修饰。


    关键字                               含义                                 用法示例


    《actor》                   类元为参与者                     在类图中,置于类元名称之上

    《interface》             类元为接口                         在类图中,置于类元名称之上

    {abstract}              抽象元素;不能实例化          在类图中,至于类元名称或操作名称之后

    {ordered}              具有强制顺序的一组对象        在类图中,助于关联的端点


    准则:在绘制UML草图时(追求速度、简便性和创造性),建模者通常会将关键字简化为类似‘<interface>’或‘<I>’的形式。

    泛化、抽象类、抽象操作

    在UML中,泛化(generalization)用由子类到超类的实线和空心三角箭头表示。

    泛化——普通的类元与特殊的类元之间的分类学关系。特殊类元的每个实例也是普通类元的简介实例。因此,特殊类元间接地拥有了普通类元的特性。

    泛化与OO编程语言中的继承(inheritance)的意义是否相同??

    这要是条件而定,在领域模型概念视角的类图中,答案为否。对于领域模型,更恰当的解释是,超类是超集而子类是子集。

    抽象类和操作既可以采用{abstract}标记表示,也可以用谢提名来表示。

    依赖

    UML中所包含的普通依赖关系表示客户(Client)元素了解其他的提供者(supplier)元素,并且表示当提供者有所改变时会对客户产生影响。

    依赖用从客户到提供者的虚线箭头表示。

    依赖可以视为耦合的另一个版本。

    依赖有许多种类,以下是在对象图和类图中比较常见的类型:

    • 拥有提供者类型的属性
    • 向提供者发送消息。对提供者的可见性可能是:属性、参数变量、局部变量、全局变量或类的可见性
    • 接受提供者类型的参数
    • 提供者是超类或接口

    准则:在类图中,使用依赖线描述对象间的全局变量、参数变量、局部变量和静态方法的依赖

    组合优于聚合

    组合也成为组成聚合,这是一种很强的整体一部分聚合关系,并且在某些模型中具有效用。组合关系有以下几层含义:

    1. 在某一时刻,部分的实例只属于一个组成实例
    2. 部分必须总是属于组成
    3. 组成要负责常见和删除其部分,既可以自己来创建删除部分,也可以与其他对象协作来创建删除部分。与该约束相关的是,如果组成被销毁,其部分也必须被销毁。

    在UML中,用带有实心菱形箭头的关联线来表示组合,箭头指向组成类。

    准则:组合中的关联名称总是暗示“拥有-部分”的某些变体,因此不要飞信对该关联显示的命名。

  • 相关阅读:
    计算机一些常见名词解释
    [MSF]server/capture/http_javascript_keylogger键盘记录
    .net(C#)访问Oracle数据库的几种免安装组件的对比
    C# UserControl 判断是否是设计模式中
    Python_cmd的各种实现方法及优劣(subprocess.Popen, os.system和commands.getstatusoutput)
    python 怎么启动一个外部命令程序, 并且不阻塞当前进程
    创建注记图层C# IFeatureWorkspaceAnno
    VisualSVN Server 导入已存在的库
    带您了解Oracle层次查询
    win7系统使用engine进行开发报错,“未能加载文件或程序集”
  • 原文地址:https://www.cnblogs.com/Daywei/p/2473968.html
Copyright © 2011-2022 走看看