《软件工程 理论与实践》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:田淑梅编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302254706
  • 页数:416 页
图书介绍:本书是介绍软件工程的教材,包括基础理论知识和应用案例。

第1章 软件工程概论 1

1.1软件的概念 1

1.1.1软件发展历程 1

1.1.2软件的定义 2

1.1.3软件的特点 3

1.1.4软件的分类 3

1.2软件危机 5

1.2.1软件危机的定义 5

1.2.2产生软件危机的原因 5

1.2.3软件危机的表现形式 5

1.2.4解决软件危机的途径 6

1.3软件工程的产生和发展 6

1.3.1软件工程的定义及目标 6

1.3.2软件工程的研究内容 8

1.3.3软件工程的基本原理 9

1.4软件过程和软件生存周期 10

1.4.1软件过程 10

1.4.2软件生存周期 11

1.5软件过程模型 13

1.5.1瀑布模型 13

1.5.2快速原型模型 15

1.5.3螺旋模型 16

1.5.4增量模型 18

1.5.5喷泉模型 19

1.5.6基于构件的开发模型 20

1.5.7统一过程(RUP)模型 21

1.5.8形式化方法模型 25

1.6软件开发方法和软件开发工具 25

1.6.1结构化方法 25

1.6.2面向数据结构的软件开发方法 26

1.6.3面向对象的方法 27

1.6.4问题分析法 27

1.6.5软件开发工具 27

1.7传统的软件工程和面向对象的软件工程 28

1.7.1传统的软件工程 28

1.7.2面向对象的软件工程 29

1.8本章小结 30

1.9习题1 30

第2章 软件需求工程 33

2.1软件需求工程概述 33

2.1.1需求的概念 33

2.1.2需求工程 34

2.2需求获取 37

2.2.1存在问题 37

2.2.2综合需求 38

2.2.3获取方法 39

2.2.4提高获取的效率 41

2.2.5案例:图书馆管理信息系统 44

2.3需求分析建模 45

2.3.1需求分析的主要工作 45

2.3.2什么是需求分析模型 46

2.3.3建模分类 46

2.3.4分析建模的方法 47

2.4需求规约 48

2.4.1需求规格说明编写方法 48

2.4.2需求规格说明书的主要内容 48

2.4.3需求规格说明模板 48

2.4.4需求文档的编写原则 52

2.4.5案例:“软件工程”课程教学系统 52

2.5需求评审 55

2.5.1评审类型 55

2.5.2评审标准 56

2.5.3如何做好需求评审 57

2.6需求管理 59

2.6.1需求变更控制 59

2.6.2需求跟踪 60

2.6.3需求管理工具 62

2.7本章小结 62

2.8习题2 63

第3章 结构化分析 65

3.1概述 65

3.1.1结构化分析思想 65

3.1.2结构化分析过程 66

3.1.3结构化模型的描述形式 67

3.2数据流图 68

3.2.1数据流图的基本成分 68

3.2.2数据流图绘制方法 70

3.2.3数据流图绘制实例 72

3.3数据字典 77

3.3.1数据字典的定义与用途 77

3.3.2内容及格式 77

3.3.3数据字典的实现 81

3.4加工逻辑的描述工具 82

3.4.1结构化语言 82

3.4.2判定表 84

3.4.3判定树 86

3.5实体-关系图 86

3.5.1数据对象 87

3.5.2属性 87

3.5.3关系 87

3.5.4实体关系图的实现 88

3.6本章小结 89

3.7习题3 89

第4章 面向对象的方法及UML建模语言 93

4.1面向对象的方法学概述 93

4.1.1面向对象方法的发展历程 93

4.1.2面向对象方法学的优点 94

4.1.3面向对象方法学的不足 96

4.2面向对象的基本概念 97

4.3面向对象的软件工程 100

4.4面向对象建模 102

4.4.1对象模型 104

4.4.2动态模型 109

4.4.3功能模型 110

4.4.4 3种模型之间的关系 113

4.5典型的面向对象开发方法 113

4.5.1 Booch方法 113

4.5.2 Coad方法 114

4.5.3 OMT方法 116

4.5.4 OOSE方法 117

4.6 UML统一建模语言 118

4.6.1 UML语言的发展过程 119

4.6.2 UML的定义及主要内容 119

4.6.3 UML的主要特点 121

4.6.4 UML的应用 122

