从零开始学架构(三)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 ...
随机推荐
- Xshell6连Linux
一.安装 文件 链接: 提取码:8rmr 二.连Linux 名称填自己喜欢的.续之前,我们保持一样的名字.主机填IP,根据之前Linux填的静态IP去连接. 然后双击,连接 我们用最高权限,填root ...
- Windows bat批处理删除指定N天前的文件
1:新建批处理文件:del_old_file.bat,更改系统时间为7天前,在c盘sql back 目录下新建测试文件,再将系统时间改为正确时间 2:编辑内容: rem 删除C:\sql back目录 ...
- net5学习笔记---依赖注入
小王的故事 小王去上班 小王是个程序员,每个工作日他都要去上班,诸多交通工具他最喜欢的交通工具是骑电车.在骑行的过程中放空自己使他很快. 突然有一天天气预报说近期有很大的雨,小王再想骑电车去上 ...
- mitrproxy抓包微信小程序
mitmproxy mitmproxy is a set of tools that provide an interactive, SSL/TLS-capable intercepting prox ...
- mybatis-plus批量插入saveBatch太慢?我愿意称rewriteBatchedStatements为神
最近在做项目优化,代码优化之后,测试接口,好家伙.一个定时任务接口执行要10秒左右. 一点点追踪,给每个方法打上执行时间,一点点缩小范围.好家伙,终于让我锁定了目标. 这是mybatis-plus的批 ...
- macos python安装mysqlapi集合
记录一下,接了一个python2 django1.x的项目,很老了导致很多扩展无法安装 os version:macos catalina python version: 2.7.18 而django ...
- [bug] idea 导入多个 maven 项目
参考 https://www.cnblogs.com/qinxu/p/9649267.html
- Linux下获取当前的目录,需执行以下命令: $(cd `dirname $0`;pwd)
Linux下获取当前的目录,需执行以下命令: $(cd `dirname $0`;pwd) 其中, dirname $0,取得当前执行的脚本文件的父目录 cd `dirname $0` ...
- keepalived绑定单播地址、非抢占模式及LVS的TCP模式的高可用
背景:keepalived默认是组播地址进行播放,且默认地址是224.0.0.18,如果配置多个keepalived主机,会导致虚拟IP地址存在冲突问题,这种问题怎么解决呢? 解决办法:就是将keep ...
- ipmitool使用手册
ipmitool使用手册原创xinqidian_xiao 最后发布于2018-07-05 12:15:47 阅读数 17948 收藏展开一.查找安装包 查看ipmitool属于哪个安装包 #yum p ...