博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UML 学习笔记(2)
阅读量:6279 次
发布时间:2019-06-22

本文共 1411 字,大约阅读时间需要 4 分钟。

hot3.png

本笔记参考两篇博客,是上篇学习的补充。

1  https://www.cnblogs.com/alex-blog/articles/2704214.html

2  https://www.cnblogs.com/jiangds/p/6596595.html

  • UML的9中图

e4501259249f57d017ef2baa8a66dc28fbb.jpg

1.  用例图

用例图主要回答两个问题:1.谁用软件;2.软件功能

从用户角度出发描述系统的功能,并对每个模块的执行者标出来。

d9ef46db1f4e7bd7d656cefd34b003e34d5.jpg

2. 类图

 用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态图。在UML类图中常见的关系:泛化(generalization)、实现(realization) 、关联(association)、聚合(aggregation)、组合(compositon)、依赖(dependdency)

各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。

55a35fcf2c5ebe81830682860ac34409fcc.jpg

【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。

51a3e7eaf449dd37a56fbcd53e123b2dced.jpg

【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

4991489c3c1b4d4152d187005d0558348a1.jpg

【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。

          聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

a8f1f045026bb42cbcbb1dd7a9cff19f68d.jpg

 

【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。

         组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

    【代码体现】:成员变量

    【箭头及指向】:带实心菱形的实线,菱形指向整体

              b77b930b571c03fa60f916fd6bc3dff2522.jpg

【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.

        【代码表现】:局部变量、方法的参数或者对静态方法的调用

        【箭头及指向】:带箭头的虚线,指向被使用者

           f27239a4a76668b705ded49729bd60d86a8.jpg

 

c3960adeef3c2e7a5f1e022e0d927fdfe6b.jpg

 

对象图(Object Diagrams):

    描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。

         3843ceba36e4c0e6f0d14928f662e51c68a.jpg

状态图(Statechart Diagrams):

    是一种由状态、变迁、事件和活动组成的状态机,用来描述类的对象所有可能的状态以及时间发生时状态的转移条件。

       0396a4dd7dfb6d74ca5a845d40627df46d1.jpg

UML与软件工程

  UML图是软件工程的组成部分,软件工程从宏观的角度保证了软件开发的各个过程的质量。而UML作为一种建模语言,更加有效的实现了软件工程的要求。

  如下图,在软件的各个开发阶段需要的UML图。

3cec8e89ad0927164a64721517ef0a52ae7.jpg

3071073ca4ad4b21be107eab48e94eb2d7d.jpg

参考自:http://m.blog.csdn.net/article/details?id=38467715

    http://www.cnblogs.com/wolf-sun/p/UML-collaboration-diagram.html

 

 

 

 

 

转载于:https://my.oschina.net/hellation/blog/3023473

你可能感兴趣的文章
还原数据库
查看>>
分享10个GBin1强烈推荐的Web设计博客
查看>>
作业调度框架 Quartz.NET 2.0 beta 发布
查看>>
mysql性能的检查和调优方法
查看>>
项目管理中的导向性
查看>>
Android WebView 学习
查看>>
(转)从给定的文本中,查找其中最长的重复子字符串的问题
查看>>
HDU 2159
查看>>
spring batch中用到的表
查看>>
资源文件夹res/raw和assets的使用
查看>>
UINode扩展
查看>>
LINUX常用命令
查看>>
百度云盘demo
查看>>
概率论与数理统计习题
查看>>
初学structs2,简单配置
查看>>
Laravel5.0学习--01 入门
查看>>
时间戳解读
查看>>
sbin/hadoop-daemon.sh: line 165: /tmp/hadoop-hxsyl-journalnode.pid: Permission denied
查看>>
@RequestMapping 用法详解之地址映射
查看>>
254页PPT!这是一份写给NLP研究者的编程指南
查看>>