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

  • 购买积分:13 如何计算积分?
  • 作  者:李军国编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302305149
  • 页数:381 页
图书介绍:本书系统地介绍了软件工程的基本概念、原理、方法、技术、标准和软件项目管理的知识。全书共分15章,以软件生命周期为主线,对软件工程的需求分析、概要设计、详细设计、代码设计、软件测试和软件项目管理等方面的内容作了详尽的叙述,还对软件工程标准和软件文档的编写要点进行了讲解。突出了结构化方法和面向对象技术在软件开发中的运用,通过案例,讲解了软件建模的方法和过程。

第1章 软件工程的基本概念 1

1.1软件的定义、特征和分类 1

1.1.1软件的定义 1

1.1.2软件的特征 1

1.1.3软件的分类 2

1.2软件的发展和软件危机 3

1.2.1软件的发展历程 3

1.2.2软件危机的表现、产生的原因和解决方法 4

1.3软件工程方法学 6

1.3.1软件工程的基本概念 6

1.3.2软件工程的要素 6

1.3.3软件工程的基本原理 7

1.3.4软件工程的基本目标 8

1.3.5软件工程的基本原则 9

1.3.6两种主要的软件工程方法 9

1.4软件的生命周期 10

1.4.1生命周期的种类 10

1.4.2生命周期的阶段划分 11

1.5软件过程的模型 12

1.5.1瀑布模型 13

1.5.2原型模型 13

1.5.3增量模型 14

1.5.4螺旋模型 15

1.5.5变换模型 16

1.5.6喷泉模型 16

1.5.7智能模型 17

1.5.8第4代技术模型 17

1.5.9基于构件的开发模型 18

1.6本章小结 19

习题1 19

第2章 需求分析与需求设计 21

2.1可行性研究 22

2.1.1问题的定义 22

2.1.2可行性分析的内容 24

2.2需求分析的任务 26

2.3获取需求的方法 30

2.4需求分析的原理 31

2.4.1需求分析的原则 31

2.4.2需求分析的过程 32

2.5分析建模 33

2.5.1分析模型 33

2.5.2数据建模(E-R图) 34

2.5.3功能建模(数据流图) 36

2.5.4行为建模(状态迁移图) 43

2.5.5数据字典 45

2.5.6加工说明的描述工具 48

2.6需求规格说明书 50

2.7需求验证 52

2.8本章小结 53

习题2 53

第3章 软件设计 55

3.1软件设计的原理 56

3.1.1软件设计的过程 56

3.1.2软件设计的原则 57

3.1.3软件体系结构 60

3.1.4模块化设计的方法 63

3.2结构化设计方法 68

3.2.1系统结构图中的模块 68

3.2.2变换流与变换型系统结构 69

3.2.3事务流与事务型系统结构图 70

3.2.4变换分析与映射 70

3.2.5事务分析与映射 71

3.2.6软件体系结构优化的方法 72

3.2.7“黑箱”技术的使用 73

3.3数据设计 75

3.3.1数据设计的原则 75

3.3.2文件设计的过程 75

3.3.3数据库设计 76

3.3.4数据库设计的技巧 84

3.4详细设计 86

3.4.1详细设计的任务 86

3.4.2详细设计的原则 87

3.4.3过程设计 87

3.4.4界面设计 93

3.4.5在线帮助的信息设计 95

3.4.6提示信息的信息设计 96

3.5设计规格说明与设计评审 98

3.5.1软件设计规格说明书 98

3.5.2软件设计的评审 99

3.6本章小结 99

习题3 99

第4章 面向对象方法学 102

4.1面向对象概述 102

4.1.1面向对象基本概念 103

4.1.2面向对象基本特征 104

4.2面向对象开发方法概述 107

4.2.1软件开发过程 107

4.2.2传统开发方法存在的问题 108

4.2.3面向对象开发方法的特点 109

4.2.4 Booch方法 110

4.2.5 Coda/Yourdon方法 110

4.2.6 OMT方法 111

4.2.7 OOSE方法 114

4.3统一建模语言UML 115

4.3.1 UML概述 115

4.3.2 UML内容 116

4.4本章小结 118

习题4 118

第5章 面向对象分析 120

5.1面向对象分析概述 120

5.1.1面向对象分析模型 120

5.1.2面向对象分析过程 121

5.2需求陈述 122

