前言
本书主要是讲一种如何以对象的思考方式将复杂化的业务用其的建模方法的方法形象的表达出来。整本书也是围绕UML 的语言概念展开,如定义其元素:用例,业务,包,关系,组件,节点。又通过其语法如:视图和模型来完成一个业务的分析。最后通过一个例子来强化UML的语法。作者在文章最后一篇还帮我们扩展关于设计的思考。包括理解用例本质、理解建模的抽象层次、学会设计模式等都是为了让我们更扎实的思考底层设计思维和方法论这样才能更好运用UML 。
一、内容简介
《大象:Thinking in UML》以UML为载体,将面向对象的分析设计思想巧妙地融入建模过程中,通过贯穿全书的实例将软件系统开发过程中方方面面的知识有机地结合在一起,用生动的语言和精彩的事例将复杂枯燥的软件过程讲解得津津有味。
— 全书分为准备篇、基础篇、进阶篇和总结篇四个部分。
- 准备篇讲述面向对象分析的一些基本概念,及学习建模需要了解的一些基本知识。
- 基础篇对UML的基础概念重新组织和归纳整理,进行扩展和讨论,引申出针对UML的这些概念在面向对象方法中应用方法的思考。
- 进阶篇以一个实例贯穿全篇,阐述如何使用UML从头到尾地实施一个项目。
- 总结篇针对在现实中经常遇到并且较难掌握的问题进行深入的探讨,升华在前几篇学习到的知识。
二、UML建模
1.建模
是指通过对客观事物建立一种抽象的方法用以表征事物并获得对事物的理解,同时把这种理解概念化,将这些逻辑组织起来,构成一种对所观察的对象对内部结构和工作眼里的便于理解的表达。
2.UML
统一建模语言(Unified ModelingLanguage——UML)是一种面向对象的建模语言,它可以实现大型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建立各种所需的文档,是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
3.设计思路
在面向对象出现之前,有大量的编程语言都是面向过程的,如C,pthen语言、汇编等。开发人员很难从设计中推导出需要的对象,很容易业务变化就会被牵着走。举个例子假设把切好的哈密瓜放到冰箱冷藏。
- 那么面向过程设计思路就是:
拿到哈密瓜
切成合适的分量
放到冰箱
- 而如果是面向对象的设计思路是:
准备不同的工具
拿到不同水果
选择合适的切法
放到冰箱
发现没有,如果我下次拿的是橙子的话,那么面向过程就需要重新再编写和操作一遍。而面向对象就只需要把橙子扔过去,他就能放入冰箱。
而UML出现就是为了解决编程很难从设计中推导出对象的问题。通过UML的基本元素如组件,关系等结合分析模型和核心视图把现实复杂的业务通过面向对象的思路设计出来。
思维导图:
心得体会
这本书给我最大的提示就是关于业务边界和分包和设计模型的思考。在读一本书的时候,最好是带着困惑去读,不然会读完索然无味。而书中关于UML 的内容已经不再重要,作为一种工具。我们更多的是结合实际给出别人能看得懂的图形,帮助自己梳理业务的模型即可!