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

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

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

            上文我们介绍了,UML的视图,在每一种视图中都包括一个或多种图。本文我们重点解说UML每种图的细节问题: 

         1、用例图(use case diagrams)


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

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

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

    【用例图】

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

     2、静态图 

          

      1. 类图(class  diagrams) 

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

    【描写叙述方式】三个矩形  浅谈UML的概念和模型之UML九种图

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

    【类图】

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

       

    1. 对象图(object      diagrams)

    【概念】类图的一个实例,描写叙述系统在详细时间点上所包括的对象以及各个对象的关系

    【对象图】

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

       

          3、交互图

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

    1. 序列图(顺序图)

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

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

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

    【序列图】

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

       

    1. 协作图(Collaboration     diagrams)

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

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

             1.状态图(Statechart       diagrams) 


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

        【描写叙述方式】 

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

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

      2.活动图(Activity      diagrams)


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

    【描写叙述方式】 

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

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

    【活动图】 

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

    活动图和状态图差别:

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

    5、实现图  

    1. 构件图(Component       diagrams) 

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

    【描写叙述方式】构件

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

    【构架图】

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

    1. 部署图(Deployment      diagrams)

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

    【描写叙述方式】 

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

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

    【部署图】

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

    九种UML图具体解释到此为止,下篇文章专门给大家解说UML中类间的关系,感谢您的訪问。

     

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118667.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Angularjs MVC

    Angularjs MVC

    2022年3月12日
  • 永恒之蓝(MS17010)漏洞复现

    永恒之蓝(MS17010)漏洞复现文章目录介绍:准备开始复现正式开始利用介绍:永恒之蓝是指2017年4月14日晚,黑客团体ShadowBrokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序准备1.kali的ip:192.168.0.1282.WindowsServer

    2022年5月3日
  • Pro*C/C++具体操作

    Pro*C/C++具体操作

    2021年9月11日
  • java 字符串数组 下标_运行时错误9:使用字符串数组时,下标超出范围「建议收藏」

    java 字符串数组 下标_运行时错误9:使用字符串数组时,下标超出范围「建议收藏」我是vba脚本的新手.我正在尝试编写下面的函数,但无法成功完成.我真的很感激我能得到的任何帮助.代码是:OptionExplicitDimstatusAsStringSubStartModule()DimindexAsIntegerDimresultAsStringDimaAsIntegerDimNameAsVariantRange(“D4”).Valu…

    2022年10月19日
  • goland最新激活码[最新免费获取]

    (goland最新激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月28日
  • python抛出异常和捕获异常_python自定义异常

    python抛出异常和捕获异常_python自定义异常主动抛异常1.抛异常有时,程序需要主动抛出异常,因为某些情况下,你需要反馈消息给更上层的调用者,告诉它有一些异常情况发生,而你抛出异常的地方,没有能力处理它,因此需要向上抛出异常。这种情况为什么不让系统自己抛出异常呢?一个原因是上层的调用者本身就希望能够捕获有别于系统异常的自定义异常,二来,有些情况下,程序的逻辑是没有异常的,但是,从业务角度考虑,的确是一个不寻常的情况,因此需要我们主动抛出异常…

    2022年10月10日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号