图书>教材>本科教材>工学门类>软件工程
软件工程:面向对象和传统的方法(原书第8版)

软件工程:面向对象和传统的方法(原书第8版)"

作者:韩松
ISBN:978-7-111-36273-9
定价:¥65.0
字数:700千字
页数:
出版时间:2011-12-29
开本:16
版次:
装帧:
出版社:机械工业出版社
简介

本书是软件工程领域的经典著作,被加州大学伯克利分校等180多所美国高校选作教材。本书第8版继续保持了前七版的特色,采用传统方法与面向对象方法并重的方式,全面系统地介绍软件工程的理论与实践,并新增了第10章(第一部分的关键内容)和第18章(新兴技术)两章内容。全书分为两大部分,第一部分介绍软件工程概念,第二部分着重软件工程技术,教师可根据不同教学目的从任一部分开始讲授课程。本书是高等院校软件工程课程的理想教材,同时也是专业软件开发人员和管理者的理想参考书。

前言

目录

ObjectOriented and Classical Software Engineering,8E
出版者的话
译者序
前言
第1章软件工程的范畴
11历史方面
12经济方面
13维护性方面
131维护的传统和现代观点
132交付后维护的重要性
14需求、分析和设计方面
15小组编程方面
16为什么没有计划阶段
17为什么没有测试阶段
18为什么没有文档阶段
19面向对象范型
110正确看待面向对象范型
111术语
112道德问题
本章回顾
进一步阅读指导
习题
第一部分软件工程概念
第2章软件生命周期模型
21理论上的软件开发
22Winburg小型实例研究
23Winburg小型实例研究心得
24野鸭拖拉机公司小型实例研究
25迭代和递增
26修订的Winburg小型实例研究
27迭代和递增的风险和其他方面
28迭代和递增的控制
29其他生命周期模型
291编码-修补生命周期模型
292瀑布生命周期模型
293快速原型开发生命周期模型
294开源生命周期模型
295敏捷过程
296同步-稳定生命周期模型
297螺旋生命周期模型
210生命周期模型的比较
本章回顾
进一步阅读指导
习题
第3章软件过程
31统一过程
32面向对象范型内的迭代和递增
33需求流
34分析流
35设计流
36实现流
37测试流
371需求制品
372分析制品
373设计制品
374实现制品
38交付后维护
39退役
310统一过程的各阶段
3101开始阶段
3102细化阶段
3103构建阶段
3104转换阶段
311一维与二维生命周期模型
312改进软件过程
313能力成熟度模型
314软件过程改进方面的其他努力
315软件过程改进的代价和收益
本章回顾
进一步阅读指导
习题
第4章软件小组
41小组组织
42民主小组方法
43传统的主程序员小组方法
431《纽约时报》项目
432传统的主程序员小组方法的不实用性
44主程序员小组和民主小组之外的编程小组
45同步-稳定小组
46敏捷过程小组
47开源编程小组
48人员能力成熟度模型
49选择合适的小组组织
本章回顾
进一步阅读指导
习题
第5章软件工程工具
51逐步求精法
52成本-效益分析法
53分治
54关注分离
55软件度量
56CASE
57CASE的分类
58CASE的范围
59软件版本
591修订版
592变种版
510配置控制
5101交付后维护期间的配置控制
5102基准
5103产品开发过程中的配置控制
511建造工具
512使用CASE技术提高生产力
本章回顾
进一步阅读指导
习题
第6章测试
61质量问题
611软件质量保证
612管理独立
62非执行测试
621走查
622管理走查
623审查
624审查与走查的对比
625评审的优缺点
626审查的度量
63执行测试
64应该测试什么
641实用性
642可靠性
643健壮性
644性能
645正确性
65测试与正确性证明
651正确性证明的例子
652正确性证明小型实例研究
653正确性证明和软件工程
66谁应当完成执行测试
67测试什么时候停止
本章回顾
进一步阅读指导
习题
第7章从模块到对象
71什么是模块
72内聚
721偶然性内聚
722逻辑性内聚
723时间性内聚
724过程性内聚
725通信性内聚
726功能性内聚
727信息性内聚
728内聚示例
73耦合
731内容耦合
732共用耦合
733控制耦合
734印记耦合
735数据耦合
736耦合示例
737耦合的重要性
74数据封装
741数据封装和产品开发
742数据封装和产品维护
75抽象数据类型
76信息隐藏
77对象
78继承、多态和动态绑定
79面向对象范型
本章回顾
进一步阅读指导
习题
第8章可重用性和可移植性
81重用的概念
82重用的障碍
83重用实例研究
831Raytheon导弹系统部
832欧洲航天局
84对象和重用
85设计和实现期间的重用
851设计重用
852应用框架
853设计模式
854软件体系结构
855基于组件的软件工程
86其他设计模式
861FLIC小型实例研究
862适配器设计模式
863桥设计模式
864迭代器设计模式
865抽象工厂设计模式
87设计模式的种类
88设计模式的优缺点
89重用及互联网
810重用和交付后维护
811可移植性
8111硬件的不兼容性
8112操作系统的不兼容性
8113数值计算软件的不兼容性
8114编译器的不兼容性
812为什么需要可移植性
813实现可移植性的技术
8131可移植的系统软件
8132可移植的应用软件
8133可移植的数据
8134模型驱动结构
本章回顾
进一步阅读指导
习题
第9章计划和估算
91计划和软件过程
92周期和成本估算
921产品规模的度量
922成本估算技术
923中间COCOMO
924COCOMO II
925跟踪周期和成本估算
93软件项目管理计划的组成
94软件项目管理计划框架
95IEEE 软件项目管理计划
96计划测试
97计划面向对象的项目
98培训需求
99文档标准
910用于计划和估算的CASE工具
911测试软件项目管理计划
本章回顾
进一步阅读指导
习题
第二部分软件生命周期的工作流
第10章第一部分的关键内容
101软件开发:理论与实践
102迭代和递增
103统一过程
104工作流概述
105软件小组
106成本-效益分析法
107度量
108CASE
109版本和配置
1010测试术语
1011执行测试和非执行测试
1012模块性
1013重用
1014软件项目管理计划
本章回顾
习题
第11章需求
111确定客户需要什么
112需求流概述
113理解应用域
114业务模型
1141访谈
1142其他技术
1143用例
115初始需求
116对应用域的初始理解:MSG基金实例研究
117初始业务模型:MSG基金实例研究
118初始需求:MSG基金实例研究
119继续需求流:MSG基金实例研究
1110修订需求:MSG基金实例研究
1111测试流:MSG基金实例研究
1112传统的需求阶段
1113快速原型开发
1114人的因素
1115重用快速原型
1116需求流的CASE工具
1117需求流的度量
1118需求流面临的挑战
本章回顾
进一步阅读指导
习题
第12章传统的分析
121规格说明文档
122非形式化规格说明
123结构化系统分析
124结构化系统分析:MSG基金实例研究
125其他半形式化技术
126建造实体-关系模型
127有穷状态机
128Petri网
129Z
1291Z:电梯问题实例研究
1292Z的分析
1210其他的形式化技术
1211传统分析技术的比较
1212在传统分析阶段测试
1213传统分析阶段的CASE工具
1214传统分析阶段的度量
1215软件项目管理计划:MSG基金实例研究
1216传统分析阶段面临的挑战
本章回顾
进一步阅读指导
习题
第13章面向对象分析
131分析流
132抽取实体类
133面向对象分析:电梯问题实例研究
134功能建模:电梯问题实例研究
135实体类建模:电梯问题实例研究
1351名词抽取
1352CRC卡片
136动态建模:电梯问题实例研究
137测试流:面向对象分析
138抽取边界类和控制类
139初始功能模型:MSG基金实例研究
1310初始类图:MSG基金实例研究
1311初始动态模型:MSG基金实例研究
1312修订实体类:MSG基金实例研究
1313抽取边界类:MSG基金实例研究
1314抽取控制类:MSG基金实例研究
1315用例实现:MSG基金实例研究
13151Estimate Funds Available for Week用例
13152Manage an Asset用例
13153Update Estimated Annual Operating Expenses用例
13154Produce a Report用例
1316类图递增:MSG基金实例研究
1317测试流:MSG基金实例研究
1318统一过程中的规格说明文档
1319关于参与者和用例更详细的内容
1320面向对象分析流的CASE工具
1321面向对象分析流的度量
1322面向对象分析流面临的挑战
本章回顾
进一步阅读指导
习题
第14章设计
141设计和抽象
142面向操作设计
143数据流分析
1431小型实例研究:字数统计
1432数据流分析扩展
144事务分析
145面向数据设计
146面向对象设计
147面向对象设计:电梯问题实例研究
148面向对象设计:MSG基金实例研究
149设计流
1410测试流:设计
1411测试流:MSG基金实例研究
1412详细设计的形式化技术
1413实时设计技术
1414设计的CASE工具
1415设计的度量
1416设计流面临的挑战
本章回顾
进一步阅读指导
习题
第15章实现
151编程语言的选择
152第四代语言
153良好的编程实践
1531使用一致和有意义的变量名
1532自文档代码的问题
1533使用参数
1534为增加可读性的代码编排
1535嵌套的if语句
154编码标准
155代码重用
156集成
1561自顶向下的集成
1562自底向上的集成
1563三明治集成
1564面向对象产品的集成
1565集成的管理
157实现流
158实现流:MSG基金实例研究
159测试流:实现
1510测试用例选择
15101规格说明测试与代码测试
15102规格说明测试的可行性
15103代码测试的可行性
1511黑盒单元测试技术
15111等价测试和边界值分析
15112功能测试
1512黑盒测试用例:MSG基金实例研究
1513玻璃盒单元测试技术
15131结构测试:语句、分支和路径覆盖
15132复杂性度量
1514代码走查和审查
1515单元测试技术的比较
1516净室
1517测试对象时潜在的问题
1518单元测试的管理方面
1519何时该重实现而不是调试代码制品
1520集成测试
1521产品测试
1522验收测试
1523测试流:MSG基金实例研究
1524实现的CASE工具
15241软件开发全过程的CASE工具
15242集成化开发环境
15243商业应用环境
15244公共工具基础结构
15245环境的潜在问题
1525测试流的CASE工具
1526实现流的度量
1527实现流面临的挑战
本章回顾
进一步阅读指导
习题
第16章交付后维护
161开发与维护
162为什么交付后维护是必要的
163对交付后维护程序员的要求是什么
164交付后维护小型实例研究
165交付后维护的管理
1651缺陷报告
1652批准对产品的修改
1653确保可维护性
1654迭代维护造成的问题
166面向对象软件的维护
167交付后维护技能与开发技能
168逆向工程
169交付后维护期间的测试
1610交付后维护的CASE工具
1611交付后维护的度量
1612交付后维护:MSG基金实例研究
1613交付后维护面临的挑战
本章回顾
进一步阅读指导
习题
第17章UML的进一步讨论
171UML不是一种方法
172类图
1721聚合
1722多重性
1723组合
1724泛化
1725关联
173注解
174用例图
175构造型
176交互图
177状态图
178活动图
179包
1710组件图
1711部署图
1712UML图回顾
1713UML和迭代
本章回顾
进一步阅读指导
习题
第18章新兴技术
181面向层面技术
182模型驱动技术
183基于组件技术
184面向服务技术
185面向服务技术和基于组件技术的比较
186社交计算
187Web工程
188云技术
189Web 30
1810计算机安全
1811模型检查
1812目前和未来
本章回顾
进一步阅读指导
附录
附录A学期项目:巧克力爱好者匿名
附录B软件工程资源
附录C需求流:MSG基金实例研究
附录D结构化系统分析:MSG基金实例研究
附录E分析流:MSG基金实例研究
附录F软件项目管理计划:MSG基金实例研究
附录G设计流:MSG基金实例研究
附录H实现流:MSG基金实例研究(C++版)
附录I实现流:MSG基金实例研究(Java版)
附录J测试流:MSG基金实例研究

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个