think in uml学习

面向对象和面向过程是两种不同描述世界的方法。

面向过程:世界视为过程,世界由一个个相互关联的小程序构建来的,是精密的

     但是构成一个系统的因素太多,要把所有可能的因素都考虑到,把所有因素的因果分析都分析清楚,再把这个过程模拟出来实在是太困难了。

面向对象:世界视为对象,世界由一个个相互独立、相互之间没有因果关系的对象构成,是独立的

但是难点在于为什么这样抽象对象?怎样组合对象?对象的组合表达了怎样的含义?(面向对象存在的问题why how what )

例如:把大象装进冰箱的两种方式
面向过程-每个过程有一个阶段性的目标,依次完成这些过程,就能把大象装进冰箱:
  冰箱开门(打开门的冰箱)
  冰箱装进(冰箱, 大象)
  冰箱关门(冰箱)
面向对象-依次做这些动作(动作的执行者就是对象),就能把大象装进冰箱
  冰箱.开门(),
  冰箱.装进(大象.进冰箱),
  冰箱.关门()

面向对象是把世界看作是由许多对象组成的,UML是一种是面向对象软件的标准化建模语言:

  • 把现实世界映射到对象世界的方法;
  • 从对象世描述现实世界的方法;
  • 验证对象世界行为是否正确反映了现实世界的方法;

UML优点:可视化、统一标准、人和机器皆可理解;

UML建模要素:参与者(actor)、用例(use case)、业务对象模型 、业务场景(现实:人驱动,事体现过程,物记录结果,规则是控制)

模型为参与者服务,用例体现业务目标,业务场景描述怎么做,用例场景依据的规则

现实世界-》业务模型-》概念模型-》设计模型

业务模型--参与者(actor),用例(usecase)

概要模型(分析模型)--边界类、实体类、控制类

UML基本概念

建模(Modeling)-构成一种对所观察的对象的内部结构和工作原理的便于理解的表达

怎么建?做需求的时候,首要目标不是要弄清楚业务是如何一步一步完成的,而是要弄清楚有多少业务的参与者?找出问题领域里包含的抽象角度,每个参与者的目标就是抽象角度,也就是用例

什么是模?静态的事情(物)+特定的条件(规则)+特定的动作(参与者的驱动)=特定的场景(事件)(人、事、物、规则)。

建模公式

用例驱动

实现用例必须要做的工作,用例实现了,问题领域就解决了;

用例驱动包括:逻辑视图、进程视图、实施视图、部署视图

 抽象

自顶向下的方法适用于让人们从头认识一个事物;
自底向上的方法适用于在实践中改进和提高认识。

视图

组织UML元素反映模型的含义,观察事物的角度;

对每个视图,不同的视角展示了同样信息的不同认知角度以便于理解;

一个好的模型,需要为特定的信息选择正确的视图,为特定的干系人展示正确的视角;

对象分析方法

一切都是对象、对象都是独立的、对象都具有原子性、对象都是可抽象的、对象都有层次性

