新書推薦:
《
桑德拉销售原则 伍杰 [美]大卫·马特森
》
售價:NT$
440.0
《
理论的意义
》
售價:NT$
340.0
《
悬壶杂记:医林旧事
》
售價:NT$
240.0
《
谁之罪?(汉译世界文学5)
》
售價:NT$
240.0
《
民国词社沤社研究
》
售價:NT$
640.0
《
帕纳索传来的消息(文艺复兴译丛)
》
售價:NT$
495.0
《
DK威士忌大百科
》
售價:NT$
1340.0
《
小白学编织
》
售價:NT$
299.0
內容簡介:
本书自第1版出版至今,30多年来在软件工程界产生了巨大而深远的影响。第8版不仅加入了移动应用软件项目等与时俱进的内容,而且调整了篇章结构,更利于教师针对不同课程进行选择。同时,第8版全面继承了之前版本的风格与优势,全面且系统地讲解软件过程、建模、质量管理、项目管理等基础知识,涵盖相关概念、原则、方法和工具,并且提供丰富的辅助阅读资源和网络资源,指导有兴趣的读者进行更深入的学习和研究。本书适合作为软件工程相关专业高年级本科生和研究生教材,也可供软件专业技术人员和管理人员阅读参考。
關於作者:
作者简介Software Engineering: A Practitioners Approach, Eighth Edition罗杰 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、美国工程教育协会、女工程师协会以及国际游戏开发者联盟等社会组织的成员。
目錄 :
目录Software Engineering: A Practitioners Approach, Eighth Edition出版者的话译者序前言作者简介第1章 软件的本质11.1 软件的本质31.1.1 定义软件31.1.2 软件应用领域41.1.3 遗留软件51.2 软件的变更本质61.2.1 WebApp61.2.2 移动 App71.2.3 云计算71.2.4 产品线软件81.3 小结8习题与思考题8扩展阅读与信息资源9第2章 软件工程102.1 定义软件工程学科112.2 软件过程112.2.1 过程框架122.2.2 普适性活动122.2.3 过程的适应性调整132.3 软件工程实践132.3.1 实践的精髓142.3.2 通用原则142.4 软件开发神话162.5 这一切是如何开始的182.6 小结19习题与思考题19扩展阅读与信息资源19第一部分 软件过程第3章 软件过程结构223.1 通用过程模型233.2 定义框架活动243.3 明确任务集243.4 过程模式253.5 过程评估与改进273.6 小结28习题与思考题28扩展阅读与信息资源28第4章 过程模型294.1 惯用过程模型304.1.1 瀑布模型304.1.2 增量过程模型324.1.3 演化过程模型324.1.4 并发模型364.1.5 演化过程的最终评述374.2 专用过程模型384.2.1 基于构件的开发384.2.2 形式化方法模型394.2.3 面向方面的软件开发394.3 统一过程404.3.1 统一过程的简史414.3.2 统一过程的阶段414.4 个人过程模型和团队过程模型424.4.1 个人软件过程424.4.2 团队软件过程434.5 过程技术444.6 产品和过程454.7 小结46习题与思考题46扩展阅读与信息资源47第5章 敏捷开发485.1 什么是敏捷495.2 敏捷及变更成本505.3 什么是敏捷过程505.3.1 敏捷原则515.3.2 敏捷开发战略525.4 极限编程525.4.1 极限编程过程525.4.2 工业极限编程545.5 其他敏捷过程模型565.5.1 Scrum565.5.2 动态系统开发方法575.5.3 敏捷建模585.5.4 敏捷统一过程595.6 敏捷过程工具集605.7 小结61习题与思考题61扩展阅读与信息资源62第6章 软件工程的人员方面646.1 软件工程师的特质646.2 软件工程心理学656.3 软件团队666.4 团队结构676.5 敏捷团队686.5.1 通用敏捷团队686.5.2 XP团队696.6 社交媒体的影响706.7 软件工程中云的应用716.8 协作工具716.9 全球化团队726.10 小结73习题与思考题73扩展阅读与信息资源74第二部分 建模第7章 指导实践的原则767.1 软件工程知识777.2 核心原则777.2.1 指导过程的原则787.2.2 指导实践的原则787.3 指导每个框架活动的原则807.3.1 沟通原则807.3.2 策划原则817.3.3 建模原则837.3.4 构建原则877.3.5 部署原则897.4 工作实践907.5 小结91习题与思考题92扩展阅读与信息资源92第8章 理解需求948.1 需求工程958.2 建立根基1008.2.1 确认利益相关者1008.2.2 识别多重观点1008.2.3 协同合作1018.2.4 首次提问1018.2.5 非功能需求1028.2.6 可追溯性1028.3 获取需求1038.3.1 协作收集需求1038.3.2 质量功能部署1058.3.3 使用场景1068.3.4 获取工作产品1068.3.5 敏捷需求获取1078.3.6 面向服务的方法1078.4 开发用例1078.5 构建分析模型1118.5.1 分析模型的元素1128.5.2 分析模式1148.5.3 敏捷需求工程1148.5.4 自适应系统的需求1148.6 协商需求1158.7 需求监控1168.8 确认需求1178.9 避免常见错误1178.10 小结118习题与思考题118扩展阅读与信息资源119第9章 需求建模:基于场景的方法1219.1 需求分析1229.1.1 总体目标和原理1229.1.2 分析的经验原则1239.1.3 域分析1239.1.4 需求建模的方法1259.2 基于场景建模1269.2.1 创建初始用例1269.2.2 细化初始用例1289.2.3 编写正式用例1299.3 补充用例的UML模型1319.3.1 开发活动图1319.3.2 泳道图1329.4 小结133习题与思考题133扩展阅读与信息资源133第10章 需求建模:基于类的方法13510.1 识别分析类13510.2 描述属性13810.3 定义操作13810.4 类职责协作者建模14010.5 关联和依赖14510.6 分析包14
內容試閱 :
前言Software Engineering: A Practitioners Approach, Eighth Edition如果有这样一款计算机软件,它能满足用户的需求,能在相当长的时间内无故障地运行,修改起来轻松便捷,使用起来更是得心应手,那么,这款软件必定是成功的,它切实改善了我们的生活。但是,如果有这样一款软件,它令用户失望,错误频出,修改起来困难重重,使用起来更是举步维艰,那么,这必定是一款失败的软件,它使我们的生活一团糟。谁都希望开发出优秀的软件,为我们的生活带来便利,而不是把自己陷入失败的深渊。要想使软件获得成功,在设计和构建软件时就需要有规范,需要采用工程化的方法。自本书第1版问世以来的近35年中,软件工程已经从少数倡导者提出的一些朦胧概念发展成为一门正规的工程学科,已被公认为是一个值得深入研究、认真学习和热烈讨论的课题。在整个行业中,软件工程师已经代替程序员成为人们优先选择的工作岗位,软件过程模型、软件工程方法和软件工具都已在全行业的所有环节成功采用。尽管管理人员和一线专业人员都承认需要有更为规范的软件方法,但他们却始终在争论应该采用什么样的规范。有许多个人和公司至今仍在杂乱无章地开发着自己的软件,甚至即使他们正在开发的系统要服务于当今最为先进的技术,状况也仍是如此。许多专业人员和学生并不了解现代方法,这导致他们所开发的软件质量很差,因而造成了严重的后果。此外,有关软件工程方法真实本质的争论一直持续进行着。软件工程的地位问题已成为一门对比研究课题。人们对软件工程的态度已经有所改善,研究工作已取得了进展,不过要成为一门完全成熟的学科,我们还有大量的工作要做。我们希望本书能够成为引导读者进入正在走向成熟的软件工程学科的入门读物,和以前的7个版本一样,第8版对学生和专业人员同样具有很强的吸引力。它既是软件专业人员的工作指南,也是高年级本科生和一年级研究生的综合性参考书。第8版中包含了许多新的内容,它绝不只是前一版的简单更新。这一版不仅对内容做了适当的修改,而且调整了全书的结构,以改进教学顺序;同时更加强调一些新的和重要的软件工程过程和软件工程实践知识。此外,本书进一步加强了支持系统,为学生、教师和专业人员提供了更为丰富的知识资源。读者可访问专门为本书建立的网站(www.mhhe.compressman)查阅这些信息。篇章结构本书共39章,分为五个部分。这种划分有利于那些无法在一个学期内讲完全书内容的教师灵活安排教学。第一部分软件过程给出了有关软件过程的各种不同观点,讨论了所有重要的过程模型,还涉及惯用过程和敏捷过程在指导思想上的分歧。第二部分建模给出了分析方法和设计方法,重点讲解面向对象方法和UML建模,同时也介绍了基于模式的设计以及基于WebApp和移动App的设计。第三部分质量管理介绍了有关质量管理的概念、规程、技术和方法,使得软件团队能够很好地评估软件质量,评审软件工程工作产品,实施软件质量保证规程,并正确地运用有效的测试策略和战术。此外,这一部分还讨论了形式化建模和验证方法。第四部分管理软件项目介绍了与计划、管理和控制软件开发项目的人员有关的问题。第五部分软件工程高级课题讨论了软件过程改进和软件工程的发展趋势。第8版沿用了前面几个版本的做法,在各章中都提供了大量的辅助阅读信息,包括一个虚拟软件团队在工作中遇到困难时展开的对话,还包括对各章相关知识给出的补充方法和工具。第8版中五个部分的划分有利于教师根据学时和教学要求安排课堂内容。在一个学期内可以安排一个部分的内容,也可以安排多个部分的内容。软件工程概论课程可以从五个部分中选择若干章作为教材。侧重分析和设计的软件工程课程可以从第一部分和第二部分中选取素材。面向测试的软件工程课程则可以从第一部分和第三部分中选取素材,还应加上第二部分中的一些内容。侧重管理的课程应突出第一部分和第四部分的内容。我们用上述方式组织第8版的内容,意在给教师提供多种教学安排的选择。但无论如何选择这些内容,都可以从支持系统中获得补充资源。相关资源学生资源本书为学生提供的各种学习资料包括:在线学习中心提供的各章学习指南,实践测验,题解以及多种在线资源(软件工程检查单、一套正在演化的微型工具、综合案例研究和工作产品模板等)。此外,1000多种网络参考文献可供学生更深入地探究软件工程问题,还有500多篇可下载的参考文献,这些都为读者提供了关于高级软件工程课题的更为详尽的信息。教师资源本书为教师提供的各种教学资料包括:在线(也可下载)教师指南,由700多个PPT组成的教辅资源和试题库。当然,学生资源(如微型工具、网络参考文献及可下载参考文献)和专业人员资源也可供教师使用。在本书的教师指南中,我们为各种类型的软件工程课程提出了建议,介绍了与课程配合开展的软件项目、部分问题的题解和许多有用的教学辅助工具。专业人员资源本书为产业界专业人员(也包括在校学生)提供的各种资料包括:软件工程文档和其他工作产品的