zoukankan      html  css  js  c++  java
  • UML之一、为什么需要UML?

    think in uml学习

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

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

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

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

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

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

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

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

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

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

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

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

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

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

     UML基本概念

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

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

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

    建模公式

    用例驱动

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

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

     抽象

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

    视图

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

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

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

    对象分析方法

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

  • 相关阅读:
    Qt环境搭建(Visual Studio)
    HTML基础
    关于Qt
    I am back
    Node Security
    Mobile Assistant
    Home Server
    抉择-什么最重要
    在一个JSP页面中包含另一个JSP页面的三种方式
    JS控制DIV隐藏显示
  • 原文地址:https://www.cnblogs.com/sun-null/p/12232812.html
Copyright © 2011-2022 走看看