《软件工程实例教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:吴洁明,方英兰编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302238096
  • 页数:372 页
图书介绍:本书以案例为主,介绍软件工程的原理、方法和过程。

第1章 软件工程概述 1

1.1软件危机 1

1.1.1软件危机的表现 2

1.1.2软件特点 3

1.2软件工程 4

1.2.1软件工程的概念 5

1.2.2软件工程基本原理 6

1.2.3软件工程方法 7

1.2.4软件工程工具 9

1.3软件工程学科知识体系 10

1.3.1软件工程学科知识体系简介 10

1.3.2软件工程学科与其他学科的关系 12

1.4软件工程师职业道德 13

1.4.1软件工程师的职业素质 13

1.4.2职业化软件工程师要注意的十大问题 14

练习1 15

第2章 软件过程 17

2.1软件过程的概念 17

2.1.1软件过程定义 17

2.1.2软件过程能力成熟度模型 20

2.2几个典型的软件过程模型 21

2.2.1瀑布模型 21

2.2.2快速原型化模型 23

2.2.3增量模型 24

2.2.4螺旋模型 26

2.2.5构件组装模型 27

2.3迭代与递增 27

2.4RUP软件开发过程 29

2.4.1RUP的6个最佳实践活动 30

2.4.2开发过程的4个阶段和里程碑 31

2.4.3统一软件开发过程的9个核心工作流 32

2.4.4关于RUP的十大要素 33

2.5敏捷开发 35

2.5.1敏捷开发的技巧 36

2.5.2敏捷开发实例 36

2.5.3极限编程简介 37

练习2 38

第3章 软件工程管理 40

3.1人员组织与管理 40

3.1.1项目负责人 40

3.1.2软件项目组形式 42

3.1.3协调和沟通问题 44

3.2 软件规模与成本估算 45

3.2.1程序规模估算 45

3.2.2基于模型的工作量估算 48

3.3软件开发计划与控制 51

3.3.1软件范围 51

3.3.2资源 51

3.3.3软件项目进度计划 52

3.4软件配置管理 55

3.4.1基线 55

3.4.2软件配置项 56

3.4.3软件配置管理过程 57

3.5软件质量管理 59

3.5.1软件质量的定义 59

3.5.2影响软件质量的因素 60

3.5.3软件质量保证的措施 61

练习3 63

第4章 需求工程 65

4.1需求工程的概念 65

4.1.1需求分类 65

4.1.2需求工程的主要活动 66

4.1.3高质量需求的特征 66

4.1.4影响需求质量的因素 68

4.2确定系统目标和范围 69

4.3需求获取方法 71

4.3.1必须向用户交代的两个重要问题 72

4.3.2制定调研计划 74

4.3.3准备调研的资料 75

4.3.4访谈用户 79

4.3.5编写调研报告 80

4.3.6需求的其他来源 80

4.4 需求分析的任务 81

4.5 需求分析的原则 81

4.6 定义软件的质量属性 82

4.7 需求优先级 85

4.8 需求验证技术 86

4.8.1需求评审 86

4.8.2正式需求评审过程 86

4.8.3审查人员的职责 87

4.9 需求管理 87

4.9.1管理需求变更 87

4.9.2需求跟踪 91

练习4 92

第5章 结构化需求分析 93

5.1结构化分析的主要技术 93

5.1.1数据流程图 93

5.1.2数据字典 97

5.1.3IPO表 100

5.1.4实体关系图 100

5.1.5状态转换图 103

5.2结构化分析方法的实现步骤 104

5.3编写需求规格说明书 105

5.4结构化分析案例 106

5.4.1从已有数据流程图解读需求描述 106

5.4.2根据需求描述画数据流程图、写数据字典 112

5.4.3描绘数据流程图 113

5.4.4定义数据字典 117

5.4.5处理说明 119

5.4.6描述数据实体及关系 119

练习5 120

第6章 结构化软件设计 123

