书籍 软件工程基础  第3版的封面

软件工程基础 第3版PDF电子书下载

胡思康

购买点数

12

出版社

北京:清华大学出版社

出版时间

2019

ISBN

标注页数

341 页

PDF页数

360 页

图书目录

第1章 软件工程概述 1

1.1软件工程的发展历程 1

1.1.1软件危机 1

1.1.2软件危机出现的原因 3

1.1.3软件工程的发展 4

1.2软件工程的概念 5

1.2.1软件工程的定义 5

1.2.2软件工程的目标 6

1.2.3软件工程的实施原则 8

1.2.4软件工程的基本原理 9

1.3软件与软件过程 10

1.3.1软件的概念 11

1.3.2软件的分类 12

1.3.3软件生命周期 13

1.3.4软件过程 15

1.4软件过程模型 16

1.4.1瀑布模型 16

1.4.2原型模型 17

1.4.3增量模型 18

1.4.4螺旋模型 19

1.4.5喷泉模型 20

1.4.6敏捷过程模型 21

1.4.7渐进交付迭代模型 23

1.4.8微软解决框架过程模型 24

1.4.9软件过程模型的比较 26

1.5软件开发方法 26

1.5.1结构化开发方法 27

1.5.2面向对象开发方法 27

1.6案例描述 28

1.6.1简历信息自动获取和查询系统 28

1.6.2试卷自动生成系统 29

1.7本章小结 30

习题 31

第2章 软件需求工程 33

2.1软件需求的基本概念 33

2.1.1需求分析的任务 33

2.1.2需求分析的原则 34

2.1.3需求分析的内容 35

2.2可行性分析 36

2.2.1可行性分析的内容 36

2.2.2系统流程图 38

2.3需求工程的过程 39

2.3.1需求工程中的参与人员 39

2.3.2需求工程中的活动 40

2.3.3需求工程的管理 41

2.4需求获取技术 42

2.5结构化需求分析和建模 45

2.5.1结构化需求分析概述 45

2.5.2面向数据的数据建模 45

2.5.3面向数据流的功能建模 47

2.5.4面向状态转换的行为建模 51

2.6数据字典 54

2.6.1数据字典的编写要求 54

2.6.2数据字典的定义 55

2.7案例——简历自动获取和查询系统的需求建模 56

2.7.1数据建模——E-R图描述 56

2.7.2功能建模——数据流图 57

2.7.3行为建模——状态转换图 59

2.7.4加工逻辑——PDL语言的描述 59

2.7.5数据字典 59

2.8需求评审 61

2.8.1软件需求规格说明 61

2.8.2需求评审标准及需求验证 64

2.8.3需求变更管理 66

2.9本章小结 67

习题 67

第3章 软件设计基础 70

3.1软件设计概述 70

3.1.1软件设计与软件需求 70

3.1.2软件设计的任务 71

3.1.3软件设计的原则 73

3.2软件体系结构设计 74

3.2.1体系结构设计概述 74

3.2.2以数据为中心的数据仓库模型 74

3.2.3客户端/服务器模式的分布式结构 75

3.2.4层次模型 77

3.2.5 MVC模型 78

3.3模块化设计 80

3.3.1软件模块化与分解 80

3.3.2抽象 81

3.3.3信息隐藏 81

3.3.4模块独立性 82

3.3.5启发式规则 85

3.4界面设计 88

3.4.1界面设计的任务 88

3.4.2界面设计的原则 89

3.4.3界面设计的特性 90

3.5软件设计评审 91

3.5.1软件设计规格说明 91

3.5.2软件设计评审标准 94

3.5.3软件设计验证 96

3.6本章小结 97

习题 98

第4章 结构化设计方法 99

4.1结构化设计方法概述 99

4.2面向数据流的设计方法 100

4.2.1层次图和结构图 100

4.2.2变换分析法 102

4.2.3事务分析法 106

4.2.4混合分析法 107

4.3案例——简历自动获取和查询系统的数据流设计方法 108

4.3.1用变换分析法进行设计 108

4.3.2用事务分析法进行设计 109

4.3.3两种方法的比较 111

4.4结构化详细设计的工具 111

4.4.1程序流程图 111

4.4.2盒图 113

4.4.3问题分析图 114

4.4.4判定树 115

4.4.5判定表 116

4.4.6详细设计工具的比较 116

4.5本章小结 117

习题 118

第5章 软件实现 120

5.1程序设计语言 120

5.1.1程序设计语言的分类 120

5.1.2程序设计语言的特性 121

5.1.3选择程序设计语言 122

5.2程序设计风格 124

5.2.1程序编排和组织的准则 124

5.2.2程序设计的效率 128

5.3代码重用 130

5.4代码评审 131

5.5本章小结 135

习题 135

第6章 软件测试 138

6.1软件测试基础 138

6.1.1软件测试概念 138

6.1.2软件测试过程模型 139

6.1.3软件测试原则 141

6.1.4软件测试在软件开发各阶段的工作流程 143

6.1.5软件测试信息流 145

6.1.6软件测试技术分类 145

6.2白盒测试 147

6.2.1逻辑覆盖 147

6.2.2循环测试 150

6.2.3路径测试 152

6.3黑盒测试 156

6.3.1等价类划分 156

6.3.2边界值分析 158

6.3.3错误推测法 158

6.3.4因果图法 159

6.4白盒测试和黑盒测试的比较 161

6.4.1应用角度的不同 161

6.4.2白盒测试的优点与不足 162

6.4.3黑盒测试的优点与不足 162

6.5软件测试策略 162

6.5.1单元测试 162

6.5.2集成测试 165

6.5.3确认测试 169

