软件工程:第4版(软件工程领域公认的经典名著)
基本信息
- 作者: (美)Shari Lawrence Pfleeger(加)Joanne M. Atlee [作译者介绍]
- 译者: 杨卫东
- 丛书名: 图灵计算机科学
- 出版社:人民邮电出版社
- ISBN:9787115205513
- 上架时间:2010-5-21
- 出版日期:2010 年5月
- 开本:16开
- 页码:547
- 版次:4-1
- 所属分类:
计算机 > 软件工程及软件方法学 > 软件方法/软件工程
编辑推荐
敏捷方法:每一章都涉及有关敏捷方法的内容。
对象技术:详细阐述了面向对象开发的相关内容。
建模:强调建模和设计在软件工程中的作用,并在各章中予以体现。
配套教辅:本书有专门的配套网http://www.pearsonhighered.com/pfleeger/, 提供教学PPT和各种资源的链接(相应教学PPT也可以在图灵网站本书网页免费注册下载)。
内容简介回到顶部↑
本书是软件工程领域公认的经典名著,也是业界最常引用的主要文献之一,被国内外众多名校广泛采用。与其他软件工程著作不同,本书注重从实践出发选择和安排素材,同时又从理论上进行了全面深入的探讨。对诸如复用、风险管理和质量工程、测度和度量等理论性比较强的主题,没有专设章节,而是融合在相关的各种软件工程活动中讲述。
本书理论阐述循序渐进,善于揭示各知识点之间的内在联系,并通过大量实例和工程实践深化和丰富理论知识;选材与时俱进,反映了最新的业界动态,尤其是建模和敏捷方法方面的重要进展。两个贯穿全书的研究案例——信息系统案例和实时系统案例,以及书中的学期项目,引导读者很好地将概念有机地应用到实际项目中去。
相对于上一版,新版完全改写了“软件体系结构”一章,并新增了“设计模块”一章,很好地论述了软件工程研究热点和最新发展方向。
本书理论阐述循序渐进,善于揭示各知识点之间的内在联系,并通过大量实例和工程实践深化和丰富理论知识;选材与时俱进,反映了最新的业界动态,尤其是建模和敏捷方法方面的重要进展。两个贯穿全书的研究案例——信息系统案例和实时系统案例,以及书中的学期项目,引导读者很好地将概念有机地应用到实际项目中去。
相对于上一版,新版完全改写了“软件体系结构”一章,并新增了“设计模块”一章,很好地论述了软件工程研究热点和最新发展方向。
作译者回到顶部↑
本书提供作译者介绍
Shari Lawrence Pfleeger 软件质量保证、软件度量和软件工程实践研究方面的世界级权威,在软件开发领域有着数十年的丰富经验,主要从事软件工程和信息技术的教学、咨询和研究。现任美国著名的智库兰德公司的高级研究员。她曾经执教于马里兰大学和伦敦城市大学,并担任IEEE Software和IEEE Transactions on Software Engineering等业界权威期刊副主编。除本书外,她与人合作撰写的Security in Computing也是广泛采用的主流教材。
Joanne M. Atlee 世界知名的软件工程学者,在软件需求和软件工.. << 查看详细
Joanne M. Atlee 世界知名的软件工程学者,在软件需求和软件工.. << 查看详细
目录回到顶部↑
第1章 软件工程概述 1
1.1 什么是软件工程 1
1.1.1 问题求解 2
1.1.2 软件工程师的角色是什么 3
1.2 软件工程取得了哪些进展 4
1.3 什么是好的软件 6
1.3.1 产品的质量 7
1.3.2 过程的质量 8
1.3.3 商业环境背景下的质量 8
1.4 软件工程涉及的人员 10
1.5 系统的方法 11
1.5.1 系统的要素 11
1.5.2 相互联系的系统 13
1.6 工程的方法 14
1.6.1 盖房子 15
1.6.2 构建系统 16
1.7 开发团队的成员 17
1.8 软件工程发生了多大的变化 19
1.8.1 变化的本质 19
1.8.2 软件工程的wasserman规范 20
1.1 什么是软件工程 1
1.1.1 问题求解 2
1.1.2 软件工程师的角色是什么 3
1.2 软件工程取得了哪些进展 4
1.3 什么是好的软件 6
1.3.1 产品的质量 7
1.3.2 过程的质量 8
1.3.3 商业环境背景下的质量 8
1.4 软件工程涉及的人员 10
1.5 系统的方法 11
1.5.1 系统的要素 11
1.5.2 相互联系的系统 13
1.6 工程的方法 14
1.6.1 盖房子 15
1.6.2 构建系统 16
1.7 开发团队的成员 17
1.8 软件工程发生了多大的变化 19
1.8.1 变化的本质 19
1.8.2 软件工程的wasserman规范 20
前言回到顶部↑
跨越研究与实践之间的鸿沟
在1968年的北约会议上,首次使用了“软件工程”这一术语。时至今日,软件工程已经走过了很长的一段路,软件本身也已经以各种形式融入了我们的生活。就算在10年前,估计也没人会预料到软件会有这么大的影响力。因此,要懂得如何开发好的软件以及如何评估软件在日常生活中面临的风险和机遇,坚实的软件工程理论和实践基础是不可或缺的。本书体现了当前软件工程领域实践者阵营和研究者阵营之间相互融合的现状:实践者主要关注构造高质量产品完成某些功能,而研究者则努力寻找各种方法改进产品质量以及提高开发人员生产效率。Edsgar Dykstra不断提醒我们:研究与实践之间的紧张关系将检验我们对软件工程的理解,并帮助我们改进思维方式、方法,进而最终改进我们的产品。
正是本着这种精神,我们对本书进行了增订,为这种不断的探究和改进构造一个基础框架。尤其是,第4版纳入了更广泛的素材,来说明如何抽象出一个问题并对它建立模型,以及如何使用各种模型、设计原则、设计模式和设计策略,来产生适当的解决方案。软件工程师绝不止像程序员那样按照说明书来编写程序,就像厨师不止是遵循菜谱来烹饪。构造优秀的软件是一门艺术,这体现在如何抽象出问题的要素并建模,再使用这些抽象设计出解决方案。经常能听到优秀开发人员谈论“优雅的”解决方案,说明这样的解决方案抓住了问题的核心,得到的软件不仅能够解决当前的问题,而且当问题随着时间演化时,软件也能够很容易地进行修改。这样,学生就能够学会融合研究与实践、艺术与科学,构造出坚实的软件。
科学总是以事实为基础的。本书是为本科生软件工程课程而设计的,注重软件工程研究与实践的实际效果层面,使学生能够直接将所学知识应用于要解决的现实问题。书中所举的例子针对的是经验有限的学生,但是,这些例子清楚地阐明了大型软件开发项目是如何从需求到计划,再进而成为现实的过程。例子所描述的许多情形,读者未来都很可能经历:大型项目与小型项目、“敏捷”方法与高度结构化方法、面向对象与面向过程的方法、实时处理与事务处理、开发情形与维护情形。
本书也适用于介绍软件工程的概念与实践的研究生课程,还适合于那些期望进一步学习该领域相关知识的专业人员。尤其是最后3章给出了一些引人思考的资料,旨在引起研究生对当前研究主题的兴趣。
主要特色
下面是本书区别于其他书的主要特色。
其他软件工程图书将度量和建模作为单独的问题分开考虑,本书则将二者与更全面的软件工程论述结合起来。也就是说,把度量和建模看作是软件工程策略不可分割的部分,而不作为一个单独的分支。这样,学生能够学会如何抽象与建模,以及如何在日常开发活动中进行定量评估和改进。他们可以利用他们的模型理解所要解决的问题的要素,了解可供选择的其他解决方案;他们可以利用度量对个人、小组和项目的进度进行评估。
类似地,诸如复用、风险管理和质量工程之类的概念都糅合到在它们影响之下的软件工程活动中,而不是作为单独的问题来讲述。
这一版介绍了敏捷方法的使用,包括极限编程。它论述了给予开发人员更多自主权所带来的利益和遭遇的风险,并将敏捷方法与传统的软件开发方法进行了比较。
每一章都将相应的概念应用于两个贯穿全书的例子:一个例子是典型的信息系统,另一个是实时系统。两个例子都基于实际的项目。信息系统的例子描述了一个大型英国电视公司确定广告时间价格的软件。实时系统的例子是阿丽亚娜5型火箭的控制软件,我们将考查该软件见诸报端的一些问题,并探讨软件工程技术如何能够帮助找出并避免其中的问题。学生能够随着两个典型项目的进展,领会本书所描述的各种实践方法如何融入到构造系统的技术之中。
每章结尾的结论都用三种形式表述:这一章的内容对开发团队的意义,对单个开发人员的意义,以及对研究者的意义。学生可以很容易地复习每章的要点,并了解每一章与研究以及实践的相关性。
本书有配套网站,网址是http://www.prenhall.com/pfleeger。该网站包含了各种文献中的最新例子,以及真实项目中的实际工件(artifact)的例子。该网页还提供了相关工具和方法厂商的网页的链接。学生可以在这里找到实际的需求文档、设计方案、代码、测试计划等等内容。那些想寻找更多、更深入信息的学生,可以通过该网页找到其他值得信赖的、容易理解的出版物及网站。这些网页会定期更新,以及时补充书中的内容。它还包括一个工具,读者可用来向作者和出版社提供反馈。
学生学习指南可从Pearson的销售代表处获得。
PPT及完整的习题答案手册可以从本书配套网站的教师资源中心获得。要获得访问权限,请与Pearson的销售代表联系。
本书从各种文献中引用了大量案例研究和例子。书中以补充材料形式给出的很多只有一页左右篇幅的案例研究在网页上都有详细描述。据此,学生能够了解本书中的理论概念是如何应用于现实情形的。
每章最后都列出了引人思考的、与软件工程有关的法律和道德问题。学生可以根据软件工程所处的社会和政治背景来理解软件工程。与其他的学科一样,软件工程的结果会影响到人,必须据此来考虑软件工程决策。
每章都强调过程化和面向对象的开发。另外,第6章是专门讲述面向对象开发的,解释了面向对象开发过程的步骤。我们会讨论若干设计原则,并用面向对象的例子展示如何结合这些原则来改善设计。
本书还有一个带有注解的参考文献列表,其中不少是软件工程中开创性的论文。另外,本书的网页有进一步的链接指向注释的参考文献和特定领域讨论组(诸如软件可靠性、容错性、计算机安全等)。
每章都会提到同一个学期项目,是开发一个住房抵押处理系统软件,教师可以把这个学期项目稍加改动,作为课程作业。
在1968年的北约会议上,首次使用了“软件工程”这一术语。时至今日,软件工程已经走过了很长的一段路,软件本身也已经以各种形式融入了我们的生活。就算在10年前,估计也没人会预料到软件会有这么大的影响力。因此,要懂得如何开发好的软件以及如何评估软件在日常生活中面临的风险和机遇,坚实的软件工程理论和实践基础是不可或缺的。本书体现了当前软件工程领域实践者阵营和研究者阵营之间相互融合的现状:实践者主要关注构造高质量产品完成某些功能,而研究者则努力寻找各种方法改进产品质量以及提高开发人员生产效率。Edsgar Dykstra不断提醒我们:研究与实践之间的紧张关系将检验我们对软件工程的理解,并帮助我们改进思维方式、方法,进而最终改进我们的产品。
正是本着这种精神,我们对本书进行了增订,为这种不断的探究和改进构造一个基础框架。尤其是,第4版纳入了更广泛的素材,来说明如何抽象出一个问题并对它建立模型,以及如何使用各种模型、设计原则、设计模式和设计策略,来产生适当的解决方案。软件工程师绝不止像程序员那样按照说明书来编写程序,就像厨师不止是遵循菜谱来烹饪。构造优秀的软件是一门艺术,这体现在如何抽象出问题的要素并建模,再使用这些抽象设计出解决方案。经常能听到优秀开发人员谈论“优雅的”解决方案,说明这样的解决方案抓住了问题的核心,得到的软件不仅能够解决当前的问题,而且当问题随着时间演化时,软件也能够很容易地进行修改。这样,学生就能够学会融合研究与实践、艺术与科学,构造出坚实的软件。
科学总是以事实为基础的。本书是为本科生软件工程课程而设计的,注重软件工程研究与实践的实际效果层面,使学生能够直接将所学知识应用于要解决的现实问题。书中所举的例子针对的是经验有限的学生,但是,这些例子清楚地阐明了大型软件开发项目是如何从需求到计划,再进而成为现实的过程。例子所描述的许多情形,读者未来都很可能经历:大型项目与小型项目、“敏捷”方法与高度结构化方法、面向对象与面向过程的方法、实时处理与事务处理、开发情形与维护情形。
本书也适用于介绍软件工程的概念与实践的研究生课程,还适合于那些期望进一步学习该领域相关知识的专业人员。尤其是最后3章给出了一些引人思考的资料,旨在引起研究生对当前研究主题的兴趣。
主要特色
下面是本书区别于其他书的主要特色。
其他软件工程图书将度量和建模作为单独的问题分开考虑,本书则将二者与更全面的软件工程论述结合起来。也就是说,把度量和建模看作是软件工程策略不可分割的部分,而不作为一个单独的分支。这样,学生能够学会如何抽象与建模,以及如何在日常开发活动中进行定量评估和改进。他们可以利用他们的模型理解所要解决的问题的要素,了解可供选择的其他解决方案;他们可以利用度量对个人、小组和项目的进度进行评估。
类似地,诸如复用、风险管理和质量工程之类的概念都糅合到在它们影响之下的软件工程活动中,而不是作为单独的问题来讲述。
这一版介绍了敏捷方法的使用,包括极限编程。它论述了给予开发人员更多自主权所带来的利益和遭遇的风险,并将敏捷方法与传统的软件开发方法进行了比较。
每一章都将相应的概念应用于两个贯穿全书的例子:一个例子是典型的信息系统,另一个是实时系统。两个例子都基于实际的项目。信息系统的例子描述了一个大型英国电视公司确定广告时间价格的软件。实时系统的例子是阿丽亚娜5型火箭的控制软件,我们将考查该软件见诸报端的一些问题,并探讨软件工程技术如何能够帮助找出并避免其中的问题。学生能够随着两个典型项目的进展,领会本书所描述的各种实践方法如何融入到构造系统的技术之中。
每章结尾的结论都用三种形式表述:这一章的内容对开发团队的意义,对单个开发人员的意义,以及对研究者的意义。学生可以很容易地复习每章的要点,并了解每一章与研究以及实践的相关性。
本书有配套网站,网址是http://www.prenhall.com/pfleeger。该网站包含了各种文献中的最新例子,以及真实项目中的实际工件(artifact)的例子。该网页还提供了相关工具和方法厂商的网页的链接。学生可以在这里找到实际的需求文档、设计方案、代码、测试计划等等内容。那些想寻找更多、更深入信息的学生,可以通过该网页找到其他值得信赖的、容易理解的出版物及网站。这些网页会定期更新,以及时补充书中的内容。它还包括一个工具,读者可用来向作者和出版社提供反馈。
学生学习指南可从Pearson的销售代表处获得。
PPT及完整的习题答案手册可以从本书配套网站的教师资源中心获得。要获得访问权限,请与Pearson的销售代表联系。
本书从各种文献中引用了大量案例研究和例子。书中以补充材料形式给出的很多只有一页左右篇幅的案例研究在网页上都有详细描述。据此,学生能够了解本书中的理论概念是如何应用于现实情形的。
每章最后都列出了引人思考的、与软件工程有关的法律和道德问题。学生可以根据软件工程所处的社会和政治背景来理解软件工程。与其他的学科一样,软件工程的结果会影响到人,必须据此来考虑软件工程决策。
每章都强调过程化和面向对象的开发。另外,第6章是专门讲述面向对象开发的,解释了面向对象开发过程的步骤。我们会讨论若干设计原则,并用面向对象的例子展示如何结合这些原则来改善设计。
本书还有一个带有注解的参考文献列表,其中不少是软件工程中开创性的论文。另外,本书的网页有进一步的链接指向注释的参考文献和特定领域讨论组(诸如软件可靠性、容错性、计算机安全等)。
每章都会提到同一个学期项目,是开发一个住房抵押处理系统软件,教师可以把这个学期项目稍加改动,作为课程作业。
媒体评论回到顶部↑
“在仔细阅读之后,我万分欣喜。本书内容具有相当的广度和深度,论述严谨,而且有大量实际例证。我将用此书作为下学期的授课教材。”
――Linda Werner,加州大学圣克鲁兹分校
“本书完美结合了软件工程的两个重要方面:来自实践者的经验和来自研究者的理论。”
――上海交通大学“软件工程概论”课程网站
――Linda Werner,加州大学圣克鲁兹分校
“本书完美结合了软件工程的两个重要方面:来自实践者的经验和来自研究者的理论。”
――上海交通大学“软件工程概论”课程网站







点击看大图


加载中...

