软件工程方法与实践

软件工程方法与实践
作 者: 胥光辉 金凤林 丁力
出版社: 机械工业出版社
丛编项: 高等院校计算机专业教育改革推荐教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《软件工程方法与实践》作者简介

内容简介

本书旨在为软件工程领域的理论和研究实践应用架起一座沟通的桥梁,在注重实用的前提下,介绍软件工程领域最新的研究成果和成熟的实践经验。本书全面系统地介绍了软件工程的概念、原理和典型的技术方法。本书旨在为软件工程领域的理论和研究实践应用架起一座沟通的桥梁,在注重实用的前提下,介绍软件工程领域最新的研究成果和成熟的实践经验。与同类教材的不同点包括将面向对象方法和结构化方法有机结合,注重标准化和过程改进,强调项目管理和软件测试等。本书共11章,分成三部分:第一部分包括第1-3章,介绍软件工程的由来、软件过程模型和CMM。第二部分包括第4-8章,按软件生命周期的顺序介绍需求分析、系统设计、程序开发和软件测试几个阶段。其中第5章讨论了面向对象方法的基本原理。第三部分包括第9-11章,着重讨论软件项目的管理技术,包括软件度量、项目管理和项目管理实例研究。附录中简单介绍了统一建模语言UML。本书可作为高等院校“软件工程”课程的教材或教学参考书,也可供有一定实际经验的软件工程人员和广大计算机用户阅读参考。

图书目录

第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 软件工程实践的参与者

第2章 软件过程模型

2. 1 软件过程的基本概念

2. 1. 1 什么是软件过程

2. 1. 2 软件生命周期

2. 2 软件过程模型

2. 2. 1 瀑布模型 Waterfall Model

2. 2. 2 V模型 V Model

2. 2. 3 快速原型模型 Fast Prototype Model

2. 2. 4 增量模型 Incrementat Model

2. 2. 5 螺旋模型 Spiral Model

2. 2. 6 喷泉模型 Fountain Model

2. 2. 7 智能模型 Intelligent Model

2. 3 软件过程建模

2. 3. 1 传统方法学与面向对象方法学

2. 3. 2 过程建模方法. 工具和技术

2. 3. 3 典型面向对象建模方法简介

第3章 软件过程改进指南:OMM模型

3. 1 过程改进

3. 1. 1 过程改进的两种模式

3. 1. 2 过程改进的原则和通用步骤

3. 1. 3 软件组织的成熟与不成熟

3. 2 CMM的概念

3. 2. 1 CMM的历史

3. 2. 2 几个关键概念

3. 2. 3 软件过程成熟度的5个等级

3. 2. 4 成熟度等级的行为特征

3. 2. 5 成熟度等级之间的关系

3. 3 CMM的可操作定义

3. 3. 1 CMM的内部结构

3. 3. 2 关键过程域和目标

3. 3. 3 共同特点

3. 3. 4 关键实践

3. 4 CMM的应用

3. 4. 1 软件过程评估和软件能力评价方法

3. 4. 2 软件过程评估和软件能力评价方法之间的差异

3. 4. 3 在具体背景下使用CMM

3. 5 CMM的发展

3. 5. 1 集成能力成熟度模型CMMI

3. 5. 2 个体软件过程PSP

3. 5. 3 团体软件过程TSP

第4章 抓住用户需求

4. 1 需求过程

4. 1. 1 需求的获取与分析

4. 1. 2 需求描述

4. 1. 3 快速原型和评价

4. 1. 4 需求文档化

4. 1. 5 需求的验证

4. 1. 6 需求过程的参与者

4. 2 需求的层次与种类

4. 2. 1 需求的层次

4. 2. 2 功能需求 Functional Requirements

4. 2. 3 非功能需求 Nonfunctional Requirements

4. 3 需求文档

4. 3. 1 需求定义文档 Requirements Deftnition

4. 3. 2 需求规格说明 Requirements Specification

4. 4 需求的验证

4. 4. 1 需求评审

4. 4. 2 测试需求

4. 5 需求的管理

第5章 面向对象开发

5. 1 什么是OO

5. 1. 1 类和对象

5. 1. 2 消息和方法

5. 1. 3 继承和多态

5. 2 OO需求分析

5. 2. 1 OO需求分析概述

5. 2. 2 建立对象模型

5. 2. 3 建立动态模型

5. 2. 4 建立功能模型

5. 3 用例 Use-Case 模型

5. 3. 1 什么是用例

5. 3. 2 UML的用例模型

5. 4 OO系统设计

5. 4. 1 系统设计的原则

5. 4. 2 系统划分

5. 4. 3 对象设计

5. 5 OO程序设计

5. 5. 1 OO程序设计风格

5. 5. 2 面向对象编程语言

5. 5. 3 Demeter法则

第6章 系统设计

6. 1 什么是设计

6. 1. 1 概要设计

6. 1. 2 详细设计

6. 2 如何设计

6. 2. 1 分解和模块化