4.6.5 UML的本质和目标 122

4.7 UML语言概述 123

4.7.1视图 123

4.7.2 UML的模型元素和表示方法 124

4.7.3图 124

4.7.4 UML建模过程 140

4.8本章小结 141

4.9习题4 141

第5章 面向对象的分析 145

5.1面向对象的分析过程 145

5.1.1面向对象分析的3个模型与5个层次 146

5.1.2需求陈述 147

5.2建立对象模型 148

5.2.1确定类和对象 148

5.2.2确定关联 150

5.2.3确定属性 153

5.2.4划分主题 154

5.2.5识别结构 156

5.2.6优化对象模型 156

5.3建立动态模型 158

5.3.1编写脚本 159

5.3.2设想用户界面 160

5.3.3画事件跟踪图 160

5.3.4画状态图 161

5.3.5优化动态模型 163

5.4建立功能模型 165

5.5面向对象分析实例 167

5.6本章小结 172

5.7习题5 172

第6章 软件设计工程 175

6.1软件设计工程概述 175

6.1.1软件设计模型 176

6.1.2设计目标和原则 176

6.1.3软件设计基本方法 178

6.1.4设计文档 183

6.2数据设计 189

6.2.1数据三模式的概念 189

6.2.2数据库设计的原则 191

6.2.3数据仓库 193

6.3体系结构设计 194

6.3.1体系结构设计准则 195

6.3.2体系结构设计可采用的图形工具 196

6.4人机界面设计 199

6.4.1人机界面风格 199

6.4.2人机界面设计原则 199

6.4.3人机界面设计过程 200

6.5详细设计 202

6.5.1详细设计的任务 202

6.5.2详细设计的常用工具 203

6.6本章小结 207

6.7习题6 207

第7章 结构化设计 211

7.1概述 211

7.1.1软件设计的任务 211

7.1.2结构化设计与结构化分析的关系 212

7.2面向数据流的设计方法 213

7.2.1设计过程 213

7.2.2数据流分类 214

7.2.3变换分析 216

7.2.4事务分析 219

7.2.5综合分析 220

7.3面向数据结构的设计方法 221

7.3.1 Jackson图 222

7.3.2 Jackson方法设计步骤 224

7.3.3实例 224

7.4本章小结 228

7.5习题7 228

第8章 面向对象的设计与实现 231

8.1面向对象设计准则 231

8.2启发式规则 233

8.3系统设计 234

8.3.1问题域子系统设计 236

8.3.2人机交互子系统设计 237

8.3.3任务管理子系统设计 241

8.3.4数据管理子系统设计 243

8.4服务与关联设计 247

8.4.1设计服务 247

8.4.2设计关联 248

8.5面向对象设计优化 250

8.6面向对象设计实例 253

8.7面向对象系统的实现 259

8.7.1选择程序设计语言 259

8.7.2面向对象程序设计风格 262

8.8本章小结 263

8.9习题8 264

第9章 软件实现 267

9.1程序设计语言 268

9.1.1程序设计语言的特性 268

9.1.2程序设计语言的基本机制 269

9.1.3程序设计语言的类型 270

9.1.4程序设计语言的选择 271

9.2程序设计风格 272

9.3本章小结 274

9.4习题9 274

第10章 软件测试 277

10.1软件测试概述 277

10.1.1软件测试的目的 277

10.1.2软件测试的原则 278

10.1.3软件测试分类 279

10.2白盒测试 280

10.2.1逻辑覆盖法 280

10.2.2循环覆盖法 284

10.2.3基本路径法 286

10.3黑盒测试 288

10.3.1等价类划分法 289

10.3.2边界值分析法 291

10.3.3因果图法 292

10.4测试过程 295

10.4.1单元测试 296

10.4.2集成测试 297

10.4.3确认测试 298

10.4.4系统测试 300

10.4.5验收测试 301

10.5面向对象测试 302

10.5.1面向对象测试策略 302

10.5.2面向对象测试用例设计 310

10.6自动化测试 312

10.6.1测试自动化的基础 312

10.6.2测试工具选型原则 313

10.6.3自动化测试工具 314

10.7软件调试 317

10.7.1调试过程 318

10.7.2调试技术 319

10.8本章小结 320

10.9习题10 320

第11章 软件维护 323

11.1软件维护概述 323

11.1.1软件维护的基本概念 323

