标题：软件工程案例教程：软件项目开发实践
图书信息
出版社: 机械工业出版社; 第2版 (2011年10月1日)
外文书名: Software Engineering: A Case Study Approach
丛书名: 国家示范性软件学院西路教材
平装: 274页
正文语种: 简体中文
开本: 16
ISBN: 9787111353188, 7111353188
条形码: 9787111353188
尺寸: 26 x 18.4 x 0.6 cm
重量: 481 g
内容简介
《软件工程案例教程:软件项目开发实践(第2版)》以案例的形式讲述了软件工程中软件项目开发的实践过程，全面涵盖软件项目开发中需求分析、概要设计、详细设计、编码、测试、提交以及运行维护等过程中涉及的理论、方法、技术、提交的产品和文档等。《软件工程案例教程:软件项目开发实践(第2版)》注重实效，系统、全面，通过贯穿始终的案例的讲述，让学习者在短时间内掌握软件项目开发的基本知识、基本过程，并有效提高实践能力。
《软件工程案例教程:软件项目开发实践(第2版)》共分九章，第1～2章介绍软件工程的基本概念以及软件工程的主要技术，第3～9章系统地讲述软件项目开发的各个过程。《软件工程案例教程:软件项目开发实践(第2版)》注重理论与实际的结合，引导学生通过软件开发理论和案例的学习，深刻理解软件工程的实质，为以后的软件工程实践打下基础。
《软件工程案例教程:软件项目开发实践(第2版)》既适合作为高等院校计算机及相关专业软件工程、软件测试课程的教材，也适合作为广大软件技术人员的培训教程，同时可以作为软件开发人员在工作及学习中的技术参考书。
目录
前言 
第1章 软件工程概述 1 
1.1 软件工程的背景 1 
1.2 软件工程知识体系 3 
1.3 软件工程的三段论 4 
1.4 软件工程模型 5 
1.4.1 软件项目开发路线图 7 
1.4.2 软件项目管理路线图 8 
1.4.3 软件过程改进路线图 9 
1.5 软件开发模型 12 
1.5.1 瀑布模型 12 
1.5.2 v模型 12 
1.5.3 原型模型 13 
1.5.4 增量式模型 13 
1.5.5 螺旋式模型 13 
1.5.6 喷泉模型 15 
1.5.7 智能模型 15 
1.6 软件工程中的复用原则 15 
1.7 小结 17 
1.8 练习题 17 
第2章 结构化方法和面向对象方法 19 
2.1 软件工程方法比较 19 
2.2 结构化软件工程方法 20 
2.2.1 结构化需求分析 21 
2.2.2 结构化概要设计与详细设计 21 
2.2.3 结构化编码 22 
2.2.4 结构化测试 22 
2.2.5 结构化维护 22 
2.3 面向对象软件工程方法 22 
2.3.1 面向对象需求分析 23 
2.3.2 面向对象设计 24 
2.3.3 面向对象编程 24 
2.3.4 面向对象测试 24 
2.3.5 面向对象维护 24 
2.4 软件逆向工程 25 
2.5 小结 25 
2.6 练习题 25 
第3章 软件项目的需求分析 26 
3.1 软件项目需求概述 26 
3.1.1 需求定义 26 
3.1.2 需求类型 27 
3.1.3 需求的重要性 28 
3.2 需求工程 28 
3.2.1 需求获取 28 
3.2.2 需求分析 31 
3.2.3 需求规格说明 31 
3.2.4 需求验证 32 
3.2.5 需求变更 32 
3.3 需求分析模型 33 
3.3.1 关联模型 34 
3.3.2 行为模型 34 
3.3.3 数据模型 35 
3.3.4 原型模型 37 
3.4 需求建模的方法 37 
3.4.1 结构化分析方法 37 
3.4.2 面向对象分析方法 39 
3.4.3 其他方法 49 
3.5 需求规格说明文档 51 
3.6 项目案例 53 
3.7 小结 63 
3.8 练习题 63 
第4章 软件项目的概要设计 65 
4.1 软件设计定义 65 
4.2 概要设计方法概论 66 
4.3 设计模型 66 
4.3.1 体系结构设计 66 
4.3.2 数据设计 69 
4.3.3 接口设计 78 
4.3.4 构件设计 80 
4.4 结构化的设计方法 85 
4.4.1 功能模块划分 85 
4.4.2 面向数据流的设计 86 
4.4.3 输入/输出设计 87 
4.5 面向对象的设计方法 87 
4.5.1 识别对象 88 
4.5.2 确定属性 89 
4.5.3 定义操作 89 
4.5.4 确定对象之间的通信 90 
4.5.5 完成对象定义 90 
4.6 关于软件模式和框架的概念 96 
4.6.1 体系结构模式 96 
4.6.2 设计模式 98 
4.6.3 体系结构框架 99 
4.7 软件设计指导原则 102 
4.8 概要设计文档 103 
4.9 项目案例 106 
4.10 小结 119 
4.11 练习题 119 
第5章 软件项目的详细设计 121 
5.1 关于详细设计的概念 121 
5.2 详细设计的内容 122 
5.3 结构化的详细设计方法 122 
5.3.1 面向数据结构的设计 122 
5.3.2 结构化详细设计的例子 125 
5.4 面向对象的详细设计方法 126 
5.4.1 面向对象的详细设计 126 
5.4.2 面向对象详细设计的例子 127 
5.5 表达详细设计的工具 129 
5.5.1 图形符号的设计方式 129 
5.5.2 表格的设计方式 129 
5.5.3 过程设计语言pdl 130 
5.6 详细设计文档 132 
5.7 项目案例 133 
5.8 小结 145 
5.9 练习题 145 
第6章 软件项目的编码 147 
6.1 编码概述 147 
6.2 编码方法 147 
6.2.1 结构化编程 148 
6.2.2 面向对象编程 152 
6.3 编码策略 153 
6.3.1 自顶向下的开发策略 153 
6.3.2 自底向上的开发策略 153 
6.3.3 自顶向下和自底向上相结合的开发策略 153 
6.3.4 线程模式的开发策略 153 
6.4 编码语言与编码标准和规范 154 
6.4.1 编码语言 154 
6.4.2 编码标准和规范 154 
6.5 关于重构理念和重用原则 161 
6.5.1 重构理念 161 
6.5.2 重用原则 161 
6.6 编码文档 162 
6.7 项目案例 162 
6.8 小结 172 
6.9 练习题 172 
第7章 软件项目的测试 174 
7.1 软件测试概述 174 
7.2 软件测试方法概论 175 
7.3 静态测试 176 
7.3.1 文档审查 176 
7.3.2 代码检查 178 
7.3.3 技术评审 178 
7.4 动态测试 180 
7.4.1 白盒测试方法 180 
7.4.2 黑盒测试方法 185 
7.4.3 灰盒测试方法 196 
7.5 软件测试级别 196 
7.5.1 单元测试 197 
7.5.2 集成测试 199 
7.5.3 系统测试 201 
7.5.4 验收测试 204 
7.5.5 上线测试 204 
7.5.6 回归测试 204 
7.6 面向对象的测试 204 
7.6.1 面向对象分析的测试 205 
7.6.2 面向对象设计的测试 205 
7.6.3 面向对象的单元测试 206 
7.6.4 面向对象的集成测试 207 
7.6.5 面向对象的系统测试方法 207 
7.7 测试过程管理 208 
7.7.1 软件测试计划 208 
7.7.2 软件测试设计 209 
7.7.3 软件测试开发 210 
7.7.4 软件测试执行 210 
7.7.5 软件测试跟踪 211 
7.7.6 软件测试评估与总结 211 
7.8 自动化测试 211 
7.9 软件测试过程的文档 213 
7.9.1 测试计划文档 213 
7.9.2 测试设计文档 214 
7.9.3 软件测试报告 222 
7.10 项目案例 224 
7.10.1 集成测试设计案例 224 
7.10.2 系统测试设计案例 230 
7.10.3 系统测试报告案例 238 
7.11 小结 250 
7.12 练习题 250 
第8章 软件项目的提交 252 
8.1 软件项目验收与移交 252 
8.2 验收测试 253 
8.3 培训 254 
8.3.1 培训对象 254 
8.3.2 培训方式 254 
8.3.3 培训指南 255 
8.4 用户文档 255 
8.4.1 用户手册 255 
8.4.2 系统管理员手册 255 
8.4.3 其他文档 256 
8.5 软件项目提交文档 256 
8.5.1 验收测试报告 256 
8.5.2 用户手册 259 
8.5.3 系统管理员手册 260 
8.5.4 产品提交文档 261 
8.6 项目案例 262 
8.7 小结 265 
8.8 练习题 265 
第9章 软件项目的维护 267 
9.1 软件项目维护概述 267 
9.2 试运行 267 
9.3 软件的可维护性 268 
9.4 软件项目维护的类型 268 
9.5 软件再工程过程 269 
9.6 软件项目维护的过程 271 
9.6.1 维护申请 271 
9.6.2 维护实现 272 
9.6.3 维护产品发布 272 
9.7 软件维护过程文档 272 
9.8 项目案例 272 
9.9 小结 273 
9.10 练习题 273 
参考文献 275