• 浅谈UML的概念和模型之UML九种图


      相信大家都知道UML的全称,统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。

    我想问大家两个问题:

    一、什么是模型?模型是对现实世界的形状或状态的抽象模拟和简化。

    二、为什么要建模?最简单的理由:为了能够更好地理解正在开发的系统。通过建模,可以达到四个目的:

    1、有助于按照需求对系统进行可视化的分析

    2、能够系统的结构或行为

    3、给出了知道构造系统的模板

    4、对做出的决策进行文档化

    本文我们重点讲解UML每种图的细节问题: 

             1、用例图(use case diagrams)

    【概念】描述用户需求,从用户的角度描述系统的功能

    【描述方式】椭圆表示某个用例;人形符号表示角色

    【目的】帮组开发团队以一种可视化的方式理解系统的功能需求

    【用例图】

     2、静态图 

            
        1. 类图(class  diagrams) 

    【概念】显示系统的静态结构,表示不同的实体是如何相关联的

    【描述方式】三个矩形  

    【目的】表示一个逻辑类或实现类,逻辑类通常是用户的业务所涉及的事物;实现类是程序员处理的实体

    【类图】

          

           
        1. 对象图(object      diagrams)

    【概念】类图的一个实例,描述系统在具体时间点上所包含的对象以及各个对象的关系

    【对象图】

          

         

              3、交互图

              用来描述对象之间的交互关系 

        1. 序列图(顺序图)

    【概念】描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序

    【描述方式】横跨图的顶部,每个框表示每个类的实例或对象;类实例名称和类名称使用冒号分开

    【目的】显示流程中不同对象之间的调用关系,还可以显示不同对象的不同调用。

    【序列图】

          

           
        1. 协作图(Collaboration     diagrams)

    【概念】描述对象之间的合作关系,侧重对象之间的消息传递 

            4、行为图:描述系统的动态模型和对象之间的交互关系 

                 1.状态图(Statechart       diagrams) 

        【概念】描述对象的所有状态以及事件发生而引起的状态之间的转移

        【描述方式】 

        1. 起始点:实心圆 
        2. 状态之间的转换:使用开箭头的线段 
        3. 状态:圆角矩形 
        4. 判断点:空心圆 
        5. 一个或多个终止点:内部包含实心圆的圆

    【目的】表示某个类所处的不同状态以及该类在这些状态中的转换过程

      2.活动图(Activity      diagrams)

    【概念】描述满足用例要求所要进行的活动以及活动时间的约束关系

    【描述方式】 

        1. 起始点:实心圆 
        2. 活动:圆角矩形 
        3. 终止点:内部包含实心圆的圆 
        4. 泳道:实际执行活动的对象

    【目的】表示两个或多个对象之间在处理某个活动时的过程控制流程

    【活动图】 

    活动图和状态图区别:

    5、实现图  

        1. 构件图(Component       diagrams) 

    【概念】描述代码构件的物理结构以及各构件之间的依赖关系

    【描述方式】构件

    【目的】提供系统的物理视图,根据系统的代码构件显示系统代码的整个物理结构

    【构架图】

      

        1. 部署图(Deployment      diagrams)

    【概念】系统中硬件的物理体系结构

    【描述方式】 

        1. 三维立方体表示部件 
        2. 节点名称位于立方体上部

    【目的】显示系统的硬件和软件的物理结构

    【部署图】

    九种UML图详解到此为止,下篇文章专门给大家讲解UML中类间的关系,感谢您的访问。

    原文:http://blog.csdn.net/jiuqiyuliang/article/details/8552956/

  • 相关阅读:
    /、./和../的区别
    【Java基础】-- FileUtils工具类常用方法
    【数据库】-- MySQL中比like更高效的三个写法
    【Java框架】-- SpringBoot大文件RestTemplate下载解决方案
    记一次gitlab代码仓清空还原复盘
    聊聊如何实现一个带有拦截器功能的SPI
    聊聊如何实现一个支持键值对的SPI
    类实例对象的class类型却不属于该类,何解?
    exe打包成安装文件(界面美观)
    linux系统软件启动sh脚本
  • 原文地址:https://www.cnblogs.com/sdream/p/5945634.html
Copyright © 2020-2023  润新知