11.1.2软件维护的种类 323

11.1.3影响软件维护的工作量的因素 324

11.1.4软件维护策略 325

11.1.5维护的副作用 326

11.2软件维护过程 327

11.2.1建立维护机构 327

11.2.2编写软件维护申请报告 328

11.2.3软件维护工作流程 328

11.2.4软件维护记录及评价 329

11.3软件可维护性 330

11.3.1可维护性定义 330

11.3.2可维护性度量 331

11.3.3提高软件可维护性方法 333

11.4逆向工程和再工程 337

11.4.1软件再工程过程 337

11.4.2软件再工程分析 339

11.5本章小结 340

11.6习题11 341

第12章 软件项目管理 343

12.1软件项目管理概述 343

12.1.1软件项目管理的定义 343

12.1.2软件项目管理的过程 344

12.1.3软件项目管理的内容 345

12.2软件项目成本管理 345

12.2.1成本管理 345

12.2.2软件项目成本估算方法 346

12.2.3软件项目成本估算模型 347

12.3软件项目进度管理 348

12.3.1软件项目进度管理内容 348

12.3.2制订项目计划 348

12.3.3项目进度监控 349

12.4软件项目配置管理 350

12.4.1软件配置管理过程 350

12.4.2软件配置管理职责 351

12.5软件项目风险管理 352

12.5.1软件项目中的风险种类 352

12.5.2软件项目风险管理 354

12.5.3风险识别 354

12.5.4风险评估 355

12.5.5风险跟踪 356

12.5.6风险处理 357

12.6软件项目质量管理 358

12.7软件项目人员管理 359

12.7.1人员管理工作内容 359

12.7.2项目参与者 360

12.7.3团队建设 360

12.8本章小结 361

12.9习题12 361

第13章 软件复用技术 365

13.1概述 365

13.1.1复用的概念 365

13.1.2复用的意义 367

13.1.3如何实现复用 368

13.1.4软件复用技术 368

13.1.5可复用的软件成分 369

13.2软件复用过程 370

13.2.1构件组装模型 370

13.2.2复用模型 371

13.2.3软件复用过程模型 372

13.3软件构件技术 373

13.3.1软件构件技术产生背景 373

13.3.2软件构件基本概念 373

13.3.3软件构件的基本特征 374

13.4领域工程 375

13.4.1领域划分 375

13.4.2领域分析过程 375

13.4.3领域特征 376

13.4.4结构化建模与结构点 377

13.5开发可复用的软件构件 377

13.5.1为了复用的分析与设计 377

13.5.2可复用构件的设计准则 378

13.5.3基于构件的开发 378

13.6分类和检索软件构件 380

13.6.1描述可复用的构件 380

13.6.2复用环境 382

13.7软件复用的效益 382

13.8本章小结 383

13.9习题13 383

第14章 软件工程质量 385

14.1软件质量特性 385

14.1.1软件质量的定义 385

14.1.2软件质量的特性 386

14.2软件质量的度量 386

14.2.1软件度量 387

14.2.2软件度量的作用 387

14.2.3软件度量的分类 388

14.2.4软件度量过程 388

14.3软件质量保证 389

14.3.1质量控制与质量保证 390

14.3.2软件质量保证的内容 391

14.3.3软件质量保证策略 392

14.4技术评审 392

14.4.1准备评审 393

14.4.2举行评审会议 393

14.4.3跟踪与审核 394

14.5软件质量管理体系 394

14.5.1 ISO 9000系列标准 394

14.5.2软件质量认证 395

14.6 CMM模型 395

14.6.1 CMM的结构 395

14.6.2软件过程能力成熟度等级 396

14.6.3关键过程域 397

14.6.4关键实践 398

14.7本章小结 399

14.8习题14 399

第15章 软件工程标准化与软件文档 401

15.1软件工程标准化 401

15.1.1软件工程标准化的概念 402

15.1.2软件工程标准化的意义 402

15.1.3软件工程化的类型 403

15.1.4软件工程标准的制定与推行 404

15.2软件组织内的标准化工作 405

15.3软件文档与编写要求 406

15.3.1软件文档的作用和分类 406

15.3.2软件文档的编写方法 409

15.3.3软件基本文档的内容要求 409

15.3.4对档编制的质量要求 413

15.3.5软件文档的管理和维护 413

15.4本章小结 414

15.5习题15 414

参考文献 416