书籍详情
软件工程导论(第2版)
作者:(印)摩尔(Mall,R) 著;马振晗,胡晓 译
出版社:清华大学出版社
出版时间:2008-09-01
ISBN:9787302181934
定价:¥38.00
购买这本书可以去
内容简介
本书是为计算机专业的本科生编写的软件工程教科书。它在一个软件工程学总体的框架下来一一介绍软件工程所涉及的重要的话题,章节的编排遵循一个软件产品的生命周期中所要进行的所有活动的顺序。首先概述了软件工程的概念,包括一些重要的生命周期模型以及软件项目管理的技术和概念。接下来详述了软件项目的需求分析、设计、建模及编码和测试等内容。最后描述了软件的质量管理、维护、复用等问题;同时也解释了近年来发展起来的CASE工具的基本概念。此外,每章都提供了大量的练习来帮助学生了解对本章内容的掌握程度。本书不仅适合计算机专业的本科生作为教材使用,同时也适合从事计算机软件业的广大工程技术人员。
作者简介
Rajib Mall博士,克勒格布尔印度科技学院计算机科学与工程系副教授。在开发面向产业的软件项目上有着丰富的实践经验。RajibMall博士在克勒格布尔印度科技学院已执教9年,曾指导过博士论文数篇。
目录
第1章 概述
1.1 软件工程学科--发展和影响
1.1.1工程学科艺术的发展
1.1.2软件危机的一个解决方案
1.2 程序与软件产品
1.3 为什么研究软件工程
1.4 软件工程的出现
1.4.1早期计算机编程
1.4.2高级语言编程
1.4.3基于流程控制的设计
1.4.4面向数据结构的设计
1.4.5面向数据流的设计
1.4.6面向对象的设计
1.4.7其他发展
1.5 软件开发实践中的重要变化
1.6 计算机系统工程
1.7 小结
1.8 练习
第2章 软件生命周期模型
2.1 为什么使用生命周期
2.1.1为什么要记录一个生命周期模型
2.1.2阶段出入标准
2.2 经典瀑布模型
2.2.1可行性研究
2.2.2需求分析和说明
2.2.3设计
2.2.4编码和单元测试
2.2.5集成和系统测试
2.2.6维护
2.3 迭代瀑布模型
2.4 原型模型
2.5 进化模型
2.6 螺旋模型
2.7 不同生命周期模型的比较
2.8 小结
2.9 练习
第3章 软件项目管理
3.1 软件项目经理的职责
3.1.1软件项目经理的工作职责
3.1.2软件项目经理所必需的技能
3.2 项目规划
3.3项目规模估算的度量
3.3.1代码行(LOC)
3.3.2功能点度量
3.4 项目估算方法
3.4.1经验估算法
3.4.2启发式方法
3.4.3分析估算法
3.5 经验估算法
3.5.1专家判断法
3.5.2Delphi成本估算
3.6 COCOMO--一种启发式估算法
3.6.1基本COCOMO模型
3.6.2中等COCOMO模型
3.6.3完整COCOMO模型
3.7 HALSTEAD的软件科学--一种分析技术
3.7.1标准C语言的运算符和操作数
3.7.2长度和词汇
3.7.3程序量
3.7.4潜在最小量
3.7.5I作量和时间
3.7.6长度估算
3.8 人员配置级别估算
3.8.1Norden的工作
3.8.2Putnam的工作
3.8.3时间表改变对于成本的影响
3.8.4Jensen模型
3.9 调度
3.9.1工作分解结构
3.9.2活动网络和关键路径方法
3.9.3Gantt图
3.9.4PERT图
3.9.5项目监测和控制
3.10 组织和团队结构
3.10.1组织结构
3.10.2团队结构
3.11 人员配置
3.12 风险管理
3.12.1风险识别
3.12.2风险评估
3.12.3风险遏制
3.13 软件组态管理
3.13.1软件组态管理的必要性
3.13.2组态管理活动
3.13.3源代码控制系统(SCCS)和RCS
3.14 杂项计划
3.15 小结
3.16 练习
第4章 需求分析和规约
4.1 需求收集和分析
4.2 软件需求规约(SRS)
4.2.1SRS文档内容
4.2.2功能需求
4.2.3如何识别功能需求
4.2.4如何记录功能需求
4.2.5可追踪性
4.2.6好的SRS文档的特征
4.2.7差的SRS文档的例子
4.2.8SRS文档的组织
4.2.9表示复杂逻辑的技术
4.3 形式系统开发技术
4.3.1什么是形式技术
4.3.2模型与面向属性的方法
4.33操作语义
4.3.4形式方法的优点和局限
4.4 公理规约
4.5 代数规约
4.5.1辅助函数
4.5.2结构规约
4.5.3代数规约的优劣
4.6 可执行规约和4GL
4.7 小结
4.8 练习
第5章 软件设计
5.1 什么是一个优秀的软件设计
5.2 内聚和耦合
5.2.1内聚力的分类
5.2.2耦合的分类
5.3 整齐排列
5.4 软件设计的方法
5.4.1面向功能的设计
5.4.2面向对象的设计
5.5 面向对象的设计与面向功能的设计
5.6 小结
5.7 练习
第6章 面向功能的软件设计
6.1 SA/SD方法总览
6.2 结构分析
6.3 数据流程图(I)FD)
6.3.1用于构建DFD的原始符号
6.3.2与设计DFD相关的一些重要概念
6.3.3开发一个系统的DFD模型
6.3.4DFD模型的缺点
6.4 将DFD技术扩展到实时系统
6.5 结构设计
6.5.1流程图与结构图
6.5.2将一个DFD模型转换为一个结构图
6.6 细节设计
6.7 设计审查
6.8 小结
6.9 练习
第7章 使用UML的对象建模
7.1 面向对象的概念总览
7.1.1基本机制
7.1.2关键概念
7.1.3相关的技术名词
……
第8章 面向对象的软件开发
第9章 用户界面设计
第10章 编码和测试
第11章 软件可靠性和质量管理
第12章 计算机辅助软件工程
第13章 软件维护
第14章 软件复用
1.1 软件工程学科--发展和影响
1.1.1工程学科艺术的发展
1.1.2软件危机的一个解决方案
1.2 程序与软件产品
1.3 为什么研究软件工程
1.4 软件工程的出现
1.4.1早期计算机编程
1.4.2高级语言编程
1.4.3基于流程控制的设计
1.4.4面向数据结构的设计
1.4.5面向数据流的设计
1.4.6面向对象的设计
1.4.7其他发展
1.5 软件开发实践中的重要变化
1.6 计算机系统工程
1.7 小结
1.8 练习
第2章 软件生命周期模型
2.1 为什么使用生命周期
2.1.1为什么要记录一个生命周期模型
2.1.2阶段出入标准
2.2 经典瀑布模型
2.2.1可行性研究
2.2.2需求分析和说明
2.2.3设计
2.2.4编码和单元测试
2.2.5集成和系统测试
2.2.6维护
2.3 迭代瀑布模型
2.4 原型模型
2.5 进化模型
2.6 螺旋模型
2.7 不同生命周期模型的比较
2.8 小结
2.9 练习
第3章 软件项目管理
3.1 软件项目经理的职责
3.1.1软件项目经理的工作职责
3.1.2软件项目经理所必需的技能
3.2 项目规划
3.3项目规模估算的度量
3.3.1代码行(LOC)
3.3.2功能点度量
3.4 项目估算方法
3.4.1经验估算法
3.4.2启发式方法
3.4.3分析估算法
3.5 经验估算法
3.5.1专家判断法
3.5.2Delphi成本估算
3.6 COCOMO--一种启发式估算法
3.6.1基本COCOMO模型
3.6.2中等COCOMO模型
3.6.3完整COCOMO模型
3.7 HALSTEAD的软件科学--一种分析技术
3.7.1标准C语言的运算符和操作数
3.7.2长度和词汇
3.7.3程序量
3.7.4潜在最小量
3.7.5I作量和时间
3.7.6长度估算
3.8 人员配置级别估算
3.8.1Norden的工作
3.8.2Putnam的工作
3.8.3时间表改变对于成本的影响
3.8.4Jensen模型
3.9 调度
3.9.1工作分解结构
3.9.2活动网络和关键路径方法
3.9.3Gantt图
3.9.4PERT图
3.9.5项目监测和控制
3.10 组织和团队结构
3.10.1组织结构
3.10.2团队结构
3.11 人员配置
3.12 风险管理
3.12.1风险识别
3.12.2风险评估
3.12.3风险遏制
3.13 软件组态管理
3.13.1软件组态管理的必要性
3.13.2组态管理活动
3.13.3源代码控制系统(SCCS)和RCS
3.14 杂项计划
3.15 小结
3.16 练习
第4章 需求分析和规约
4.1 需求收集和分析
4.2 软件需求规约(SRS)
4.2.1SRS文档内容
4.2.2功能需求
4.2.3如何识别功能需求
4.2.4如何记录功能需求
4.2.5可追踪性
4.2.6好的SRS文档的特征
4.2.7差的SRS文档的例子
4.2.8SRS文档的组织
4.2.9表示复杂逻辑的技术
4.3 形式系统开发技术
4.3.1什么是形式技术
4.3.2模型与面向属性的方法
4.33操作语义
4.3.4形式方法的优点和局限
4.4 公理规约
4.5 代数规约
4.5.1辅助函数
4.5.2结构规约
4.5.3代数规约的优劣
4.6 可执行规约和4GL
4.7 小结
4.8 练习
第5章 软件设计
5.1 什么是一个优秀的软件设计
5.2 内聚和耦合
5.2.1内聚力的分类
5.2.2耦合的分类
5.3 整齐排列
5.4 软件设计的方法
5.4.1面向功能的设计
5.4.2面向对象的设计
5.5 面向对象的设计与面向功能的设计
5.6 小结
5.7 练习
第6章 面向功能的软件设计
6.1 SA/SD方法总览
6.2 结构分析
6.3 数据流程图(I)FD)
6.3.1用于构建DFD的原始符号
6.3.2与设计DFD相关的一些重要概念
6.3.3开发一个系统的DFD模型
6.3.4DFD模型的缺点
6.4 将DFD技术扩展到实时系统
6.5 结构设计
6.5.1流程图与结构图
6.5.2将一个DFD模型转换为一个结构图
6.6 细节设计
6.7 设计审查
6.8 小结
6.9 练习
第7章 使用UML的对象建模
7.1 面向对象的概念总览
7.1.1基本机制
7.1.2关键概念
7.1.3相关的技术名词
……
第8章 面向对象的软件开发
第9章 用户界面设计
第10章 编码和测试
第11章 软件可靠性和质量管理
第12章 计算机辅助软件工程
第13章 软件维护
第14章 软件复用
猜您喜欢