UML概述

  UML是对OMT(对象建模技术)、Booth(Booch方法)以及OOSE(面向对象的软件工程)等记号系统实施统一工作后得到的一种记号系统。

  UML(Unified Modeling Language,统一建模语言)是一种定义良好、易于表达、功能强大的用于对软件密集型系统建模的图形语言。

  UML的设计目标是提供一种适用于所有面向对象方法学的标准记号系统,UML选择并集成了以前出现的相关记号系统中最好的元素类容。

UML有如下的九种图

  1. 用例图:用于业务建模、需求捕获、作为测试的依据。
  2. 类图:描述类以及类之间的相互关系。
  3. 对象图:描述对象以及对象间的相互关系。
  4. 构件图:描述构件及其相互依赖关系。
  5. 部署图:描述构件在各个结点上的部署情况。
  6. 顺序图:强调时间顺序的交互图。
  7. 协作图:强调对象协作的交互图。
  8. 状态图:描述类所经历的各种状态以及状态之间的转换关系。
  9. 活动图:用于对工作流程建模。

UML图的分类

  1. 静态图:类图、对象图、包图。
  2. 行为图:状态图、活动图。
  3. 用例图:用例图。
  4. 交互图:顺序图、协作图。
  5. 实现图:组件图、部署图。

UML关系

  1. 依赖关系
  2. 关联关系
  3. 泛化关系
  4. 实现

系统开发的主要关注应用系统的三个不同模型

  功能模型,从用户观点出发,使用UML中的用例图描述系统功能。

  对象模型,使用UML中的类图表示对象模型,该模型使用对象、属性、关联和操作等描述了系统的结构。

  动态模型,在UML中使用交互图、状态机和活动图表示动态模型,该模型描述了系统的动态行为。

软件工程——UML简介的更多相关文章

  1. UML简介

    Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型 ...

  2. 软件工程-UML各种图总结-精华

    ​ UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明.可视化.和编制文档的一种标准语言.下面将对UML的九种图+包图的基本概念进行介绍以 ...

  3. UML 简介笔记

    1. UML 是什么? UML 统一建模语言是一组图形表示法,可以帮助描述和设计软件系统,特别是使用面向对象 OO 风格建造的软件系统. 2. 使用 UML 的方式 UML 有 3 种使用模式:草稿, ...

  4. UML学习-1 UML 简介

    UML 是什么 Unified Modeling Language(UML)又称统一建模语言或标准建模语言,是始于 1997 年一个 OMG 标准,它是一个支持模型化和软件系统开发的图形化语言,为软件 ...

  5. 软件工程UML第一次作业

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

  6. 软件工程---UML理解

    1.依赖关系和关联关系 1.1依赖关系是调用关系,其又分为全局依赖.参数依赖.局部依赖 1.2关联关系是结构上的关系,按照关联的强弱又具体分为关联关系.聚合关系(整体和部分的组成关系.whole-pa ...

  7. 第4章 类与对象 UML简介

  8. UML 简介

    虚线箭头指向依赖: 实线箭头指向关联: 虚线三角指向接口: 实线三角指向父类: 空心菱形能分离而独立存在,是聚合: 实心菱形精密关联不可分,是组合:

  9. UML和UP简介(转载)

    UML(统一建模语言,Unified Modeling Language)是用于系统的可视化建模语言.  UP(统一过程,Unified Process)是通用的软件开发过程. 很多人或书籍过大的夸大 ...

随机推荐

  1. Android 实用代码七段(二)

    声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 一.获取应用程序下所有Acti ...

  2. STL for_each()

    http://www.cplusplus.com/reference/algorithm/for_each/ std::move()用于c++11 http://www.cplusplus.com/r ...

  3. SVN使用教程之——分支、合并

    首先说下为什么我们需要用到分支-合并.比如项目demo下有两个小组,svn下有一个trunk版.由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作[某个 ...

  4. HDU5669 Road 分层最短路+线段树建图

    分析:(官方题解) 首先考虑暴力,显然可以直接每次O(n^2) ​的连边,最后跑一次分层图最短路就行了. 然后我们考虑优化一下这个连边的过程 ,因为都是区间上的操作,所以能够很明显的想到利用线段树来维 ...

  5. codeforce 621C Wet Shark and Flowers

    题意:输入个n和质数p,n个区间,每个区间可以等概率的任选一个数,如果选的这个区间和它下个区间选的数的积是p的倍数的话(n的下个是1),就挣2000,问挣的期望 思路:整体的期望可以分成每对之间的期望 ...

  6. 关于Windows Azure的常见问题-执行与维护FAQ

    执行与维护 使用虚拟机运行业务应用有什么需要注意的地方? Windows Azure 会周期性地更新主机环境,以确保平台上运行的所有应用程序和虚拟机始终处于安全的环境.此更新过程可能会导致您的虚拟机重 ...

  7. 动态链接库(DLL)的使用

    2013-07-04 http://blog.csdn.net/blpluto/article/details/5715182 感觉挺好,推荐去看看.

  8. cs编写php字符显示问题

    1.  mysql中有mysql字符,数据库字符(各个数据库字符可不同),数据库下的表字符,表的字段字符,这些字符应保持一致具体查询命令可见网上,如不同要设置成相同才行. 2.  因为浏览器版本不同所 ...

  9. HW5.23

    public class Solution { public static void main(String[] args) { int count = 0; for(int i = 0; i < ...

  10. HTML5 Canvas动画效果演示

    HTML5 Canvas动画效果演示 主要思想: 首先要准备一张有连续帧的图片,然后利用HTML5 Canvas的draw方法在不同的时间 间隔绘制不同的帧,这样看起来就像动画在播放. 关键技术点: ...