Software Engineering: A Practitioner’s Approach, Eighth Edition
出版者的话
译者序
前言
作者简介
dy 章 软件的本质 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
1.3 小结 8
习题与思考题 8
扩展阅读与信息资源 9
第2章 软件工程 10
2.1 定义软件工程学科 11
2.2 软件过程 11
2.2.1 过程框架 12
2.2.2 普适性活动 12
2.2.3 过程的适应性调整 13
2.3 软件工程实践 13
2.3.1 实践的精髓 14
2.3.2 通用原则 14
2.4 软件开发神话 16
2.5 这一切是如何开始的 18
2.6 小结 19
习题与思考题 19
扩展阅读与信息资源 19
dy部分 软件过程
第3章 软件过程结构 22
3.1 通用过程模型 23
3.2 定义框架活动 24
3.3 明确任务集 24
3.4 过程模式 25
3.5 过程评估与改进 27
3.6 小结 28
习题与思考题 28
扩展阅读与信息资源 28
第4章 过程模型 29
4.1 惯用过程模型 30
4.1.1 瀑布模型 30
4.1.2 增量过程模型 32
4.1.3 演化过程模型 32
4.1.4 并发模型 36
4.1.5 演化过程的 终评述 37
4.2 专用过程模型 38
4.2.1 基于构件的开发 38
4.2.2 形式化方法模型 39
4.2.3 面向方面的软件开发 39
4.3 统一过程 40
4.3.1 统一过程的简史 41
4.3.2 统一过程的阶段 41
4.4 个人过程模型和团队过程模型 42
4.4.1 个人软件过程 42
4.4.2 团队软件过程 43
4.5 过程技术 44
4.6 产品和过程 45
4.7 小结 46
习题与思考题 46
扩展阅读与信息资源 47
第5章 敏捷开发 48
5.1 什么是敏捷 49
5.2 敏捷及变更成本 50
5.3 什么是敏捷过程 50
5.3.1 敏捷原则 51
5.3.2 敏捷开发战略 52
5.4 极限编程 52
5.4.1 极限编程过程 52
5.4.2 工业极限编程 54
5.5 其他敏捷过程模型 56
5.5.1 Scrum 56
5.5.2 动态系统开发方法 57
5.5.3 敏捷建模 58
5.5.4 敏捷统一过程 59
5.6 敏捷过程工具集 60
5.7 小结 61
习题与思考题 61
扩展阅读与信息资源 62
第6章 软件工程的人员方面 64
6.1 软件工程师的特质 64
6.2 软件工程心理学 65
6.3 软件团队 66
6.4 团队结构 67
6.5 敏捷团队 68
6.5.1 通用敏捷团队 68
6.5.2 XP团队 69
6.6 社交媒体的影响 70
6.7 软件工程中云的应用 71
6.8 协作工具 71
6.9 全球化团队 72
6.10 小结 73
习题与思考题 73
扩展阅读与信息资源 74
第二部分 建模
第7章 指导实践的原则 76
7.1 软件工程知识 77
7.2 核心原则 77
7.2.1 指导过程的原则 78
7.2.2 指导实践的原则 78
7.3 指导每个框架活动的原则 80
7.3.1 沟通原则 80
7.3.2 策划原则 81
7.3.3 建模原则 83
7.3.4 构建原则 87
7.3.5 部署原则 89
7.4 工作实践 90
7.5 小结 91
习题与思考题 92
扩展阅读与信息资源 92
第8章 理解需求 94
8.1 需求工程 95
8.2 建立根基 100
8.2.1 确认利益相关者 100
8.2.2 识别多重观点 100
8.2.3 协同合作 101
8.2.4 首次提问 101
8.2.5 非功能需求 102
8.2.6 可追溯性 102
8.3 获取需求 103
8.3.1 协作收集需求 103
8.3.2 质量功能部署 105
8.3.3 使用场景 106
8.3.4 获取工作产品 106
8.3.5 敏捷需求获取 107
8.3.6 面向服务的方法 107
8.4 开发用例 107
8.5 构建分析模型 111
8.5.1 分析模型的元素 112
8.5.2 分析模式 114
8.5.3 敏捷需求工程 114
8.5.4 自适应系统的需求 114
8.6 协商需求 115
8.7 需求监控 116
8.8 确认需求 117
8.9 避免常见错误 117
8.10 小结 118
习题与思考题 118
扩展阅读与信息资源 119
第9章 需求建模:基于场景的
方法 121
9.1 需求分析 122
9.1.1 总体目标和原理 122
9.1.2 分析的经验原则 123
9.1.3 域分析 123
9.1.4 需求建模的方法 125
9.2 基于场景建模 126
9.2.1 创建初始用例 126
9.2.2 细化初始用例 128
9.2.3 编写正式用例 129
9.3 补充用例的UML模型 131
9.3.1 开发活动图 131
9.3.2 泳道图 132
9.4 小结 133
习题与思考题 133
扩展阅读与信息资源 133
dy 0章 需求建模:基于类的方法 135
10.1 识别分析类 135
10.2 描述属性 138
10.3 定义操作 138
10.4 类–职责–协作者建模 140
10.5 关联和依赖 145
10.6 分析包 14
书名:软件工程:实践者的研究方法
作者:(美)罗杰S. 普莱斯曼(Roger S. Pressman);(美)布鲁斯 R. 马克西姆(Bruce R. Maxim)
出版社:机械工业出版社
出版时间:2016-9
版次:1
印刷时间:2016-11
印次:1
页数:665
开本:16开
装帧:平装
ISBN:9787111548973
定价:99.00
本书自dy 版出版至今,30多年来在软件工程界产生了巨大而深远的影响。第8版不仅加入了移动应用软件项目等与时俱进的内容,而且调整了篇章结构,更利于教师针对不同课程进行选择。同时,第8版全面继承了之前版本的风格与优势,全面且系统地讲解软件过程、建模、质量管理、项目管理等基础知识,涵盖相关概念、原则、方法和工具,并且提供丰富的辅助阅读资源和网络资源,指导有兴趣的读者进行更深入的学习和研究。本书适合作为软件工程相关专业高年级本科生和研究生教材,也可供软件专业技术人员和管理人员阅读参考。
罗杰 S. 普莱斯曼(Roger S. Pressman),普莱斯曼是软件工程领域国际知名的顾问和作家。40多年来,他作为工程师、经理人、教授、作家、咨询师和企业家始终奋战在这一领域。
普莱斯曼博士现任一家咨询公司(R. S. Pressman & Associates, Inc.)的总裁,该公司致力于协助企业建立有效的软件工程实践。这些年来,他已经开发了一套用于改进软件工程实践的技术和工具。他还是一家创业公司(Teslaccessories,LLC)的创始人,这家制造公司专门为特斯拉Model S系列电动车生产定制产品。
普莱斯曼博士是9本书的作者,其中包括两本小说。他还写了许多技术和管理方面的文章。他曾任《IEEE Software》和《The Cutter IT Journal》等行业杂志的编委,以及《IEEE Software》杂志“Manager”专栏的编辑。
普莱斯曼博士还是演讲家,曾在许多重要的行业会议上做主题演讲,在国际软件工程会议和一些行业会议上做辅导讲座,并且一直是ACM(美国计算机协会)、IEEE(美国电气与电子工程师协会)以及Tau Beta Pi、Phi Kappa Phi、Eta Kappa Nu和Pi Tau Sigma等组织的成员。
布鲁斯 R. 马克西姆(Bruce R. Maxim)马克西姆博士30多年来曾任软件工程师、项目经理、教授、作家和咨询师。他的研究兴趣涉及软件工程、人机交互、游戏设计、社交媒体、人工智能以及计算机科学教育等领域。
马克西姆博士现任密歇根大学迪尔伯恩分校计算机与信息科学系副教授,他曾为该校工程与计算机科学学院建立游戏实验室。他曾经发表多篇有关计算机算法动画、游戏开发以及工程教育方面的论文。他还是畅销的计算机科学导论课本的作者之一。在密歇根大学工作期间,马克西姆博士曾监管了几百个产业界软件开发项目。
马克西姆博士的专业经验包括在医学院管理研究信息系统,为某医学校区指导计算教学,并承担统计程序员的工作。他还曾担任某游戏开发公司的首席技术官。
马克西姆博士是若干教学奖以及某社团组织服务奖的获得者。他还是Sigma Xi、Upsilon Pi Epsilon、Pi Mu Epsilon、ACM、IEEE、美国工程教育协会、女工程师协会以及国际游戏开发者联盟等社会组织的成员。
作为一个希望在软件工程领域有所建树的学术研究者,我一直在寻找一本能够系统地梳理研究思路、提供扎实研究方法论指导的著作。这本书《软件工程实践者的研究方法》第八版,可以说正是我所期盼的那一本。它的理论深度和实践指导性并存,非常适合处于学术研究和工程实践之间的我。书中对当前软件工程研究的最新趋势,如人工智能在软件开发中的应用、软件安全与隐私保护等领域的研究方法,都有所提及,这对于我把握研究前沿非常有价值。尤其让我印象深刻的是,它在介绍研究方法时,非常注重逻辑性和严谨性。从研究问题的提出,到文献综述的深度,再到研究设计的创新性,以及数据分析的科学性,每一个环节都被赋予了高度的重视。书中关于如何构建和验证理论模型,以及如何进行实证研究的详细讲解,对我构建自己的研究框架提供了坚实的理论基础。而且,作者在论述过程中,经常引用经典的学术论文和研究成果,这不仅增强了内容的权威性,也为我进一步深入阅读相关文献提供了指引。我发现,书中关于研究方法的分类和选择,比如如何区分探索性研究、描述性研究和解释性研究,以及各种研究设计(如案例研究、调查研究、实验研究)的优缺点,都让我对如何设计一个高质量的研究项目有了更清晰的认识。
评分这本书《软件工程实践者的研究方法》(第八版),在我看来,是一本非常“接地气”的著作。我是一名在一家小型创业公司负责技术研发的经理,我们团队的技术栈更新迭代很快,产品需求也变化莫测。我们虽然没有专门的“研究部门”,但实际工作中,几乎每天都在“研究”如何解决新的技术难题,如何优化现有系统。这本书的价值在于,它用一种非常结构化的方式,将我们日常遇到的各种“摸索”和“尝试”提升到了科学研究的高度。书中关于如何有效提炼和定义“问题”,如何搜集和分析“信息”,以及如何“验证”解决方案的有效性,都提供了非常实用的框架。例如,它在讲解“问题定义”时,强调了区分“症状”和“根本原因”的重要性,这让我意识到,我们之前很多时候只是在“头痛医头,脚痛医脚”,而没有找到真正的原因。此外,书中关于“原型开发”和“用户反馈”在研究过程中的作用,也与我们创业公司的敏捷开发模式非常契合。它让我意识到,即使在快速迭代的环境下,我们依然可以借鉴研究方法中的一些核心思想,比如小步快跑地进行实验,收集数据,然后根据反馈来调整方向。这本书并没有教我复杂的统计模型,但它教会了我一种思考问题、解决问题的科学态度和方法。
评分我是一名在软件架构领域摸爬滚打多年的老兵,对于新的技术和方法论,我总是抱着一种审慎的态度去评估。拿到这本《软件工程实践者的研究方法》第八版,我最关注的是它能否为我的实践带来更深层次的思考和指导,而不是仅仅停留在概念层面。这本书的确没有让我失望。它对于软件工程研究的深度和广度有着非常全面的覆盖。在方法论方面,作者对定性研究和定量研究的区分、以及它们各自的适用场景和局限性,进行了细致的阐述。这对于我这类需要进行复杂系统设计和性能优化的从业者来说,至关重要。书中关于实验设计、数据收集的技巧,以及统计分析的入门介绍,都非常实用。例如,在评估不同架构模式的性能表现时,如何设计一个严谨的实验来排除干扰因素,如何选择合适的指标来量化性能差异,以及如何正确解读统计结果,这些都是我之前在实践中容易忽略但却非常关键的环节。作者还特别强调了研究的伦理问题和研究的信效度,这对于确保研究结果的可靠性和可复现性非常有帮助。读这本书,让我感觉像是在跟一位经验丰富的导师对话,他不仅指出了前进的方向,还详细讲解了如何铺设道路,如何规避陷阱。特别是其中关于研究问题的形成和界定,让我重新审视了自己工作中遇到的很多“看似简单”但背后却隐藏着复杂问题的根源。
评分收到!这是一份以读者视角撰写的,关于《软件工程实践者的研究方法 原书第8版 软件工程及软件方法学》这本书的五段详细评价,每段都力求风格、内容和结构独具匠心,且篇幅约300字,避免AI痕迹。 这本《软件工程实践者的研究方法》第八版,我拿到手的时候,就带着一种既期待又有点忐忑的心情。我是一名刚刚步入软件工程领域不久的开发者,之前接触的更多是实际的项目编码和快速迭代,对于“研究方法”这个词,总觉得离我有点遥远,甚至有些理论化。但当我翻开第一页,立刻就被它深入浅出的讲解所吸引。书中并没有一开始就堆砌晦涩难懂的学术概念,而是从软件工程研究的本质、意义以及它如何驱动行业进步的角度切入,让我逐渐理解了这项工作的重要性。作者巧妙地将研究过程分解为一系列可执行的步骤,从选题、文献回顾,到设计研究、数据收集,再到分析和报告撰写,每一个环节都清晰明了。更让我惊喜的是,书中穿插了大量的案例研究,这些案例不仅仅是理论的例证,更是对真实世界中软件工程难题的深入剖析,让我看到了研究方法在解决实际问题中的强大力量。比如,书中关于如何进行有效的用户需求调研,以及如何运用敏捷方法进行可伸缩性研究的章节,都给了我很多启发,让我开始思考,原来自己日常工作中遇到的很多瓶颈,都可以通过科学的研究方法来找到更优的解决方案。这本书的写作风格非常务实,语言也相对通俗易懂,即使是像我这样的初学者,也能很快抓住核心要点,并将其与自己的实践经验联系起来。它让我意识到,软件工程不仅仅是一门技术,更是一门需要不断探索、验证和改进的学科,而研究方法正是支撑这一切的基石。
评分当我第一次接触到《软件工程实践者的研究方法》这本书的第八版时,我是一名经验丰富的软件工程师,主要职责是确保产品的质量和可靠性。我一直认为,软件质量的提升更多依赖于精湛的编码技巧和完善的测试流程。但这本书的出现,让我对“研究”在软件工程中的作用有了全新的认识。它并没有局限于某个特定的技术领域,而是从更宏观的视角,揭示了如何通过系统性的研究来推动整个软件工程学科的发展。书中关于“度量”和“评估”的章节,给我留下了深刻的印象。它详细介绍了如何设计有效的度量指标来量化软件的各种属性,比如复杂度、可维护性、性能等,以及如何利用这些度量结果来指导改进。这对于我之前在处理代码可读性和维护性方面的困惑,提供了有效的解决思路。书中也讨论了如何在不同的开发模型下应用研究方法,例如如何对瀑布模型、敏捷模型、DevOps模型等进行效能评估,以及如何通过研究来优化这些模型。它让我意识到,质量保证不仅仅是代码层面的事情,更是一个需要通过研究来不断探索和优化的系统工程。这本书的写作非常严谨,但又不失可读性,它提供的研究方法和工具,对于任何希望在软件工程领域做出更深入贡献的实践者来说,都极具价值。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有