当前位置:首页 > 工业技术
软件工程基础
软件工程基础

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

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:胡飞等
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2008
  • ISBN:7040220776
  • 页数:312 页
图书介绍:本书为普通高等教育“十一五”国家级规划教材。全书比较全面地反映了软件工程技术的全貌,既有传统的结构化程序软件工程方法介绍,更以面向对象的软件工程技术为主,重点讲解软件分析、设计、测试的方法和技术,并以实际案例分析贯穿始终。考虑到内容的完整性,本书对软件的形式化方法、软件成熟度模型(CMM)、软件文档与标准、团队组织等内容也进行了介绍。强调实例分析和应用训练是本教材的主要特色。全书由13章组成,分为四个部分。第一部分软件工程技术介绍,介绍软件工程的概念,软件生命周期模型和传统软件工程技术。第二部分面向对象技术与UML,介绍面向对象技术的特点和UML的描述方法;第三部分软件设计与实现,介绍需求分析与描述,面向对象的分析,面向对象的设计,实现与测试,软件维护等内容。以开发小组为单位,每个小组分为设计和测试两部分,以实际应用软件开发为目标(如图书馆用户管理、网络销售服务、个人桌面工具、网络教学平台(软件)、学生信息数据库等),完成一个软件从需求分析、设计、实现、测试到维护方案的全部过程;第四部分软件管理技术,介绍软件管理的相关技术,并对软件工程技术发展进行更深入的介绍。使用本书讲授全部课程建议
《软件工程基础》目录

第一章 软件工程技术概述 1

1.1 软件的神话 1

1.2 软件工程的产生背景 4

1.3 软件的特点与软件工程的定义 6

1.3.1 软件的特点 6

1.3.2 软件工程的定义 7

1.4 软件的生命周期与软件工程的内容 8

1.5 计算机辅助软件工程 12

1.5.1 基本概念 12

1.5.2 常用工具 13

1.5.3 集成环境 14

1.6 本章小结 14

作业与练习 15

第二章 软件生命周期模型 16

2.1 软件过程与软件模型 16

2.1.1 问题的确认和范围 16

2.1.2 需求分析与描述 17

2.1.3 系统设计 21

2.1.4 实现 22

2.1.5 测试与交付 24

2.1.6 软件维护 25

2.1.7 软件淘汰 26

2.2 软件开发的困难与问题 26

2.3 软件过程模型 28

2.3.1 构造-修复模型 28

2.3.2 瀑布模型 29

2.3.3 快速原型模型 30

2.3.4 增量模型 32

2.3.5 同步-稳定模型 33

2.3.6 螺旋模型 34

2.3.7 面向对象模型 36

2.4 各种模型的比较 37

2.5 本章小结 38

作业与练习 38

实习题一 39

第三章 传统软件工程技术简介 43

3.1 结构化程序的发展 43

3.2 结构化程序的开发流程与特点 44

3.2.1 结构化程序设计的分析与建模 44

3.2.2 结构化程序设计的原则与方法 52

3.2.3 测试 56

3.2.4 软件维护 57

3.3 结构化程序设计与面向对象程序设计的比较 57

3.3.1 结构化程序设计 58

3.3.2 面向对象程序设计 60

3.4 结构化程序的应用 63

3.5 本章小结 64

作业与练习 64

第四章 面向对象技术 65

4.1 对象的概念 65

4.2 面向对象的概念 65

4.2.1 类与对象 66

4.2.2 属性 68

4.2.3 方法、操作、服务与行为 68

4.2.4 消息机制 69

4.3 面向对象程序的特点 69

4.3.1 封装性 70

4.3.2 继承性 70

4.3.3 多态性 72

4.3.4 重用性 75

4.4 面向对象开发的方法 76

4.4.1 Booch方法 77

4.4.2 Coad方法 77

4.4.3 OMT方法 78

4.4.4 VMT方法 78

4.4.5 四种方法的比较 79

4.5 本章小结 79

作业与练习 80

实习题二 81

第五章 UML语言 83

5.1 UML语言 83

5.1.1 UML语言 83

5.1.2 UML的应用领域 84

5.2 UML与面向对象软件的分析与设计 84

5.2.1 建立模型的必要性 84

5.2.2 UML在面向对象软件开发不同阶段的应用 85

5.3 面向对象软件开发中的UML基础 86

5.3.1 用例图和用例描述 86

5.3.2 类图和对象图 90

5.3.3 包图 94

5.3.4 状态图 95

5.3.5 序列图 97

5.3.6 协作图 100

5.3.7 活动图 101

5.4 UML建模工具介绍 103

5.5 本章小结 104

作业与练习 104

第六章 需求分析与描述 106

6.1 软件需求 106

6.1.1 业务需求 107

6.1.2 用户需求 108

6.1.3 功能需求和非功能需求 109

6.1.4 系统需求 110

6.2 需求工程过程 110

6.2.1 需求获取 111

6.2.2 需求分析 111

6.2.3 需求规格说明 112

6.2.4 需求验证 116

6.2.5 需求管理 119

6.3 需求获取技术 121

6.3.1 面谈 122

6.3.2 需求专题讨论会 124

6.3.3 观察用户工作流程 125

6.3.4 原型化方法 125

6.3.5 基于用例的方法 126

6.4 案例分析 126

6.4.1 确定系统参与者 127

6.4.2 确定场景 128

6.4.3 确定用例 128

6.4.4 编写用例描述 129

6.5 本章小结 130

作业与练习 131

实习题三 131

第七章 面向对象分析 132

7.1 基本原理与概念 132

7.2 基本方法与过程 133

7.2.1 OOA原则 133

7.2.2 OOA建模的基本过程 134

7.3 OOA实践1:ATM系统 139

