发布网友 发布时间:2022-05-09 16:46
共1个回答
热心网友 时间:2022-06-09 10:54
引子
第1章 为什么要研究软件工程
1.1 软件危机
1.1.1 软件不再只是程序
1.1.2 危机四伏
1.1.3 软件危机之证
1.2 软件的问题在哪里
1.2.1 软件特性
1.2.2 软件业所面临的问题
1.2.3 软件问题的幽默画
1.3 软件工程的诞生
1.4 软件工程的命题
1.5 软件工程知识体系
1.5.1 软件工程知识体系的构成
1.5.2 软件工程要素
1.5.3 SWEBOK
1.6 现代软件工程
1.6.1 开源软件运动
1.6.2 SaaS
1.6.3 现代软件工程的基本思想
1.7 小结
思考题
第2章 软件过程
2.1 完整的软件生命周期
2.1.1 软件的工程过程
2.1.2 综合的软件过程
2.2 需求工程
2.2.1 软件需求
2.2.2 需求开发
2.2.3 需求管理
2.3 设计
2.3.1 软件设计的目标
2.3.2 体系结构设计
2.3.3 详细设计
2.3.4 部署设计
2.3.5 设计评审
2.4 实施
2.4.1 单元测试
2.4.2 集成测试
2.4.3 功能测试
2.4.4 系统测试
2.4.5 验收测试
2.5 部署、运行和维护
2.5.1 系统部署
2.5.2 软件运行和技术支持
2.5.3 维护过程
2.6 软件非工程过程
2.6.1 计划
2.6.2 质量保证和管理的过程
2.6.3 项目管理过程
2.6.4 基础设施和过程改进
2.7 小结
思考题
第3章 软件工程目标和要求
3.1 软件工程的基本目标
3.2 软件工程的影响要素
3.3 软件工程的业务需求
3.4 软件工程的质量要求
3.4.1 质量的含义
3.4.2 客户是质量的焦点
3.4.3 软件质量的特性
3.4.4 影响软件产品质量的因素
3.4.5 软件过程的质量因素
3.4.6 软件质量的指标
3.5 软件工程的成本要求
3.5.1 软件工程的固有成本
3.5.2 软件的可变成本
3.5.3 软件工程的劣质成本
3.6 软件工程的资源*
3.7 软件产品集成要求
3.7.1 传统产业的启示
3.7.2 软件产品工程
3.8 小结
思考题
第4章 软件工程思想
4.1 永远不可低估思想的作用
4.2 以人为本
4.3 软件开发不是一门艺术
4.4 向传统工业学习
4.4.1 客户为导向
4.4.2 需求分析是基础
4.4.3 过程决定结果
4.4.4 持续改进过程
4.4.5 缺陷预防
4.4.6 围绕项目开展工作
4.4.7 验证和确认缺一不可
4.4.8 以架构设计为中心
4.5 软件工程的例外
4.5.1 迭代
4.5.2 敏捷开发思想
4.5.3 持续构建和集成
4.5.4 永远的Beta
4.5.5 面向对象是一种思想
4.5.6 软件工程应归为知识管理
4.6 软件工厂思想
4.6.1 模块化思想
4.6.2 面向构件思想
4.6.3 软件复用
4.6.4 中间件
4.6.5 自动化无处不在
4.7 小结
思考题
第5章 软件工程方法
5.1 软件方*
5.1.1 系统工程方*
5.1.2 软系统方*
5.1.3 软件工程方法体系
5.2 用户需求的获取方法
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.5 软件测试方法
5.5.1 白盒和黑盒的测试方法
5.5.2 静态和动态的测试方法
5.5.3 ALAC测试和随机测试
5.5.4 自动化测试方法
5.6 小结
思考题
第6章 软件建模
6.1 一个简单建模的例子
6.2 软件建模
6.2.1 为什么要建模
6.2.2 软件建模概述
6.2.3 如何建模
6.3 元建模
6.4 建模语言和UML
6.4.1 建模语言的起源
6.4.2 实体关系建模
6.4.3 UML
6.4.4 UML视图
6.4.5 建模机制
6.4.6 系统建模语言SysML
6.4.7 虚拟现实建模语言
6.5 软件过程模型
6.5.1 瀑布模型的不足
6.5.2 V模型诠释软件过程
6.5.3 没有统一天下的RUP
6.5.4 MSF的过程模型
6.6 小结
思考题
第7章 软件工程环境
7.1 环境造就软件
7.2 软件工程组织
7.2.1 软件组织环境
7.2.2 软件组织的作用
7.2.3 PSP改进个人能力
7.2.4 TSP提高团队水平
7.2.5 完整的组织框架
7.3 软件工程文化
7.3.1 过程文化
7.3.2 质量文化
7.4 软件工程基础设施
7.5 过程定义
7.5.1 软件过程定义的基础
7.5.2 剪裁标准软件过程的指南和准则
7.6 过程评估和改进
7.6.1 软件过程评估的目标和期望
7.6.2 软件过程评估的内容和范围
7.6.3 软件过程评估的方式和类型
7.6.4 软件过程评估的方法
7.6.5 过程改进的IDEAL模型
7.6.6 过程改进的Raytheon方法
7.6.7 过程改进实施的原则
7.6.8 过程改进实施
7.7 小结
思考题
第8章 软件项目管理
8.1 软件项目管理概述
8.1.1 软件项目管理的3P
8.1.2 软件项目管理的实质
8.1.3 软件项目管理的目标和范围
8.2 软件项目的分类
8.3 制定计划
8.3.1 软件规模度量
8.3.2 软件开发的估算模型
8.3.3 项目工作量估算
8.3.4 日程和人力资源安排
8.3.5 项目成本估算
8.4 资源管理
8.5 进度和成本管理
8.5.1 里程碑控制和关键路径
8.5.2 项目成本控制
8.5.3 项目进度的特性及外在关系
8.6 质量管理
8.6.1 软件质量计划
8.6.2 软件评审
8.6.3 缺陷预防
8.6.4 质量度量
8.7 风险管理
8.7.1 风险识别
8.7.2 风险分析和评估
8.8 软件配置管理
8.8.1 配置管理的基本概念
8.8.2 版本控制
8.8.3 变更控制
8.9 项目跟踪和控制
8.10 小结
思考题
第9章 软件工具
9.1 ICASE
9.2 IDE
9.3 商业工具解决方案
9.3.1 典型的完整解决方案
9.3.2 商业IDE
9.3.3 需求分析和管理工具
9.3.4 建模和设计工具
9.3.5 测试工具
9.3.6 配置管理工具
9.4 开源工具集成的解决方案
9.4.1 开源代码许可协议
9.4.2 开源的Web开发框架
9.4.3 开源的IDE
9.4.4 PHP及其他语言的IDE
9.4.5 开源测试工具
9.4.6 覆盖软件过程的其他开源工具
9.5 小结
思考题
附录A 软件工程术语中英文对照
附录B 项目视图和范围的文档模板
参考文献
-------------------------------------------------------------------------------------------------------------------------------------
本书已经出版了三个版本,累计销售达60万册,成为软件工程领域的经典教材,先后荣获全国普通高等学校工科电子表类专业优秀教材第二等奖、一等奖。为了反映年来软件工程的发展状况,作者主要从下述3个方面对第三版作了精心修改:删掉了一些较陈旧的或较次要的内容,增加了一些较新颖的或较重要发的内容,用UML的概念与符号重新改定了有关面向对象方法学的内容。