书籍详情
软件工程与开发技术
作者:张凯 编著
出版社:清华大学出版社
出版时间:2012-01-01
ISBN:9787302268741
定价:¥38.00
购买这本书可以去
内容简介
《软件工程与开发技术》主要介绍与软件工程相关的基本理论概念、软件工程及软件开发方法、软件工程的设计与开发、软件质量保证、软件工程师的指南及实际案例分析。本书的目的并不是只追求软件工程理论的前沿,而是培养能胜任软件开发和应用工作的实用型、复合型人才,是一本应用性书籍。《软件工程与开发技术》不但可以作为大中专院校软件工程教材,也可作为广大工程师的参考书。
作者简介
张凯,计算机工学博士。在留学和工作期间,具有中国、日本、美国从事软件开发和应用的丰富经验,先后担任软件开发项目经理、美跨国公司驻亚太地区技术主管经理和大学教授等职务。最佳“配置集成”的模拟解析软件算法的开发研究等多篇学术论文发表在国际一级刊物及著名国际会议上。不仅参与了多项工程管理,还参与了库管理、物流管理等大型软件项目的开发与管理,并具有通过网络对跨国多家分公司的ERP管理系统的导入和运作的工作经验等。回国任教后,已出版了软件工程所急需的“软件工程规范化设计”等系列教材,并有对本科与研究生教学与指导的丰富经验。
目录
第一篇 软件与软件工程
第1章 软件31.1 软件的发展
1.2 软件的定义
1.2.1 软件的含义
1.2.2 软件的种类
1.3 软件危机
习题
第2章 软件工程
2.1 软件工程的定义
2.2 软件工程开发模式
2.2.1 瀑布模型
2.2.2 原型模型
2.2.3 螺旋模型
2.2.4 四代技术
2.2.5 面向对象生存期模型
2.2.6 过程开发模型
习题
第二篇 软件开发方法
第3章 结构化设计方法
3.1 结构化设计
3.1.1 概要
3.1.2 设计图的说明
3.1.3 设计步骤
3.2 数据结构主导设计法
3.3 系统的层次分割法
3.4 top-down设计法
习题
第4章 面向对象的开发方法
4.1 传统软件开发方法存在的问题
4.2 面向对象的主要概念
4.3 面向对象的特征
4.4 面向对象的要素
4.5 面向对象的开发方法
4.6 面向对象开发方法的基本特征
4.7 面向对象的模型
4.8 面向对象的分析
4.8.1 建立对象模型
4.8.2 建立动态模型
4.8.3 建立功能模型
4.9 面向对象的设计与实现
习题
第三篇 软件工程的设计与实践
第5章 制订计划和管理595.1 软件开发的成功路程
5.1.1 追求现代的信息处理技术人员
5.1.2 在软件开发实践中总结出失败与原因
5.1.3 软件开发成功之路
5.2 软件开发项目
5.2.1 从5w2h考虑项目
5.2.2 作成“项目计划书”
5.2.3 发挥领导作用
5.2.4 选择适当的处理模型
5.2.5 通过项目应注意的事项
5.3 构建及运转一支高效善于沟通的团队
5.3.1 构建项目团队
5.3.2 强化沟通
5.3.3 有效的会议
5.3.4 根据软件开发规模来决定责任
5.4 构筑并维持和客户间及各子团队间的协调体制
5.4.1 客户及开发方考虑所存在的“鸿沟”
5.4.2 使客户认识到自己的作用
5.4.3 不断修正的体制和窗口的一体化
5.4.4 其他子团队也是“客户”
5.4.5 兼任项目时应注意的事项
5.4.6 把握好客户同事之间的力度关系
5.4.7 建立遵守现实妥当的计划
习题
第6章 需求分析及文档化--系统规范设计的关键点
6.1 需求分析的重要性
6.1.1 需求分析
6.1.2 需求分析的问题点
6.1.3 需求分析的考虑方法
6.2 需求分析的概要
6.2.1 需求分析的对象系统
6.2.2 需求分析的关系者
6.2.3 需求分析的工作工程
6.2.4 需求分析的文档
6.3 需求分析工作的步骤
6.3.1 需求分析工程
6.3.2 需求规格化工程
6.3.3 项目计划工程
6.4 需求分析的技术、工具
6.4.1 需求分析工程的技术和工具
6.4.2 需求文档化工程的技术和工具
习题
第7章 从需求到设计
7.1 需求分析工程的进行方法
7.2 顺利且有效进行需求工程的注意点
7.3 外部设计
7.4 内部设计
7.4.1 内部设计工作的实行步骤
7.4.2 模块化
7.4.3 数据的物理设计
7.4.4 性能/容量的分析
7.5 高效推进设计工程的注意点
7.5.1 防止错误进入设计
7.5.2 易变更、易维护的设计
7.5.3 不要急于编程
7.5.4 设计工程不只包括业务设计
7.5.5 通过文档上的意见一致来实现客户的满意
7.5.6 管理文档的变更需求
7.5.7 变更管理的对应点
7.6 开发与测试工程相连
7.6.1 阶段性工作结束时计划的修正
7.6.2 开发、测试计划的作成
习题
第8章 编程工程
8.1 编程工程
8.2 标准化及共享化阶段
8.2.1 制定标准
8.2.2 准备知识的公共环境
8.2.3 高效利用综合开发环境
8.2.4 注意开发环境与实际环境的差异
8.3 程序详细设计可使内部设计书更加细化
8.4 编程的要点
8.4.1 编程的技术面
8.4.2 编码的管理方面
8.5 单元测试解决模块内部问题
8.6 准备实际运行
8.6.1 导入支援工具
8.6.2 文档作成
8.6.3 运行支援工具
习题
第9章 从测试到运行
9.1 软件的质量和测试的含义
9.2 测试计划和设计
9.2.1 制订测试计划和设计
9.2.2 测试流程和测试数据
9.2.3 理解系统的错误和故障所带来的影响
9.2.4 白盒测试与黑盒测试
9.2.5 开发环境和测试环境
9.2.6 确保必要的测试时间
9.2.7 回归测试计划
9.2.8 测试系统接口
9.3 实施测试
9.3.1 自顶向下测试与自底向上测试
9.3.2 活用各种测试工具
9.3.3 意识风险
9.3.4 在测试中发现错误并修正
9.3.5 对不再出现问题的对策
9.3.6 多个版本的管理
9.3.7 防止正式运行时的问题
9.3.8 提高测试工程的效率
9.4 从运行测试到运转
9.4.1 以系统使用人员为主体的运行测试
9.4.2 用运行测试来进行业务的测试
9.4.3 正式运行
9.4.4 测试设计、实施上的注意点
9.5 系统的导入
9.6 正式运转
习题
第10章 客户的交货和验收/系统移交运行/维护团队
10.1 验证系统
10.1.1 交货前所需做的准备
10.1.2 理解客户的验收工作
10.1.3 验收结果的反馈
10.2 系统的交货日与运行日
10.2.1 理解交货日和运行日的关系
10.2.2 在系统维护阶段的合同
10.2.3 发现错误时的考虑方法和维护合同
10.2.4 系统需追加的性能、功能
10.3 向运转团队移交系统
10.3.1 开始系统运行时的必要准备
10.3.2 向运行团队移交手册
10.3.3 软件工程师所起的三个作用
第四篇 软件质量与质量保证
第11章 质量管理
11.1 软件产品的质量
11.2 项目质量管理的框架
11.3 质量保证形式
11.4 质量保证的处理过程
11.5 从cmm到cmmi
习题
第12章 设计文档
12.1 文档的重要性
12.2 文档的种类
12.2.1 按使用目的对文档进行分类
12.2.2 各种文档的完成时期
12.3 文档的完成时期和其内容
12.3.1 针对客户的文档
12.3.2 针对开发人员的文档
12.3.3 针对维护人员的文档
12.4 文档的质量管理
12.4.1 对记载内容进行的验证
12.4.2 维护管理法
12.4.3 文档支援工具
习题
第13章 设计评审
13.1 设计评审的重要性
13.2 设计评审的内容和实施方法
13.2.1 设计评审的内容
13.2.2 软件开发工程和产品
13.2.3 设计评审的管理体制和管理方法
13.2.4 设计评审的标准化
13.2.5 设计评审的实施方法
13.3 设计评审的文档
13.3.1 设计评审管理用文档
13.3.2 检查报表
13.4 设计评审实施上的注意点
习题
第五篇 软件工程师指南
第14章 软件工程师的全体工作概述
14.1 系统开发方法
14.2 调查客户的现状,理解需求
14.2.1 理解客户的要求
14.2.2 分析现状
14.3 概要的提案
14.3.1 本书所涉及的系统
14.3.2 系统的费用差
14.3.3 提案的范围
14.4 系统构筑和软件工程师的作用
14.4.1 从概要设计到详细设计
14.4.2 软件工程师与各专门技术人员的合作
14.4.3 软件工程师的作用--管理系统开发项目的全体
14.5 交货及交货后的维护
14.5.1 从开发结束到向客户交货的流程
14.5.2 验收后软件工程师的可能工作
习题
第15章 软件工程师的演讲技巧
15.1 演讲的必要性
15.1.1 在演讲中加深理解
15.1.2 演讲所能提供给客户的信息
15.1.3 准备有效的演讲
15.2 实际演讲
15.2.1 演讲内容
15.2.2 有效使用图像信息来进行演讲
15.3 接受反馈意见
15.3.1 在各阶段演讲时所要确认的事项
15.3.2 对应来自客户的需求和变更
15.3.3 最终确认
习题
第16章 作为项目经理的软件工程师
16.1 计划管理的方法
16.1.1 将项目全体列入一张表中
16.1.2 设想最好、典型及最坏事例的情况
16.2 系统开发团队中各成员的作用
16.2.1 软件工程师的责任范围和作用
16.2.2 技术工程师的种类和其作用
16.2.3 程序员应起的作用
16.3 系统设计中的必要考虑方法
16.4 考虑用户外部接口的界面设计
16.5 开发系统
16.5.1 撰写无遗漏的设计文档
16.5.2 将系统分割成子系统进行开发
16.6 测试系统
16.6.1 测试的时刻
16.6.2 单元测试
16.6.3 结合测试和系统测试
16.6.4 运行测试
16.6.5 制作各测试的设计文档
16.7 验证和解决系统的问题点
16.7.1 有关硬件的问题及解决方法
16.7.2 有关网络问题和解决方法
16.7.3 有关软件问题和解决方法
习题
第17章 高级软件工程师的目标
17.1 磨炼作为软件工程师的技术力
17.1.1 不能过信自己的技术
17.1.2 软件工程师继续学习的重要性
17.2 为了开发更好的系统
17.2.1 今后系统的基本点--安全
17.2.2 根据客户需求的最适设计
17.3 项目管理注意事项
17.4 客户对高级软件工程师的期待
17.5 满足客户需求的软件
17.5.1 对于客户来说的优质软件
17.5.2 软件质量与客户满意度
17.5.3 对软件需求的变化
17.6 软件开发阶段客户的满足
17.6.1 交货期和功能--优先顺序
17.6.2 没能遵守交货期的对应解决方法
17.6.3 需求分析的进展方法
17.6.4 客户的真正期待
17.7 软件使用阶段客户的满意度
17.7.1 设计与使用者所持技术相对应的功能和操作性
17.7.2 操作培训的进行方法
17.7.3 制作易使用的手册
17.8 软件维护阶段客户的满足
17.9 公司内的关键人员对高级软件工程师的期望
17.9.1 软件工程师在项目团队中所起的作用
17.9.2 遵守交货期和费用
17.9.3 应对软件开发的风险
17.9.4 意识开发的后期工程
17.10 软件开发中的作用
17.11 与客户交涉的技巧
习题
第六篇 软件工程现场实际案例分析
第18章 与客户的交涉力
第19章 维护人员的干劲/完成难以管理的任务(统率力)
第20章 解决问题同时,提出与新商机相连的方案
参考文献
第1章 软件31.1 软件的发展
1.2 软件的定义
1.2.1 软件的含义
1.2.2 软件的种类
1.3 软件危机
习题
第2章 软件工程
2.1 软件工程的定义
2.2 软件工程开发模式
2.2.1 瀑布模型
2.2.2 原型模型
2.2.3 螺旋模型
2.2.4 四代技术
2.2.5 面向对象生存期模型
2.2.6 过程开发模型
习题
第二篇 软件开发方法
第3章 结构化设计方法
3.1 结构化设计
3.1.1 概要
3.1.2 设计图的说明
3.1.3 设计步骤
3.2 数据结构主导设计法
3.3 系统的层次分割法
3.4 top-down设计法
习题
第4章 面向对象的开发方法
4.1 传统软件开发方法存在的问题
4.2 面向对象的主要概念
4.3 面向对象的特征
4.4 面向对象的要素
4.5 面向对象的开发方法
4.6 面向对象开发方法的基本特征
4.7 面向对象的模型
4.8 面向对象的分析
4.8.1 建立对象模型
4.8.2 建立动态模型
4.8.3 建立功能模型
4.9 面向对象的设计与实现
习题
第三篇 软件工程的设计与实践
第5章 制订计划和管理595.1 软件开发的成功路程
5.1.1 追求现代的信息处理技术人员
5.1.2 在软件开发实践中总结出失败与原因
5.1.3 软件开发成功之路
5.2 软件开发项目
5.2.1 从5w2h考虑项目
5.2.2 作成“项目计划书”
5.2.3 发挥领导作用
5.2.4 选择适当的处理模型
5.2.5 通过项目应注意的事项
5.3 构建及运转一支高效善于沟通的团队
5.3.1 构建项目团队
5.3.2 强化沟通
5.3.3 有效的会议
5.3.4 根据软件开发规模来决定责任
5.4 构筑并维持和客户间及各子团队间的协调体制
5.4.1 客户及开发方考虑所存在的“鸿沟”
5.4.2 使客户认识到自己的作用
5.4.3 不断修正的体制和窗口的一体化
5.4.4 其他子团队也是“客户”
5.4.5 兼任项目时应注意的事项
5.4.6 把握好客户同事之间的力度关系
5.4.7 建立遵守现实妥当的计划
习题
第6章 需求分析及文档化--系统规范设计的关键点
6.1 需求分析的重要性
6.1.1 需求分析
6.1.2 需求分析的问题点
6.1.3 需求分析的考虑方法
6.2 需求分析的概要
6.2.1 需求分析的对象系统
6.2.2 需求分析的关系者
6.2.3 需求分析的工作工程
6.2.4 需求分析的文档
6.3 需求分析工作的步骤
6.3.1 需求分析工程
6.3.2 需求规格化工程
6.3.3 项目计划工程
6.4 需求分析的技术、工具
6.4.1 需求分析工程的技术和工具
6.4.2 需求文档化工程的技术和工具
习题
第7章 从需求到设计
7.1 需求分析工程的进行方法
7.2 顺利且有效进行需求工程的注意点
7.3 外部设计
7.4 内部设计
7.4.1 内部设计工作的实行步骤
7.4.2 模块化
7.4.3 数据的物理设计
7.4.4 性能/容量的分析
7.5 高效推进设计工程的注意点
7.5.1 防止错误进入设计
7.5.2 易变更、易维护的设计
7.5.3 不要急于编程
7.5.4 设计工程不只包括业务设计
7.5.5 通过文档上的意见一致来实现客户的满意
7.5.6 管理文档的变更需求
7.5.7 变更管理的对应点
7.6 开发与测试工程相连
7.6.1 阶段性工作结束时计划的修正
7.6.2 开发、测试计划的作成
习题
第8章 编程工程
8.1 编程工程
8.2 标准化及共享化阶段
8.2.1 制定标准
8.2.2 准备知识的公共环境
8.2.3 高效利用综合开发环境
8.2.4 注意开发环境与实际环境的差异
8.3 程序详细设计可使内部设计书更加细化
8.4 编程的要点
8.4.1 编程的技术面
8.4.2 编码的管理方面
8.5 单元测试解决模块内部问题
8.6 准备实际运行
8.6.1 导入支援工具
8.6.2 文档作成
8.6.3 运行支援工具
习题
第9章 从测试到运行
9.1 软件的质量和测试的含义
9.2 测试计划和设计
9.2.1 制订测试计划和设计
9.2.2 测试流程和测试数据
9.2.3 理解系统的错误和故障所带来的影响
9.2.4 白盒测试与黑盒测试
9.2.5 开发环境和测试环境
9.2.6 确保必要的测试时间
9.2.7 回归测试计划
9.2.8 测试系统接口
9.3 实施测试
9.3.1 自顶向下测试与自底向上测试
9.3.2 活用各种测试工具
9.3.3 意识风险
9.3.4 在测试中发现错误并修正
9.3.5 对不再出现问题的对策
9.3.6 多个版本的管理
9.3.7 防止正式运行时的问题
9.3.8 提高测试工程的效率
9.4 从运行测试到运转
9.4.1 以系统使用人员为主体的运行测试
9.4.2 用运行测试来进行业务的测试
9.4.3 正式运行
9.4.4 测试设计、实施上的注意点
9.5 系统的导入
9.6 正式运转
习题
第10章 客户的交货和验收/系统移交运行/维护团队
10.1 验证系统
10.1.1 交货前所需做的准备
10.1.2 理解客户的验收工作
10.1.3 验收结果的反馈
10.2 系统的交货日与运行日
10.2.1 理解交货日和运行日的关系
10.2.2 在系统维护阶段的合同
10.2.3 发现错误时的考虑方法和维护合同
10.2.4 系统需追加的性能、功能
10.3 向运转团队移交系统
10.3.1 开始系统运行时的必要准备
10.3.2 向运行团队移交手册
10.3.3 软件工程师所起的三个作用
第四篇 软件质量与质量保证
第11章 质量管理
11.1 软件产品的质量
11.2 项目质量管理的框架
11.3 质量保证形式
11.4 质量保证的处理过程
11.5 从cmm到cmmi
习题
第12章 设计文档
12.1 文档的重要性
12.2 文档的种类
12.2.1 按使用目的对文档进行分类
12.2.2 各种文档的完成时期
12.3 文档的完成时期和其内容
12.3.1 针对客户的文档
12.3.2 针对开发人员的文档
12.3.3 针对维护人员的文档
12.4 文档的质量管理
12.4.1 对记载内容进行的验证
12.4.2 维护管理法
12.4.3 文档支援工具
习题
第13章 设计评审
13.1 设计评审的重要性
13.2 设计评审的内容和实施方法
13.2.1 设计评审的内容
13.2.2 软件开发工程和产品
13.2.3 设计评审的管理体制和管理方法
13.2.4 设计评审的标准化
13.2.5 设计评审的实施方法
13.3 设计评审的文档
13.3.1 设计评审管理用文档
13.3.2 检查报表
13.4 设计评审实施上的注意点
习题
第五篇 软件工程师指南
第14章 软件工程师的全体工作概述
14.1 系统开发方法
14.2 调查客户的现状,理解需求
14.2.1 理解客户的要求
14.2.2 分析现状
14.3 概要的提案
14.3.1 本书所涉及的系统
14.3.2 系统的费用差
14.3.3 提案的范围
14.4 系统构筑和软件工程师的作用
14.4.1 从概要设计到详细设计
14.4.2 软件工程师与各专门技术人员的合作
14.4.3 软件工程师的作用--管理系统开发项目的全体
14.5 交货及交货后的维护
14.5.1 从开发结束到向客户交货的流程
14.5.2 验收后软件工程师的可能工作
习题
第15章 软件工程师的演讲技巧
15.1 演讲的必要性
15.1.1 在演讲中加深理解
15.1.2 演讲所能提供给客户的信息
15.1.3 准备有效的演讲
15.2 实际演讲
15.2.1 演讲内容
15.2.2 有效使用图像信息来进行演讲
15.3 接受反馈意见
15.3.1 在各阶段演讲时所要确认的事项
15.3.2 对应来自客户的需求和变更
15.3.3 最终确认
习题
第16章 作为项目经理的软件工程师
16.1 计划管理的方法
16.1.1 将项目全体列入一张表中
16.1.2 设想最好、典型及最坏事例的情况
16.2 系统开发团队中各成员的作用
16.2.1 软件工程师的责任范围和作用
16.2.2 技术工程师的种类和其作用
16.2.3 程序员应起的作用
16.3 系统设计中的必要考虑方法
16.4 考虑用户外部接口的界面设计
16.5 开发系统
16.5.1 撰写无遗漏的设计文档
16.5.2 将系统分割成子系统进行开发
16.6 测试系统
16.6.1 测试的时刻
16.6.2 单元测试
16.6.3 结合测试和系统测试
16.6.4 运行测试
16.6.5 制作各测试的设计文档
16.7 验证和解决系统的问题点
16.7.1 有关硬件的问题及解决方法
16.7.2 有关网络问题和解决方法
16.7.3 有关软件问题和解决方法
习题
第17章 高级软件工程师的目标
17.1 磨炼作为软件工程师的技术力
17.1.1 不能过信自己的技术
17.1.2 软件工程师继续学习的重要性
17.2 为了开发更好的系统
17.2.1 今后系统的基本点--安全
17.2.2 根据客户需求的最适设计
17.3 项目管理注意事项
17.4 客户对高级软件工程师的期待
17.5 满足客户需求的软件
17.5.1 对于客户来说的优质软件
17.5.2 软件质量与客户满意度
17.5.3 对软件需求的变化
17.6 软件开发阶段客户的满足
17.6.1 交货期和功能--优先顺序
17.6.2 没能遵守交货期的对应解决方法
17.6.3 需求分析的进展方法
17.6.4 客户的真正期待
17.7 软件使用阶段客户的满意度
17.7.1 设计与使用者所持技术相对应的功能和操作性
17.7.2 操作培训的进行方法
17.7.3 制作易使用的手册
17.8 软件维护阶段客户的满足
17.9 公司内的关键人员对高级软件工程师的期望
17.9.1 软件工程师在项目团队中所起的作用
17.9.2 遵守交货期和费用
17.9.3 应对软件开发的风险
17.9.4 意识开发的后期工程
17.10 软件开发中的作用
17.11 与客户交涉的技巧
习题
第六篇 软件工程现场实际案例分析
第18章 与客户的交涉力
第19章 维护人员的干劲/完成难以管理的任务(统率力)
第20章 解决问题同时,提出与新商机相连的方案
参考文献
猜您喜欢