Thinking in UML-1-为什么需要UML
1 从面向过程到面向对象
面向过程认为我们的世界是由一个个相互关联的小系统组成。逻辑严密、环环相扣、井然有序。但是我们这个世界从来不是一成不变的。世界的复杂性和频繁变革不是面向过程可以轻易应付应付的。
面向过程的困难本质上是因为过程的方法将世界看做是过程化的,一个一个紧密联系的小系统,构成这个系统的各个部分有着密不可分的联系。
面向对象方法是将世界看做一个一个独立的对象,他们相互之间并无联系。只有当外部力量的驱动下,才会传递信息。这些交互构成了这些对象之间的“过程”。
打个比方:如果一次成型一辆汽车就太过困然,我们可以把汽车分解为去多不同的零件,每个零件只和有限的零件产生联系,然后用特定的方式把它们组合起来。
在这个过程中,我们最重要的是对零件的抽象和对接口的描述。在面向对象的方法中这个也是最重要的。
抽象层次:一辆汽车可以抽象为发动机+轮子+车身。 发动机由可以抽象为汽缸+活塞等零件。
面向对象的方法根本的不同就是不再把世界看做一个紧密联系的系统,而是看做一些相互独立的离散的小零件。这些零件依照某种特定的规则组合起来,完成特定的功能。
UML代表了面向对象分析设计方法。
2 UML带来了什么
UML是什么:UML是一种建模语言。它定义了:
- 建立模型所需要的、表达某种特定含义的基本元素----元模型
- 元模型之间关系的规则
- 可视化: 就是可图形化, 一图胜千言
建模是指通过通过对客观事物建立起一种抽象的方法,用来表征事物并获得对事物本身的理解,在把这种理解概念化,并将这些逻辑概念组织起来,形成对所观察的内部结构和工作原理的便于理解的表达。
一个完整的建模过程可以划分为以下几个步奏:
- 从现实世界到业务模型
- 从业务模型到概念模型
- 从概念模型到设计模型
建模是一个抽象的过程。 我们现在来抽象世界。我们世界的本质是由人、事、物和规则组成。
在uml中,人成为参与者,事成为了用例, 看下如图所示模型演化图:
3 总结
面向对象方法是一种更高抽象层次的方法。而uml给面向对象的方法建模以一种图形化的表达和描述。