软件工程:实践者的研究方法(原书第8版·本科教学版)
基本信息
- 原书名:Software Engineering: A Practitioner’s Approach, Eighth Edition
- 作者: (美)罗杰S. 普莱斯曼(Roger S. Pressman) (美)布鲁斯 R. 马克西姆(Bruce R. Maxim)
- 译者: 郑人杰
- 丛书名: 计算机科学丛书
- 出版社:机械工业出版社
- ISBN:9787111555018
- 上架时间:2016-12-16
- 出版日期:2017 年1月
- 开本:16开
- 版次:1-1
- 所属分类:计算机 > 软件工程及软件方法学 > 综合
教材 > 计算机教材 > 本科/研究生 > 计算机专业教材 > 计算机专业课程 > 软件工程

内容简介
作译者
目录
改编者序
译者序
前言
第1章 软件的本质 1
1.1 软件的本质 3
1.1.1 定义软件 3
1.1.2 软件应用领域 4
1.1.3 遗留软件 5
1.2 软件的变更本质 6
1.2.1 WebApp 6
1.2.2 移动App 7
1.2.3 云计算 7
1.2.4 产品线软件 8
习题与思考题 8
扩展阅读与信息资源 8
第2章 软件工程 10
2.1 定义软件工程学科 11
2.2 软件过程 11
2.2.1 过程框架 12
前言
如果有这样一款计算机软件,它能满足用户的需求,能在相当长的时间内无故障地运行,修改起来轻松便捷,使用起来更是得心应手,那么,这款软件必定是成功的,它切实改善了我们的生活。但是,如果有这样一款软件,它令用户失望,错误频出,修改起来困难重重,使用起来更是举步维艰,那么,这必定是一款失败的软件,它使我们的生活一团糟。谁都希望开发出优秀的软件,为我们的生活带来便利,而不是把自己陷入失败的深渊。要想使软件获得成功,在设计和构建软件时就需要有规范,需要采用工程化的方法。
自本书第1版问世以来的近35年中,软件工程已经从少数倡导者提出的一些朦胧概念发展成为一门正规的工程学科,已被公认为是一个值得深入研究、认真学习和热烈讨论的课题。在整个行业中,软件工程师已经代替程序员成为人们优先选择的工作岗位,软件过程模型、软件工程方法和软件工具都已在全行业的所有环节成功采用。
尽管管理人员和一线专业人员都承认需要有更为规范的软件方法,但他们却始终在争论应该采用什么样的规范。有许多个人和公司至今仍在杂乱无章地开发着自己的软件,甚至即使他们正在开发的系统要服务于当今最为先进的技术,状况也仍是如此。许多专业人员和学生并不了解现代方法,这导致他们所开发的软件质量很差,因而造成了严重的后果。此外,有关软件工程方法真实本质的争论一直持续进行着。软件工程的地位问题已成为一门对比研究课题。人们对软件工程的态度已经有所改善,研究工作已取得了进展,不过要成为一门完全成熟的学科,我们还有大量的工作要做。
我们希望本书能够成为引导读者进入正在走向成熟的软件工程学科的入门读物,和以前的7个版本一样,第8版对学生和专业人员同样具有很强的吸引力。它既是软件专业人员的工作指南,也是高年级本科生和一年级研究生的综合性参考书。
第8版中包含了许多新的内容,它绝不只是前一版的简单更新。这一版不仅对内容做了适当的修改,而且调整了全书的结构,以改进教学顺序;同时更加强调一些新的和重要的软件工程过程和软件工程实践知识。此外,本书进一步加强了“支持系统”,为学生、教师和专业人员提供了更为丰富的知识资源。读者可访问专门为本书建立的网站(www.mhhe.com/pressman)查阅这些信息。
篇章结构
本书共26章,分为四个部分。这种划分有利于那些无法在一个学期内讲完全书内容的教师灵活安排教学。
第一部分“软件过程”给出了有关软件过程的各种不同观点,讨论了所有重要的过程模型,还涉及惯用过程和敏捷过程在指导思想上的分歧。第二部分“建模”给出了分析方法和设计方法,重点讲解面向对象方法和UML建模。第三部分“质量管理”介绍了有关质量管理的概念、规程和方法,使得软件团队能够很好地评估软件质量,实施软件质量保证规程,并正确地运用有效的测试策略和战术。第四部分“管理软件项目”介绍了与计划、管理和控制软件开发项目的人员有关的问题。
第8版沿用了前面几个版本的做法,在各章中都提供了大量的辅助阅读信息,包括一个虚拟软件团队在工作中遇到困难时展开的对话,还包括对各章相关知识给出的补充方法和工具。
致谢
我们要特别感谢渥太华大学的Tim Lethbridge,他帮助我们开发了UML和OCL的案例,以及配合本书内容的其他案例研究。Colby学院的Dale Skrien开发了附录1的UML教辅资源。他们的帮助和意见都是十分宝贵的。此外也感谢高级软件工程师Austin Krauss,他提供了关于视频游戏产业软件开发的宝贵意见。同时,要对为第8版评审做出贡献的几位教授表示感谢,他们是佛罗里达大学的Manuel E. Bermudez、堪萨斯州立大学的Scott DeLoach、密歇根州立大学的Alex Liu和犹他州立大学的Dean Mathias。正是他们的详尽而真诚的评审意见帮助了我们,使得本书更加完善。
特别感谢
十分高兴有机会与罗杰合作,参与本书第8版的撰写工作。在此期间我的儿子Benjamin推出了他的第一款移动App,我的女儿Katherine开始了她的室内设计生涯。我十分高兴地看到他们已经长大成人。同时非常感谢妻子Norma,她热情地支持我,使我能够将所有空闲时间都投入本书的写作。
布鲁斯R. 马克西姆(Bruce R. Maxim)
随着本书各版本的不断推出,我的两个儿子Mathew和Michael也逐渐从小男孩成长为男子汉。他们在生活中的成熟、品格和成功鼓舞着我,没有什么比这更让我自豪了。他们现在也已经有了自己的孩子——Maya和 Lily,这两个女孩已经是移动计算时代新智能设备方面的奇才。最后要感谢妻子Barbara,她宽容我花费如此多的时间在办公室工作,并且还鼓励我继续写作本书的下一个版本。
罗杰 S.普莱斯曼(Roger S. Pressman)
序言
Software Engineering: A Practitioner’s Approach, Eighth Edition, Chinese Abridgement
Pressman博士的《软件工程:实践者的研究方法》(第8版)加入了Maxim博士的工作,一如既往是软件工程领域的经典教材。
此次本科教学版的推出,主要是为了与第7版本科教学版保持一致,使内容更符合普通高校本科生的课程大纲,适合本科学生在一学期内掌握软件工程最核心的基础内容,也帮助更多学生更好地接受英文原版教材。
与原版相比,第8版本科教学版的改动内容如下。
我们注意到新版增加了移动App和安全工程这两块非常重要的内容。然而,考虑到课时限制,我们只保留了安全工程部分,将移动App的内容留给研究生课程。与第7版的改动宗旨相似,我们主要关注公共框架中的基本概念,而将WebApp、移动App、度量及其他高级课题内容留给研究生阶段的课程。
本科教学版不包含但适合研究生阶段学习的章节有:完整版第16章(基于模式的设计),第17章(WebApp设计),第18章(移动App设计),第20章(评审技术),第25章(测试WebApp),第26章(测试移动App),第28章(形式化建模与验证),第36章(维护与再工程),以及关于高级课题的第五部分。完整版第30章(产品度量)也是比较高级的课题,但概要介绍框架性概念的30.1节可保留,此节被移到第21章(软件质量保证)最后,变为21.10节。
此外,为了与第7版本科教学版保持一致,下列章节中还做了少量裁减:
1. 所有与WebApp和移动App相关的章节都被删除,具体包括:11.5节、14.5节、15.5节、22.5~22.6节、29.4节、32.2.6节、34.5.4 节。
2. 第3、4章:裁减3.5节和4.4~4.5节属于研究生课程中的高级内容。
3. 第7章:该章只是引言,其核心内容将在后面的章节中逐一展开介绍。为减少学生必须阅读的篇幅,该章被整体删除。
4. 第8章:裁减8.2.5~8.2.6节、8.6~8.8节属于研究生课程中的高级内容。
5. 第23章:裁减23.4.4节、23.6.1节、23.6.4节、23.8~23.10节属于研究生课程中的高级内容。
6. 对于本科课程而言,了解关于度量和估算的基本概念就足够了,因此32.4~32.6节以及33.9~33.10节也作为高级内容被裁减。
经过压缩,英文完整版900余页的篇幅被大幅压缩到中文版400页左右。由于我们只是就知识点做了裁减,对于保留部分并未删减原作的语言和案例,所以不会对写作风格造成明显的破坏。鉴于改编者的经验和学识有限,对于裁减内容的定夺或存在欠妥之处,欢迎广大读者批评指正。
陈越
2016年11月
译者序
Software Engineering: A Practitioner’s Approach, Eighth Edition, Chinese Abridgement
本书是国际知名软件工程专家罗杰 S. 普莱斯曼(Roger S. Pressman)的最新著作。自35年前第1版问世以来,这本书在软件工程界产生了巨大而深远的影响。其权威性是无可置疑的,在培养软件工程专业人才方面所起的作用也是显而易见的。在这一版中,新加入的布鲁斯(Bruce)作为第二作者参与了本书的编写工作。