6. 2. 2 体系结构风格

6. 2. 3 其他设计要素

6. 3 什么是好的设计

6. 3. 1 构件独立性

6. 3. 2 异常识别与处理

6. 3. 3 防错与容错

6. 4 设计评估与验证

6. 4. 1 设计评审

6. 4. 2 设计质量的度量

6. 4. 3 设计比较

第7章 编写程序

7. 1 什么是好程序

7. 1. 1 质量及其性质

7. 1. 2 Carvin的5类质量观

7. 1. 3 好程序的标准

7. 2 程序设计风格

7. 2. 1 名字

7. 2. 2 表达式和语句

7. 2. 3 程序注释

7. 2. 4 程序风格标准

7. 3 程序设计指导

7. 3. 1 控制结构

7. 3. 2 算法和数据结构

7. 3. 3 一般性指导

7. 4 程序排错

7. 4. 1 排错系统

7. 4. 2 可重现的错误

7. 4. 3 不可重现的错误

7. 5 程序文档

第8章 测试程序和系统

8. 1 软件测试概述

8. 1. 1 几个术语

8. 1. 2 产生缺陷的原因

8. 1. 3 软件测试目的

8. 1. 4 软件测试类型

8. 2 静态测试

8. 2. 1 静态测试的内容

8. 2. 2 静态测试方法

8. 2. 3 一个静态测试的实例

8. 2. 4 静态测试的效果

8. 3 结构性测试

8. 3. 1 控制流测试

8. 3. 2 数据流测试

8. 4 功能测试

8. 4. 1 子域分解

8. 4. 2 边界值分析

8. 4. 3 因果图和决策表

8. 5 软件测试过程

8. 5. 1 单元测试

8. 5. 2 集成测试

8. 5. 3 系统测试

8. 5. 4 验收及安装测试

8. 6 何时停止

8. 6. 1 植错法

8. 6. 2 可靠性. 可用性和可维护性

8. 6. 3 测量可靠性. 可用性和可维护性

8. 6. 4 软件可靠性预测

8. 7 过程. 文档及管理

8. 7. 1 测试计划

8. 7. 2 测试规范

8. 7. 3 测试用例表

8. 7. 4 问题报告表

8. 7. 5 测试分析报告

第9章 软件度量和系统评价

9. 1 软件度量的概述

9. 1. 1 什么是度量

9. 1. 2 度量的基本理论

9. 1. 3 软件度量

9. 2 过程和项目度量

9. 2. 1 过程度量

9. 2. 2 项目度量

9. 3 软件结构复杂性度量

9. 3. 1 控制结构复杂性度量

9. 3. 2 源代码的度量

9. 4 软件质量的度量

9. 4. 1 影响软件质量的因素

9. 4. 2 软件质量的衡量标准

9. 4. 3 软件质量的度量

9. 5 面向对象系统的度量

9. 5. 1 C&K度量集

9. 5. 2 MOOD和MOOD2度量集

9. 5. 3 L&K软件规模度量

9. 6 软件度量实施

第10章 软件项目管理

10. 1 项目管理的概念

10. 1. 1 项目管理的范围

10. 1. 2 人员

10. 1. 3 资源

10. 1. 4 过程

10. 1. 5 资金

10. 1. 6 文档

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 COCOMOII

10. 3. 4 找到合适的模型

10. 4 风险管理

10. 4. 1 风险的类型

10. 4. 2 识别风险

10. 4. 3 风险管理活动

10. 5 跟踪项目的进展

10. 5. 1 工作分解结构和活动图

10. 5. 2 预计项目完成时间

第11章 项目管理实例研究

11. 1 院校环境的特点

11. 2 软件项目管理

11. 2. 1 配置管理

11. 2. 2 缺陷跟踪

11. 2. 3 任务分配与管理

11. 2. 4 程序风格和界面风格

11. 2. 5 日常项目管理

11. 2. 6 开发自己的项目管理工具软件

11. 3 项目管理规范文档

11. 3. 1 缺陷跟踪过程文档

11. 3. 2 程序设计风格标准

11. 3. 3 界面设计风格标准

附录A UML简介

A. 1 引言

A. 1. 1 UML历史

A. 1. 2 UML的目标

A. 2 UML语言基础

A. 2. 1 UML的基本构造部分

A. 2. 2 UML的规则

A. 2. 3 UML中的公共机制

A. 3 对结构建模

A. 3. 1 类图

A. 3. 2 对象图

A. 4 对行为建模

A. 4. 1 用例图

A. 4. 2 顺序图

A. 4. 3 协作图

A. 4. 4 状态图

A. 4. 5 活动图

A. 5 对体系结构建模

A. 5. 1 构件图

A. 5. 2 部署图

A. 6 Rational统一开发过程

A. 6. 1 特点

A. 6. 2 二维开发模型

A. 6. 3 各个阶段和里程碑

A. 6. 4 核心工作流 Core Workflows

A. 6. 5 迭代和增量的开发过程

参考文献