图书前言

自古以来,最有才干的建筑师以及最杰出的设计师都确信“俭省定律”(law of parsimony)。不管它是陈述成一种悖论(“少即是多”),还是陈述成一种公案(“禅心即本心”),其智慧是永恒的。将任何事都简化到本质,使形式与功能相谐。从金字塔到悉尼歌剧院,从冯·诺依曼体系结构到UNIX及Smalltalk,最佳建筑师与设计师们都力求遵循这一普遍的永恒原则。

认识到利用奥卡姆剃刀(Occam’s Razor)剃须的意义,当我在设计与阅读时,总在寻找一些遵循俭省定律的项目和书籍。因此,我对你现在正在阅读的这本书赞赏有加。

你可能起先对我的上述评论感到惊异。我经常接触到定义统一建模语言UML的冗长而难懂的规范。这些规范使工具卖主得以实现UML并使方法学学者得以应用UML。七年来,我主持了一些大型国际标准化组,制定了UML 1.1与UML 2.0的规范以及其间若干次较小的修订。这段时期,UML在表现能力与精确程度上已臻成熟,但是,由于标准化过程,也增加了不必要的复杂性。遗憾的是,标准化过程乃是因其“按委员会设计”的折中妥协而不是因其俭省典雅而闻名于世的。

熟悉规范的晦涩难解之细微末节的UML专家能从Martin对UML 2.0的精粹提炼中学到什么呢?可以学到很多。一开始,Martin就巧妙地将一种庞大复杂的语言简化成一个颇重实效的子集,后者在实践中已被证明效果不错。他摒弃了对该书的前一版增补篇幅的简易途径。由于这种语言的发展壮大,Martin一直坚持其寻求“UML最为有用的部分”的目标,并且所讲述的也正是这一部分。他所指的这一部分就是帮助你做80%工作的UML中神话般的20%部分。俘获并驯服这匹在逃的野兽乃是一项了不起的成就!

第3版前言UML精粹(第3版)标准对象建模语言简明指南更令人钦佩的是,Martin是以一种精彩动人的对话文体来实现这一目标的。通过与我们共享他的意见及趣闻轶事,他使本书成为一本有趣的读物,并且使我们联想到构建与设计系统应是既有创见又富有成效的。如果我们追求俭省公案到尽善尽美的地步,就应发现,用UML对项目建模就犹如在小学或中学中发现指画班与绘画班那样令人愉快。UML应是我们创造性的一支照明杖,以及“精确指明系统蓝图以致第三方可以索价并构作系统”的一台激光器,后者乃是对任何一种真正蓝图语言的酸性检验。

因此,虽然这可能是一本小书,它却不是一本平凡的书。你可以从Martin的建模途径学到的东西几乎和你从他对UML 2.0的解释所学到的东西一样多。

在和Martin一道工作,以增进本次修订所阐明的UML 2.0的语言特征的选取与纠错上使我感到愉快。我们必须记住,所有有生命的语言(自然语言与人工语言)都必然发展或消亡。Martin的关于新特征的选择连同你的爱好以及其他实践者的爱好,乃是UML修订过程中的重要部分。它们使这种语言保持生气勃勃,并帮助它通过市场中的自然选择而发展。

在模型驱动开发成为主流以前还有很多挑战性的工作要做,但是我却因像这样一本清晰阐明UML建模基本原理并进行实际应用的书籍而感到鼓舞。我希望你和我一样能从中获益,并利用新的深刻了解来改进自己的软件建模实践。