5.3建立静态模型 124

5.3.1寻找类与对象 125

5.3.2确定关联 129

5.3.3确定属性 132

5.3.4识别主题 133

5.3.5识别结构 134

5.3.6定义服务 136

5.3.7完善对象模型 136

5.4建立动态模型 137

5.4.1准备脚本 138

5.4.2确定事件 139

5.4.3.准备事件跟踪图 139

5.4.4构造状态机图 140

5.4.5完善动态模型 142

5.5建立功能模型 143

5.5.1确定基本系统模型图 143

5.5.2细化数据流图 143

5.5.3功能描述 144

5.6面向对象分析实例 145

5.7本章小结 148

习题5 148

第6章 面向对象设计 150

6.1面向对象设计概述 150

6.1.1面向对象设计模型 152

6.1.2面向对象设计准则 152

6.1.3面向对象设计启发规则 156

6.2系统设计 157

6.2.1系统分解 158

6.2.2设计问题域子系统 161

6.2.3设计人机交互子系统 163

6.2.4设计任务管理子系统 165

6.2.5设计数据管理子系统 168

6.2.6全局资源管理 172

6.2.7控制流机制 172

6.2.8边界条件 173

6.2.9评审 173

6.3对象设计 173

6.3.1设计内部结构 173

6.3.2设计关联 174

6.3.3设计接口 175

6.3.4设计类中的服务 175

6.3.5选择复用构件 177

6.3.6优化对象设计 179

6.4面向对象设计实例 183

6.4.1分析阶段 183

6.4.2设计阶段 184

6.5本章小结 187

习题6 188

第7章 代码设计 190

7.1程序设计语言 190

7.1.1程序设计语言的基本成分 190

7.1.2程序设计语言的分类 191

7.1.3程序设计语言的选择 192

7.2程序设计风格 193

7.2.1源程序的文档化 194

7.2.2数据说明 195

7.2.3语句构造 195

7.2.4输入与输出 196

7.2.5编程规范 197

7.3结构化程序设计 200

7.3.1结构化程序设计的原理 201

7.3.2结构化编程 201

7.4面向对象程序设计 203

7.4.1面向对象语言的特点 203

7.4.2面向对象语言的选择 204

7.4.3面向对象程序设计风格 205

7.5程序效率 206

7.6程序复杂性度量 207

7.7本章小结 209

习题7 209

第8章 软件测试 211

8.1软件测试基础 212

8.1.1什么是软件缺陷 212

8.1.2软件测试的原则 213

8.1.3软件测试过程模型 214

8.1.4软件测试的阶段 216

8.1.5软件测试的工作范畴 218

8.2软件测试基本技术 218

8.2.1黑盒测试和白盒测试 218

8.2.2静态测试和动态测试 219

8.2.3验证与确认 220

8.2.4自动化测试和随机测试 220

8.3黑盒测试法 220

8.3.1等价类划分法 221

8.3.2边界值分析法 222

8.3.3错误推测法 224

8.3.4因果图法 224

8.4白盒测试法 227

8.4.1逻辑覆盖法 227

8.4.2基本路径法 229

8.5软件测试计划 230

8.5.1测试策略 230

8.5.2制定测试计划 232

8.6测试用例设计 233

8.6.1什么是测试用例 233

8.6.2测试用例的书写标准 234

8.6.3测试用例设计的原则 234

8.7面向对象测试 235

8.7.1面向对象测试模型 236

8.7.2面向对象的单元测试 236

8.7.3面向对象的集成测试 238

8.8软件测试自动化 239

8.8.1自动化测试的基本概念 239

8.8.2测试工具的分类及选择 240

8.9本章小结 241

习题8 242

第9章 成本估算与进度规划 246

9.1软件度量与软件生产率 247

9.1.1软件度量 247

9.1.2面向规模的度量 247

9.1.3面向功能的度量 248

9.1.4软件质量的度量 249

9.1.5影响软件生产率的因素 250

9.2软件项目估算与开发成本估算 251

9.2.1软件项目计划的目标 251

9.2.2软件的范围 251

9.2.3软件开发的资源 252

9.2.4软件项目估算 254

9.2.5估算之前的任务分解 254

9.2.6软件开发成本估算 256

9.3进度计划 262

9.3.1各阶段工作量的分配 262

9.3.2制定开发进度计划 262

