软件工程——面向对象的视角
基本信息
- 作者: [美]ERIC J.BRAUDE
- 译者: 和华 刘海燕 等
- 丛书名: 软件工程丛书
- 出版社:电子工业出版社
- ISBN:7505397850
- 上架时间:2004-6-14
- 出版日期:2004 年5月
- 开本:16开
- 页码:600
- 版次:1-1
- 所属分类:
计算机 > 软件工程及软件方法学 > 面向对象
内容简介回到顶部↑
本书强调“不要只是学软件工程,而是要去实际做软件工程”。本书从面向对象的视角出发,自始至终贯穿着一个角色扮演类视频游戏,帮助读者理解应用软件工程方法进行应用开发的全过程,详细地描述软件工程原理的应用,充分地展示了框架、用例、设计模式、状态行为的应用情况,还把面向对象和需求分析及测试联系了起来。
本书内容严谨实用,组织结构清楚明了,行文简洁顺畅,适合于作为大中院校的软件工程相关专业的研究生教材,对希望提高自身知识水平和工作能力的软件开发职业人员也会有所帮助。
本书内容严谨实用,组织结构清楚明了,行文简洁顺畅,适合于作为大中院校的软件工程相关专业的研究生教材,对希望提高自身知识水平和工作能力的软件开发职业人员也会有所帮助。
目录回到顶部↑
绪论
第1章 过程
第1部分:基础篇
1.1 软件工程开发过程简介
1.1.1 一个典型的软件工程路线图
1.2 软件工程的过去和现在
1.2.1 软件工程
1.2.2 结构化和面向对象的方法产生的影响
1.2.3 重用和构件
1.2.4 形式方法
1.2.5 可用性
1.3 对过程、项目、产品和人的期望
1.3.1 工件和角色
1.4 可供选择的过程
1.4.1 瀑布过程模型
1.4.2 螺旋过程模型
1.4.3 增量过程模型
1.4.4 统一软件开发过程
1.4.5 过程的对比
1.5 文档
第1章 过程
第1部分:基础篇
1.1 软件工程开发过程简介
1.1.1 一个典型的软件工程路线图
1.2 软件工程的过去和现在
1.2.1 软件工程
1.2.2 结构化和面向对象的方法产生的影响
1.2.3 重用和构件
1.2.4 形式方法
1.2.5 可用性
1.3 对过程、项目、产品和人的期望
1.3.1 工件和角色
1.4 可供选择的过程
1.4.1 瀑布过程模型
1.4.2 螺旋过程模型
1.4.3 增量过程模型
1.4.4 统一软件开发过程
1.4.5 过程的对比
1.5 文档
译者序回到顶部↑
随着信息技术的飞速发展,如今软件企业的数量正急剧增长,软件开发项目不仅数量越来越多,而且规模也越来越大。但是长期以来,软件开发人员一直被估算不准、功能蔓延等问题所困扰,巨大的进度压力,突如其来的风险总是使软件开发团队在成功完成项目的征途上举步维艰。软件工程理论与软件项目管理的实际应用和经验是软件企业亟待学习与渴求的。以提高软件生产的质量与效率为宗旨的软件工程正逐步成为软件企业健康发展的关键技术之一。如何实施软件工程活动已经成为软件企业关注的焦点。
Eric J. Braude撰写的《软件工程——面向对象的视角》强调“不要只是学软件工程,而是要去实际做软件工程”。本书通过对面向对象的分析和设计,以及各种面向对象的方法的恰如其分的描述和深入的分析,力图找到一些使读者能够学会如何按照软件工程的思想来工作的解决问题的途径。
Braude清晰地给出了如何应用框架、用例和设计模式的说明,并且将面向对象、需求分析和测试技术联系在一起,并运用于实施软件过程的活动中。而且在书中还提供了一个有趣的连续的案例分析,这个角色扮演类的视频游戏的开发实例可以帮助读者理解应用软件工程方法进行应用开发的全过程,体会到各种质量因素、全面细致的需求文档、现代设计方法和当代项目管理技术相结合所带来的种种益处。
本书的初译工作由和华、刘海燕组织完成。其中和华负责第1~4章的翻译工作,曹学军负责第9,10章的翻译工作,刘海燕翻译了其余部分并负责全书的统稿工作。同时译者希望向参与本书部分翻译的王海青、刘宏伟、何燕春、陈春松、苏萍、马瑞芹、刘佃富、王远靖、屈毅及本书的审校人员和为翻译工作提供支持和关注的所有人员表示诚挚的感谢。
由于译者自身的知识局限及时间的仓促,译稿中难免存在不当之处。谨向读者及原书作者致以歉意,并恳请读者批评指正。
和华、刘海燕
Eric J. Braude撰写的《软件工程——面向对象的视角》强调“不要只是学软件工程,而是要去实际做软件工程”。本书通过对面向对象的分析和设计,以及各种面向对象的方法的恰如其分的描述和深入的分析,力图找到一些使读者能够学会如何按照软件工程的思想来工作的解决问题的途径。
Braude清晰地给出了如何应用框架、用例和设计模式的说明,并且将面向对象、需求分析和测试技术联系在一起,并运用于实施软件过程的活动中。而且在书中还提供了一个有趣的连续的案例分析,这个角色扮演类的视频游戏的开发实例可以帮助读者理解应用软件工程方法进行应用开发的全过程,体会到各种质量因素、全面细致的需求文档、现代设计方法和当代项目管理技术相结合所带来的种种益处。
本书的初译工作由和华、刘海燕组织完成。其中和华负责第1~4章的翻译工作,曹学军负责第9,10章的翻译工作,刘海燕翻译了其余部分并负责全书的统稿工作。同时译者希望向参与本书部分翻译的王海青、刘宏伟、何燕春、陈春松、苏萍、马瑞芹、刘佃富、王远靖、屈毅及本书的审校人员和为翻译工作提供支持和关注的所有人员表示诚挚的感谢。
由于译者自身的知识局限及时间的仓促,译稿中难免存在不当之处。谨向读者及原书作者致以歉意,并恳请读者批评指正。
和华、刘海燕
前言回到顶部↑
本书在讲述软件工程相关内容的同时,还关注如何实施软件工程活动。而在过去,很少有人尝试写这样的书,这是因为缺乏被广泛认可的技术方法。特别是面向对象的技术,在现有的软件工程书籍中,通常仅仅是作为其中的一节,尽管当今绝大多数项目使用的都是面向对象语言。
20世纪90年代,面向对象的分析和设计一族中兴起了一种将设计及其相应的表示符号融为一体的方法:统一建模语言(UML)。随后,这种方法和语言被广泛地接纳,这使得新千年之初成为一个合适的时机来讲授如何开展软件工程活动,而不是只局限于软件工程所包含的内容。因此,虽然本书必然包括了软件工程中非面向对象的那些方面,但是它的一个重要目的是指导框架(framework)、用例(use case)和设计模式(design pattern)的应用。同时,本书还把面向对象和需求分析及测试联系了起来。这样,导师就能够在讲授各类方法时花费较少的时间,而将更多的精力用于深入分析和练习上。
任何阐述如何开展软件工程活动的书籍肯定会包含一个案例。而且,既然软件工程通常总是在和复杂的事物打交道,那么一本软件工程教科书就需要一个实际的案例,而不是象征性的。还有,这个案例对学生来说应该是很有趣的,使他们乐于思考由始至终的这个过程。基于上述的原因,本书将通过构建一个角色扮演类视频游戏来贯穿讲述软件工程原理的应用。视频游戏给我们充分的机会来展示框架、设计模式、状态行为、并行和特殊的图形用户界面。当然,本书也包含一些科学和商业方面的例子作为对这个案例的补充。
典型的软件产品更多的是由一个软件工程师小组完成的,而不是由一个人独立承担的。为了满足相关知识的需求,本书对学生小组提供了广泛的支持。更详细的内容还可以参考Watts Humphrey的先驱著作“The Personal Software Process”[Hu]和“The Team Software Process”[Hu7]。
读者
本书的读者定位在读研究生和刚毕业的大学生(至少有一年的工作经历)。既然本书的目的是在开发软件方面提出好的实践,因此本书对于希望提高自身知识水平和工作能力的职业人员也会有所帮助。行文中假设读者熟悉使用类和对象的编程,熟悉Java更佳。
本书的组织结构
第1,2,4,5,6章各自分为两个部分。这种划分给那些希望快速掌握需求分析和设计的基础知识的读者和导师带来方便。他们可以先使用这些章节的第1部分,晚些时候再回到第2部分。
绪论中对软件工程做了简明综述,同时对学生小组的组建提出一些建议。这一章还对本书的案例给出了概要介绍,也让学生们确信技术性的挑战的确要等待他们理解了“过程”(process)和项目管理的概念之后才应该涉及。
第1章介绍了大量的软件工程实例。其中1.6节是本章的核心。
第2章关注软件项目是如何组织的。技术人员有时试图跳过这个话题,但是如果能够理解项目的组织结构和管理问题,他们将会在小组工作中得到更大的快乐。特别是2.1节和2.4节的内容对于每个软件工程师都是绝对必要的。
从第3章到第10章的安排遵循软件开发的每一次迭代中的逻辑顺序。
第3,4章是关于需求分析:了解要做什么东西的过程。
第5,6章描述产品是如何被设计的以及设计的表达方式。
第7章讨论软件工程意义下的编程。
第8,9章关注测试过程。
第10章讨论产品发布后需要的活动。
本书的使用方法
尽管本书的章节是按照逻辑顺序组织的,但是并不是完全和应用开发的实际方式相似。需求分析/设计/编码/测试 这个顺序通常至少进行一次。第1章和第2章会讨论如何组织这个顺序的重复。
本书有几种基本的使用方法,每种都基于不同的优先性,下面我们来详细地说明。
20世纪90年代,面向对象的分析和设计一族中兴起了一种将设计及其相应的表示符号融为一体的方法:统一建模语言(UML)。随后,这种方法和语言被广泛地接纳,这使得新千年之初成为一个合适的时机来讲授如何开展软件工程活动,而不是只局限于软件工程所包含的内容。因此,虽然本书必然包括了软件工程中非面向对象的那些方面,但是它的一个重要目的是指导框架(framework)、用例(use case)和设计模式(design pattern)的应用。同时,本书还把面向对象和需求分析及测试联系了起来。这样,导师就能够在讲授各类方法时花费较少的时间,而将更多的精力用于深入分析和练习上。
任何阐述如何开展软件工程活动的书籍肯定会包含一个案例。而且,既然软件工程通常总是在和复杂的事物打交道,那么一本软件工程教科书就需要一个实际的案例,而不是象征性的。还有,这个案例对学生来说应该是很有趣的,使他们乐于思考由始至终的这个过程。基于上述的原因,本书将通过构建一个角色扮演类视频游戏来贯穿讲述软件工程原理的应用。视频游戏给我们充分的机会来展示框架、设计模式、状态行为、并行和特殊的图形用户界面。当然,本书也包含一些科学和商业方面的例子作为对这个案例的补充。
典型的软件产品更多的是由一个软件工程师小组完成的,而不是由一个人独立承担的。为了满足相关知识的需求,本书对学生小组提供了广泛的支持。更详细的内容还可以参考Watts Humphrey的先驱著作“The Personal Software Process”[Hu]和“The Team Software Process”[Hu7]。
读者
本书的读者定位在读研究生和刚毕业的大学生(至少有一年的工作经历)。既然本书的目的是在开发软件方面提出好的实践,因此本书对于希望提高自身知识水平和工作能力的职业人员也会有所帮助。行文中假设读者熟悉使用类和对象的编程,熟悉Java更佳。
本书的组织结构
第1,2,4,5,6章各自分为两个部分。这种划分给那些希望快速掌握需求分析和设计的基础知识的读者和导师带来方便。他们可以先使用这些章节的第1部分,晚些时候再回到第2部分。
绪论中对软件工程做了简明综述,同时对学生小组的组建提出一些建议。这一章还对本书的案例给出了概要介绍,也让学生们确信技术性的挑战的确要等待他们理解了“过程”(process)和项目管理的概念之后才应该涉及。
第1章介绍了大量的软件工程实例。其中1.6节是本章的核心。
第2章关注软件项目是如何组织的。技术人员有时试图跳过这个话题,但是如果能够理解项目的组织结构和管理问题,他们将会在小组工作中得到更大的快乐。特别是2.1节和2.4节的内容对于每个软件工程师都是绝对必要的。
从第3章到第10章的安排遵循软件开发的每一次迭代中的逻辑顺序。
第3,4章是关于需求分析:了解要做什么东西的过程。
第5,6章描述产品是如何被设计的以及设计的表达方式。
第7章讨论软件工程意义下的编程。
第8,9章关注测试过程。
第10章讨论产品发布后需要的活动。
本书的使用方法
尽管本书的章节是按照逻辑顺序组织的,但是并不是完全和应用开发的实际方式相似。需求分析/设计/编码/测试 这个顺序通常至少进行一次。第1章和第2章会讨论如何组织这个顺序的重复。
本书有几种基本的使用方法,每种都基于不同的优先性,下面我们来详细地说明。







点击看大图
加载中...

