本套书汇集了两位作者丰富的软件过程经验、10余位业界杰出人士的亲身体会以及《软件开发》和《计算机语言》杂志中的精彩论文,提出了软件开发过程中的最佳实践方法,指导读者有效而且高效地执行这些过程。同时,作者还综合了统一过程和其他软件过程,形成了一个处理真实世界软件开发和产品需要的更完整、更健壮的统一过程。本套书共有四本,其中介绍的最佳实践方法分别对应统一软件过程的四个阶段:初始阶段、细化阶段、构造阶段、移交和产品化阶段。本书是这套书的第3本,重点介绍与统一软件过程构造阶段有关的最佳实践。本书可以作为软件项目管理人员、软件开发工程师、过程工程师、系统工程师等专业人员的指导用书,也可作为高等院校计算机及相关专业学生的参考书。本书前言在《软件开发》杂志和它的前身《计算机语言》中已经刊登了大量关于如何成功开发软件的文章。为这一杂志撰稿的人包括许多业界最著名的专家,比如KarlWiegers、SteveMcConnell、EllenGottesdiener、JamesBach、JimHighsmith、WarrenKeuffel和LucyLockwood。简而言之,信息产业的大师们在这些年里一直在这本值得尊敬的杂志中与我们分享他们的智慧成果。近来,在几乎所有的组织中,对软件过程改进的关注越来越多了。这有一部分是因为千年虫(Y2K)问题、大规模软件项目的高失败率以及人们渐渐意识到遵循成熟的软件过程是软件项目成功的关键因素。从20世纪90年代中期开始,Rational公司控股和合并了其他一些软件工具公司;随着公司的发展,这些工具所支持的各种过程也被合并成一种开发方法,称为“统一过程”(UnifiedProcess)。是否有可能让整个软件过程自动化?如果有可能,那么Rational公司是否拥有一套完整的工具集?对上述问题我们并不确定。但幸运的是,其他人也在定义软件过程,所以我们还可以从多个角度来看事物应怎样运作。这些过程包括:OPEN联盟的OPEN过程、面向对象软件过程(OOSP)的过程模式以及极限编程(XP)。这些不同的视角可以用来推动统一过程观点,使其更加健壮,结果就产生了一个更能准确反映你所在组织现实需要的增强的统一过程生命周期。因为我们相信《软件开发》中包含的多年收集的智慧能够用来充实统一过程—真正将我们产业的最佳实践统一起来,所以我们编写了本系列丛书。为什么软件过程如此重要呢?让我们先设想一下。假如你想请人给你建造一间房子,让两位承包商来竞标。第一位承包商告诉你,通过使用一项最新的建筑技术给你盖房,如果从明天就开始的话,他能在两个星期内就把房子建好,造价只有10万美元。这个承包商手下有一流的木匠和水管工,他们以前用这项新技术建造过一个花园凉棚,他们愿意日夜加班以按期交付你的新屋。而第二位承包商告诉你,她需要先和你讨论你想要建一间什么类型的房子。然后,一旦她确定明白你的需要,她将在一个星期内提供一整套设计蓝图供你审阅和提意见。这个初始阶段只会花你1万美元,当你决定了最终方案,对于其余的工作她将给出详细计划和成本估算。你会觉得选哪个承包商更放心呢?是想马上开始建房的那个,还是先搞清楚要建什么样的房子,再建模型,再详细计划,最后动工修建的那个?显然,后者更有可能成功地交付给你一间符合你实际需要的房子。现在,设想你要构建的是软件—这通常是复杂得多而且远比房子更昂贵的项目,再设想你还是面对两个与前面采取相同方法的承包商。选择哪个你会更放心呢?希望你的回答仍是第二个;她有一个更明智的过程。但不幸的是,实践显示:在大多数时间里,组织似乎喜欢选择第一个承包商的方法;热衷于新技术而忽视过程。当然,实践也显示:在我们的产业里,建造大型的、具有关键任务的系统的失败率在85%以上。也许这两种现象有一定的关联。构造阶段构造阶段是软件开发5个阶段(初始、细化、构造、移交和产品化阶段)中的第3个阶段,每个软件的发布版本在其生命周期内都将遍历这些阶段。构造阶段的目标是:*描述剩下的需求。*充实你的系统设计。*保证你的系统达到用户的要求,并与你所在组织的系统整体设计相适合。*完成构件开发和测试,包括软件产品和它的文档。*依靠资源优化来把开发成本降到最低。*尽快地获得足够高的质量。*为你的系统开发有用的版本(a版、b版等)。本书向读者呈现了业界专家所撰写的描述软件领域最佳实践的文章。本书乃至本系列丛书的一个目标是提供已证实的统一过程所包含技术的可替代方案。另一个目标是弥补统一过程中的一些缺陷。因为统一过程是一个开发过程,而不是软件过程,它不可避免地遗漏或缺少了一些对软件专业人员来说非常重要的概念。幸运的是,《软件开发》杂志的作者们已经对过程范围有了更广泛的了解,并已经为我们弥补了许多缺陷。关于本套丛书本套丛书由四卷组成:第1卷介绍初始阶段,第2卷介绍细化阶段,第3卷介绍构造阶段,第4卷介绍移交和产品化阶段。每卷都可独立成书,但是如果想对整个软件过程有一个完整的认识,你需要通读全套丛书。本套丛书的文章覆盖了整个过程,在每卷之间没有重复。我们在为本书选择材料时确实费了一番心思,有大量可以选择的材料,但是篇幅有限,缩小选择范围并不总是那么容易。如果时间和容量没有限制,那么每一本书都可能会有现在的两倍那么厚。通过缩小选择范围,我们相信留下来的文章一定都是精华中的精华。