6.1软件设计的概念 123

6.1.1模块和模块化 123

6.1.2内聚和耦合 124

6.1.3抽象 126

6.1.4信息隐蔽 126

6.1.5软件结构图 126

6.2软件设计原则和影响设计的因素 129

6.3结构化设计方法 130

6.3.1变换分析 131

6.3.2事务分析 133

6.4小型图书馆图书信息管理系统软件结构设计 134

6.4.1重画数据流程图 134

6.4.2整理数据流程图 134

6.4.3确定事务处理中心 134

6.4.4确定软件结构图 136

6.5 优化软件结构 137

6.5.1优化规则 138

6.5.2优化有时间要求的软件结构 140

6.5.3走查软件结构图 140

6.5.4用快速原型法修正设计 141

6.5.5关于设计的说明 141

6.6数据设计 142

6.6.1数据结构设计 142

6.6.2文件设计 142

6.6.3数据库设计 144

6.6.4小型图书馆图书信息管理系统数据结构设计 144

6.7详细设计 145

6.7.1程序流程图 145

6.7.2盒图 147

6.7.3PAD图 149

6.7.4判定表 151

6.7.5过程设计语言 153

6.7.6模块开发文件夹 153

6.8设计复查 154

6.8.1概要设计复查 1544

6.8.2关键设计复查 155

6.8.3设计复审的问题 155

练习6 155

第7章 面向对象基础 158

7.1从一个例子看结构化方法的问题 158

7.1.1结构化方法实现 158

7.1.2面向对象方法实现 159

7.1.3结构化方法存在的主要问题 161

7.2面向对象的概念 161

7.2.1类与对象 161

7.2.2消息机制 162

7.2.3封装性 162

7.2.4继承性 162

7.2.5多态性 163

7.3面向对象开发的方法简介 164

7.3.1 Booch方法 164

7.3.2 Coad方法 165

7.3.3 OOSE方法 165

7.3.4 OMT方法 166

7.3.5 4种方法的比较 166

7.4UML语言 167

7.5用例图 168

7.5.1用例 169

7.5.2角色 169

7.5.3用例图中的关系 170

7.5.4案例1:财务软件用例图 171

7.5.5案例2:小型图书馆图书信息管理系统的用例图 172

7.6活动图 174

7.7状态图 176

7.8交互图 177

7.8.1顺序图 178

7.8.2合作图 178

7.9类图 179

7.10配置图 181

7.11组件图 182

练习7 183

第8章 面向对象分析 185

8.1面向对象分析概述 185

8.2建立用例模型 186

8.3建立对象模型 191

8.4构造动态模型 198

8.5评审分析模型 201

8.6面向对象的需求分析规格说明书 201

练习8 203

第9章 面向对象设计 204

9.1面向对象的设计概念 204

9.1.1模块化 204

9.1.2强内聚 205

9.1.3弱耦合 205

9.1.4可复用 206

9.1.5软件体系结构 206

9.1.6软件设计模式 208

9.2面向对象的设计原则——类设计原则 209

9.2.1开闭原则 209

9.2.2替换原则 210

9.2.3依赖原则 211

9.2.4单一职责原则 213

9.2.5接口分离原则 214

9.3 XML在软件设计的应用 215

9.3.1文档应用 216

9.3.2系统配置 217

9.3.3信息交换的媒介 219

9.4基于UML的面向对象设计过程 220

9.4.1构架设计 220

9.4.2用例设计 224

9.4.3类设计 226

9.5面向对象设计规格说明书 228

练习9 230

第10章 用户界面设计 232

10.1界面设计原则 232

10.1.1易用性是界面设计的核心 234

10.1.2界面必须始终一致 234

10.1.3界面必须能够提供帮助 236

10.1.4界面的合理性 236

10.1.5界面的独特性 237

10.1.6界面的容错功能 237

10.1.7界面与系统响应时间 238

10.2界面设计 239

10.2.1界面设计的基本元素 239

