【01】为什么需要UML
为什么80%的码农都做不了架构师?>>>
1、从现实世界到业务模型
从理论上说,建立模型是指通过对客观事物建立一种抽象的方法,用来表征事物并获得对事物本身的理解,再把这种理解概念化,并将这些逻辑概念组织起来,形成对所观察的对象的内部结构和工作原理的便于理解的表达。
用用例模型来表示驱动者的业务目标。业务目标即事。
这件事怎么做,依据什么规则,通过业务场景、用例场景来描绘。
由人、事、物、规则组成。
2、分析模型(概念模型)
(1)边界类boundary(事)
边界是面向对象分析的一个非常重要的观点。从广义上说,任何一件事物,都分为里面和外面,外面的事物和里面的事物之间的任何交互都需要有一个边界。比如参与者与系统的交互,系统与系统之间的交互,模块与模块之间的交互等。
(2)实体类entity(物)
原始需求中领域模型中的业务实体映射了现实世界中参与者完成业务目标时所涉及的事物,UML采用实体类来重新表达业务实体。
(3)控制类control(规则)
用来表述原始需求中的动态信息,即业务或用例场景中的步骤和活动。
(4)参与者(人)
代表人/用户
3、设计模型
(1)将概念模型中的边界类转化为操作界面或系统接口
(2)控制类转化为计算程序或控制程序
(3)实体类转化为数据库表、XML等
4、统一过程RUP(Rational Unified Process)
UML是一种语言,用来描述软件生产过程中要产生的文档,统一过程则是指导如何产生这些文档以及这些文档要讲述什么的方法。
对于软件产品来说,最佳实践来自于两个方面,一方面是技术类的,如设计模式;另一方面是过程类的,如需求方法、分析方法、设计方法等。
转载于:https://my.oschina.net/scipio/blog/293942
【01】为什么需要UML相关推荐
- android架构师解压密码,咕泡Java架构师第三期完整版
课程目录:咕泡三Java架构师VIP培训班 2019年3月开班 [138.G] ┣━━第1部分:架构师内功心法 [16.9G] ┃ ┣━━01-为什么要从设计模式开始及工厂模式详解 [561.2M] ...
- java并发编程源码世界大师_求咕泡学院Java架构师第三期的完整版资料源码+视频,注(完整无解压密码)...
课程目录如下: 课程目录:咕泡三Java架构师VIP培训班 2019年3月开班 [138.G] ┣━━第1部分:架构师内功心法 [16.9G] ┃ ┣━━01-为什么要从设计模式开始及工厂模式详解 [ ...
- UML系统分析与设计01-准备
http://www.cnblogs.com/showjan/archive/2012/05/14/2499713.html UML,统一建模语言,在软件系统分析和设计中被广泛应用.作为一个初学者,我 ...
- 《UML大战需求分析》阅读笔记01
在刚学习软件开发的课程时,首先学习了UML设计,但只是学习了基本的语法,虽然在学期通过课堂练习进行了实践,但并没有真正理解其中作用.为了进一步的理解UML的用法,我阅读了<UML大战需求分析&g ...
- UML大战需求分析阅读笔记——01
UML图分为结构型和行为型两种 ,结构型是静态的,而行为型是动态的.可以看成静态的有:哪些类.哪些构件.系统最后怎样部署:可以看成动态的有:如何与用户交互.各个类,构件,模块之间如何联系. 一.结构型 ...
- 设计模式01 UML图,软件设计原则,创建型模式
概述 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中. 1995年,由 Erich Gamma.Richard Helm.Ralph Johnson 和 Joh ...
- 【设计模式学习01】设计模式概述,UML图,软件设计原则
文章目录 1. 设计模式概述 1.1 软件设计模式的产生背景 1.2 软件设计模式的概念 1.3 学习设计模式的必要性 1.4 设计模式分类 2. UML图 2.1 类图概述 2.2 类图的作用 2. ...
- 01.模型的概念、UML概述
文章目录 模型的定义 UML概述 目标 概念 UML中的视图 UML中的图(9种) 学习目标 简要介绍 UML应用领域 用例图:用户模型视图 Actor Use case 关系 实例:图书管理系统的用 ...
- visio2013-软件UML序列图01
Visio2013绘制软件UML序列图 绘图形状选择 1. 图形选择 2. 子图说明 对象:序列图中的对象是类的实例,它可以是系统的参与者或者任何有效的系统对象: ...
最新文章
- 固定资产打印条码标签应用方案
- ASP.NET安全问题--ASP.NET中的授权问题(前篇)
- AlertDialog 点击空白处、返回按钮 行为
- 对 COM 组件的调用返回了错误 HRESULT E_FAIL
- jQuery1.7.2正式发布了
- Fleury算法 求欧拉回路
- (转)linux下vi编辑器编写C语言的配置
- php安装扩展写kafca,安装PHP的kafka扩展
- MCU加密技术分析(二)
- python自动化办公模块_Python 自动化办公之 Excel 模块 — openpyxl 的基本使用!
- 如何删除计算机中的“天翼云盘”图标
- Silverlight 3.0正式版RTW的发布日期
- 【算法】排序_直接插入排序及其 优化(希尔排序)
- java 开发平台下载,JAVA开发平台和JAVA开发工具下载
- 使用mimics重建CT图像
- w10 桌面计算机垃圾桶,解答win10我的电脑怎么放在桌面
- 观察 | 家长焦虑,教培着急,暑期“培训热”今年还会持续吗?
- unity Layer CullingMask
- Developing a Large Scale Application with a Single Page Application (S
- Randomized algorithms(随机算法)
热门文章
- Unity2D游戏开发基础教程1.2项目、资源和场景
- Xamarin iOS开发实战中册 (内部资料)C#苹果应用开发
- 二元函数求最小值 c语言,用C语言实现简单的多元线性回归算法(二)
- python题目关于企业利润_【每日一练】巧用python实现利润计算
- 用户请求队列化_分布式消息队列选型分析
- python多进程存储数据_Python 多进程及进程间通信
- vue树形结构html,怎么在vue中利用递归组件实现一个树形控件
- java邮件附件默认路径_JavaMail - 文件夹管理( Folder Management)
- python版本不同影响大不大_Python的不同版本对编程有影响吗
- 基于增强现实和脑机接口的机械臂控制系统