zoukankan      html  css  js  c++  java
  • 浅谈UML——九种图(二)

    前言

       看我UML视频,对UML图有了一定的了解,终于明白了,为什么一幅图代表了千言万语。每一种图都有其特殊的存在,都在软件开发过程中起了至关重要的作用。那么如何阅读?如何绘制?请看下去:

    1 行为图

       用来描述系统的动态模型和对象之间的关系。

    1.1 状态图

       类定义了对象的共性,每一个对象实例则表述了个性,状态描绘了对象的动态生命周期。举个例子:“人”就是一个类,而“你”“我”“他”等都是“人”这个类的一个实例,“站着”“躺着”等都是对象的一个状态,从不同角度描述,就可能有多种状态。

       在对象整个周期中,它的状态是会发生变化的,而状态就是指在对象生命周期中满足某些条件、执行某些活动或等某些事件的一个条件和状况。 

     


    1.2 活动图

       活动图强调了活动到活动的控制流,是一种表述过程机理、业务 过程以及工作流的技术 ,它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。它可以用来和传统的流程图相比,十分相似。但它与流程图的主要区别在于,活动图能够支持并发行为。




    1.3 交互图

    1.3.1 顺序图(时序图)

       描述了按照时间的先后顺序对象之间交互动作过程。主要强调消息的时间顺序,首先把参与交互的对象放在图的上方,沿X轴方向排列。通常把发起交互的对象放在左边,教下级对象依次放在右边。然后把这些对象发送和接收的消息沿着Y轴方向按时间顺序从上到下放置,方便阅读。

              


    1.3.2 合作图(协作图)

       协作图强调参加交互的对象的组织,在协作图中,首先将参加交互的对象作为图的顶点,然后用这些对象之间的边线表示为图的边,再使用对象发送和接收的消息来修饰这些边。

                                              顺序图和协作图对比

    相同点 对同一个例子(对象一样)
    不同

    1、协作图可以看到组织关系。

    2、顺序图可以看到生命周期。

    3、侧重点不同。

    a、顺序图侧重时间顺序。

    b、协作图侧重对象之间的关系。

    联系

    1、二者在语义上等价。

    2、二者可以相互转化。


    2 实现图

    2.1 构件图

       在面向对象软件开发范型中,类是最为基础的“模块化”元素,它封装了属性和成员方法,就像是物理世界的“分子”。但是,对于复杂的软件系统来说,往往拥有成百上千的各种类,因此,对于系统理解而言、复用而言,类的粒度太小了,因此引入了一个较粗粒度概念——“构件”,是一种泛指概念。

     


    构件和类的对比
    表示逻辑抽象,可以有直接的属性和操作。
    构件 表示物理抽象,一般情况下,构件一般只拥有只能通过其接口访问的操作。



    2.2 部署图

       部署图和构件图都是对系统的物理方面建模的重要手段,它们之间最大的不同在于:构件图用来帮助开发人员了解系统的物理组织结构,部署图则用来帮助安装、部署人员掌握系统的拓扑结构。部署图的粒度比构件图的粒度大。

    结语

         通过学习UML,对面向对象的建模有了一定的了解,UML是我们从业余向专业的一个转折点,深刻的明白了,图的重要性,对于以后的C#、设计模式的学习有了一定的帮助。接下来加油!菜鸟一枚,如若有不合适的地方,望大神斧正!

                                      若安好,便是晴!

  • 相关阅读:
    AS3邮件
    JavaScript中this关键字使用方法详解
    AS3嵌入字体
    xp双击打不开jar包解决方案
    查询在表1表2中都存在,在表3中不存在的SQL(前提:表结构相同)
    这是否为复制Bug?求解!
    批处理添加允许弹出临时窗口站点
    SQL Server 合并IP
    C#学习笔记一(变量、属性、方法,构造函数)
    SQLServer事务的隔离级别
  • 原文地址:https://www.cnblogs.com/zhoulitong/p/6412455.html
Copyright © 2011-2022 走看看