6.5.4系统测试 170

6.6调试 172

6.6.1软件调试过程 172

6.6.2软件调试方法 173

6.7软件测试报告 174

6.7.1软件测试说明 174

6.7.2软件测试报告 176

6.8本章小结 177

习题 177

第7章 统一建模语言UML 180

7.1 UML的发展 180

7.1.1 UML的产生 180

7.1.2 UML的构成 181

7.1.3 UML的特点 182

7.2面向对象的基本概念 182

7.3 UML视图 188

7.4 UML的图和模型元素 189

7.4.1用例图 189

7.4.2类图 191

7.4.3包图 192

7.4.4状态图 193

7.4.5活动图 193

7.4.6顺序图 195

7.4.7协作图 196

7.4.8构件图 197

7.4.9配置图 198

7.5 UML的关系 198

7.5.1关联关系 199

7.5.2泛化关系 202

7.5.3依赖关系 205

7.5.4实现关系 206

7.6 UML的通用机制 206

7.6.1修饰 206

7.6.2注释 207

7.6.3规格说明 207

7.6.4扩展机制 207

7.7基于UML的软件过程 209

7.8本章小结 211

习题 211

第8章 面向对象分析 213

8.1面向对象分析概述 213

8.1.1传统软件过程中的不足 213

8.1.2面向对象的特点 214

8.1.3面向对象分析的基本过程 215

8.1.4面向对象分析的3类模型 215

8.1.5静态模型的5个层次 216

8.2建立功能模型(用例模型) 217

8.2.1识别参与者 218

8.2.2识别用例 218

8.2.3识别用例间关系 220

8.2.4用例描述文档 221

8.3建立静态模型(对象模型) 222

8.3.1识别类与对象 222

8.3.2划分主题 224

8.3.3确定结构 225

8.3.4确定属性 226

8.3.5确定服务 226

8.3.6类图描述文档 227

8.3.7包图描述文档 228

8.4建立动态模型 229

8.4.1建立顺序图及其描述文档 229

8.4.2建立状态图及其描述文档 231

8.4.3建立协作图及其描述文档 232

8.4.4建立活动图及其描述文档 233

8.5“会议中心系统”的面向对象分析案例研究 234

8.5.1建立功能模型——用例分析 235

8.5.2建立静态模型——5层结构 235

8.5.3建立动态模型——交互行为 238

8.6本章小结 239

习题 240

第9章 面向对象设计 241

9.1面向对象设计概述 241

9.1.1面向对象分析与设计的关系 241

9.1.2面向对象设计原则 242

9.2精化类及类间关系 243

9.2.1设计类的属性 243

9.2.2设计类的方法 244

9.2.3设计类间泛化关系 244

9.2.4设计关联类 247

9.3数据设计 247

9.3.1基于关系数据库的数据设计 247

9.3.2基于其他方式的数据设计 250

9.4人机交互设计 250

9.5建立实现模型 251

9.5.1构件图及其描述文档 252

9.5.2配置图及其描述文档 253

9.6设计模式简介 255

9.6.1概述 255

9.6.2 Singleton模式 256

9.6.3 Abstract Factory模式 257

9.6.4 Mediator模式 258

9.6.5 Adapter模式 261

9.6.6 Iterator模式 263

9.6.7 State模式 266

9.7面向对象的测试 268

9.7.1面向对象测试概述 268

9.7.2面向对象的单元测试 269

9.7.3基于过程的面向对象单元测试 273

9.8本章小结 273

习题 274

第10章 软件维护 277

10.1软件维护概述 277

10.1.1软件维护的任务 277

10.1.2软件维护的特点 278

10.1.3软件维护的分类 278

10.2软件维护过程 279

10.2.1软件维护方式 280

10.2.2软件维护管理的基本内容 281

10.2.3维护中存在的问题 285

10.2.4维护活动记录 286

10.3软件的可维护性 287

10.3.1可维护性因素 287

10.3.2提高软件的可维护性 288

10.4逆向工程 290

10.5软件维护评审 292

10.5.1软件维护规格说明文档 292

10.5.2软件维护评审 295

10.6本章小结 296

习题 297

第11章 软件项目管理 299

11.1软件项目管理概述 299

11.1.1软件项目管理的特点和内容 299

11.1.2软件项目管理目标 300

11.1.3软件项目管理的4P观点 301

11.2软件项目规模度量 302

11.2.1代码行技术 303

11.2.2功能点计算 304

11.2.3代码行与功能点间的转换 307

11.3软件项目估算 308

11.3.1代码行和功能点的其他估算模型 308

11.3.2专家估算模型 308

11.3.3 Putnam模型 309

11.3.4 COCOMO模型 309

11.3.5项目估算模型的小结 312

11.4项目进度管理 312

11.4.1项目进度控制 312

11.4.2甘特图 313

11.4.3工程网络图 314

11.5项目风险管理 316

11.5.1软件风险概念 316

11.5.2风险管理过程 317

11.6项目质量管理 320

11.6.1软件质量因素 320

11.6.2软件质量保证活动 324

11.6.3软件质量保证计划 325

11.7软件配置管理 327

11.7.1软件配置项 327

11.7.2配置管理过程 328

11.7.3软件配置管理计划 331

11.8项目人员组织管理 332

11.8.1团队组织 332

11.8.2团队组织方式 333

11.9软件能力成熟度模型 335

11.9.1基本概念 335

11.9.2软件能力成熟度模型等级 336

11.9.3关键过程域 337

11.10本章小结 338

习题 339

参考文献 341

查看更多关于的内容

本类热门
在线购买PDF电子书
下载此书RAR压缩包