从零开始学架构(三)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 ...
随机推荐
- 05.24 ICPC 2019-2020 North-Western Russia Regional Contest复现赛+Codeforces Round #645 (Div. 2)
A.Accurate Movement(复现赛) 题意:两个木块最左边都在0的位置,最右边分别为a,b(b>a),并且短的木条只能在长木条内移动,问两个木条需要移动多少次才能使两个木条的右端都在 ...
- Java_集合之一
1.Collection集合 1.1数组和集合的区别[理解] 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型和引用数据类型 集合只能存引用 ...
- 『动善时』JMeter基础 — 16、JMeter配置元件【HTTP信息头管理器】
目录 1.用于演示的项目说明 2.测试计划内包含的元件 3.HTTP请求界面内容 4.查看脚本执行结果 5.添加请求头信息(HTTP信息头管理器) 6.优先级说明 7.补充:常见请求头信息 JMete ...
- 在微信框架模块中,基于Vue&Element前端的后台管理功能介绍
微信开发包括公众号.企业微信.微信小程序等方面的开发内容,需要对腾信的微信API接口进行封装:包括事件.菜单.订阅用户.多媒体文件.图文消息.消息群发.微信支付和企业红包.摇一摇设备.语义理解.微信小 ...
- mybatis-plus批量插入saveBatch太慢?我愿意称rewriteBatchedStatements为神
最近在做项目优化,代码优化之后,测试接口,好家伙.一个定时任务接口执行要10秒左右. 一点点追踪,给每个方法打上执行时间,一点点缩小范围.好家伙,终于让我锁定了目标. 这是mybatis-plus的批 ...
- [刷题] 1 Two Sum
要求 给出一个整型数组nums 返回这个数组中两个数字的索引值i和j 使得nums[i]+nums[j]等于一个给定的target值 两个索引不能相等 实例 nums=[2,7,11,15], tar ...
- [Java] HOW2J(Java中级)
异常 定义:导致程序正常流程被中断的事件 异常处理常见手段 try catch:将可能抛出异常的代码放在try的块中,一旦出现异常就跳转到catch的块中处理 throws/throw:不在本模块处理 ...
- IEEE754标准
以下计算按规格化规定: S:符号位 M:分数值 E:指数偏移值 单精度浮点数(32bit): NUM_single = (-1)^S * 1.M * 2^(E-127) 双精度浮点数(64b ...
- Linux如何查看文件的创建、修改时间?
Linux如何查看文件的创建.修改时间? 利用stat指令查看文件信息 三种时间的介绍 ATime --文件的最近访问时间 只要读取时间,ATime就会更新 MTime --文件的内容最近修改的时间 ...
- python基础之包、模块、命名空间和作用域
一.模块介绍 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块里的功能. 模块的作用: (1)从文件级别组织程序,更方便管理:随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一 ...