基本信息
- 原书名:Object-Oriented and Classical Software Engineering
- 原出版社: McGraw-Hill
- 作者: (美)Stephen R.Schach
- 译者: 韩松 邓迎春
- 丛书名: 计算机科学丛书
- 出版社:机械工业出版社
- ISBN:9787111179634
- 上架时间:2006-2-22
- 出版日期:2006 年2月
- 开本:16开
- 页码:424
- 版次:6-1
- 所属分类:计算机 > 软件工程及软件方法学 > 面向对象
教材

编辑推荐
本书是软件工程领域的经典著作,被国外多所大学选用为教材,至今已是第6版。从Java到面向对象,再到统一过程的软件开发方法,面对软件工程发展中的重大方法上的改变,本书作者都以严谨的态度对其软件工程专著进行修订,使软件工程在理论上与新的方法和实践更加紧密结合。
内容简介
计算机书籍
本书是一本经典的软件工程教科书,自1990年首次出版以来,这已是第6次修订出版。全书共分为两部分:第一部分介绍了以项目开发为基础的软件工程的理论基础;第二部分讲述了软件生命周期的各个阶段。.
第6版的亮点在于结合了统一过程,并深入介绍了UML,使得内容更具实用性和时效性。此外,书中还包含两个大型的运行实例、大量的参考文献及习题集,使得读者能更好地学习和实践书中的内容。
本书是高等院校软件工程课程的理想教材,对于专业软件开发人员,本书也是一个很好的参考。..
本书是软件工程领域的经典著作,被国外多所大学选用为教材,至今已是第6版。从Java到面向对象,再到统一过程的软件开发方法,面对软件工程发展中的重大方法上的改变,本书作者都以严谨的态度对其软件工程专著进行修订,使软件工程在理论上与新的方法和实践更加紧密结合。
作译者
目录
专家指导委员会
译者序.
前言
第一部分 软件工程概述
第1章 软件工程的范畴
1.1 历史方面
1.2 经济方面
1.3 维护性方面
1.4 需求、分析和设计方面
1.5 小组编程方面
1.6 为什么没有计划阶段
1.7 为什么没有测试阶段
1.8 为什么没有文档阶段
1.9 面向对象范型
1.10 正确看待面向对象范型
1.11 术语
1.12 道德问题
本章回顾
进一步阅读
译者序
为了适应面向对象方法的深化与统一软件开发过程的广泛采用,本书第6版对第5版做了较为全面的修改,重新编写和调整的内容占一半以上。可以说,本书是软件工程专著中最能反映该学科领域最新变化的一本。
本书有两个主要特点:
其一,本书将当前流行的面向对象内容与传统软件工程很好地融合在一起,尤其突出了面向对象和UML方面的内容。这在同类书藉中实为少见,由此也显得弥足珍贵。..
其二,本书包含了两个贯穿全文的极具代表性的运行实例,作者借助实例细致而巧妙地演示了各种相关概念,使得整个学习过程水到渠成。
本书主要由韩松和邓迎春翻译,其中第1~8章由韩松翻译,余下部分由邓迎春翻译。最后由韩松校对并审核全书。其他参加翻译和录人工作的同志还有赵玉亮、徐燕、张小明、傅兵、王勇、徐志东、刘云杭等,在此对他们的工作表示感谢。此外,感谢出版社编辑的大量具体指导和耐心细致的帮助,他们对保证本书的翻译质量以及尽快出版做出了很大贡献。同时也感谢我们的家人对我们的支持。
本书翻译中难免有差错,有不当之处欢迎广大读者批评指正。...
韩 松
2005年11月
前言
第6版的其他关键特色
第1章经过了全面的修订。特别是增强了面向对象范型(paradigm)的内容,并进行了深入的分析。此外,书中引入了新的可维护性的定义,它们被ISO、IEC、IEEE和EIA所采纳。
第2章和第3章的顺序互换了,这样可以尽早介绍进化树生命周期模型和迭代—递增生命周期模型。但是,我仍然像本书的前几版一样,给出了大量其他的生命周期模型,并对它们进行了比较和对照。
在第3章“软件过程”中,介绍了工作流(活动)和统一过程的各个阶段,还解释了对二维生命周期模型的需求。
第4章~第9章都进行了更新。例如,第8章中介绍了基于组件(component)的软件工程,第9章中给出了软件项目管理计划的新的IEEE标准。符合该新标准的一个计划的例子见附录F。
有关互操作的内容已从第8章中删掉了。在第4版和第5版中,这部分内容在该书出版后不久都不可避免地过时了。在我看来,这个领域进展太快了,无法包含在一本教材中;想要了解这方面内容的教师应当从因特网上获取最新的材料。
第10章“需求”、第12章“面向对象分析”和第13章“设计”经过较大的修改,在其中加入了统一过程的工作流(活动)。出于众所周知的原因,第11章“传统的分析”未做改变。
有关实现和集成(integration)(第5版的第14章和第15章)的内容已经融人了新的第14章,但是,在实现和集成之间仍然有一个明显的区分。
第15章现在是关于交付后维护的。
第16章是全新的一章。第4版是第一本利用统一建模语言(Unified Modeling Language,UML)的软件工程教科书,UML是在该版书出版前不久推出的。在时隔3年之后,UML已经成为正式的标准并广为使用,因此在第5版中,我继续利用UML描述面向对象分析和面向对象设计,并用示意图描绘对象和它们之间的关系。在第4版和第5版中,我加入了大量有关UML的内容,以使学生们能够做完全部的练习,并进行基于小组的学期设计项目。然而,UML现在通常是软件工程的一个组成部分(特别是统一过程的一个组成部分),因此,我加入了最后一章,“UML的进一步讨论”。第16章的目的是提供有关UML的更多材料,为学生们就职于软件行业做进一步的准备。这一章对于使用本书作为连续两学期软件工程课程的教师特别有用。在第二学期,除了开发基于小组的学期设计项目或一个毕业课题项目之外,学生能够获得额外的有关UML的知识,它们已超出本书的范围。
除了两个运行实例研究之外——它们用于说明完整的生命周期,本书还使用7个小型实例研究强调特定主题,如移动目标问题、渐进精化以及交付后维护。
有关极限编程(extreme programming,XP)的内容做了扩充。此外,现在在敏捷编程的范围内描述XP。XP仍然是充满争议的,但我感到学生们需要理解这个话题,这样,他们可以自己判断是否XP只是目前的一个时尚,还是软件工程中一个真正的巨大突破。从第5版中保留的特色
这一版保留了第5版中的全部主要特色。
·在先前的所有版本中,我强调文档、维护、重用、可移植性、测试和CASE工具的重要性。在这一版中,所有这些概念都依然被着重强调。如果学生不理解软件工程这些基础的重要性,教授他们最新的思想就没有用处。
·如同第5版一样,本书对以下几方面给予了特殊的重视:面向对象生命周期模型、面向对象分析、面向对象设计、面向对象范型管理的含义、面向对象软件的测试和维护。其中还包括了面向对象范型的度量。此外,对对象做了许多简明的注解,有的长达一个段落,有的甚至只是一句话。这样做是因为面向对象范型不仅与各种阶段是如何执行的有关,也与它是如何渗透到我们思考软件工程的方式之中有关。对象技术再次贯穿本书始终。
·软件过程仍然是贯穿本书的一个整体概念。为了控制这个过程,我们必须能够测量项目中发生了什么。相应地,保留了对度量的强调。考虑到软件过程的进展情况,保留了有关能力成熟度模型(CMM)、ISO/IEC 15504(SPICE)以及ISO/IEC 12207的内容,在有关软件小组的章节中加入了人员能力成熟度模型(P-CMM)。
·本书仍然是与计算机语言无关的,少量代码实例是用C++或Java表示的,而且我尽量减少与语言有关的一些细节,确保代码实例对于C++和Java用户同样清晰。例如,我没有使用cout表示C++的输出,也没有使用System.out.printIn表不Java的输出,我使用了伪码指令print。(一个例外是新的实例研究,在这里完整的实现细节是同时用C++和Java给出的。)
·同以前一样,本书有两个运行实例研究。一个是来自第4版的Osbert Oglesby实例研究,一个是电梯问题实例研究(来自前一版),已经用统一过程对它们进行了重新开发。同样,Java和C++实现都可在线从www.mhhe.com/engcs/compsci/schach处得到。
·像在第5版中一样,本书包含600多个参考文献。我选择了目前的研究文章,也选择了一些仍保持新意和用途的经典的文章和书籍。毫无疑问,软件工程是一个快速发展的领域,学生们因此需要知道最新的成果以及在哪些文献里可以找到它们。与此同时,今天的前沿研究是在昨天的事实基础上进行的,我们没有理由将一个较早的参考文献排除在外,如果它的思想在今天如它最初一样仍是在应用着的话。