从零开始学架构(三)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 ...
随机推荐
- 将文件服务器及域控制器从2003迁移至Windows Server 2008 R2
(一)背景环境: 当前,多数小企业仍然使用windows server2003 系统做域控制器及文件服务器,由于windows server 2003在多年使用之后变得卡顿,且存在异常的系统错误及诟病 ...
- Spring核心结构及核心思想
Spring核心结构 基本概念 Spring是⼀个分层⾮常清晰并且依赖关系.职责定位⾮常明确的轻量级框架,主要包括⼏个⼤模块:数据处理模块.Web模块.AOP(Aspect Oriented Prog ...
- Scrum Meeting 2
Basic Info where:三号教学楼 when:2020/4/25 target: 简要汇报一下已完成任务,下一步计划与遇到的问题 Progress Team Member Position ...
- Zoho:SaaS行业的“紫色奶牛”
以下文章来源于:中国软件网,作者王锦宝 蓝天白云的映衬下,一群黑白相间的奶牛在绿草场自由玩耍,这种田园牧歌场景看久了,总会引起审美疲劳.假如突然出现一头紫色奶牛,你肯定会眼前一亮,把所有注意力集中到紫 ...
- 如何提高CRM系统使用率?
随着时代的发展和市场的变化,客户在企业的眼中开始变得越来越重要.谁拥有更多的客户,谁就能在激烈的市场竞争中占据一席之地.现在很多企业通过CRM系统转变为了"以客户为中心".但是,许 ...
- 并发王者课 - 青铜4:synchronized用法初体验
在前面的文章<双刃剑-理解多线程带来的安全问题>中,我们提到了多线程情况下存在的线程安全问题.本文将以这个问题为背景,介绍如何通过使用synchronized关键字解这一问题.当然,在青铜 ...
- Swift系列七 - 汇编分析值类型
通过汇编分下值类型的本质. 一.值类型 值类型赋值给var,let或者给参数传参,是直接将所有内容拷贝一份.类似于对文件进行复制粘贴操作,产生了全新的文件副本,属于深拷贝(deep copy). 示例 ...
- golang:Channel协程间通信
channel是Go语言中的一个核心数据类型,channel是一个数据类型,主要用来解决协程的同步问题以及协程之间数据共享(数据传递)的问题.在并发核心单元通过它就可以发送或者接收数据进行通讯,这在一 ...
- [bug] MySQL 无法删除表
参考 https://blog.csdn.net/smbluesky/article/details/82427121
- top,它们的意思分别是1分钟、5分钟、15分钟内系统的平均负荷。
理解Linux系统负荷 作者: 阮一峰 日期: 2011年7月31日 一.查看系统负荷 如果你的电脑很慢,你或许想查看一下,它的工作量是否太大了. 在Linux系统中,我们一般使用uptime ...