博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UML统一建模语言
阅读量:5276 次
发布时间:2019-06-14

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

概述

统一建模语言(UML)是一种图形化的语言,用于软件密集系统要素的可视化、制定规范、构建对象和编写文档。UML提供了一种标准的方式来描述系统的设计图,既包括概念方面,例如业务过程和系统功能,也包括具体事务,如编程语言语句,数据库图示和可重用的软件组件。

这里着重指出的是UML是一种说明性的“语言”,而不是一种方法或程序。UML通常用来定义软件系统与细化、编写、构造系统中的要素,是“写”设计图的语言。UML可以用不同的方式来支持软件开发方法(例如:统一软件开发过程)-但是它本身并不指定某种方法或过程。

UML模型图构成:

事物things:最基本构成元素,是具有代表性的成分的抽象。

关系relationships:关系把事物紧密联系在一起。

图diagrams:图是事物和关系的可视化表示。

UML事物

UML包含4种事物:构建事物、行为事物、分组事物、注释事物

构建事物

 

行为事物

分组事物

注释事物

UML关系

依赖

如果类A使用了类B,或者说如果类B的变化会影响类A,则说类A依赖于类B。

一般有以下几种情况属于依赖关系:

类A调用类B的成员函数;

类B的对象是类A的成员变量;

类A的成员函数使用了类B类型的参数。

依赖关系用带箭头的虚线表示。

鸡啄米:C++编程入门系列之十七(类与对象:UML简介)

关联

重数A表示类B的每个对象与类A的多少个对象相关联,重数B则表示类A的每个对象与类B的多少个对象发生作用。

鸡啄米:C++编程入门系列之十七(类与对象:UML简介)

泛化

如果类A和类B是从类C继承的子类,那么类C就是类A和类B的泛化。

泛化关系用带空心三角形的实线表示。

鸡啄米:C++编程入门系列之十七(类与对象:UML简介)

聚合

聚合表示类之间的关系是整体和部分的关系,但是聚合关系中的整体和部分是可以分开的。

聚合关系用带空心菱形的实线表示。

鸡啄米:C++编程入门系列之十七(类与对象:UML简介)

组合

组合关系也是整体和部分的关系,但是它与聚合关系不同的是,整体和部分是不可以分开的。

组合关系用带实心菱形的实线表示。

鸡啄米:C++编程入门系列之十七(类与对象:UML简介)

实现

实现关系用来说明接口和实现接口的类之间的关系。

实现关系图用带空心三角形的虚线表示。

鸡啄米:C++编程入门系列之十七(类与对象:UML简介)

 

UML图

用例图Use Case Diagram

类图Class Diagram

鸡啄米:C++编程入门系列之十七(类与对象:UML简介)

对象图Object Diagram

鸡啄米:C++编程入门系列之十七(类与对象:UML简介)

顺序图Sequence Diagram

协作图Collaboration Diagram

状态图State Chart Diagram

活动图Activity Diagram

构件图Component Diagram

部署图Deployment Diagram

UML图的关系

 

UML语法描述

转载于:https://www.cnblogs.com/lucas-hsueh/p/3734326.html

你可能感兴趣的文章
radio选中
查看>>
uva 725 Division(暴力模拟)
查看>>
上传文件、上传按钮、Form组件上传文件
查看>>
一个项目中既有移动端,同时也有PC端的代码,并且 他们的代码分开写的,那么如何实现在手机跳转手机页面,pc点击跳转pc页面...
查看>>
无限循环小数POJ1930
查看>>
如何选择适合自己公司的移动办公系统?
查看>>
Linux下批量添加用户的两种方法
查看>>
JS-DOM
查看>>
ubuntu install wiznote
查看>>
nginx 入门配置
查看>>
poj 1014 Dividing 【多重背包】
查看>>
Mysql初始化root密码和允许远程访问
查看>>
Selenium环境搭建
查看>>
37.数字在排序数组出现的次数
查看>>
intellijidea课程 intellijidea神器使用技巧 6-1 Spring的关联
查看>>
了解keycode
查看>>
自测题.
查看>>
实现 memcpy
查看>>
配置router列表
查看>>
HDU 1698——Just a Hook——————【线段树区间替换、区间求和】
查看>>