基本信息
- 原书名:Object-Oriented Software Engineering
- 原出版社: McGraw-Hill
- 作者: Timothy C.Lethbridge Robert Laganiere
- 译者: 张红光 温遇华 徐巧丽 张楠
- 丛书名: 计算机科学丛书
- 出版社:机械工业出版社
- ISBN:9787111119043
- 上架时间:2003-5-27
- 出版日期:2003 年4月
- 开本:16开
- 页码:338
- 版次:1-1
- 所属分类:计算机 > 软件工程及软件方法学 > 面向对象
教材 > 计算机教材 > 本科/研究生 > 计算机专业教材 > 计算机专业课程 > 软件工程

内容简介
计算机书籍
本书深入地讲解了软件工程的主要原理。内容包括:基于可靠的原则和可重用技术进行开发、使用UML进行可视化建模、对需求分析和设计中各种方案进行评估、面向对象技术、迭代开发、风险管理等等。书中含有大量的练习与例子,读者可以将这些概念应用于实践中。
本书可以作为高校软件工程课程的教科书,也适用于软件开发技术人员参考。
在用例、需求和用户界面的大背景中理解客户和用户
基于可靠的原则和可重用技术开发:提供了学生可以应用于实际工作的可重用软件和原则
用UML进行可视化建模
对需求分析和设计的各种方案进行评估,教会学生如何进行软件工程方面的决策
面向对象:深入讲述分析、设计和用Java的实现,也包含了面向对象设计模式
迭代开发:开发软件的完美方法
使用文档有效地交流:推荐文档采用灵活格式、评审文档的指导原则
在所有软件工程活动中的风险管理
作译者
博士是加拿大渥太华大学计算机系副教授。研究领域为计算机视觉与图像处理。
目录
1.1 软件的特性 1
1.2 软件工程的概念 4
1.3 软件工程—工程专业的一个分支 5
1.4 软件工程中的相关人员 6
1.5 软件质量 7
1.6 软件工程项目 9
1.7 软件项目中常见的活动 10
1.8 本书强调的八个主题 12
1.9 软件工程总体的困难与风险 15
小结 16
更多信息 16
第2章 面向对象概述 19
2.1 面向对象的概念 19
2.2 类和对象 21
2.3 实例变量 24
2.4 方法、操作与多态 25
2.5 将类组织为继承层次结构 26
2.6 继承层次结构对多态和变量声明的
影响 30
译者序
在软件开发过程中,设计人员是核心角色,即设计人员的工作质量直接影响着软件产品的质量。本书就是以培养软件设计工程师为目标的,描述软件开发者应该做什么及如何去做。书中包含了软件工程中研究的许多基础问题,如客户需求了解、设计原则和使用的开发技术、UML可视化建模、设计方案评估、面向对象设计原理、迭代开发、交流文档、软件风险管理等问题。
本书涉及的范围广泛,论述提纲挈领,资料丰富,非常适合用作少学时软件工程课程的教材。
本书的第1、2、4章由张红光翻译,第3、5、6、7章由温遇华翻译,第8、9、10章由徐巧丽翻译,第11、12章由张楠翻译,同时张楠还负责全书的版式调整及校对,张红光负责全书的整理与统稿。由于时间仓促及译者水平有限,错误和疏漏之处在所难免,敬请读者多提宝贵意见。
译 者
2003年3月于南开园
前言
我们教授软件工程课程已经有十年的时间了,使用本书素材的早期版本作为教材也已经有三年了,并且得到了学生积极的反馈。此外,我们进行软件开发、咨询和专业培训的业界经验也使我们能够把本书的重点放在对于学生的未来雇主而言比较重要的内容上。
在软件工程学位项目中使用本书
软件工程正在成为一门成熟的学科,并逐步从计算机科学和计算机工程中分离出来。这种趋势的一个主要表现,就是全世界各大高校中纷纷建立了专门的软件工程学位项目。我们编写这本书的目的就是在这种学位项目中向学生介绍软件工程最重要的概念。
在渥太华大学,我们在第二学年的第一学期用12星期的时间教授本书的内容。这时,学生应该已经完成了两个学期的计算机科学课程—包括Java面向对象程序设计。在学习本课程的同时,他们还应该学习数据结构和算法等课程,然后再参加高级软件工程课程的学习,在高级软件工程课程学习时可以进一步扩展这里所学的内容。
学习过这门课程的学生应该能够胜任在企业中的暑期实习工作。老板们期望学生具有如下能力:了解好的需求中都包含什么,能够运用基本的设计原则,能正确地使用UML,能够把需求和设计转变为高质量的程序并且有效地测试这些程序。本书给出了所有这些技能的实践基础。
本书是这样组织的,在12星期的课程或单元中,可以使用每星期3个小时的课堂教学加上定期的实验练习。每年我们都布置一些练习,其中的许多内容要求学生分组共同完成。
使用本书提高技能和知识水平
除了学习软件工程的学生以外,本书还适用于那些具有一些编程背景、需要阅读软件工程实用入门资料的读者。这些人可能需要通过更新技能来适应知识经济的需求,或者经历若干年的编码工作后想提高自己的知识水平。
建议具备的知识背景
在学习本书之前,读者应该了解面向对象编程的基本概念,尽管第2章概述了这些概念。由于Java是完全的、易于掌握的而且流行的面向对象语言,所以我们选择它来作为本书的编程范例语言。了解其他面向对象语言的读者能够从第2章和本书的网站上以及在完成练习的过程中获得必要的Java知识。
网站上的资料
我们准备了一个资源丰富的网站,地址是:www.mcgraw-hill.co.uk/textbooks/lethbridge,读者和教师可以从那里得到进一步的支持。
在网站上可以找到授课的幻灯片、源代码、练习的答案、网上参考资料的链接、总结了许多概念的知识库以及多种其他的辅助学习工具,以及收集反馈信息的表单。
我们期盼着收到读者的反馈信息。
贯穿全书的主题
本书主要论述8个主题,我们认为它们是21世纪软件工程的基础。这些主题在许多章节中都被重复介绍,并且在相关的具体例子和练习中进行了讲解。
1) 了解客户和用户。我们强调领域分析与需求收集和需求确认一样重要。我们把这些内容放在用例分析和可用性的背景中讲述。我们要求读者按照这样的思路去思考:客户问题到底是什么?现实情况又怎么样,等等。在本书的一开始,我们就把软件工程的目的描述为解决客户的问题,而不是解决软件开发自身的问题。
2) 基于可靠的原则和可重用技术进行开发。我们强调,软件工程师在着手进行一个项目前需要理解设计原则并彻底掌握适用的技术。为了保证在本书的设计工作中确实如此,我们首先回顾了面向对象设计原则,接着讨论了框架、设计原则和设计模式。
3) 使用UML进行可视化建模。我们介绍了UML的关键元素,特别是类图和交互图,此外还较为简略地讲到了状态图。由于UML没有覆盖所有软件工程的内容,本书没有讲述UML的所有内容,也没有把讨论只限制在UML本身上,我们强调的是UML图本身不能解决问题,但它是软件工程师应该在日常工作中使用的工具之一。