《软件工程基础》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:宋雨编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2016
  • ISBN:9787111525110
  • 页数:314 页
图书介绍:本书是软件工程的入门教材,内容实用、浅显。全书分8章,第1章软件工程概述介绍了软件的生命周期、软件工程的定义及软件开发模型等概念,第2章~第6章分别是软件需求分析、软件系统的设计、软件的编程实现、软件的测试及维护以及软件项目管理,这5章包括了软件工程的核心内容,也是用工程方法开发一个软件系统必须要经历的工作。前6章是软件工程课程教学的基本要求,每章最后都有案例和习题。第7章精选案例解读介绍了当代6个成功经典案例供读者品味和欣赏,这些案例是开发者的开发经验结晶,具有很强的时代感和学习价值。第8章软件工程课程设计供安排有课程设计的学校选用。本书以软件开发过程为主线,介绍了软件工程的基本原理、概念和技术方法,既适合本科生、专科生或高职类院校作教材使用,也可供对该学科感兴趣的读者阅读。

第1章 软件工程概述 1

1.1 软件分类和演化 1

1.1.1 软件的起源和分类 1

1.1.2 软件工程的产生和发展 4

1.2 软件的生命周期 8

1.2.1 计划阶段 9

1.2.2 分析和定义阶段 10

1.2.3 设计阶段 11

1.2.4 实现阶段 12

1.2.5 测试阶段 13

1.2.6 运行和维护阶段 14

1.3 软件开发模型 15

1.3.1 瀑布模型 15

1.3.2 演化模型 16

1.3.3 螺旋模型 17

1.3.4 喷泉模型 18

1.3.5 其他模型 18

1.4 实用案例 23

1.4.1 出卷系统的开发模型选择 23

1.4.2 住宅安全系统SafeHome的开发模型选择 25

1.5 小结 26

1.6 习题 26

第2章 软件需求分析 29

2.1 结构化需求分析方法 29

2.1.1 数据流图及其画法 30

2.1.2 数据词典及其描述 38

2.1.3 功能说明 41

2.2 原型化分析方法 44

2.2.1 开发模型 45

2.2.2 快速原型技术介绍 48

2.2.3 用户界面开发 51

2.3 面向对象建模及UML方法 51

2.3.1 面向对象基本概念 51

2.3.2 面向对象建模 54

2.3.3 统一建模语言UML 63

2.4 需求规约说明书(SRS) 67

2.4.1 SRS的内容 67

2.4.2 SRS的作用 68

2.4.3 SRS的特征 69

2.4.4 SRS的构造原则 70

2.4.5 SRS的评审 71

2.5 案例:图书馆系统的软件需求分析 72

2.5.1 确定系统参与者 72

2.5.2 开发系统场景 73

2.5.3 绘制系统用例图 73

2.5.4 描述用例 74

2.6 小结 75

2.7 习题 76

第3章 软件系统的设计 80

3.1 软件设计的基本原理 80

3.1.1 软件设计的概念和原则 83

3.1.2 软件概要设计 90

3.1.3 软件详细设计 97

3.2 结构化设计方法 107

3.2.1 软件结构图的组成 108

3.2.2 软件结构图的画法 109

3.3 面向对象的设计方法 115

3.3.1 面向对象设计过程 115

3.3.2 面向对象设计方法 118

3.4 其他设计方法介绍 130

3.4.1 面向方面程序设计 130

3.4.2 面向Agent的设计方法 131

3.4.3 泛型程序设计 131

3.4.4 面向构件的技术 132

3.4.5 敏捷方法 132

3.4.6 Rational统一过程 132

3.4.7 功能驱动开发模式FDD 132

3.4.8 极端编程 133

3.5 实用案例 133

3.5.1 SafeHome软件的结构设计 133

3.5.2 基于UML的网络管理平台的分析与设计 136

3.6 小结 140

3.7 习题 141

第4章 软件的编程实现 147

4.1 编程语言的选择和分类 147

4.1.1 程序设计语言的分类 147

4.1.2 机器语言 148

4.1.3 汇编语言 150

4.1.4 高级语言 150

4.1.5 非过程语言 151

4.2 编程要求 151

4.2.1 程序语句结构的构成原则 152

4.2.2 程序可读性和易理解性的要求 153

4.2.3 数据说明的要求 155

4.2.4 输入和输出应遵守的原则 155

4.3 面向对象的编程语言介绍 156

4.3.1 Smalltalk语言 156

4.3.2 Eiffel语言 156

4.3.3 C++语言 156

4.3.4 Delphi语言 157

4.3.5 Java语言 158

