注册 登录 进入教材巡展
#

出版时间:2025-01

出版社:电子工业出版社

以下为《软件工程(第2版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 电子工业出版社
  • 9787121493256
  • 2版
  • 540872
  • 60266944-2
  • 平塑
  • 16开
  • 2025-01
  • 461
  • 288
  • 工学
  • 计算机类
  • 计算机科学与技术
  • 本科 研究生及以上
内容简介
本书的具体内容包括:第1章介绍软件工程的相关概念、技术与方法;第2章围绕软件开发过程,对软件开发的阶段组织及生命周期模型进行说明;第3章到第11章主要围绕软件开发的具体活动,讨论需求分析、软件架构的构建、类的分析与设计、代码生成、类的详细设计、设计优化、实现技术、交互设计、软件测试等内容;第12章介绍软件项目级管理,包括软件配置管理、项目计划、项目计划跟踪控制等;第13章重点介绍软件过程管理与改进。本书知识结构紧凑、突出案例教学。在开发方法的介绍上通过具体案例贯穿,并且尽量以程序代码的形式对相关的知识点进行说明和展示,以代码为驱动,以此鼓励学生通过实践,对软件工程进行深入的理解和探索。
目录
目 录

第1章 软件工程概述 1
1.1 软件危机与软件工程 1
1.1.1 软件危机 1
1.1.2 软件工程 2
1.2 系统工程与UML 4
1.2.1 系统工程 4
1.2.2 统一建模语言UML 5
1.3 系统开发的解空间 7
1.4 软件工程开发方法 9
1.4.1 传统开发方法 9
1.4.2 面向对象方法 9
1.4.3 理解两种开发方法 10
1.5 软件工程发展 11
1.6 习题 12
第2章 软件开发过程 13
2.1 软件生命周期模型与软件过程 13
2.2 传统生命周期模型 15
2.2.1 瀑布模型 15
2.2.2 快速原型模型 16
2.2.3 增量模型 18
2.2.4 螺旋模型 18
2.2.5 喷泉模型 20
2.3 敏捷生命周期模型 20
2.3.1 增量交付与迭代开发 21
2.3.2 敏捷生命周期模型的优势 22
2.3.3 极限编程 23
2.3.4 Scrum 24
2.3.5 持续集成与持续交付 25
2.3.6 DevOps过程 26
2.4 习题 28
第3章 需求分析 29
3.1 需求分析活动 29
3.1.1 需求准备 29
3.1.2 系统涉众 30
3.1.3 系统目标 32
3.2 用例与系统功能 33
3.2.1 用例及其表示 33
3.2.2 识别用例 34
3.2.3 用例规约 36
3.2.4 用例提炼 38
3.3 过程建模与事件流 40
3.3.1 过程建模 40
3.3.2 事件流 43
3.4 功能性需求 45
3.5 非功能性需求 49
3.6 需求跟踪 51
3.7 习题 52
第4章 软件架构的构建 54
4.1 软件架构及其定义 54
4.1.1 软件架构的理解 54
4.1.2 软件架构的定义 55
4.1.3 软件架构的“4+1”视图模型 55
4.2 软件架构模型 57
4.3 软件架构风格 57
4.3.1 管道与过滤器 58
4.3.2 层次结构 58
4.3.3 仓库/黑板系统 59
4.3.4 正交软件结构 60
4.3.5 客户机/服务器结构 61
4.3.6 浏览器/服务器结构 61
4.3.7 MVC架构 62
4.4 软件架构设计 64
4.4.1 包及其结构 64
4.4.2 包结构设计 65
4.5 习题 67


第5章 类的分析与设计 68
5.1 基本类的确定 68
5.1.1 类的识别 69
5.1.2 初始类图 71
5.1.3 类的方法 72
5.1.4 类的关系 72
5.1.5 类与对象 74
5.2 类的细化 75
5.2.1 管理类和控制类 75
5.2.2 设计优化 78
5.3 补充和确认 79
5.3.1 顺序图 79
5.3.2 场景模拟 81
5.4 完善设计 85
5.5 习题 87
第6章 代码生成 88
6.1 正逆向工程与CASE环境 88
6.2 单个类的实现 90
6.3 关联关系的实现 93
6.4 对象归属关系的实现 96
6.4.1 聚合关系 96
6.4.2 组合关系 99
6.4.3 依赖关系 100
6.5 软件架构的实现 100
6.6 其他物理实现 105
6.7 习题 107
第7章 类的详细设计 109
7.1 详细设计的主要活动 109
7.2 类方法的详细设计 110
7.2.1 图形工具 110
7.2.2 表格工具 112
7.2.3 语言工具 114
7.3 类的行为设计 114
7.3.1 状态图的结构 115
7.3.2 状态图的扩展 117
7.3.3 状态图的应用 119
7.4 对象约束语言 121
7.5 习题 125
第8章 设计优化 127
8.1 小即是美 127
8.2 设计优化思想 128
8.2.1 运行时的多态 128
8.2.2 耦合的消息链 130
8.2.3 狎昵关系 131
8.2.4 被拒绝的遗赠 132
8.2.5 循环依赖 132
8.3 设计原则 133
8.3.1 接口隔离原则 133
8.3.2 依赖倒置原则 134
8.3.3 开放封闭原则 134
8.3.4 Liskov替换原则 136
8.3.5 单一职责原则 137
8.3.6 合成/聚合复用原则 138
8.4 设计模式 139
8.4.1 抽象工厂模式 140
8.4.2 单例模式 142
8.4.3 适配器模式 144
8.4.4 桥模式 145
8.4.5 装饰模式 146
8.4.6 门面模式 147
8.4.7 代理模式 148
8.4.8 观察者模式 149
8.4.9 策略模式 150
8.4.10 状态模式 150
8.5 习题 153
第9章 实现技术 155
9.1 非功能性需求的实现 155
9.2 数据表示与交换格式 157
9.3 程序轮子 158
9.3.1 组件 160
9.3.2 框架 162
9.4 数据的持久化 166
9.4.1 文件持久化 166
9.4.2 数据库持久化 168
9.5 领域特定语言 169
9.6 模型驱动架构 171
9.6.1 原理及过程 171
9.6.2 MDA的应用 173
9.7 重构 174
9.8 习题 177
第10章 交互设计 179
10.1 交互设计概述 179
10.2 可用性 181
10.2.1 任务适合性 182
10.2.2 自我描述性 183
10.2.3 可控性 183
10.2.4 与用户期望一致性 184
10.2.5 容错性 185
10.2.6 可定制性 185
10.2.7 易学性 186
10.3 交互设计过程 186
10.4 可用性的验证 187
10.5 习题 189
第11章 软件测试 190
11.1 形式化验证 190
11.2 测试技术 192
11.2.1 测试分类 193
11.2.2 测试策略 194
11.2.3 非功能性测试 196
11.3 软件度量 197
11.3.1 控制流图与环形复杂度 198
11.3.2 方法内聚缺乏度 201
11.4 等价类 202
11.4.1 等价类分析 203
11.4.2 等价类与边界 204
11.4.3 等价类组合 205
11.4.4 面向对象中的等价类 207
11.5 基于控制流的测试 209
11.6 断言机制 213
11.7 测试框架 215
11.7.1 测试环境 215
11.7.2 单元测试框架 216
11.8 可测试性 223
11.8.1 可测试性基础 2