9.3.3进度安排的方法 263

9.4本章小结 265

习题9 265

第10章 团队建设与沟通管理 268

10.1团队建设的基本概念 268

10.2项目团队的组织 268

10.2.1项目的组织结构模式 269

10.2.2程序设计小组的组织形式 271

10.3团队成员的选择与基本要求 273

10.3.1项目开发各阶段对人员的需求 273

10.3.2配备人员的原则 274

10.3.3对项目经理的要求 274

10.3.4团队成员的招聘与选择 275

10.4团队的建设与管理 276

10.4.1项目成员的使用与培训 276

10.4.2对项目成员的激励 276

10.4.3软件项目的指导 277

10.4.4软件项目的检验 277

10.5团队的沟通管理 278

10.5.1沟通管理与沟通的原则 278

10.5.2沟通方式 278

10.5.3编制项目沟通计划 279

10.6本章小结 281

习题10 281

第11章 风险管理和配置管理 282

11.1风险管理 282

11.1.1软件风险分类 282

11.1.2风险识别 283

11.1.3风险预测 287

11.1.4处理风险的策略 288

11.2质量保证 289

11.2.1软件质量 289

11.2.2软件质量保证措施 290

11.3配置管理 293

11.3.1软件配置管理的内容 293

11.3.2软件配置管理的基本目标 294

11.3.3软件配置管理角色职责 294

11.3.4软件配置管理过程描述 295

11.3.5软件配置管理的关键活动 296

11.4本章小结 301

习题11 302

第12章 软件过程 304

12.1软件过程概述 304

12.2软件过程能力成熟度模型 305

12.2.1软件过程能力成熟度模型(SW-CMM)的诞生 305

12.2.2软件过程能力成熟度模型(CMM)的组织与结构 306

12.2.3能力等级的特点和关键过程域 308

12.2.4实施CMM是软件企业发展的必然趋势 311

12.3软件过程的改进 314

12.3.1软件过程改进的5条原则 315

12.3.2软件过程改进的策略 316

12.3.3软件过程改进战略策划 318

12.3.4软件过程改进建议 320

12.3.5实施SPI的目的 321

12.3.6以项目形式管理SPI 322

12.4本章小结 323

习题12 323

第13章 软件工程标准 325

13.1软件工程标准化 325

13.1.1软件工程标准的概念 325

13.1.2软件工程标准的制定与推行 326

13.1.3软件工程标准层次 326

13.2软件质量认证 326

13.2.1软件质量认证的产生背景 326

13.2.2软件质量认证的标准 327

13.2.3软件质量认证的作用 327

13.2.4 ISO 9000标准的构成 327

13.3 GB/T 8567——2006计算机软件文档编制规范 328

13.3.1使用范围 328

13.3.2文档过程 328

13.3.3文档编制要求 329

13.4本章小结 331

习题13 332

第14章 软件文档 333

14.1软件文档的意义 333

14.2软件文档的作用 333

14.2.1管理依据 333

14.2.2任务之间联系的凭证 333

14.2.3质量保证 334

14.2.4培训与参考 334

14.2.5软件维护支持 334

14.2.6历史档案 334

14.3软件文档的分类 334

14.3.1开发文档 334

14.3.2产品文档 335

14.3.3管理文档 335

14.4软件文档的管理 335

14.4.1概述 335

14.4.2管理者的作用 335

14.4.3制定文档编制策略 336

14.5软件文档的编写技巧 337

14.5.1从技术角度进行文档的编写和评价 337

14.5.2明确文档编写人员的责任 337

14.5.3让编写人员对开发项目有准确的认识 337

14.5.4让开发和设计人员参与文档审阅工作 337

14.6文档编写的常用工具 338

14.7本章小结 338

习题14 338

第15章 软件文档编写指南 339

15.1概述 339

15.2软件开发文档 339

15.2.1可行性分析(研究)报告 339

15.2.2软件需求规格说明 343

15.2.3概要设计书 349

15.2.4详细设计书 357

15.3软件管理文档 359

15.3.1项目开发计划 359

15.3.2软件测试计划 368

15.3.3测试报告 371

15.3.4开发进度月报 372

15.3.5项目开发总结报告 374

15.4软件用户文档 376

15.4.1用户手册 376

15.4.2操作手册 379

15.5本章小结 380

习题15 380

参考文献 381