
软体工程及实践
《软体工程及实践》是2011年电子工业出版社出版的图书,作者是窦万峰。
基本介绍
- 书名:软体工程及实践
- 作者:窦万峰
- ISBN:9787121141096
- 类别:图书 > 教材教辅 > 大学教材
- 页数:432
- 出版社:电子工业出版社
- 出版时间:2011-07-01
- 装帧:平装
- 版次:1
内容简介
《软体工程及实践》包括软体工程理论和工具使用两大部分,理论部分共11章,分别从传统的结构化开发范型和面向对象开发范型两个方面,介绍软体工程的概念和理论。工具使用部分共6章,共设计了6个实验,包含了软体绘图工具Microsoft Visio、数据建模工具PowerDesigner、面向对象建模工具Rational Rose、功能测试工具WinRunner、性能测试工具LoadRunner和项目管理工具 Project等流行的软体工程工具。
目录
第 0 章 软体工程教学方案
第一部分 软体工程基本教程
第 1章 软体工程概述
1.1 关于软体
1.1.1软体及其特性
1.1.2软体的演化
1.1.3软体危机
【案例1.1】伦敦救护服务系统
1.2 软体工程
1.2.1 软体工程基本原理
1.2.2 软体工程基本原则
1.2.3 软体危机的解决途径
1.3 软体工程基本活动
1.4 软体工程两大范型
1.4.1 结构化范型
1.4.2 面向对象范型
1.5 小结
习题
第2章 软体过程及其模型
2.1 软体过程概述
2.1.1 软体过程框架
2.1.2 软体过程模型
2.2 软体生命周期
2.2.1 什幺是软体生命周期?
2.2.2 软体生命周期阶段
2.3 敏捷软体过程
2.3.1 敏捷软体过程
2.3.2 极限编程
2.3.3 结对编程
2.3.4 分散式结对编程
2.4 软体工程实践
2.4.1 概念与原则
2.4.2 软体工程实践
2.5 软体过程模型
2.5.1 传统的软体过程模型
2.5.2 面向对象过程模型
2.6 能力成熟度模型
2.6.1 什幺是能力成熟度模型?
2.6.2 软体过程成熟度5级模型
2.7 小结
习题
第 3章 软体需求分析
3.1 关于软体需求
3.1.1 功能需求
3.1.2 非功能需求
3.1.3 业务需求
【案例3.1】基于终端的简讯系统
3.2 需求分析过程
3.3 非形式化分析技术
3.3.1 会谈
3.3.2 场景分析
3.3.3 调查表
【案例3.2】ATM机“取款”场景描述
3.4 结构化分析建模
3.4.1结构化需求分析
3.4.2 结构化分析模型
3.4.3 面向数据的建模方法
【案例3.3】图书馆管理系统实体关係模型
【案例3.4】POS机系统
3.4.4 面向数据流的建模方法
【案例3.5】订货系统数据流图
【案例3.6】电子表系统的状态图
【案例3.7】图书馆管理系统的分析模型
3.5 面向对象分析建模
3.5.1 面向对象概念
3.5.2 UML统一建模语言
3.5.3 用例建模
【案例3.8】POS机系统用例描述
3.5.4 业务建模
【案例3.9】POS机系统业务分析
3.5.5 系统行为建模
【案例3.10】POS机系统完整的对象分析
3.6 小结
习题
第 4章 软体设计
4.1 软体设计概述
4.1.1 软体设计过程
4.1.2 软体设计文档
4.2 模组化设计原理
4.2.1 模组化
4.2.2 抽象
4.2.3 信息隐蔽
4.2.4 模组独立性度量
4.2.5 逐步求精
4.2.6 重构
4.3 软体结构
4.4 软体体系结构模型
4.4.1 系统构成模型
4.4.2 系统控制模型
4.5 结构化软体设计
4.5.1 面向数据流的设计方法
【案例4.1】统计档案中单词数目的数据流设计
【案例4.2】ATM自动柜员机事务流设计
【案例4.3】公司的销售管理系统设计
4.5.2 面向数据结构的设计
【案例4.4】统计档案空格数和输出统计
【案例4.5】图书馆管理系统设计
4.6 面向对象的设计
4.6.1 面向对象设计过程
4.6.2 设计模式
【案例4.6】POS机系统面向对象设计
4.7 小结
习题
第 5章 软体详细设计
5.1 结构化详细设计
5.2 结构化设计工具
5.2.1 程式流程图
5.2.2 N-S图
5.2.3 PAD图
5.2.4 HIPO图
【案例5.1】盘存/销售系统的HIPO图
5.2.5 判定表与判定树
【案例5.2】确定保险类别
5.2.6 过程描述语言
【案例5.3】统计单词数目
5.3 人机界面设计
5.3.1 界面分析与设计
5.3.2 界面设计步骤
5.3.3 界面设计指南
【案例5.4】CAD系统中绘製圆弧的操作命令序列设计
5.4 资料库设计
5.5 面向对象精化设计
5.5.1 设计模型精化
5.5.2逻辑架构精化
5.5.3包设计
5.4.4 精化互动图
5.5.5 精化类图
【案例5.5】ATM机系统精华设计
5.6 编码
5.6.1 编码语言
5.6.2 编码风格
【案例5.6】POS机系统详细设计
5.7 小结
习题
第 6章 面向对象与统一软体开发过程
6.1 概述
6.2 用况驱动过程
【案例6.1】ATM机系统用况模型
6.3 构架描述
【案例6.2】ATM机系统构架设计
6.4 叠代的增量开发过程
6.5 核心工作流
6.5.1 需求捕获工作流
【案例6.3】电子商务交易系统
6.5.2 分析
【案例6.4】电子商务交易系统分析
6.5.3 设计
6.5.4 实现
6.5.5 测试
6.6 小结
习题
第 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.1】ATM机系统等价类划分
7.4.2 边界值分析
【案例7.2】三角形无效类测试用例设计
7.4.3 错误推测
7.4.4 因果图方法
【案例7.3】自动售货机因果图法
7.5 白盒测试技术
7.5.1 逻辑覆盖
【案例7.4】逻辑覆盖测试用例设计
7.5.2 路径覆盖
【案例7.5】学生成绩计算路径测试用例设计
7.5.3 循环路径测试策略
7.6 集成测试技术
7.6.1 集成策略
7.6.2 性能测试
【案例7.6】多媒体资料库性能测试
【案例7.7】ATM取款机测试
7.7 调试技术
7.7.1 调试过程
7.7.2 调试策略
7.8 小结
习题
第 8章 软体维护
8.1 软体维护概述
8.1.1 软体维护任务
8.1.2 软体维护的特点
8.1.3 软体的可维护性
8.2 软体维护类型
8.3 软体维护技术与过程
8.4 非结构化维护和结构化维护
8.5 提高软体的可维护性
8.6 小结
习题
第 9章 软体项目管理
9.1 软体项目管理概述
9.2 软体项目组织管理
9.2.1 团队组织模式
9.2.2 项目组织原则
9.3 软体过程管理
9.3.1 软体过程度量
9.3.2 软体过程改进
9.3.3 软体项目度量
9.4 风险管理
9.4.1 风险识别
9.4.2 风险预测
9.4.3 风险管理
9.5 软体配置管理
9.5.1 基本概念
9.5.2 软体配置管理过程
9.5.3版本管理
9.6 软体项目估算
9.6.1 概述
9.6.2 软体规模度量
9.6.3 软体估算管理
9.7 软体项目估算技术
9.7.1 分解技术
【案例9.1】CAD系统的基于LOC的估算
【案例9.2】CAD系统的功能点FP估算
【案例9.3】CAD系统的基于过程的估算
9.7.2 经验模型
【案例9.4】基于微处理器的通信软体的中级COCOMO估算
【案例9.5】POS机系统的成本估算
9.8 软体项目计画
9.8.1 质量管理
9.8.2 项目进度计画
9.8.3 进度安排
9.8.4 进度跟蹤管理
9.9 小结
习题
第二部分 软体工程工具教程和实践
第T1章 软体分析与设计工具MS Visio
T1.1 概述
T1.2 Visio基本使用
T1.2.1 Visio绘图初步
T1.2.2 Visio提供的模型
T1.3 模型绘製
T1.3.1 数据流模型
【案例T1.1】订货系统
T1.3.2 状态机模型
【案例T1.2】电子表设计
T1.3.3 Jackson模型
【案例T1.3】统计文档空格数目
T1.4 小结
习题
第T2章 数据建模工具Power Designer
T2.1 概述
T2.2 PowerDesigner基本操作
T2.3 PowerDesigner模型
T2.4 数据建模
T2.4.1 概念资料库模型构建
【案例T2.1】POS机系统
T2.4.2 业务处理模型构建
【案例T2.2】图书馆馆管理系统
T2.4.3 物理数据模型构建
【案例T2.3】出卷系统的物理数据模型
T2.4 小结
习题
第T3章 面向对象建模工具IBM Rose
T3.1 概述
T3.2 Rose基本使用
T3.2.1 Rational Rose主界面
T3.2.2 Rational Rose基本使用
T3.3 面向对象模型构建
T3.3.1 用例视图模型构建
【案例T3.1】电梯系统用例模型
T3.3.2 逻辑分析模型构建
【案例T3.2】电梯系统类图
T3.3.3 动态行为分析模型构建
【案例T3.3】电梯系统动态模型
T3.4 小结
习题
第T4章 功能测试工具MI WinRunner
T4.1 概述
T4.2 WinRunner基本使用
T4.2.1 WinRunner基本操作
T4.2.2 WinRunner测试方法
T4.3 功能测试方法
T4.3.1使用嚮导识别对象
【案例T4.1】机票预定系统-录製脚本
T4.3.2 插入同步点
【案例T4.2】机票预定系统-同步点测试
T4.4 小结
习题:
第T5章 负载测试工具IBM LoadRunner
T5.1 概述
T5.2 LoadRunner基本使用
T5.3 LoadRunner测试过程与方法
T5.3.1 录製脚本
T5.3.2 脚本回放
T5.3.3 场景设计
【案例T5.1】网上订票系统
T5.4 小结
习题
第T6章 项目管理工具MS Project
T6.1 概述
T6.2 Project基本使用
T6.2.1 Project基本操作
T6.2.2 Project视图
T6.3 Project项目计画
T6.3.1 项目计画分析
【案例T6.1】面对面结对编程系统
T6.3.2 建立建立日曆视图
T6.3.3 创建并编辑任务列表
T6.4 小结
习题
第三部分 本书网路扩展教程
第 W1章 要求极高的计算机系统
W1.1 什幺是要求极高的系统?
【案例W1.1】胰岛素输送系统
【案例W1.2】欧洲空中客车A340宽体客机
W1.2 要求极高的系统特性
W1.2.1 可用性和可靠性关係
W1.2.2 安全性和保密性关係
W1.3 要求极高系统的需求分析
W1.3.1 风险驱动的描述
【案例W1.3】胰岛素输送系统的安全性需求
W1.3.2 安全性描述
W1.3.3 信息安全性描述
W1.3.4 软体可靠性描述
【案例W1.4】ATM机的可靠性需求
【案例W1.5】胰岛素输送系统的可靠性需求
【案例W1.6】胰岛素输送系统完整的需求描述
W1.4 形式化描述方法
W1.4.1 软体过程中的形式化描述
W1.4.2 接口描述方法
【案例W1.7】列表数据结构的代数法
【案例W1.8】空中交通管制系统的代数描述
W1.4.3 对象约束语言
【案例W1.9】块处理器的对象描述
W1.4.4 行为描述
【案例W1.10】胰岛素输送系统的Z方法描述
W1.5 要求极高的系统设计
W1.5.1 系统设计
W1.5.2 实时监控系统
【案例W1.11】房屋安全实时监控系统的分析
W1.6 要求极高系统的开发
W1.6.1 可靠的过程
W1.6.2 可靠的编程
W1.6.3 容错
W1.6.4 容错体系结构
W1.7 系统验证
W1.7.1 可靠性验证
W1.7.2 安全性保证
【案例W1.12】胰岛素输送系统的系统验证
W1.7.3 信息安全评估
【案例W1.13】胰岛素输送系统的安全评估
W1.8 小结
习题
第 W2章 测试驱动开发
W2.1 测试驱动开发概述
【案例W2.1】货币转换程式设计问题描述
W2.2 测试驱动开发步骤
【案例W2.2】货币转换程式初步设计
W2.3 深入测试
【案例W2.3】货币转换程式设计深入测试
W2.4 代码重构
【案例W2.4】货币转换程式代码重构
W2.5 完整测试
【案例W2.5】货币转换程式完整测试
W2.6 小结
习题
第一部分 软体工程基本教程
第 1章 软体工程概述
1.1 关于软体
1.1.1软体及其特性
1.1.2软体的演化
1.1.3软体危机
【案例1.1】伦敦救护服务系统
1.2 软体工程
1.2.1 软体工程基本原理
1.2.2 软体工程基本原则
1.2.3 软体危机的解决途径
1.3 软体工程基本活动
1.4 软体工程两大范型
1.4.1 结构化范型
1.4.2 面向对象范型
1.5 小结
习题
第2章 软体过程及其模型
2.1 软体过程概述
2.1.1 软体过程框架
2.1.2 软体过程模型
2.2 软体生命周期
2.2.1 什幺是软体生命周期?
2.2.2 软体生命周期阶段
2.3 敏捷软体过程
2.3.1 敏捷软体过程
2.3.2 极限编程
2.3.3 结对编程
2.3.4 分散式结对编程
2.4 软体工程实践
2.4.1 概念与原则
2.4.2 软体工程实践
2.5 软体过程模型
2.5.1 传统的软体过程模型
2.5.2 面向对象过程模型
2.6 能力成熟度模型
2.6.1 什幺是能力成熟度模型?
2.6.2 软体过程成熟度5级模型
2.7 小结
习题
第 3章 软体需求分析
3.1 关于软体需求
3.1.1 功能需求
3.1.2 非功能需求
3.1.3 业务需求
【案例3.1】基于终端的简讯系统
3.2 需求分析过程
3.3 非形式化分析技术
3.3.1 会谈
3.3.2 场景分析
3.3.3 调查表
【案例3.2】ATM机“取款”场景描述
3.4 结构化分析建模
3.4.1结构化需求分析
3.4.2 结构化分析模型
3.4.3 面向数据的建模方法
【案例3.3】图书馆管理系统实体关係模型
【案例3.4】POS机系统
3.4.4 面向数据流的建模方法
【案例3.5】订货系统数据流图
【案例3.6】电子表系统的状态图
【案例3.7】图书馆管理系统的分析模型
3.5 面向对象分析建模
3.5.1 面向对象概念
3.5.2 UML统一建模语言
3.5.3 用例建模
【案例3.8】POS机系统用例描述
3.5.4 业务建模
【案例3.9】POS机系统业务分析
3.5.5 系统行为建模
【案例3.10】POS机系统完整的对象分析
3.6 小结
习题
第 4章 软体设计
4.1 软体设计概述
4.1.1 软体设计过程
4.1.2 软体设计文档
4.2 模组化设计原理
4.2.1 模组化
4.2.2 抽象
4.2.3 信息隐蔽
4.2.4 模组独立性度量
4.2.5 逐步求精
4.2.6 重构
4.3 软体结构
4.4 软体体系结构模型
4.4.1 系统构成模型
4.4.2 系统控制模型
4.5 结构化软体设计
4.5.1 面向数据流的设计方法
【案例4.1】统计档案中单词数目的数据流设计
【案例4.2】ATM自动柜员机事务流设计
【案例4.3】公司的销售管理系统设计
4.5.2 面向数据结构的设计
【案例4.4】统计档案空格数和输出统计
【案例4.5】图书馆管理系统设计
4.6 面向对象的设计
4.6.1 面向对象设计过程
4.6.2 设计模式
【案例4.6】POS机系统面向对象设计
4.7 小结
习题
第 5章 软体详细设计
5.1 结构化详细设计
5.2 结构化设计工具
5.2.1 程式流程图
5.2.2 N-S图
5.2.3 PAD图
5.2.4 HIPO图
【案例5.1】盘存/销售系统的HIPO图
5.2.5 判定表与判定树
【案例5.2】确定保险类别
5.2.6 过程描述语言
【案例5.3】统计单词数目
5.3 人机界面设计
5.3.1 界面分析与设计
5.3.2 界面设计步骤
5.3.3 界面设计指南
【案例5.4】CAD系统中绘製圆弧的操作命令序列设计
5.4 资料库设计
5.5 面向对象精化设计
5.5.1 设计模型精化
5.5.2逻辑架构精化
5.5.3包设计
5.4.4 精化互动图
5.5.5 精化类图
【案例5.5】ATM机系统精华设计
5.6 编码
5.6.1 编码语言
5.6.2 编码风格
【案例5.6】POS机系统详细设计
5.7 小结
习题
第 6章 面向对象与统一软体开发过程
6.1 概述
6.2 用况驱动过程
【案例6.1】ATM机系统用况模型
6.3 构架描述
【案例6.2】ATM机系统构架设计
6.4 叠代的增量开发过程
6.5 核心工作流
6.5.1 需求捕获工作流
【案例6.3】电子商务交易系统
6.5.2 分析
【案例6.4】电子商务交易系统分析
6.5.3 设计
6.5.4 实现
6.5.5 测试
6.6 小结
习题
第 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.1】ATM机系统等价类划分
7.4.2 边界值分析
【案例7.2】三角形无效类测试用例设计
7.4.3 错误推测
7.4.4 因果图方法
【案例7.3】自动售货机因果图法
7.5 白盒测试技术
7.5.1 逻辑覆盖
【案例7.4】逻辑覆盖测试用例设计
7.5.2 路径覆盖
【案例7.5】学生成绩计算路径测试用例设计
7.5.3 循环路径测试策略
7.6 集成测试技术
7.6.1 集成策略
7.6.2 性能测试
【案例7.6】多媒体资料库性能测试
【案例7.7】ATM取款机测试
7.7 调试技术
7.7.1 调试过程
7.7.2 调试策略
7.8 小结
习题
第 8章 软体维护
8.1 软体维护概述
8.1.1 软体维护任务
8.1.2 软体维护的特点
8.1.3 软体的可维护性
8.2 软体维护类型
8.3 软体维护技术与过程
8.4 非结构化维护和结构化维护
8.5 提高软体的可维护性
8.6 小结
习题
第 9章 软体项目管理
9.1 软体项目管理概述
9.2 软体项目组织管理
9.2.1 团队组织模式
9.2.2 项目组织原则
9.3 软体过程管理
9.3.1 软体过程度量
9.3.2 软体过程改进
9.3.3 软体项目度量
9.4 风险管理
9.4.1 风险识别
9.4.2 风险预测
9.4.3 风险管理
9.5 软体配置管理
9.5.1 基本概念
9.5.2 软体配置管理过程
9.5.3版本管理
9.6 软体项目估算
9.6.1 概述
9.6.2 软体规模度量
9.6.3 软体估算管理
9.7 软体项目估算技术
9.7.1 分解技术
【案例9.1】CAD系统的基于LOC的估算
【案例9.2】CAD系统的功能点FP估算
【案例9.3】CAD系统的基于过程的估算
9.7.2 经验模型
【案例9.4】基于微处理器的通信软体的中级COCOMO估算
【案例9.5】POS机系统的成本估算
9.8 软体项目计画
9.8.1 质量管理
9.8.2 项目进度计画
9.8.3 进度安排
9.8.4 进度跟蹤管理
9.9 小结
习题
第二部分 软体工程工具教程和实践
第T1章 软体分析与设计工具MS Visio
T1.1 概述
T1.2 Visio基本使用
T1.2.1 Visio绘图初步
T1.2.2 Visio提供的模型
T1.3 模型绘製
T1.3.1 数据流模型
【案例T1.1】订货系统
T1.3.2 状态机模型
【案例T1.2】电子表设计
T1.3.3 Jackson模型
【案例T1.3】统计文档空格数目
T1.4 小结
习题
第T2章 数据建模工具Power Designer
T2.1 概述
T2.2 PowerDesigner基本操作
T2.3 PowerDesigner模型
T2.4 数据建模
T2.4.1 概念资料库模型构建
【案例T2.1】POS机系统
T2.4.2 业务处理模型构建
【案例T2.2】图书馆馆管理系统
T2.4.3 物理数据模型构建
【案例T2.3】出卷系统的物理数据模型
T2.4 小结
习题
第T3章 面向对象建模工具IBM Rose
T3.1 概述
T3.2 Rose基本使用
T3.2.1 Rational Rose主界面
T3.2.2 Rational Rose基本使用
T3.3 面向对象模型构建
T3.3.1 用例视图模型构建
【案例T3.1】电梯系统用例模型
T3.3.2 逻辑分析模型构建
【案例T3.2】电梯系统类图
T3.3.3 动态行为分析模型构建
【案例T3.3】电梯系统动态模型
T3.4 小结
习题
第T4章 功能测试工具MI WinRunner
T4.1 概述
T4.2 WinRunner基本使用
T4.2.1 WinRunner基本操作
T4.2.2 WinRunner测试方法
T4.3 功能测试方法
T4.3.1使用嚮导识别对象
【案例T4.1】机票预定系统-录製脚本
T4.3.2 插入同步点
【案例T4.2】机票预定系统-同步点测试
T4.4 小结
习题:
第T5章 负载测试工具IBM LoadRunner
T5.1 概述
T5.2 LoadRunner基本使用
T5.3 LoadRunner测试过程与方法
T5.3.1 录製脚本
T5.3.2 脚本回放
T5.3.3 场景设计
【案例T5.1】网上订票系统
T5.4 小结
习题
第T6章 项目管理工具MS Project
T6.1 概述
T6.2 Project基本使用
T6.2.1 Project基本操作
T6.2.2 Project视图
T6.3 Project项目计画
T6.3.1 项目计画分析
【案例T6.1】面对面结对编程系统
T6.3.2 建立建立日曆视图
T6.3.3 创建并编辑任务列表
T6.4 小结
习题
第三部分 本书网路扩展教程
第 W1章 要求极高的计算机系统
W1.1 什幺是要求极高的系统?
【案例W1.1】胰岛素输送系统
【案例W1.2】欧洲空中客车A340宽体客机
W1.2 要求极高的系统特性
W1.2.1 可用性和可靠性关係
W1.2.2 安全性和保密性关係
W1.3 要求极高系统的需求分析
W1.3.1 风险驱动的描述
【案例W1.3】胰岛素输送系统的安全性需求
W1.3.2 安全性描述
W1.3.3 信息安全性描述
W1.3.4 软体可靠性描述
【案例W1.4】ATM机的可靠性需求
【案例W1.5】胰岛素输送系统的可靠性需求
【案例W1.6】胰岛素输送系统完整的需求描述
W1.4 形式化描述方法
W1.4.1 软体过程中的形式化描述
W1.4.2 接口描述方法
【案例W1.7】列表数据结构的代数法
【案例W1.8】空中交通管制系统的代数描述
W1.4.3 对象约束语言
【案例W1.9】块处理器的对象描述
W1.4.4 行为描述
【案例W1.10】胰岛素输送系统的Z方法描述
W1.5 要求极高的系统设计
W1.5.1 系统设计
W1.5.2 实时监控系统
【案例W1.11】房屋安全实时监控系统的分析
W1.6 要求极高系统的开发
W1.6.1 可靠的过程
W1.6.2 可靠的编程
W1.6.3 容错
W1.6.4 容错体系结构
W1.7 系统验证
W1.7.1 可靠性验证
W1.7.2 安全性保证
【案例W1.12】胰岛素输送系统的系统验证
W1.7.3 信息安全评估
【案例W1.13】胰岛素输送系统的安全评估
W1.8 小结
习题
第 W2章 测试驱动开发
W2.1 测试驱动开发概述
【案例W2.1】货币转换程式设计问题描述
W2.2 测试驱动开发步骤
【案例W2.2】货币转换程式初步设计
W2.3 深入测试
【案例W2.3】货币转换程式设计深入测试
W2.4 代码重构
【案例W2.4】货币转换程式代码重构
W2.5 完整测试
【案例W2.5】货币转换程式完整测试
W2.6 小结
习题