目录 第一部分软件工程理论基础 第1章软件工程概述 1.1关于软件 1.1.1软件的概念与特性 1.1.2软件开发技术演化 1.2关于软件工程 1.2.1软件危机的出现 1.2.2解决软件危机的途径 1.2.3软件工程概念 1.3软件工程基本原理与原则 1.3.1基本原理 1.3.2基本原则 1.4软件工程范型 1.4.1结构化开发范型 1.4.2面向对象开发范型 1.5软件工程基本活动 1.6小结 习题 第2章软件过程与模型 2.1软件生存周期 2.2软件过程与框架 2.3软件过程选择与评估 2.3.1软件过程选择 2.3.2软件过程评估 2.3.3个人软件过程与团队软件过程 2.4软件能力成熟度模型 2.4.1什么是CMM 2.4.2CMM基本内容 2.4.3能力成熟度模型集成 2.5软件过程模型 2.6传统的软件过程模型 2.6.1瀑布模型 2.6.2增量模型 2.6.3螺旋模型 2.7面向对象过程模型 2.7.1构件集成模型 2.7.2统一过程模型 2.8小结 习题 目录 第3章敏捷软件工程方法 3.1敏捷软件工程过程 3.1.1敏捷过程 3.1.2敏捷开发原则 3.2Scrum软件开发过程 3.2.1Scrum思想 3.2.2Scrum术语与过程 3.3极限编程 3.3.1什么是极限编程 3.3.2极限编程的要素 3.4结对编程 3.4.1什么是结对编程 3.4.2结对编程方式 3.5小结 习题 第4章需求获取 4.1关于用户需求和软件需求 4.2需求获取过程 4.3基于会谈的需求获取方法 4.4基于调查的需求获取方法 4.5基于场景的需求获取方法 4.6基于用例的需求获取方法 4.6.1用例分析 4.6.2构建活动图或泳道图 4.6.3用例详细描述 4.7小结 习题 第二部分结构化软件工程范型 第5章结构化分析 5.1结构化分析概述 5.2结构化分析模型 5.3数据流分析方法 5.3.1数据流图 5.3.2数据字典 5.3.3数据流分析方法的步骤 5.4数据建模分析方法 5.5状态分析方法 5.6结构化分析过程 5.7软件需求规格说明文档 5.8小结 习题 第6章结构化设计 6.1结构化设计概述 6.2软件设计过程 6.2.1概要设计 6.2.2详细设计 6.3结构化设计原理 6.4模块独立性度量 6.5软件结构化设计 6.5.1软件结构描述 6.5.2数据流模型 6.5.3软件结构化设计方法 6.6软件详细设计 6.6.1详细设计任务 6.6.2详细设计方法 6.7小结 习题 第7章结构化软件测试 7.1软件测试概述 7.1.1软件测试的目的 7.1.2验证和确认 7.1.3软件测试的原则 7.2软件测试的基本过程 7.2.1单元测试 7.2.2集成测试 7.2.3验证测试 7.2.4确认测试 7.3测试用例设计 7.4黑盒测试方法 7.4.1等价类划分 7.4.2边界值分析 7.4.3错误推测 7.5白盒测试方法 7.5.1逻辑覆盖 7.5.2路径覆盖 7.5.3循环路径测试策略 7.6集成测试方法 7.6.1集成策略 7.6.2性能测试 7.7小结 习题 第三部分面向对象软件工程范型 第8章面向对象分析 8.1面向对象分析模型 8.1.1逻辑模型 8.1.2交互模型 8.1.3实现模型 8.1.4部署模型 8.2面向对象建模语言 8.2.1UML的组成 8.2.2UML的视图 8.3面向对象分析过程 8.4业务建模 8.4.1识别业务类和领域类 8.4.2构建业务类图 8.4.3识别属性和操作 8.4.4构建协作图 8.4.5构建包图 8.4.6构建软件的逻辑架构 8.5软件的交互行为分析 8.5.1建立软件顺序图 8.5.2建立操作契约 8.5.3建立顺序图 8.5.4建立系统状态图 8.6小结 习题 第9章面向对象设计 9.1面向对象设计概述 9.1.1面向对象设计过程 9.1.2面向对象设计原则 9.2构件设计 9.3确定并发性 9.4面向对象详细设计 9.4.1模型精化 9.4.2逻辑架构精化与设计模式 9.4.3类详细设计 9.5部署设计 9.6小结 习题 第10章面向对象实现与测试 10.1面向对象实现 10.2面向对象测试基础 10.2.1面向对象分析阶段的测试 10.2.2面向对象设计阶段的测试 10.2.3面向对象编程阶段的测试 10.3面向对象测试过程 10.3.1类方法测试 10.3.2类测试 10.3.3类簇测试 10.3.4系统测试 10.4小结 习题 第四部分软件维护与项目管理 第11章软件维护 11.1软件维护概述 11.2软件的可维护性 11.3软件维护活动的类型 11.4软件维护技术与过程 11.4.1软件维护技术 11.4.2软件维护过程 11.5提高软件的可维护性 11.6小结 习题 第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版本管理 12.5软件项目规模估算 12.5.1软件项目资源 12.5.2软件项目规模度量 12.6软件项目估算的分解技术 12.6.1基于问题分解的估算 12.6.2基于过程分解的估算 12.6.3中级COCOMO估算模型 12.7软件质量管理 12.8软件项目进度管理 12.8.1进度计划 12.8.2进度安排 12.8.3进度跟踪 12.9小结 习题 参考文献