UML之一、为什么需要UML?的更多相关文章

  1. UML系列04之 UML时序图

    概要 本章对UML的时序图进行介绍,主要内容包括:时序图介绍时序图组成 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3523355.html 时序图介绍 ...

  2. UML系列03之 UML类图(二)

    概要 在"UML系列02之 UML类图(一) "中介绍了类图的基本构成--类的UML表示方法.本文是接着前文,继续对"UML的类图"中几种关系进行介绍.介绍的主 ...

  3. UML系列02之 UML类图(一)

    概要 本章介绍类图中类的UML表示方法.内容包括:类图介绍实体类的UML表示抽象类和接口的UML表示 转载请注明出处:http://www.cnblogs.com/skywang12345/p/352 ...

  4. 【UML 建模】在线UML建模工具 ProcessOn 使用详解

    总结 : -- 推荐理由 : 最近从 Windows 操作系统 转到 MAC 上, 正在看设计模式 和 重构, 找不到好用的 UML 工具, 因此在网上找了一款可以在线使用的 UML 工具, 用起来发 ...

  5. 【UML】NO.54.EBook.6.UML.2.002-【Thinking In UML 大象 第二版】- UML 核心元素

    1.0.0 Summary Tittle:[UML]NO.54.EBook.6.UML.2.002-[Thinking In UML 大象 第二版]- UML 核心元素 Style:DesignPat ...

  6. 【UML】NO.53.EBook.6.UML.2.001-【Thinking In UML 大象 第二版】- 概述

    1.0.0 Summary Tittle:[UML]NO.53.EBook.6.UML.2.001-[Thinking In UML 大象 第二版]- 概述 Style:DesignPattern S ...

  7. 【UML】-NO.40.UML.1.UML.1.001-【UML】- uml

    1.0.0 Summary Tittle:[UML]-NO.40.UML.1.UML.1.001-[UML]- uml Style:DesignPattern Series:DesignPattern ...

  8. [转]解析UML建模语言中的UML图分类、 UML各种图形及作用

    本文向大家介绍一下UML图分类,作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分. UML图大致可分为五类,共有九种图形. AD: 本文和大家重点讨论一下UML图分类,标准建模语言U ...

  9. 【UML 建模】在线UML建模工具 ProcessOn 使用具体解释

    总结 : -- 推荐理由 : 近期从 Windows 操作系统 转到 MAC 上, 正在看设计模式 和 重构, 找不到好用的 UML 工具, 因此在网上找了一款能够在线使用的 UML 工具, 用起来发 ...

  10. 【UML】如何记忆UML类图的画法

    前言 UML类图形象反映系统类之间的关系,大家非常常用.小弟不才,偶尔使用,往往每次使用都得查询各种关系的表示方式.终于,这次认真看了几遍,打算记起来. 注意 记忆方法只是本人联想,用于加强记忆.与该 ...

随机推荐

  1. spring boot的日常配置

    配置篇 #数据库连接配置msql spring.datasource.url:jdbc:mysql://127.0.0.1:3306/test spring.datasource.username: ...

  2. Processing 3!

    Welcome to Processing 3! Dan explains the new features and changes; the links Dan mentions are on th ...

  3. xlwings excel(一)

    python操作Excel的模块,网上提到的模块大致有:xlwings.xlrd.xlwt.openpyxl.pyxll等,他们提供的功能归纳起来有两种:一.用python读写Excel文件,实际上就 ...

  4. 如梦令编程语言发布 (RML)

    如梦令编程语言是在Rebol语言核心语法的基础上,做了一些自以为是的修改而来.谨以此为Rebol语法的传承,略尽绵薄之力. 基本概念 如梦令语言分属Lisp语系,代码本身是一个层层嵌套的Token列表 ...

  5. MySQL基础知识清单

    学习大纲(★为重点,√其次) 一.为什么要学习数据库 二.数据库的相关概念 DBMS.DB.SQL 三.数据库存储数据的特点 四.初始MySQL MySQL产品的介绍 MySQL产品的安装 ★ MyS ...

  6. Electron使用electron-packager打包记录

    1.使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用 2.下载https://github.com/electron/electron-quick-start中的示例 3.在示 ...

  7. Docker应用部署实录(包含完善Docker安装步骤)

    Docker应用部署实录(包含完善Docker安装步骤) 前言 首先说一下这篇文章的来源.我之前接手的一个IOT项目,需要安装多个中控服务器.中控服务器需要安装RabbitMQ,Mysql,多个服务, ...

  8. js笔记(2)--第一天记录

    ---恢复内容开始--- 模仿了网站的一个常见小功能,开关灯小功能. 代码: <!DOCTYPE html> <html lang="en"> <he ...

  9. 二、UDP

    1 端口号 在计算机网络和电磁信号理论中,对共享同一通信信道的多个信号进行区分是个常见的问题.多路复用(multiplexing)就是允许多个会话共享同一介质或机制的一种解决方案. 使用不同的频率来区 ...

  10. Linux系统之LAMP实现

    1.部署分离的LAMP,部署到二台服务器上,php加载xcache模块 首先准备LAMP环境,准备两台Linux主机,一台是192.168.0.10 ,这台上面主要跑apache httpd ,mar ...