10.2.2数据输入界面设计 242

10.2.3屏幕示设计 242

10.2.4网站界面设计 243

10.3用户界面评价 248

10.4用户界面设计案例分析 249

10.4.1输入界面的设计 249

10.4.2查询界面设计 250

10.4.3审批界面的设计 252

10.4.4综合界面设计 253

练10 254

第11章 软件编码 255

11.1程序设计语言 255

11.1.1程序设计语言的特点 255

11.1.2程序设计语言的分类 257

11.1.3选择一种语言 260

11.2良好的编程实践 261

11.2.1结构化程序设计的原则 261

11.2.2自顶向下,逐步求精 265

11.2.3程序设计风格 267

11.3软件编码规范 273

11.4代码重构 278

11.4.1重构的相关概念 278

11.4.2分解规模庞大的函数或类 279

11.4.3消除重复代码 279

11.4.4规范标识符命名 282

11.4.5删除垃圾代码 282

练习11 282

第12章 软件测试 284

12.1软件测试基本概念 284

12.1.1软件测试定义 285

12.1.2软件测试的目标和原则 285

12.1.3测试的对象和类型 286

12.1.4测试的难点 288

12.1.5验证与有效性确认 288

12.1.6测试阶段的文档 289

12.2软件测试过程 291

12.2.1V模型 291

12.2.2W模型 291

12.2.3H模型 292

12.2.4软件测试过程模型选取策略 293

12.2.5测试过程管理实践 293

12.3软件测试计划 295

12.3.1软件测试计划模板 295

12.3.2软件测试计划的制定过程 300

12.4测试用例设计和测试执行 300

12.4.1白盒测试技术 301

12.4.2黑盒测试技术 304

12.4.3测试策略 311

12.4.4测试执行步骤 312

12.4.5测试结果分析 314

12.5单元测试 315

12.5.1人工静态检查过程 315

12.5.2动态执行跟踪 317

12.5.3单元测试案例 317

12.6集成测试 323

12.7系统测试 324

12.8验收测试 326

12.9界面测试 327

12.9.1通用界面测试 327

12.9.2窗口测试 328

12.9.3按钮测试 328

12.9.4对话框、消息框测试 329

12.9.5信息处理类测试 329

12.10面向对象的测试 329

12.10.1测试策略与方法 330

12.10.2类测试 330

12.10.3类的集成测试 331

12.11软件测试工具 331

练习12 332

第13章 软件交付与维护 334

13.1软件维护概念 334

13.1.1影响维护的因素 335

13.1.2软件维护策略 336

13.2维护过程 336

13.2.1相关维护报告 337

13.2.2源程序修改策略 340

13.3提高软件的可维护性 342

练习13 343

第14章 如何编写软件开发文档 344

14.1软件文档的作用和要求 344

14.2软件文档的种类和提供时机 346

14.3软件文档的编写步骤 347

14.3.1准备工作 347

14.3.2确定写作内容 348

1.4.4如何写好软件文档 349

14.4.1深入理解系统和用户 350

14.4.2确定文档的组织方式 350

14.4.3讲究文风 351

14.5文档管理 353

14.5.1编写管理 353

14.5.2使用管理 353

14.6软件工程标准 354

14.6.1软件工程标准的制定过程 354

14.6.2软件工程标准的层次 355

14.6.3软件工程标准一览表 357

14.7几个常用软件文档的模板 358

14.7.1可行性研究报告 358

14.7.2项目开发计划 359

14.7.3软件需求说明书 360

14.7.4数据需求说明书 362

14.7.5概要设计说明书 362

14.7.6详细设计说明书 363

14.7.7数据库设计说明书 364

14.7.8用户手册 365

14.7.9操作手册 366

14.7.10模块开发卷宗 367

14.7.11测试计划 367

14.7.12测试分析报告 368

14.7.13开发进度月报 369

14.7.14项目开发总结报告 370

练习14 370

参考文献 372