4.3.6 C#语言 158

4.4 案例:网上招聘系统软件编程规范 158

4.4.1 编码格式规范 158

4.4.2 编码命名规范 160

4.4.3 程序中的声明规范 161

4.4.4 编程语句规范 162

4.4.5 代码注释规范 162

4.4.6 存放代码的目录规范 164

4.5 小结 166

4.6 习题 166

第5章 软件的测试及维护 168

5.1 软件测试的基本原理 168

5.1.1 软件测试目标和原则 168

5.1.2 软件的可测试性 169

5.1.3 软件测试的步骤和策略 169

5.2 测试用例设计 179

5.2.1 白盒测试 179

5.2.2 黑盒测试 183

5.2.3 人工测试 185

5.2.4 调试 186

5.3 面向对象的测试 188

5.3.1 测试策略 188

5.3.2 类测试方法 189

5.4 软件维护的基本原理 193

5.4.1 软件维护的分类 193

5.4.2 影响软件可维护性的特性 195

5.4.3 提高软件可维护性的方法 198

5.5 软件再工程 201

5.5.1 业务过程再工程模型 201

5.5.2 软件再工程过程模型 202

5.5.3 软件的逆向工程 203

5.5.4 软件重构 205

5.5.5 软件的正向工程 205

5.5.6 软件再工程的成本-效益分析 206

5.6 案例:微软公司的软件测试 207

5.6.1 软件测试人员的组成及任务 207

5.6.2 软件测试应考虑的问题 209

5.6.3 对软件中bug的处理 209

5.6.4 采用的软件测试方法及测试工具 210

5.6.5 主要的软件测试文档 212

5.7 小结 213

5.8 习题 215

第6章 软件项目管理 218

6.1 软件范围的确定 218

6.1.1 获取确定软件范围所需的信息 218

6.1.2 软件范围的具体内容及描述要求 219

6.2 软件资源的考虑 219

6.2.1 人力资源 220

6.2.2 可复用软件资源 220

6.2.3 环境资源 221

6.3 软件成本的估算 221

6.3.1 软件估算模型 222

6.3.2 软件估算方法 232

6.3.3 面向对象软件项目的估算 236

6.3.4 软件自行开发或购买的决策 237

6.4 开发进度的安排 238

6.4.1 使用甘特图安排软件工程项目进度 238

6.4.2 使用PERT图安排软件工程项目进度 240

6.4.3 两种图相结合安排软件工程项目进度 242

6.5 案例:会计信息系统软件成本估算 242

6.5.1 根据已知条件选择估算方法或模型 243

6.5.2 根据选定的方法或模型进行计算 243

6.5.3 使用其他方法或模型进行交叉检验 244

6.6 小结 244

6.7 习题 245

第7章 软件工程项目案例 251

7.1 美国航空航天局的太空机器人系统 251

7.1.1 以用户为中心的迭代设计过程 251

7.1.2 面对的技术挑战 252

7.1.3 太空机器人系统的测试 252

7.2 乐视网TV大数据平台 253

7.2.1 问题的提出 253

7.2.2 平台构建过程及采用的工具 253

7.3 有道云笔记云端架构 257

7.3.1 数据结构的设计 257

7.3.2 服务框架的设计 258

7.3.3 架构的重构和升级 258

7.4 网易广告投放系统 259

7.4.1 系统设计目标 260

7.4.2 迭代开发过程 260

7.4.3 实现细节考虑 261

7.5 富士通的基于ZooKeeper和Storm的车载流式计算框架 262

7.5.1 项目背景介绍 262

7.5.2 软件设计策略 262

7.5.3 案例成功要点 263

7.6 支付宝无线统一测试平台 264

7.6.1 研发模式及实践经验 264

7.6.2 测试平台的模块结构介绍 265

7.6.3 核心模块的功能描述 266

7.7 习题 268

第8章 软件工程课程设计 269

8.1 基本要求及考核标准 269

8.1.1 课程设计的内容 269

8.1.2 课程设计的考核 303

8.2 交付文档要求及格式 307

8.2.1 《软件计划》编写格式及要点 308

8.2.2 《需求规约说明书(SRS)》编写格式及要点 309

8.2.3 《软件设计说明书》编写格式及要点 309

8.2.4 《软件测试计划》编写格式及要点 310

8.2.5 《软件测试分析报告》编写格式及要点 310

8.2.6 《开发进度报告》编写格式及要点 311

8.2.7 《用户手册》编写格式及要点 311

8.2.8 《操作手册》编写格式及要点 312

8.2.9 《软件开发总结报告》编写格式及要点 312

参考文献 313