书籍详情
软件工程(原书第6版)
作者:(英)Ian Sommerville著;程成,陈霞等译
出版社:机械工业出版社
出版时间:2005-09-01
ISBN:9787111111184
定价:¥49.00
购买这本书可以去
内容简介
本书是英国著名软件工程学家IanSommerville系统介绍软件工程理论的力作,以要求极高的一类系统为实例,精辟透彻地阐述了软件工程的内涵。作者在第2篇中详细阐述了软件系统需求的内容、过程和描述方法,尤其是对形式化描述有详细的介绍和分析;在第3篇中针对主要类型系统的设计问题和重要的设计方法展开介绍,主要介绍了分布式系统设计、实时系统设计和用户界面设计,同时从体系结构、面向对象以及复用等视角对设计过程进行了精辟阐述;在第4篇和第5篇中,主要以实时系统为对象,介绍了系统的一系列重要特性及其度量方法,以及生命周期中包含的软件工程过程(如验证和测试等)内容和方法,内容翔实而透彻。在第7篇中作者对遗留系统处理和软件进化理论给出了高屋建瓴的分析,对软件改造的实践者来说无疑是一盏指路明灯;除此之外,作者还在第1篇和第6篇中对软件工程过程的诸多管理方面(如人员管理、项目管理、过程管理、成本估计和质量管理等重要方面)有极为详细的介绍和分析。本书是软件工程学界的经典,被众多世界知名大学所采用,既有理论高度又有具体操作方法,对于软件工程的管理者和参与者来说都是不能不看的好教材。该书英文原版设有专门的网站(www.software-engin.com),提供了对该书相关资料的链接,以帮助那些将该书用于教学和自修的人们。主要包括教师参考手册、幻灯片、书中程序实例源代码以及CASE和形式化描述的额外材料。试读:1-4章(ZIP)
作者简介
IanSommerville英国著名软件工程专家,兰卡斯特大学软件工程学教授。IanSommerville教授在软件工程的教学和科研方面有20多年的经验。目前他的研究兴趣包括计算机系统工程、需求工程、系统可靠性以及软件进化。
目录
第1篇概览
第1章概述
1.l软件工程中的常见问题
1.1.l什么是软件
1.1.2什么是软件工程
1.l.3软件工程和计算机科学有何区别
1.l.4软件工程和系统工程有何区别
1.1.5什么是软件过程
1.1.6什么是软件过程模型
1.1.7什么是软件工程的成本
1.1.8什么是软件工程方法
1.1.9什么是CASE
1.1.10什么是优良软件的属性
1.1.11软件工程所面临的主要问题是什么
1.2职业和道德上的责任
要点
进一步的阅读资料
练习
第2章基于计算机的系统工程
2.l系统总体特性
2.2系统及其环境
2.3系统建模
2.4系统工程过程
2.4.l系统需求定义
2.4.2系统设计
2.4.3子系统开发
2.4.4系统整合
2.4.5系统安装
2.4.6系统操作
2.4.7系统进化
2.4.8系统退役
2.5系统获得
要点
进一步阅读资料
练习
第3章软件过程
3.l软件过程模型
3.1.l"瀑布"模型
3.l.2进化式开发
3.1.3形式化系统开发
3.1.4面向复用的开发
3.2过程反复
3.2.l增量式开发
3.2.2螺旋式开发
3.3软件描述
3.4软件设计和实现
3.4.l设计方法
3.4.2程序设计和调试
3.5软件有效性验证
3.6软件进化
3.7自动化的过程支持
要点
进一步的阅读资料
练习
第4章项目管理
4.l管理活动
4.2项目规划
4.2.l项目计划
4.2.2项目里程碑和可交付的文档
4.3项目进度
4.4风险管理
4.4.l风险识别
4.4.2风险分析
4.4.3风险规划
4.4.4风险监控
要点
进一步的阅读资料
练习
第2篇需求
第5章软件需求
5.l功能需求和非功能需求
5.1.l功能需求
5.l.2非功能需求
5.1.3领域需求
5.2用户需求
5.3系统需求
5.3.l结构化语言描述
5.3.2使用PDL的需求描述
5.3.3接口描述
5.4软件需求文档
要点
进一步的阅读资料
练习
第6章需求工程过程
6.l可行性研究
6.2需求导出和分析
6.2.l面向视点的导出
6.2.2场景
6.2.3深入实际
6.3需求有效性验证
6.4需求管理
6.4.l持久的和易变的需求
6.4.2需求管理规划
6.4.3需求变更管理
要点
进一步的阅读资料
练习
第7章系统模型
7.l上下文模型
7.2行为模型
7.2.l数据流模型
7.2.2状态机模型
7.3数据模型
7.4对象模型
7.4.l继承模型
7.4.2对象聚合
7.4.3对象行为建模
7.5CASE工作平台
要点
进一步的阅读资料
练习
第8章软件原型系统开发
8.l软件过程中的原型开发
8.1.l进化式原型开发
8.1.2抛弃式原型开发
8.2快速原型技术
8.2.l使用动态高级语言的开发
8.2.2数据库程序设计
8.2.3组件和应用集成
8.3用户界面原型开发
要点
进一步的阅读资料
练习
第9章形式化描述
9.l软件过程中的形式化描述
9.2接口描述
9.3行为描述
要点
进一步的阅读资料
练习
第3篇设计
第10章体系结构的设计
10.1系统构成
10.1.l容器模型
10.1.2客户机/服务器模型
10.l.3抽象机模型
10.2控制模型
10.2.l集中式控制
10.2.2事件驱动系统
10.3模块化分解
10.3.l对象模型
10.3.2数据流模型
10.4领域相关的体系结构
10.4.l类模型
10.4.2参考体系结构
要点
进一步的阅读资料
练习
第11章分布式系统体系结构
11.l多处理器体系结构
11.2客户机/服务器体系结构
11.3分布式对象体系结构
11.4CORBA
要点
进一步的阅读资料
练习
第12章面向对象的设计
12.l对象和对象类
12.2面向对象设计过程
12.2.l系统上下文和使用模型
12.2.2体系结构的设计
12.2.3对象识别
12.2.4设计模型
12.2.5对象接口描述
12.3设计进化
要点
进一步的阅读资料
练习
第13章实时软件的设计
13.l系统设计
13.1.l实时系统建模
13.1.2实时程序设计
13.2实时执行者
13.3监控系统
13.4数据采集系统
要点
进一步的阅读资料
练习
第14章使用复用的设计
14.l以组件为基础的开发
14.1.l应用框架
14.1.2商业现成产品的复用
14.1.3面向复用的组件开发
14.2应用系列
14.3设计模式
要点
进一步的阅读资料
练习
第15章用户界面设计
15.l用户界面设计原则
15.2用户交互
15.3信息表示
15.4用户支持
15.4.l错误消息
15.4.2帮助系统的设计
15.4.3用户文档
15.5界面评价
要点
进一步的阅读资料
练习
第4篇要求极高的系统
第16章可依赖性
16.l要求极高的系统
16.2可用性和可靠性
16.3安全性
16.4保密性
要点
进一步的阅读资料
练习
第17章要求极高的系统的描述
17.l软件可靠性描述
17.1.l可靠性度量
17.1.2非功能性的可靠性需求
17.2安全性描述
17.2.l危险和风险分析
17.2.2缺陷树分析
17.2.3风险评估
17.2.4降低风险
17.3保密性描述
要点
进一步的阅读资料
练习
第18章要求极高的系统的开发
18.l缺陷最小化
18.1.l错误避免
18.1.2信息隐藏
18.1.3可靠的软件过程
18.2容错
18.2.1异常处理
18.2.2缺陷检测
18.2.3损害评估
18.2.4缺陷恢复
18.3容错体系结构
18.4安全系统设计
要点
进一步的阅读资料
练习
第5篇检验和有效性验证方法
第19章检验和有效性验证
19.l检验和有效性验证规划
19.2软件检查
19.3自动静态分析
19.4净室软件开发方法
要点
进一步的阅读资料
练习
第20章软件测试
20.l缺陷测试
20.1.l黑盒测试
20.1.2等价划分
20.1.3结构化测试
20.1.4路径测试
20.2集成测试
20.2.l自顶向下的和自底向上的测试
20.2.2接口测试
20.2.3强度测试
20.3面向对象的测试
20.3.l对象类测试
20.3.2对象集成
20.4测试工作平台
要点
进一步的阅读资料
练习
第21章要求极高的系统的验证
21.l形式化方法和要求极高的系统
21.2可靠性验证
21.2.l操作简档
21.2.2可靠性预测
21.3安全性保证
21.3.l检验和有效性验证
21.3.2安全性论证
21.3.3过程保证
21.3.4运行时安全检查
21.4保密性评估
要点
进一步的阅读资料
练习
第6篇管理
第22章人员管理
22.l思维的局限性
22.1.l记忆结构
22.1.2问题的解决
22.1.3工作动力
22.2小组协作
22.2.l小组的构成
22.2.2小组的凝聚力
22.2.3小组的沟通
22.2.4小组的结构
22.3选择和留住职员
22.4人员能力成熟度模型
要点
进一步的阅读资料
练习
第23章软件成本估算
23.l生产率
23.2估算技术
23.3算法成本建模
23.3.1COCOMO模型
23.3.2在项目规划中的算法成本模型
23.4项目的工期和人员配备要点
进一步的阅读资料
练习
第24章质量管理
24.l质量保证和质量标准
24.1.l文档编写标准
24.1.2过程和产品质量
24.2质量规划
24.3质量控制
24.4软件测量和度量
24.4.l测量过程
24.4.2产品度量
24.4.3测量的分析
要点
进一步的阅读资料
练习
第25章过程改善
25.l过程和产品质量
25.2过程分析和建模
25.3过程度量
25.4SEI的过程能力成熟度模型
25.5过程分类
要点
进一步的阅读资料
练习
第7篇软件进化
第26章遗留系统
26.l遗留系统的结构
26.2遗留系统设计
26.3遗留系统评估
26.3.l业务价值评估
26.3.2系统质量评估
要点
进一步的阅读资料
练习
第27章软件变更
27.l程序进化的动态特性
27.2软件维护
27.2.l维护过程
27.2.2维护预测
27.3体系结构的进化
要点
进一步的阅读资料
练习
第28章软件再工程
28.l源代码转换
28.2反向工程
28.3程序结构改善
28.4程序模块化
28.5数据再工程
要点
进一步的阅读资料
练习
第29章配置管理
29.l配置管理规划
29.1.1配置项识别
29.1.2配置数据库
29.2变更管理
29.3版本和发布管理
29.3.l版本标识
29.3.2发布管理
29.4系统构建
29.5用于配置管理的CASE工具
29.5.l变更管理支持
29.5.2版本管理支持
29.5.3系统构建支持要点
进一步的阅读资料
练习
参考文献
索引
译后记
第1章概述
1.l软件工程中的常见问题
1.1.l什么是软件
1.1.2什么是软件工程
1.l.3软件工程和计算机科学有何区别
1.l.4软件工程和系统工程有何区别
1.1.5什么是软件过程
1.1.6什么是软件过程模型
1.1.7什么是软件工程的成本
1.1.8什么是软件工程方法
1.1.9什么是CASE
1.1.10什么是优良软件的属性
1.1.11软件工程所面临的主要问题是什么
1.2职业和道德上的责任
要点
进一步的阅读资料
练习
第2章基于计算机的系统工程
2.l系统总体特性
2.2系统及其环境
2.3系统建模
2.4系统工程过程
2.4.l系统需求定义
2.4.2系统设计
2.4.3子系统开发
2.4.4系统整合
2.4.5系统安装
2.4.6系统操作
2.4.7系统进化
2.4.8系统退役
2.5系统获得
要点
进一步阅读资料
练习
第3章软件过程
3.l软件过程模型
3.1.l"瀑布"模型
3.l.2进化式开发
3.1.3形式化系统开发
3.1.4面向复用的开发
3.2过程反复
3.2.l增量式开发
3.2.2螺旋式开发
3.3软件描述
3.4软件设计和实现
3.4.l设计方法
3.4.2程序设计和调试
3.5软件有效性验证
3.6软件进化
3.7自动化的过程支持
要点
进一步的阅读资料
练习
第4章项目管理
4.l管理活动
4.2项目规划
4.2.l项目计划
4.2.2项目里程碑和可交付的文档
4.3项目进度
4.4风险管理
4.4.l风险识别
4.4.2风险分析
4.4.3风险规划
4.4.4风险监控
要点
进一步的阅读资料
练习
第2篇需求
第5章软件需求
5.l功能需求和非功能需求
5.1.l功能需求
5.l.2非功能需求
5.1.3领域需求
5.2用户需求
5.3系统需求
5.3.l结构化语言描述
5.3.2使用PDL的需求描述
5.3.3接口描述
5.4软件需求文档
要点
进一步的阅读资料
练习
第6章需求工程过程
6.l可行性研究
6.2需求导出和分析
6.2.l面向视点的导出
6.2.2场景
6.2.3深入实际
6.3需求有效性验证
6.4需求管理
6.4.l持久的和易变的需求
6.4.2需求管理规划
6.4.3需求变更管理
要点
进一步的阅读资料
练习
第7章系统模型
7.l上下文模型
7.2行为模型
7.2.l数据流模型
7.2.2状态机模型
7.3数据模型
7.4对象模型
7.4.l继承模型
7.4.2对象聚合
7.4.3对象行为建模
7.5CASE工作平台
要点
进一步的阅读资料
练习
第8章软件原型系统开发
8.l软件过程中的原型开发
8.1.l进化式原型开发
8.1.2抛弃式原型开发
8.2快速原型技术
8.2.l使用动态高级语言的开发
8.2.2数据库程序设计
8.2.3组件和应用集成
8.3用户界面原型开发
要点
进一步的阅读资料
练习
第9章形式化描述
9.l软件过程中的形式化描述
9.2接口描述
9.3行为描述
要点
进一步的阅读资料
练习
第3篇设计
第10章体系结构的设计
10.1系统构成
10.1.l容器模型
10.1.2客户机/服务器模型
10.l.3抽象机模型
10.2控制模型
10.2.l集中式控制
10.2.2事件驱动系统
10.3模块化分解
10.3.l对象模型
10.3.2数据流模型
10.4领域相关的体系结构
10.4.l类模型
10.4.2参考体系结构
要点
进一步的阅读资料
练习
第11章分布式系统体系结构
11.l多处理器体系结构
11.2客户机/服务器体系结构
11.3分布式对象体系结构
11.4CORBA
要点
进一步的阅读资料
练习
第12章面向对象的设计
12.l对象和对象类
12.2面向对象设计过程
12.2.l系统上下文和使用模型
12.2.2体系结构的设计
12.2.3对象识别
12.2.4设计模型
12.2.5对象接口描述
12.3设计进化
要点
进一步的阅读资料
练习
第13章实时软件的设计
13.l系统设计
13.1.l实时系统建模
13.1.2实时程序设计
13.2实时执行者
13.3监控系统
13.4数据采集系统
要点
进一步的阅读资料
练习
第14章使用复用的设计
14.l以组件为基础的开发
14.1.l应用框架
14.1.2商业现成产品的复用
14.1.3面向复用的组件开发
14.2应用系列
14.3设计模式
要点
进一步的阅读资料
练习
第15章用户界面设计
15.l用户界面设计原则
15.2用户交互
15.3信息表示
15.4用户支持
15.4.l错误消息
15.4.2帮助系统的设计
15.4.3用户文档
15.5界面评价
要点
进一步的阅读资料
练习
第4篇要求极高的系统
第16章可依赖性
16.l要求极高的系统
16.2可用性和可靠性
16.3安全性
16.4保密性
要点
进一步的阅读资料
练习
第17章要求极高的系统的描述
17.l软件可靠性描述
17.1.l可靠性度量
17.1.2非功能性的可靠性需求
17.2安全性描述
17.2.l危险和风险分析
17.2.2缺陷树分析
17.2.3风险评估
17.2.4降低风险
17.3保密性描述
要点
进一步的阅读资料
练习
第18章要求极高的系统的开发
18.l缺陷最小化
18.1.l错误避免
18.1.2信息隐藏
18.1.3可靠的软件过程
18.2容错
18.2.1异常处理
18.2.2缺陷检测
18.2.3损害评估
18.2.4缺陷恢复
18.3容错体系结构
18.4安全系统设计
要点
进一步的阅读资料
练习
第5篇检验和有效性验证方法
第19章检验和有效性验证
19.l检验和有效性验证规划
19.2软件检查
19.3自动静态分析
19.4净室软件开发方法
要点
进一步的阅读资料
练习
第20章软件测试
20.l缺陷测试
20.1.l黑盒测试
20.1.2等价划分
20.1.3结构化测试
20.1.4路径测试
20.2集成测试
20.2.l自顶向下的和自底向上的测试
20.2.2接口测试
20.2.3强度测试
20.3面向对象的测试
20.3.l对象类测试
20.3.2对象集成
20.4测试工作平台
要点
进一步的阅读资料
练习
第21章要求极高的系统的验证
21.l形式化方法和要求极高的系统
21.2可靠性验证
21.2.l操作简档
21.2.2可靠性预测
21.3安全性保证
21.3.l检验和有效性验证
21.3.2安全性论证
21.3.3过程保证
21.3.4运行时安全检查
21.4保密性评估
要点
进一步的阅读资料
练习
第6篇管理
第22章人员管理
22.l思维的局限性
22.1.l记忆结构
22.1.2问题的解决
22.1.3工作动力
22.2小组协作
22.2.l小组的构成
22.2.2小组的凝聚力
22.2.3小组的沟通
22.2.4小组的结构
22.3选择和留住职员
22.4人员能力成熟度模型
要点
进一步的阅读资料
练习
第23章软件成本估算
23.l生产率
23.2估算技术
23.3算法成本建模
23.3.1COCOMO模型
23.3.2在项目规划中的算法成本模型
23.4项目的工期和人员配备要点
进一步的阅读资料
练习
第24章质量管理
24.l质量保证和质量标准
24.1.l文档编写标准
24.1.2过程和产品质量
24.2质量规划
24.3质量控制
24.4软件测量和度量
24.4.l测量过程
24.4.2产品度量
24.4.3测量的分析
要点
进一步的阅读资料
练习
第25章过程改善
25.l过程和产品质量
25.2过程分析和建模
25.3过程度量
25.4SEI的过程能力成熟度模型
25.5过程分类
要点
进一步的阅读资料
练习
第7篇软件进化
第26章遗留系统
26.l遗留系统的结构
26.2遗留系统设计
26.3遗留系统评估
26.3.l业务价值评估
26.3.2系统质量评估
要点
进一步的阅读资料
练习
第27章软件变更
27.l程序进化的动态特性
27.2软件维护
27.2.l维护过程
27.2.2维护预测
27.3体系结构的进化
要点
进一步的阅读资料
练习
第28章软件再工程
28.l源代码转换
28.2反向工程
28.3程序结构改善
28.4程序模块化
28.5数据再工程
要点
进一步的阅读资料
练习
第29章配置管理
29.l配置管理规划
29.1.1配置项识别
29.1.2配置数据库
29.2变更管理
29.3版本和发布管理
29.3.l版本标识
29.3.2发布管理
29.4系统构建
29.5用于配置管理的CASE工具
29.5.l变更管理支持
29.5.2版本管理支持
29.5.3系统构建支持要点
进一步的阅读资料
练习
参考文献
索引
译后记
猜您喜欢