从零开始学架构(三)UML建模
文章大纲
1、 文章介绍
2、 UML概述
3、 静态模型
4、 动态模型
5、 UML建模的一般过程
一、文章介绍
1.1为什么学习UML
(1)UML是一种软件架构的模型表现方法,用于项目中各参与者交流,沟通,图形化直观、方便、简洁
(2)UML是一种标准,规定了项目各阶段的需要的不同图形,并做了规范化和统一
我们的文章中,大量用到UML图来表达系统的架构组成,懂UML会更好的理解文章内容
注意事项:
(1)会UML不能于会架构,UML只是一个软件结构、架构思想的表达方式
(2)UML模型可以用其它方式替代,比如直接在纸上画、在白板上画,实际工作不比拘泥于形式
1.2 能学到什么
(1)了解基本的UML建模知识
(2)能看懂常用UML图
(3)能画出简单的UML图
(4)熟悉一般的UML建模过程
二、UML概述
2.1 UML简介
UML(UnifiedModeling Language):统一建模语言,面向对象软件的标准化建模语言
始于1997年一个OMG标准,是一个支持模型化和软件系统开发的图形化语言,
为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
是表达面向对象的分析与设计(OOA&D,OOAD)的工具。
UML要素(3个):基本构造块、支配构造块如何放置在一起的规则和运用于整个语言的公用机制。
构造块(3种):事物、关系和图。
事物:对模型中最具有代表性的成分的抽象,包括结构事物,如类(Class)、接口(Interface)、
协作(Collaboration)、用例(UseCase)、主动类(ActiveClass)、组件(Component)和节点(Node);
行为事物,如交互(Interaction)、状态机(Statemachine)、分组事物(包,Package)、注释事物(注解,Note)。
关系:用来把事物结合在一起,包括依赖、关联、泛化和实现关系。
版本:本文章以UML2.0作为基础版本介绍
2.2 UML分类

2.3 UML视角

2.4 10种UML图


三、UML静态模型















四、UML动态模型














五、建模一般过程

六、文章总结

七、下篇预告
第四篇需求分析
(1)需求工程
(2)需求规格
(3)用例设计
(4)业务架构
从零开始学架构(三)UML建模的更多相关文章
- 实验三 UML建模工具的安装与使用
一. 实验目的 1) 学习使用 EA(Enterprise Architect) 开发环境创建模型的一般方法: 2) 理解 EA 界面布局和元素操作的一般技巧: 3) 熟悉 UML 中的各种图的建立和 ...
- 实验三 UML 建模工具的安装与使用
UML 建模工具的安装与使用一. 实验目的1) 学习使用 EA(Enterprise Architect) 开发环境创建模型的一般方法: 2) 理解 EA 界面布局和元素操作的一般技巧: 3) 熟悉 ...
- 从零开始学安全(三十一)●kali 输入 msfconsole 启动报错
解决方法: 实际上是因为没安装就开启了msf,用下面三个命令就解决了 sudo apt-get updatesudo apt-get install metasploit-frameworkmsfco ...
- 从零开始学安全(三十)●使用sqlmap对网站一步步渗透
常规注入步骤第一步注入点-u "url" 判断是否是注入点 有就判断用户的权限第二步获取数据库 所有的 -u "url" --dbs第三步 查看应用程序所有数据 ...
- 从零开始学JavaScript三(变量)
一.变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符. 定义变量时要使用var操作符 如: var message; ...
- 从零开始学MySQL(三)
经过上两节的洗礼,我们能够连接上服务器,并成功地进入与mysql交互的会话中了.那么现在就可以发起SQL语句,让服务器来执行它了!这听起来很酷吧?接下来,我们开始学习MySQL的相关知识. 本文概览: ...
- 从零开始学Linux[三]:shell脚本学习
测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试
- 从零开始学安全(三十九)●FCK编辑器解析漏洞
fck 现在存在漏洞的本版分别是 2.4.2 ,2.4.4,2.6.6 可以在 查看版本 2.4.2 在 图片域有上传点 2.4.4 这里有几个按钮,首先是 Get Folders and Files ...
- 从零开始学安全(三十八)●cobaltstrike生成木马抓肉鸡
链接:https://pan.baidu.com/s/1qstCSM9nO95tFGBsnYFYZw 提取码:w6ih 上面是工具 需要java jdk 在1.8.5 以上 实验环境windows ...
随机推荐
- (数据科学学习手札120)Python+Dash快速web应用开发——整合数据库
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...
- 大数据开发-Flink-1.13新特性
介绍 大概4月,Flink1.13就发布了,参加 了Flink1.13 的Meetup,收获还是挺多,从大的方面讲就是FlingSql的改进和优化,资源调度管理方面的优化,以及流批一体Flink在运行 ...
- Linux Centos7设置UTF-8编码,防止中文乱码
Linux Centos7设置UTF-8编码,防止中文乱码 # localeLANG=zh_CN.gb2312LC_CTYPE="zh_CN.gb2312"LC_NUMERIC=& ...
- vimdiff env.txt export.txt set.txt
1. 环境变量 简单理解了变量的概念,就很容易理解环境变量了.环境变量的作用域比自定义变量的要大,如 Shell 的环境变量作用于自身和它的子进程.在所有的 UNIX 和类 UNIX 系统中,每个进程 ...
- Linux_配置认证访问FTP服务
[RHEL8]-FTPserver:[Centos8]-FTPclient !!!测试环境我们首关闭防火墙和selinux(FTPserver和FTPclient都需要) [root@localhos ...
- C++知识点案例 笔记-2
1.友元函数 2.友元类 3.继承(公有继承) 4.公有继承的访问权限 5.私有继承的访问权限 6.保护继承的访问权限(两次继承) ==友元函数== #include <iostream> ...
- jenkins部署vue项目
一.新建自由风格的项目 二.配置项目 三.部分部署脚本 #!/bin/bashecho $PATHnpm config set proxy nullnpm config set https-proxy ...
- Deploying Portainer CE in Docker
Portainer是一个轻量级的管理UI,它允许你轻松地管理你的Docker和Kubernetes集群 https://documentation.portainer.io/v2.0/deploy/c ...
- Java核心技术卷阅读随笔--第2章【Java 程序设计环境】
Java 程序设计环境 本章主要介绍如何安装 Java 开发工具包( JDK ) 以及如何编译和运行不同类型的程序: 控制台程序. 图形化应用程序以及 applet.运行 JDK 工具的方法是在终端窗 ...
- 在.NET 6中使用DateOnly和TimeOnly
千呼万唤始出来 在.NET 6(preview 4)中引入了两个期待已久的类型,将作为核心库的一部分.DateOnly和TimeOnly允许开发人员表示DateTime的日期或时间部分.这两个类型为值 ...