实用软件工程(第4版) pdf

实用软件工程(第4版)

内容简介

本书是一本具有自主创新版权的大学教材,是作者多年在IT企业软件工程管理与在高校软件工程教学经验的积累、反思与升华,是国内软件工程教材中的经典著作。

本书面向工程实践,按照IT企业工作流程安排章节顺序,共11章,内容包括软件工程的内容与方法、软件生命周期与开发模型、软件立项与合同、软件需求分析、软件策划、软件建模、软件设计、软件实现、软件测试、软件实施与维护、软件管理。书中系统地提出“软件工程方法论”与“软件工程实践论”,详述功能模型、业务模型和数据模型的“三个模型”建模思想,数据模型设计中的“四个原子化”理论,以及面向过程、面向对象和面向元数据的需求分析、概要设计和详细设计方法。

作者简介

赵池龙,程努华 著

目录

第1章 软件工程的内容与方法 1
1.1 软件的定义 2
1.2 软件工程的定义 4
1.3 软件工程在软件行业中的作用 8
1.4 软件工程方法论 10
1.4.1 软件工程方法论的提出 10
1.4.2 面向过程方法 11
1.4.3 面向对象方法 12
1.4.4 面向元数据方法 13
1.4.5 形式化方法 14
1.4.6 面向业务基础平台的方法 18
1.4.7 软件工程方法论小结 20
1.5 软件工程实践论 21
1.5.1 软件工程实践论的提出 21
1.5.2 面向流程分析 22
1.5.3 面向元数据设计 22
1.5.4 面向对象实现 22
1.5.5 面向功能测试 23
1.5.6 面向过程管理 23
1.5.7 软件工程实践论小结 23
1.6 软件支持过程 24
1.7 软件管理过程 25
1.8 实例分析――某港口信息系统建设案例 26
1.9 本章小结 28
习题1 28
第2章 软件生命周期与开发模型 29
2.1 软件生命周期模型概论 30
2.2 瀑布模型 31
2.3 增量模型 33
2.4 原型模型 34
2.5 迭代模型 36
2.6 螺旋模型 39
2.7 喷泉模型 41
2.8 XP模型 41
2.9 各种模型之间的关系 42
2.10 本章小结 44
习题2 45
第3章 软件立项与合同 46
3.1 软件立项方法与文档 47
3.2 签订合同的方法与文档 47
3.3 软件招标与投标 48
3.4 下达任务的方法与文档 49
3.5 本章小结 53
习题3 53
第4章 软件需求分析 54
4.1 需求分析的基本概念 55
4.2 需求分析的任务 58
4.3 需求分析的方法 63
4.4 需求描述工具 68
4.4.1 描述工具概述 68
4.4.2 面向元数据的需求描述工具 68
4.4.3 面向过程的需求描述工具 69
4.4.4 面向对象的需求描述工具 72
4.5 需求过程管理 77
4.6 需求分析文档 79
4.7 本章小结 81
习题4 82
第5章 软件策划 83
5.1 软件策划概论 84
5.2 软件规模估计方法 87
5.3 软件费用与资源估计方法 89
5.4 软件策划文档 90
5.5 本章小结 91
习题5 91
第6章 软件建模 92
6.1 三个模型的建模思想 93
6.2 数据模型设计概论 96
6.3 数据库设计的理论与方法 100
6.4 数据模型建模实例分析――“混凝土公司信息管理系统”建模案例 106
6.5 三个模型建模实例分析――“某省级新华书店信息管理系统”建模案例 109
6.6 三个模型建模思想总结 114
6.7 本章小结 115
习题6 116
第7章 软件设计 117
7.1 软件设计概论 118
7.2 软件设计原理 120
7.3 面向过程设计 124
7.3.1 面向过程概要设计 124
7.3.2 面向过程详细设计 127
7.4 面向对象设计 130
7.4.1 面向对象设计描述工具 130
7.4.2 面向对象设计的步骤 138
7.5 面向元数据设计 140
7.6 软件设计方法学总结 143
7.7 软件设计文档 144
7.8 本章小结 145
习题7 146
第8章 软件实现 147
8.1 软件实现概论 148
8.2 软件编码技术 151
8.3 软件实现管理 155
8.4 本章小结 158
习题8 158
第9章 软件测试 159
9.1 软件测试概论 160
9.2 软件测试模型 165
9.3 黑盒测试方法 167
9.3.1 等价类划分法 168
9.3.2 边界值分析法 169
9.3.3 错误推测法 170
9.3.4 因果图分析法 170
9.3.5 场景分析法 171
9.3.6 黑盒测试用例设计 171
9.3.7 黑盒测试的优缺点 174
9.4 白盒测试方法 174
9.5 灰盒测试方法 178
9.6 测试过程与测试文档 178
9.7 本章小结 182
习题9 182
第10章 软件实施与维护 184
10.1 软件产品的分类 185
10.2 软件产品的发布 186
10.3 软件产品的实施 188
10.4 软件维护的传统方法 189
10.5 软件维护的最新方法 192
10.6 软件维护文档 194
10.7 本章小结 195
习题10 196
第11章 软件管理 197
11.1 软件过程改进模型CMMI 198
11.1.1 CMMI内容简介 198
11.1.2 CMMI实施思路 201
11.1.3 成熟度等级2过程域的解释 205
11.2 敏捷文化现象 206
11.3 软件配置管理 208
11.3.1 配置管理的基本概念 208
11.3.2 配置管理员的职责 211
11.3.3 配置管理工具VSS的工作原理 211
11.4 软件质量保证 213
11.4.1 软件质量保证基本概念 213
11.4.2 软件质量保证文档 216
11.5 软件项目管理 217
11.5.1 项目与项目管理的定义 217
11.5.2 项目经理的七项职责及
十项工作程序 217
11.5.3 项目经理对程序员的八项要求 219
11.5.4 从大学生到项目经理 221
11.5.5 软件企业人才管理策略 222
11.5.6 软件企业架构及工作流 223
11.6 本章小结 226
习题11 227
参考文献 228

