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. emeditor安装及插件信息

    原文地址:https://www.52pojie.cn/thread-658917-1-1.html 废话不多说 官网:https://www.emeditor.com/download/ 安装版:6 ...

  2. nginx default setting

    # You may add here your# server {#    ...# }# statements for each of your virtual hosts to this file ...

  3. sqli_labs学习笔记(一)Less-21~Less-37

    续上,开门见山 Less-21 Cookie Injection- Error Based- complex - string ( 基于错误的复杂的字符型Cookie注入) 登录后页面 圈出来的地方显 ...

  4. 网络流(最大流-Dinic算法)

    摘自https://www.cnblogs.com/SYCstudio/p/7260613.html 网络流定义 在图论中,网络流(Network flow)是指在一个每条边都有容量(Capacity ...

  5. SpringCloud与微服务Ⅳ --- Rest微服务构建案例工程模块

    一.父工程搭建 父工程pom: <?xml version="1.0" encoding="UTF-8"?> <project xmlns=& ...

  6. learn more ,study less(二):整体性学习技术(上)

    前言:在学习整体性学习概念时,一个很好的方法是把它比喻成下棋,首先你要了解下棋的 基本规则和基本目标,本书第一部分可以看做是介绍关于整体性学习的一整套规则和目标. 一旦你理解了下棋的基本规则,你就要开 ...

  7. js笔记(3)--js实现数组转置(两种方法)

      js实现数组转置   第一种方法:   <script>     window.onload=function(){     var array1=[[11,22,33,333],[4 ...

  8. Spring Cloud第十三篇 | Spring Boot Admin服务监控

    本文是Spring Cloud专栏的第十三篇文章,了解前十二篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring Clo ...

  9. two measures precision and recall of classification

    In pattern recognition and information retrievial with binary classification , there are some measur ...

  10. 1276:【例9.20】P2758 编辑距离

    题目传送门[(https://www.luogu.com.cn/problem/P2758)] 题目描述 设A和B是两个字符串.我们要用最少的字符操作次数,将字符串A转换为字符串B.这里所说的字符操作 ...