7.4 OOA实践2:电梯控制系统 149

7.5 本章小结 151

作业与练习 152

实习题四 153

第八章 面向对象设计 154

8.1 OOD的基本概念与原理 154

8.2 OOD的方法和基本过程 156

8.2.1 OOD的设计原则 157

8.2.2 系统设计过程 159

8.2.3 对象设计过程 163

8.2.4 设计测试 165

8.2.5 正式设计审查 165

8.3 OOD实践1:ATM系统 166

8.3.1 系统设计 166

8.3.2 对象设计 169

8.4 OOD实践2:电梯控制系统 170

8.4.1 系统设计 170

8.4.2 对象设计 172

8.5 本章小结 176

作业与练习 176

实习题五 177

实习题六 178

第九章 实现与测试 179

9.1 重用性 179

9.1.1 重用的概念 179

9.1.2 对象与重用 180

9.1.3 软件开发各个阶段中的重用 180

9.2 选择编程语言 182

9.2.1 编程语言的类型 182

9.2.2 快速原型语言 183

9.2.3 最终实现语言 183

9.3 好的编程风格与原则 185

9.4 单元测试 188

9.4.1 黑盒测试 189

9.4.2 白盒测试 190

9.4.3 其他测试 192

9.4.4 测试方法的评价与选择 197

9.5 集成测试 198

9.5.1 自顶向下测试 199

9.5.2 自底向上测试 200

9.5.3 三明治测试 200

9.6 产品测试与验收测试 201

9.6.1 产品测试 201

9.6.2 验收测试 201

9.7 面向对象的软件测试 202

9.7.1 面向对象软件测试的单元 202

9.7.2 类测试 203

9.8 软件测试文档 204

9.8.1 软件测试计划 204

9.8.2 软件测试记录 206

9.8.3 软件测试评估分析报告 207

9.9 软件实现与测试的CASE工具 209

9.9.1 关于JUnit 209

9.9.2 关于EMMA 211

9.10 本章小结 212

作业与练习 212

实习题七 213

第十章 软件维护 214

10.1 软件维护的重要性 214

10.1.1 软件维护的种类 214

10.1.2 对软件维护工程师的要求 215

10.2 软件维护的管理 216

10.2.1 错误与缺陷的报告 216

10.2.2 错误与缺陷的划分 217

10.2.3 维护内容的明确 218

10.2.4 维护与终止的选择 218

10.3 面向对象软件的维护 219

10.3.1 维护面向对象软件的优势 219

10.3.2 维护面向对象软件的困难 219

10.4 逆向工程 221

10.5 软件维护的CASE工具 221

10.6 软件维护的发展 222

10.7 本章小结 222

作业与练习 223

实习题八 224

第十一章 软件的标准与软件文档 225

11.1 软件工程标准化 225

11.1.1 软件工程标准化的概念 225

11.1.2 软件工程标准化的意义 226

11.1.3 软件工程标准的分类 226

11.1.4 软件工程标准的制定与推行 227

11.1.5 软件工程标准的层次 227

11.1.6 国外的标准化组织 228

11.1.7 我国的软件工程标准化工作 232

11.2 软件文档 234

11.2.1 软件文档的含义 234

11.2.2 软件文档的作用 235

11.2.3 软件文档的分类 235

11.2.4 常用软件文档 235

11.2.5 软件文档的编写 237

11.2.6 编写的文档数量与其主要内容 244

11.2.7 各级软件应该编写的文档 245

11.2.8 几种常用标准中文档的名称 245

11.2.9 文档的管理与维护 246

11.3 软件质量认证 247

11.3.1 ISO 9000标准概述 248

11.3.2 ISO 9000标准的特点 249

11.3.3 ISO 9000质量认证的一般程序 250

11.3.4 ISO 9000标准的构成 251

11.3.5 2000版ISO 9000标准的质量管理原则 253

11.3.6 2000版ISO 9000系列标准与1994版的主要变化 253

11.4 注释文档工具javadoc 254

11.4.1 javadoc简介 254

11.4.2 javadoc的命令行语法 255

11.4.3 javadoc文档注释方法 258

11.5 本章小结 261

作业与练习 261

实习题九 261

第十二章 软件开发团队 262

12.1 团队的作用与组织 262

12.2 民主团队 263

12.3 首领程序员团队 264

12.4 其他形式的团队 266

12.5 角色与责任的划分 268

12.6 本章小结 270

作业与练习 271

第十三章 软件工程技术发展 272

13.1 软件开发中的形式化方法 272

13.1.1 基本概念 272

13.1.2 有穷状态机 274

13.1.3 Petri网 278

13.1.4 Z语言 281

13.1.5 小结 283

13.2 基于组件的软件工程 283

13.2.1 基于组件的软件开发过程 283

13.2.2 组件的开发流程 284

13.2.3 基于组件的软件工程及其研究 286

13.3 软件能力成熟度模型 286

13.3.1 CMM概述 287

13.3.2 CMM的基本概念 288

13.3.3 CMM的五个级别 288

13.3.4 成熟度提问单 290

13.3.5 利用CMM对软件机构进行成熟度评估 292

13.3.6 关键过程域 292

13.3.7 关键实践 293

13.3.8 基于模型改进的优点与风险 294

13.3.9 CMMI 295

13.4 软件测试技术 296

13.4.1 GUI测试 296

13.4.2 Web测试 299

13.4.3 回归测试 301

13.4.4 软件测试技术展望 304

13.5 面向代理的软件工程技术 304

13.5.1 面向代理的软件技术 304

13.5.2 面向代理的软件工程技术 305

13.6 结束语 307

作业与练习 308

参考文献 309

相关图书
作者其它书籍
返回顶部