感悟与笔记

软件需求是决定软件开发是否成功的一个关键因素,一旦发生错误,将会给整个软件开发工作带来极大的损害。

一.软件需求

软件需求定义:用户解决问题或达到目标所需要的条件或能力。

系统或系统部件满足合同、标准、规范或其他正式规定文档所需具有的条件或能力。

一种反映上面所描述的条件或能力的文档说明。

1.业务需求

 业务需求是组织或客户对于系统的高层次目标要求,定义了项目的远景和范围,即确定软件产品的发展方向、功能范围、目标客户和价值来源。

2.用户需求

 用户需求是从用户角度描述的系统功能需求和非功能需求,通常只涉及系统的外部行为,而不涉及系统的内部特性。

3.功能需求和非功能需求

 功能性需求描述系统应该提供的功能或服务,通常涉及用户或外部系统与该系统之间的交互,一般不考虑系统的实现细节。

4.系统需求

 系统需求是更加详细地描述系统应该做什么,通常包括许多分析模型,诸如对象模型、数据模型、状态模型等。系统需求主要面向开发人员进行描述,是开发人员进行软件设计的基础。

二.需求工程过程

1.需求获取

 需求获取是在问题及其最终解决方案之间架设桥梁的第一步。

 需求获取应该集中在用户任务上,而不是集中在用户接口上,其主要工作内容包括:

 聆听用户的需求;分析和整理所获取的信息;形成文档化的描述。

2.需求分析

 需求分析主要是对收集到的需求进行提炼、分析和认真审查,以确保所有的项目相关人员都明白其含义,并找出其中的错误、遗漏或其他不足的地方,形成完整的分析模型。

 主要内容:

 定义系统边界;建立软件原型;分析需求可行性;确定需求优先级;建立需求分析模型;创建数据字典。

3.需求规格说明

 软件需求规格说明(Software Requirement Specification,SRS)是需求开发的结果,它精确地阐述了一个软件系统必须提供的功能和性能以及它所要考虑的限制条件。

 软件需求规格说明具有广泛的使用范围,并成为用户、分析人员和设计人员之间进行理解和交流的手段。

4.需求验证

 需求验证是为了确保需求说明准确、完整地表达必要的质量特点。

 需求验证主要围绕需求规格说明的质量特性展开,这些质量特性包括正确性、无二性、完整性、可验证性、一致性、可修改性和可跟踪性等。

5.需求管理

 软件需求的最大问题在于难以清楚确定以及不断发生变化,这也是软件开发之所以困难的主要根源,因此有效地管理需求是项目成功的基础。

 需求管理的任务是分析变更影响并控制变更过程,主要包括变更控制、版本控制和需求跟踪等活动。

三.需求获取技术

需求获取的关键在于通过与用户的沟通和交流,收集和理解用户的各项要求。

1.面谈

2.需求专题讨论会

 需求专题讨论会也许是需求获取的一种最有力的技术。

3.观察用户工作流程

 被动观察和主动观察。

4.原型化方法

 抛弃式原型和演化式原型。

5.基于用例的方法

 确定参与者;确定用例;描述用例。

Copyright © 2021-2022 知识猫. All Rights Reserved.