由于PDF共60M,所以分成4部分上传,这是第一部分,需要注意4部分凑齐后在part4会有一个合成工具最后合成pdf文件,最后一部分下载的时候需要5分,提前说明,免得浪费各位时间。
前言
提到Thinking这个词,读者大多会想到一本经典技术书籍《Thinking in Java》。之所以《Thinking in Java》会成为经典,原因在于这本书并不是教授读者Java语言本身,而是透过Java语言深入讨论其背后的思想和方法。授人以鱼不如授人以渔。
本书是讲述UML的。同样,本书也不是一本纯粹教授UML语法的书籍,而是通过UML这个表象来深入探讨面向对象的分析方法;同时将结合软件工程,传达基于对象的思考方法、分析模式和推导过程以及它们在软件工程的各个阶段如何发挥作用。本书冠以Thinking in UML这一名称正是为了切合这个主题。作者不敢奢望本书会成为《Thinking in Java》一样的经典书籍,但是作者在本书中倾尽了自己在面向对象分析和设计领域中的实践和经验积累。至少对那些尚未能够深入此领域,感觉面向对象仍然似是而非的朋友们,本书中将要传达的那些思路将会是一条线索,至少能够帮助你找到通往面向对象分析的大门。
本书分为四部分,由浅入深,从基础到高级,每个章节都有具体的实例进行说明,同时作者将耗费更多的篇幅来评点和阐述这些实例。在某些章节最后还会就一些关键概念和不容易理解的地方提出问题,让读者自行思考。
第一部分为准备篇,需要了解。在这一部分中,作者将从面向对象的困难和需要入手,讲述面向对象分析的一些基本概念,由此提出为什么需要UML这一话题。另一方面,也讲述了接下来学习建模需要了解的一些基本知识。
第二部分为基础篇,在学习中思考。在这一部分中,作者将从实用的角度对UML的基础概念重新组织和归纳整理,同时进行一些扩展和讨论,引申出针对UML的这些概念在面向对象方法中应用方法的思考。这些内容将覆盖绝大部分实际工作的需要。通过这一部分的学习,读者将从另一个角度了解UML,知道UML能够做什么。
第三部分为进阶篇,在实践中思考。在这一部分中,作者将以一个实例贯穿全篇,以软件过程为纲,阐述在第一部分中学习到的那些UML元素和视图将如何在一个实际的软件过程中发挥作用,如何相互配合将一份原始需求经过层层分析和推导,最终形成可执行的代码。并且这个过程将是可验证的和可追溯的。读者在阅读本部分的时候,应关注分析过程和推导过程,思考从需求到实现是如何保证可验证性和可追溯性的。通过这一部分的学习,读者将能够学会如何使用UML来从头到尾地实施一个项目。
第四部分为总结篇,在提炼中思考。在这一部分中,每个章节均会针对一个在现实中经常遇到并且较难掌握的问题进行深入的探讨。这些探讨将有助于提升面向对象的思考能力,升华在前两部分学习到的知识。