现在计算机科学专业和软件工程专业的学生都必须选取像面向对象分析与设计或者面向对象软件工程之类的课程作为本科学业的一部分。但是,尽管市面上已经有各种各样的面向对象技术方面的图书,但是似乎缺少一本内容全面、能够涵盖整个软件开发过程的教科书:从建模、分析到实现,也就是从理论到实践。因此,学生们对面向对象这项强大技术的认识常常是不完整的,最糟糕的是一些学生甚至对它有非常大的误解。 导致这个现象的原因可能归咎于以下几个因素。第一,UML表示法非常丰富,很多学生不知道如何系统地使用它们。第二,统一过程没有规定在不同条件下需要什么模型;实际上一些模型甚至工作流只是可选的。第三,市面上的相关图书没有提供完整地涵盖整个开发生命周期的实用内容,学生在将所学理论应用到实际环境中时会遇到麻烦。第四,没有一个统一的方法能够应用于任意类型的问题。学生甚至从业者往往倾向于遵循某种“经过验证的”方法学,但最终他们都会发现这些方法学根本不能用于他们的系统。 最基本的问题是很多学生和从业者不知道软件开发方法有3个关键元素:过程、表示法和技术,以及应该如何将其系统地加以应用,以一种系统化的方式有效地利用开发系统(环境)提供的便利。大多数讨论UML的图书都只关注表示法,也可能会有少量关于统一过程的内容。很多关于UML的图书都包含了软件工具,但是这些工具只能用来演示如何能够将软件开发过程自动化。软件厂商通常只在他们的手册中讨论自己的工具,可以理解的是,他们会对自己所采用的技术有所偏好。但是,很多产品与UML标准并不兼容。 本书的起因是由于需要一本涵盖整个软件开发生命周期的书,它能够在构建大型系统所涉及的各个步骤中为学生和从业者提供指导。读者可能来自不同的开发阶段,从建模与分析阶段到实现阶段,通过使用CASE工具VP-UML,他们将体会到“从图到代码”功能的威力。每章都有一个小型案例研究,这可以帮助读者理解在实践中如何应用这些知识。我们还提出了视图校正技术(View Alignment Techniques,VAT)框架,它可以为不同类型应用的方法定制提供便利。基于VAT框架,我们将描述活动分析方法(Activity Analysis Approach,AAA),它特别适合于交互密集型系统的开发。在本书中,软件开发的实用方面将通过一个获奖的CASE工具VP-UML得到演示。 我们的梦想是使大型软件系统的开发成为一个简单容易的任务。我相信所提出的VAT框架将有助于从业者和学生建立他们自己的方法学,以适合各自的需要,从而使失败和恐惧远离系统开发。