UML 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。包括UML语义和UML表示法两个元素。

UMl图由事物和关系组成,事物:UML模型中最基本的构成元素,是具有代表性的成分的抽象  关系:关系把事物紧密联系在一起。 通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画。它共定义了十种视图。

用例图:用例图是从用户角度描述系统功能, 是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元

类图:描述系统的静态结构,类图的节点表示系统中的类及其属性和操作,类图的边表示类之间的联系,包括继承、关联、依赖、聚合等。对象图是类图的一个实例,它描述在某种状态下或在某一时间段,系统中活跃的对象及其关系。

对象图:一个类可以拥有多个活跃的对象实例。

顺序图:显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互 。

除了上述,还有协作图、状态图等。

重点是用例图:

用例图中的事物为参与者和用例,参与者作为外部用户与系统发生交互作用,是它的主要特征。它可以是人,也可以不是人。用例就是系统的一个功能单元。

在用例图中,有多重关系。

关联:参与者R和用例A之间的关系。就是参与者R做了用例A这件事。用直线表示

包含:用例之间的关系。一个用例必须以另一个用例为前提才能完成。比如用例A:关门  用例B:锁门,不关门没法锁门,所以A是B的必要的前提。

扩展:类似包含,不过两个用例之间的关系没有必然关系。一个用例并不需要以另一个为前提完成。

泛化:参与者之间的关系,表示一般和特殊关系,发出箭头的一方代表特殊的一方,箭头指向的一方代表一般一方。特殊一方继承了一般方的特性并增加了新的特性。

在其它的类图中,也存在很多关系。但都大同小异,都是用规定的语义来表示事物间的关系。

UMl图是一种认为指定的规范,有了这种规范,在团队合作时,便能减少很多误解和问题,队员之间的沟通更加简介明了。

软件工程(五)UML的更多相关文章

  1. 第一章 面向对象软件工程与UML

    这个OOAD讲的都是很抽象的东西!老师说这个在现在的学习中用到的不是很多,但是以后出去工作的时候就会常用到的. 首先来了解OOAD是讲什么的. OOAD:Object Oriented Analysi ...

  2. <十五>UML核心视图动态视图之活动图

    一:动态视图 --->动态视图是描述事物动态行为的. --->需要注意的是:动态视图不能够独立存在,它必需特指一个静态视图活uml元素,说明在静态视图规定的事物结构下它们的动态行为. -- ...

  3. 面向对象软件工程与UML

    软件工程基本概念 软件危机 软件的功能.规模及复杂性与日俱增,软件的复杂性达到了它的开发者难以控制的程度 这种情况导致了严重的后果: 软件可靠性下降 开发效率低下 维护极为困难 这使软件开发者陷入困境 ...

  4. 软件工程与UML作业1

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  5. 软件工程与UML第三次作业

    博客班级 软件工程与UML2班 作业要求 本次作业要求 作业目标 <给至少5名同学提他的代码issue并用博客记录;根据收到的issue修改自己的代码> 作业源代码 我的码云仓库 学号 & ...

  6. 软件工程与UML第一次作业

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE2/ 这个作业要求在哪里 https://edu.cnblogs.com/campus/f ...

  7. 第一次个人作业 - 软件工程与UML

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/ 这个作业要求在哪里 https://edu.cnblogs.com/campus/f ...

  8. 软件工程与UML 第一次个人作业

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/ 这个作业要求在哪里 https://edu.cnblogs.com/campus/f ...

  9. 软件工程与UML作业3(互评作业)

    博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/ 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018S ...

  10. 软件工程与UML作业2

    博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018SE ...

随机推荐

  1. MySql/Oracle和SQL Server的分页查

    假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql.Oracle和SQL Server分页查询student表. 1.Mysql的分页查询: 1 SELECT 2 * 3 ...

  2. 计算机基础-CPU

    CPU(Central Processing Unit中央处理器)由运算器和控制器组成--微机性能的集成度最高的核心部件 1.金属触点 2.附带散热器 风冷式 热管散热式 水冷式等 扣具结构要和CPU ...

  3. transition: 0.2s all ease;

    /* 全部样式 0.2秒 缓动*/ transition: 0.2s all ease;

  4. vlookup函数应用

    筛选状态下的复制粘贴 第一步 原数据 第二步 筛选内容 第三步 使用vlookup '=VLOOKUP(A1,$A\(1:\)A$19,1,0)' 第四步 往下拖拉结果 最终结果

  5. dispatchTouchEvent

    View /**  * Pass the touch screen motion event down to the target view, or this  * view if it is the ...

  6. 踏得网互联网新技术垂直搜索服务和分享 - HTML5动效/特效/动画搜索

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/iefreer/article/details/34917729 当前主流搜索引擎在解决互联网技术创意 ...

  7. ansible-task模块写法归类

    转载: https://blog.csdn.net/pushiqiang/article/details/78249665

  8. redsi一主两从三哨兵

    1.前提准备 防火墙,selinux,主机名解析,所有主机安装gcc [root@localhost ~]# vim /etc/hosts 192.168.122.135  redis_master ...

  9. NodeJS之path模块

    NodeJS之path模块 常用的主要有如下工具函数: 1. path.basename(path[, ext]) 2. path.extname(path) 3. path.dirname(path ...

  10. WebSocket原理与实践(一)---基本原理

    WebSocket原理与实践(一)---基本原理 一:为什么要使用WebSocket?1. 了解现有的HTTP的架构模式:Http是客户端/服务器模式中请求-响应所用的协议,在这种模式中,客户端(一般 ...