软件工程:实践者的研究方法(原书第6版.本科教学版)
基本信息
- 原书名: Software Engineering Software Engineering: A Practitioner's Approach 6th edition
- 原出版社: McGraw-Hill Science/Engineering/Math
- 作者: (美)Roger S. Pressman Roger Pressman [作译者介绍]
- 丛书名: 计算机科学丛书
- 出版社:机械工业出版社
- ISBN:9787111234432
- 上架时间:2008-7-2
- 出版日期:2008 年6月
- 开本:16开
- 页码:425
- 版次:6-1
- 所属分类:
计算机 > 软件工程及软件方法学 > 软件方法/软件工程
教材 > 计算机教材 > 本科/研究生 > 计算机专业教材 > 计算机专业课程 > 软件工程
编辑推荐
Roger Pressman 编写的这部翔实而全面的软件工程指南,乏泛适合软件工程专业的学生及投身软件工程实践或需要参与这种实践的软件开发人员和管理人员。
--《Jss Sobtwane》
这是一本经殿的现代教材,叙述清晰而又有权威性。本书包含大量插图、例子、习题和参考资料……如果读者心存疑问:“软件工程是什么?经现在在哪里?”那么最好阅读这本书。
--《ACM Comprting Reviews》
作为一句软件工程实践者,我发现此书是无价的。对于我做过的所有项目,本书都有重大的参考价值。
--摘自Amazon.com的评论
20多年以来,《软件工程:实践者的研究方法》一书是最受学生和行业专业人员欢迎的软件工程指南。它在全面而系统、概括而清晰地介绍软件工程的有关概念、原则、方法和工具方面获得了广大读者的好评,在国际软工程界享有无可质疑的权威地位。
本书基于该书第6版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更加适合作为国内高校计算机及相关专业本科生,软件工程课程教材。
内容简介回到顶部↑
20多年以来,《软件工程:实践者的研究方法》一书是最受学生和行业专业人员欢迎的软件工程指南。它全面而系统、概括而清晰地介绍软件工程的有关概念、原则、方法和工具,获得了广大读者的好评,在国际软件工程界享有无可质疑的权威地位。
本书基于该书第6版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更加适合作为国内高校计算机及相关专业本科生的软件工程课程教材,也可供软件工程领域的技术人员参考。
本书基于该书第6版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更加适合作为国内高校计算机及相关专业本科生的软件工程课程教材,也可供软件工程领域的技术人员参考。
作译者回到顶部↑
本书提供作译者介绍
Roger S.Pressman软件过程改善和软件工程技术方面国际知名的权威。30多年来,他作为软件工程师、管理人员、教授、作者及咨询顾问始终投身于软件工程领域。Pressman博士著有6部著作,撰写了很多技术文章,是多种行业期刊的固定撰稿人,曾任多种行业杂志的编委,并多年来一直担任《IEEE Software》杂志Manager专栏的编辑。Pressman博士是知名的演讲者,曾在许多行业会议上演讲。他还是美国计算机协会(ACM)、美国电气与电子工程师协会(IEEE)等组织的成员。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
出版者的话
改编者序
译者序
译者简介
原著前言
本书使用说明
第1章 软件工程介绍
1.1 软件角色的演化
1.2 软件
1.3 软件特性的变化
1.4 遗留软件
1.4.1 遗留软件的质量
1.4.2 软件演化
1.5 软件神话
1.6 小结
参考文献
习题与思考题
推荐读物与阅读信息
第一部分 软件过程
第2章 过程综述
改编者序
译者序
译者简介
原著前言
本书使用说明
第1章 软件工程介绍
1.1 软件角色的演化
1.2 软件
1.3 软件特性的变化
1.4 遗留软件
1.4.1 遗留软件的质量
1.4.2 软件演化
1.5 软件神话
1.6 小结
参考文献
习题与思考题
推荐读物与阅读信息
第一部分 软件过程
第2章 过程综述
译者序回到顶部↑
作为一部软件工程著作,本书全面、系统地阐述了当前软件工程技术的各个层面。它概括而清晰地介绍了有关的概念、原则、技术、方法和工具。自从20多年前第1版问世以来,它在国际软件工程界发挥了巨大而深远的影响,从而树立了无可质疑的权威形象。.
从第1版开始,我一直是本书的忠实读者,它是我在教学工作中的一本重要参考教材,也是我的良师益友。
软件工程是一门工程学科,它告诉我们如何规范化地开发软件。事实一再表明,不规范的软件是不可用、不易修改的软件。本人从20世纪80年代中期开始承担软件工程课的教学任务,深知这门专业课的重要性及教学的难点。如果询问从大学计算机专业毕业多年的从事实际工作的专业人员,在大学哪门课最为实用,许多人会毫不犹豫地回答:是软件工程课。其实,软件工程课不只在计算机行业有用,非计算机专业的学生也会对这门课很有兴趣。十几年前,我所工作的清华大学要求我面向非计算机专业的理工科研究生开设软件工程选修课,结果报名十分踊跃,竟出现700人同堂听课的场面。据学校研究生处称,如果不具备软件工程的概念和知识,这些来自各专业的研究生在各自的研究项目中所开发的软件,往往会因为极不规范而难以理解。对导师来说,整个研究课题前后工作无法很好地衔接,也很难交流。
本书从1982年第1版开始就为我国软件界密切关注,国内至少已出版了第2版、第5版的中译本,对国内大学的软件工程课程产生了巨大的影响。
第6版的特点
1. 在第5版的基础上做了大量的充实和更新,例如,突出了软件过程,增加了敏捷开发方法。
2. 除各章后面提供了大量供进一步阅读的参考文献信息外,针对不同的读者(学生、教师和专业人员)提供了各种形式的材料,范围广泛,内容丰富,且使用方便。
3. 为了方便阅读和理解,除在各章开头给出全章内容简介和关键词外,在文中穿插了许多内容不同的解释框。而且全书贯穿了一个应用实例(住宅安全系统—SafeHome),以对话形式逐步展开这一软件的开发过程,从而提高了严肃的技术书籍的可读性,极大地引发了读者的阅读兴趣。..
读者对象
本书前言中已明确指出了三类主要读者,即高校学生、教师和专业技术人员,总体上该书是为教学服务的。教师如果以本书为教材,面对的又是软件工程的初学者,可能需要自行补充一些具体的材料,让学生在本书内容的基础上掌握一些具体的、实用的、操作性更强的工作步骤。当然这可以结合习题或实习,在课内讲解,也可作为指定的补充读物,由学生自学掌握。对于教师自己,或具有一定软件工程基础的研究生和软件专业人员,本书给你的是全面、丰富、代表当前发展水平的软件工程知识。
参加本书翻译工作的主要有清华大学计算机系和华北电力大学计算机系的教师,包括马素霞、白晓颖、董渊、赵冲冲、张志强、戴桂兰、王素琴、谢萍、贾克等。在翻译过程中,得到清华大学计算机系栗宏、谢继辉,软件学院马秋霞、程明、李海庆、邬双,华北电力大学计算机系周莉梅、杜江的帮助,内蒙古大学的郇失宇老师仔细审阅了第4~5章,在此对他(她)们的辛勤劳动表示感谢。本人将大部分译稿、马素霞教授将后半部分译稿做了仔细审核与修改。尽管翻译工作历时一年,在大家非全时投入又不能集中工作的情况下仍感到时间紧张,某些部分仍不够理想。限于水平,对内容的理解和中文表达难免有不当之处,在此敬请读者批评指正。又,原书中存在的个别问题(包括错、漏及不妥之处)均在译者注中指出。
总之,这是一本非常优秀的软件工程读物,本人也十分高兴地向读者推荐,认真阅读它将会使你受益匪浅。...
郑人杰
2006年元旦
从第1版开始,我一直是本书的忠实读者,它是我在教学工作中的一本重要参考教材,也是我的良师益友。
软件工程是一门工程学科,它告诉我们如何规范化地开发软件。事实一再表明,不规范的软件是不可用、不易修改的软件。本人从20世纪80年代中期开始承担软件工程课的教学任务,深知这门专业课的重要性及教学的难点。如果询问从大学计算机专业毕业多年的从事实际工作的专业人员,在大学哪门课最为实用,许多人会毫不犹豫地回答:是软件工程课。其实,软件工程课不只在计算机行业有用,非计算机专业的学生也会对这门课很有兴趣。十几年前,我所工作的清华大学要求我面向非计算机专业的理工科研究生开设软件工程选修课,结果报名十分踊跃,竟出现700人同堂听课的场面。据学校研究生处称,如果不具备软件工程的概念和知识,这些来自各专业的研究生在各自的研究项目中所开发的软件,往往会因为极不规范而难以理解。对导师来说,整个研究课题前后工作无法很好地衔接,也很难交流。
本书从1982年第1版开始就为我国软件界密切关注,国内至少已出版了第2版、第5版的中译本,对国内大学的软件工程课程产生了巨大的影响。
第6版的特点
1. 在第5版的基础上做了大量的充实和更新,例如,突出了软件过程,增加了敏捷开发方法。
2. 除各章后面提供了大量供进一步阅读的参考文献信息外,针对不同的读者(学生、教师和专业人员)提供了各种形式的材料,范围广泛,内容丰富,且使用方便。
3. 为了方便阅读和理解,除在各章开头给出全章内容简介和关键词外,在文中穿插了许多内容不同的解释框。而且全书贯穿了一个应用实例(住宅安全系统—SafeHome),以对话形式逐步展开这一软件的开发过程,从而提高了严肃的技术书籍的可读性,极大地引发了读者的阅读兴趣。..
读者对象
本书前言中已明确指出了三类主要读者,即高校学生、教师和专业技术人员,总体上该书是为教学服务的。教师如果以本书为教材,面对的又是软件工程的初学者,可能需要自行补充一些具体的材料,让学生在本书内容的基础上掌握一些具体的、实用的、操作性更强的工作步骤。当然这可以结合习题或实习,在课内讲解,也可作为指定的补充读物,由学生自学掌握。对于教师自己,或具有一定软件工程基础的研究生和软件专业人员,本书给你的是全面、丰富、代表当前发展水平的软件工程知识。
参加本书翻译工作的主要有清华大学计算机系和华北电力大学计算机系的教师,包括马素霞、白晓颖、董渊、赵冲冲、张志强、戴桂兰、王素琴、谢萍、贾克等。在翻译过程中,得到清华大学计算机系栗宏、谢继辉,软件学院马秋霞、程明、李海庆、邬双,华北电力大学计算机系周莉梅、杜江的帮助,内蒙古大学的郇失宇老师仔细审阅了第4~5章,在此对他(她)们的辛勤劳动表示感谢。本人将大部分译稿、马素霞教授将后半部分译稿做了仔细审核与修改。尽管翻译工作历时一年,在大家非全时投入又不能集中工作的情况下仍感到时间紧张,某些部分仍不够理想。限于水平,对内容的理解和中文表达难免有不当之处,在此敬请读者批评指正。又,原书中存在的个别问题(包括错、漏及不妥之处)均在译者注中指出。
总之,这是一本非常优秀的软件工程读物,本人也十分高兴地向读者推荐,认真阅读它将会使你受益匪浅。...
郑人杰
2006年元旦
前言回到顶部↑
成功的计算机软件能够很好地满足使用者的要求,能在相当长的时间内无故障地运行,能够非常好用,也容易修改;这样的软件能够也确实会把事情办好。反之,有问题的软件无法让用户满意,容易出错,难于修改,甚至很难使用;这样的软件将会也确实会把事情办糟。我们希望开发出好的软件,把事情办好,避免那些隐藏在背后的糟糕的事情发生。为了获得成功,在设计和开发软件时,我们需要有规范,需要有工程化的方法。.
在本书第1版问世以来的25年中,软件工程已经从少数倡导者提出的一些朦胧概念发展成为一门正规的工程学科。如今,软件工程已被公认为是一个值得深入研究、认真学习和热烈讨论的课题。在整个行业中软件工程师已经代替了程序员成为人们优先选择的工作岗位。软件过程模型、软件工程方法和软件工具已在广阔的行业应用领域得到成功的采用。
尽管管理人员和工作在第一线的专业人员都承认,需要有更为规范化的软件方法,但他们却始终在争论着应该采取什么样的规范。许多个人和公司至今仍在杂乱无章地开发着自己的软件,甚至即使他们正在开发的系统服务于目前最为先进的技术,也仍然如此。许多专业人员和学生并不了解现代方法。于是造成了严重的后果,以至所开发的软件质量很差,糟糕的事情时有发生。此外,有关软件工程方法性质的争论一直持续进行着。软件工程的重要地位问题已成为研究课题。人们对待软件工程的态度已有所改变,研究工作已取得了进展,不过要成为一个完全成熟的学科还有大量的工作要做。
本书第6版希望成为推动工程学科走向成熟的入门读物。和前五版一样,第6版对学生和专业人员同样具有很强的吸引力。本书既是软件行业专业人员的工作指南,同时也是大学高年级学生以及一年级研究生的综合性参考书。
第6版包含很多新的内容,它绝不是前一版的简单更新。这一版做了不少修订,结构上也有调整,更加强调一些新的和重要的软件工程过程和实践。此外,我们专门为本书开辟了一个网站(www.mhhe.com/pressman),其中提供的“支持系统”(见图0-1)包含了为学生、教师和专业人员提供的大量专业资源,从而丰富和充实了本书的内容。(访问原书网站可能无法获取有些配套资源,需要这些配套资源的教师可联系麦格劳-希尔教育出版公司北京办事处,联系方式参见书后的“教学服务沟通表”。—编者注)
第6版共32章,分为五个部分。这样就把全书分为五个主题,从而有助于教师解决无法在一个学期内讲完书中全部材料的问题。
·第一部分软件过程,给出了软件过程的不同论点,考虑到所有重要的过程模型,涉及传统过程和敏捷过程在指导思想上的争论。
·第二部分软件工程实践,给出了分析、设计和测试方法,其中突出讨论了面向对象技术和UML建模。鉴于面向对象方法目前在行业中已被广泛采用,原来第5版中第四部分的内容(面向对象软件工程)现已全部纳入到这里了。
·第三部分应用Web工程,提供了Web应用系统的分析、设计和测试的全面工程方法。
·第四部分管理软件项目,给出的是与计划、管理和控制软件项目的人员有关的问题。
·第五部分软件工程高级课题,涉及形式化方法、净室软件工程、基于构件的软件工程、再工程以及未来的发展趋势等问题。
第6版除了对前一版本做了许多更新和重要修改外,还特别增加了120多个框。主要分为以下4种:
·让读者跟随一个虚构的项目组,跟随他们的工作进程开发一个计算机应用系统。
·对选择的题目提供补充的讨论。
·概述反映某些软件工程活动工作流的任务集。..
·推荐与特定章节相关的自动化工具。
第6版分为五部分,这样方便教师根据时间和学习要求安排讲课内容。在一个学期内可进行一个部分,也可进行多个部分。例如“方法课”可能只强调第一和第二部分;而Web开发课会强调第一和第三部分;管理课应把重点放在第一和第四部分。第6版内容这样组织,其意图在于给教师提供多种教学安排的选择。但无论如何选择,第6版的内容都可获得“支持系统”的补充支持(参见图0-1):
图0-1本书第6版的支持系统
为学生提供的资源
提供种类繁多、内容丰富的材料供学生学习。包括:在线学习中心可提供学习指南、实习测验以及Web资源(包括软件工程检查单、一套不断演化的微型工具、完整的案例研究以及工作产品模板)。此外,还有900多种网上参考资料可供学生更深入地探讨软件工程问题。
在本书第1版问世以来的25年中,软件工程已经从少数倡导者提出的一些朦胧概念发展成为一门正规的工程学科。如今,软件工程已被公认为是一个值得深入研究、认真学习和热烈讨论的课题。在整个行业中软件工程师已经代替了程序员成为人们优先选择的工作岗位。软件过程模型、软件工程方法和软件工具已在广阔的行业应用领域得到成功的采用。
尽管管理人员和工作在第一线的专业人员都承认,需要有更为规范化的软件方法,但他们却始终在争论着应该采取什么样的规范。许多个人和公司至今仍在杂乱无章地开发着自己的软件,甚至即使他们正在开发的系统服务于目前最为先进的技术,也仍然如此。许多专业人员和学生并不了解现代方法。于是造成了严重的后果,以至所开发的软件质量很差,糟糕的事情时有发生。此外,有关软件工程方法性质的争论一直持续进行着。软件工程的重要地位问题已成为研究课题。人们对待软件工程的态度已有所改变,研究工作已取得了进展,不过要成为一个完全成熟的学科还有大量的工作要做。
本书第6版希望成为推动工程学科走向成熟的入门读物。和前五版一样,第6版对学生和专业人员同样具有很强的吸引力。本书既是软件行业专业人员的工作指南,同时也是大学高年级学生以及一年级研究生的综合性参考书。
第6版包含很多新的内容,它绝不是前一版的简单更新。这一版做了不少修订,结构上也有调整,更加强调一些新的和重要的软件工程过程和实践。此外,我们专门为本书开辟了一个网站(www.mhhe.com/pressman),其中提供的“支持系统”(见图0-1)包含了为学生、教师和专业人员提供的大量专业资源,从而丰富和充实了本书的内容。(访问原书网站可能无法获取有些配套资源,需要这些配套资源的教师可联系麦格劳-希尔教育出版公司北京办事处,联系方式参见书后的“教学服务沟通表”。—编者注)
第6版共32章,分为五个部分。这样就把全书分为五个主题,从而有助于教师解决无法在一个学期内讲完书中全部材料的问题。
·第一部分软件过程,给出了软件过程的不同论点,考虑到所有重要的过程模型,涉及传统过程和敏捷过程在指导思想上的争论。
·第二部分软件工程实践,给出了分析、设计和测试方法,其中突出讨论了面向对象技术和UML建模。鉴于面向对象方法目前在行业中已被广泛采用,原来第5版中第四部分的内容(面向对象软件工程)现已全部纳入到这里了。
·第三部分应用Web工程,提供了Web应用系统的分析、设计和测试的全面工程方法。
·第四部分管理软件项目,给出的是与计划、管理和控制软件项目的人员有关的问题。
·第五部分软件工程高级课题,涉及形式化方法、净室软件工程、基于构件的软件工程、再工程以及未来的发展趋势等问题。
第6版除了对前一版本做了许多更新和重要修改外,还特别增加了120多个框。主要分为以下4种:
·让读者跟随一个虚构的项目组,跟随他们的工作进程开发一个计算机应用系统。
·对选择的题目提供补充的讨论。
·概述反映某些软件工程活动工作流的任务集。..
·推荐与特定章节相关的自动化工具。
第6版分为五部分,这样方便教师根据时间和学习要求安排讲课内容。在一个学期内可进行一个部分,也可进行多个部分。例如“方法课”可能只强调第一和第二部分;而Web开发课会强调第一和第三部分;管理课应把重点放在第一和第四部分。第6版内容这样组织,其意图在于给教师提供多种教学安排的选择。但无论如何选择,第6版的内容都可获得“支持系统”的补充支持(参见图0-1):
图0-1本书第6版的支持系统
为学生提供的资源
提供种类繁多、内容丰富的材料供学生学习。包括:在线学习中心可提供学习指南、实习测验以及Web资源(包括软件工程检查单、一套不断演化的微型工具、完整的案例研究以及工作产品模板)。此外,还有900多种网上参考资料可供学生更深入地探讨软件工程问题。
序言回到顶部↑
Pressman博士的《软件工程:实践者的研究方法》一直是软件工程领域的经典教材,其第6版更融合了现代软件工程的概念和技术,内容几乎覆盖了软件工程领域所有知识点,是该领域初学者、研究者、实践者共同认可的权威著作。国内部分高校一直沿用其各个版本的教材作为软件工程专业课程的教材。.
随着双语教学在全国高校的推广普及,越来越多的高校希望使用这本经典而权威的著作作为教材。但同时大多数高校本科生的英语阅读能力有待逐步提高,原著900多页的容量使得大多数学生望而生畏。
为了帮助更多学生更好地接受英文原版教材,机械工业出版社特推出此改编删减版,其目的是使改编版的内容更符合普通高校本科生的课程大纲,让本科生可以在一学期内掌握软件工程的最核心基础内容。
与原版相比,改编版的改动内容如下:
首先,本科软件工程教学大纲主要涵盖软件工程的基本方法以及部分管理方面的基础理论,故改编版只保留原著第1、2、4部分,而删去适用于研究生课程的第3部分(Web工程)和第5部分(高级课题)。同时删去的还有原著第22.2.6节,Web工程的质量,以及原著第27.4节,Web工程的配置管理。..
其次,根据往届学生的反映,我们认识到,对于完全没有型系统开发经验的本科生而言,软件产品度量和统计数据分析等工作的内容和意义是难以真正体会的,没有必要做十分深入的讲解,只需要介绍基本概念。因此,我们删除了原著第15.3~15.7节(软件工程各阶段的产品度量)、第22.4~22.6节(过程和项目的度量中比较细节的部分)、第23.9~23.10节(特殊评估工具等)。
此外,下列章节中还做了少量裁减:
1. 第1章:裁减第1.6节以减少学生必须阅读的篇幅。
2. 第2章:裁减第2.5和2.6节属于研究生课程中的高级内容。
3. 第5章:该章只是引言,其核心内容将在后面的章节中逐一展开介绍。为减少学生必须阅读的篇幅,该章被整体删除。
4. 第7章:裁减第7.6~7.8节属于研究生课程中的高级内容。
5. 第14章:裁减第14.4.4、14.6.1、14.6.4、14.7.6、14.10和14.11节属于研究生课程中的高级内容。
经过压缩,原著900余页的篇幅被大幅压缩到500页以内。由于我们只是就知识点做了裁减,对于保留部分并未删减其原著的语言和案例,所以应该对原著的写作风格没有造成明显的破坏。鉴于改编者的经验和学识有限,对于裁减内容的取舍或存在欠妥之处,欢迎广大读者批评指正。...
陈越
2007年底于浙江大学
随着双语教学在全国高校的推广普及,越来越多的高校希望使用这本经典而权威的著作作为教材。但同时大多数高校本科生的英语阅读能力有待逐步提高,原著900多页的容量使得大多数学生望而生畏。
为了帮助更多学生更好地接受英文原版教材,机械工业出版社特推出此改编删减版,其目的是使改编版的内容更符合普通高校本科生的课程大纲,让本科生可以在一学期内掌握软件工程的最核心基础内容。
与原版相比,改编版的改动内容如下:
首先,本科软件工程教学大纲主要涵盖软件工程的基本方法以及部分管理方面的基础理论,故改编版只保留原著第1、2、4部分,而删去适用于研究生课程的第3部分(Web工程)和第5部分(高级课题)。同时删去的还有原著第22.2.6节,Web工程的质量,以及原著第27.4节,Web工程的配置管理。..
其次,根据往届学生的反映,我们认识到,对于完全没有型系统开发经验的本科生而言,软件产品度量和统计数据分析等工作的内容和意义是难以真正体会的,没有必要做十分深入的讲解,只需要介绍基本概念。因此,我们删除了原著第15.3~15.7节(软件工程各阶段的产品度量)、第22.4~22.6节(过程和项目的度量中比较细节的部分)、第23.9~23.10节(特殊评估工具等)。
此外,下列章节中还做了少量裁减:
1. 第1章:裁减第1.6节以减少学生必须阅读的篇幅。
2. 第2章:裁减第2.5和2.6节属于研究生课程中的高级内容。
3. 第5章:该章只是引言,其核心内容将在后面的章节中逐一展开介绍。为减少学生必须阅读的篇幅,该章被整体删除。
4. 第7章:裁减第7.6~7.8节属于研究生课程中的高级内容。
5. 第14章:裁减第14.4.4、14.6.1、14.6.4、14.7.6、14.10和14.11节属于研究生课程中的高级内容。
经过压缩,原著900余页的篇幅被大幅压缩到500页以内。由于我们只是就知识点做了裁减,对于保留部分并未删减其原著的语言和案例,所以应该对原著的写作风格没有造成明显的破坏。鉴于改编者的经验和学识有限,对于裁减内容的取舍或存在欠妥之处,欢迎广大读者批评指正。...
陈越
2007年底于浙江大学
媒体评论回到顶部↑
Roger Pressman编写的这部翔实而全面的软件工程指南,广泛适合软件工程专业的学生及投身软件工程实践或需要参与这种实践的软件开发人员和管理人员。.
——《IEEE Software》
这是一本经典的现代教材,叙述清晰而又有权威性。本书包含大量插图、例子、习题和参考资料……如果读者心存疑问:“软件工程是什么?它现在在哪里?”那么最好阅读这本书。..
——《ACM Computing Reviews》
作为一名软件工程实践者,我发现此书是无价的。对于我做过的所有项目,本书都有重大的参考价值。...
——摘自Amazon.com的评论
——《IEEE Software》
这是一本经典的现代教材,叙述清晰而又有权威性。本书包含大量插图、例子、习题和参考资料……如果读者心存疑问:“软件工程是什么?它现在在哪里?”那么最好阅读这本书。..
——《ACM Computing Reviews》
作为一名软件工程实践者,我发现此书是无价的。对于我做过的所有项目,本书都有重大的参考价值。...
——摘自Amazon.com的评论
书摘回到顶部↑
第1章软件工程介绍
1.1软件角色的演化
现在的软件技术具有产品和产品生产载体的双重作用。作为一个产品,它显示了由计算机硬件体现的计算能力,更广泛地说,显示的是由一个可被本地硬件设备访问的计算机网络体现的计算潜力。无论是在手机还是在大型计算机中,软件都扮演着信息转换的角色:产生、管理、查询、修改、显示或者传递各种不同的信息——简单如几个比特的传递或复杂如多媒体演示。而作为产品生产的载体,软件提供了计算机控制(操作系统)、信息通信(网络)以及应用程序开发和控制(软件工具和环境)的基础平台。
软件传递了我们这个时代最重要的产品——信息。它转换个人数据(例如个人金融交易)以便信息在一定范围内发挥更大的作用;它通过管理商业信息提升竞争力;它为世界范围的信息网络提供通路(比如因特网),并对各类格式的信息提供不同的查询方式。
计算机软件的地位在50多年的时间中发生了很大的变化。硬件性能的极大提高、计算体系结构的巨大变化、内存和存储容量的扩大、还有种类繁多的输入和输出方法都使得计算机系统的结构变得更加复杂,功能更加强大。如果系统开发成功,复杂的结构和功能可以产生惊人的效果,但是同时复杂性也给系统开发人员带来巨大的挑战。
人们对计算机和软件及其对文化的冲击的理解发生了很大的变化,20世纪70、80年代出版的一些畅销书对此提出了历史性的见解。0sborne[0sB79]称之为“新的工业革命”;Toffier[TOF80]称微电子是人类历史上“第三次浪潮”的一部分;Naisbitt[NAl82】更预言了工业社会到“信息社会”的变革。Feigenbaum和HMcCorduck[FEl83]认为信息和知识(由计算机控制)将成为21世纪能源的焦点。Stoll[ST089]认为由网络和软件构建的“电子社区”将是世界范围内知识交换的关键。这些作者的观点都是客观正确的。
20世纪90年代伊始,Toffier[TOF90]描述了一种“权力移交”的现象:计算机和软件带来了“知识的民主化”,随着这种变化,传统的高度集中的权力结构(政府,教育,工业,经济,军事)被分化了。Yourdon[YOU92]曾忧虑美国公司会丧失他们在软件相关产业的竞争优势。
……
1.1软件角色的演化
现在的软件技术具有产品和产品生产载体的双重作用。作为一个产品,它显示了由计算机硬件体现的计算能力,更广泛地说,显示的是由一个可被本地硬件设备访问的计算机网络体现的计算潜力。无论是在手机还是在大型计算机中,软件都扮演着信息转换的角色:产生、管理、查询、修改、显示或者传递各种不同的信息——简单如几个比特的传递或复杂如多媒体演示。而作为产品生产的载体,软件提供了计算机控制(操作系统)、信息通信(网络)以及应用程序开发和控制(软件工具和环境)的基础平台。
软件传递了我们这个时代最重要的产品——信息。它转换个人数据(例如个人金融交易)以便信息在一定范围内发挥更大的作用;它通过管理商业信息提升竞争力;它为世界范围的信息网络提供通路(比如因特网),并对各类格式的信息提供不同的查询方式。
计算机软件的地位在50多年的时间中发生了很大的变化。硬件性能的极大提高、计算体系结构的巨大变化、内存和存储容量的扩大、还有种类繁多的输入和输出方法都使得计算机系统的结构变得更加复杂,功能更加强大。如果系统开发成功,复杂的结构和功能可以产生惊人的效果,但是同时复杂性也给系统开发人员带来巨大的挑战。
人们对计算机和软件及其对文化的冲击的理解发生了很大的变化,20世纪70、80年代出版的一些畅销书对此提出了历史性的见解。0sborne[0sB79]称之为“新的工业革命”;Toffier[TOF80]称微电子是人类历史上“第三次浪潮”的一部分;Naisbitt[NAl82】更预言了工业社会到“信息社会”的变革。Feigenbaum和HMcCorduck[FEl83]认为信息和知识(由计算机控制)将成为21世纪能源的焦点。Stoll[ST089]认为由网络和软件构建的“电子社区”将是世界范围内知识交换的关键。这些作者的观点都是客观正确的。
20世纪90年代伊始,Toffier[TOF90]描述了一种“权力移交”的现象:计算机和软件带来了“知识的民主化”,随着这种变化,传统的高度集中的权力结构(政府,教育,工业,经济,军事)被分化了。Yourdon[YOU92]曾忧虑美国公司会丧失他们在软件相关产业的竞争优势。
……
【插图】







点击看大图


加载中...

