当前位置:首页 > 工业技术
软件工程概论
软件工程概论

软件工程概论PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:郑人杰,殷人昆编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1998
  • ISBN:7302029091
  • 页数:287 页
图书介绍:
《软件工程概论》目录

第1章 软件工程概述 1

1.1 软件的概念和分类特点 1

1.1.1 软件的概念与特点 1

1.1.2 软件的分类 3

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

1.3 软件工程过程和软件生存期 8

1.3.1 软件工程过程(software engineering process) 8

1.3.2 软件生存期(life cycle) 9

1.4 软件生存期模型 10

1.4.1 瀑布模型(waterfall model) 10

1.4.2 演化模型(evolutional model) 11

1.4.3 螺旋模型(spiral model) 11

1.4.4 喷泉模型(water fountain model) 13

1.4.5 智能模型(intelligence model) 13

1.5 软件工程的基本目标 13

1.5.1 软件工程的定义 13

1.5.2 软件工程项目的基本目标 14

第2章 软件需求分析 15

2.1 软件需求分析概述 15

2.1.1 软件需求分析的任务 15

2.1.2 需求分析的过程 16

2.1.3 软件需求分析的原则 19

2.2 结构化分析方法 21

2.2.1 数据流图(DFD,data flow diagram) 21

2.2.2 数据词典(DD,data dictionary) 24

2.2.3 加工逻辑说明 27

2.3 结构化数据系统开发方法(DSSD)—面向数据结构的分析方法之一 30

2.3.1 Warnier图 30

2.3.2 DSSD的分析方法 31

2.4 Jackson系统开发方法(JSD)—面向数据结构的分析方法之二 34

2.4.1 进程模型 35

2.4.2 JSD方法的步骤 35

2.4.3 实体动作分析 36

2.4.4 实体结构分析 37

2.4.5 定义初始模型 38

2.5 原型化方法(prototyping) 40

2.5.1 软件原型的分类 41

2.5.2 快速原型开发模型 41

2.6 系统动态分析 44

2.6.1 状态迁移图 44

2.6.2 petri网 45

2.7 结构化分析与设计方法(SADT) 48

第3章 软件设计 51

3.1 软件设计的目标和任务 51

3.1.1 软件设计在开发阶段中的重要性 51

3.1.2 软件设计任务 52

3.2 程序结构与程序结构图 54

3.2.1 程序的树状结构和网状结构 55

3.2.2 结构图(structure chart简称SC) 55

3.3 模块的独立性 57

3.3.1 模块(module) 57

3.3.2模块独立性(module independence) 58

3.3.3 耦合性(coupling) 58

3.3.4 内聚性(cohesion) 60

3.3.5 信息隐蔽 63

3.4 结构化设计方法—面向数据流的设计方法 63

3.4.1 典型的系统结构形式 64

3.4.2 变换分析 66

3.4.3 事务分析 69

3.4.4 软件模块结构的改进 71

3.5 结构化数据系统开发方法(DSSD)—面向数据结构的设计方法之一 75

3.5.1 一种简化的设计方法 75

3.5.2 导出逻辑输出结构 76

3.5.3 导出逻辑处理结构(LPS) 76

3.6 Jackson系统开发方法(JSD)—面向数据结构的分析与设计方法之二 78

3.6.1 JSD功能描述 78

3.6.2 决定系统时间特性 82

3.6.3实现 82

第4章 详细设计描述的工具 87

4.1 程序流程图(program flow chart) 87

4.2 N-S图 90

4.3 PAD 91

4.4 PDL 93

第5章 程序编码 100

5.1 对源程序的质量要求 100

5.2 结构化程序设计 101

5.2.1 关于COTO语句的争论 101

5.2.2 结构化程序设计的原则 102

5.2.3 程序设计自顶向下,逐步求精 104

5.3 程序设计风格 106

5.3.1 源程序文档化 107

5.3.2 数据说明 110

5.3.3 语句结构 110

5.3.4 输入和输出(I/O) 114

5.4 程序复杂性度量 115

5.4.1 代码行度量法 115

5.4.2 McCabe度量法 116

5.4.3 Halstead的软件科学 117

第6章 面向对象技术 120

6.1 面向对象的概念 120

6.2 基于复用的开发过程 123

6.2.1 应用生存期 123

6.2.2 类生存期 124

6.3 面向对象分析与模型化 126

6.3.1 面向对象分析(OOA,object-oriented analysis) 126

6.3.2 论域分析(domain analysis) 126

6.3.3 应用分析(application analysis) 129

6.3.4 对象模型技术(OMT,object model tech.) 129

6.4 高层设计 134

6.5 类的设计 135

6.5.1 通过复用设计类 135

6.5.2 类设计的方针 136

6.5.3 类设计的过程 138

6.6 Coad与Yourdon面向对象分析与设计技术 143

6.6.1 面向对象的分析 143

6.6.2 面向对象的设计 145

6.7 Booch的方法 146

6.7.1 Booch方法的设计过程 147

6.7.2 Booch方法的基本的模型 147

6.8 面向对象设计的实现 151

6.8.1 类的实现 151

6.8.2 系统的实现 153

第7章 软件测试 155

7.1 软件测试的基础 155

7.1.1 什么是软件测试 155

7.1.2 软件测试的目的和原则 156

7.1.3 软件测试的对象 157

7.1.4 测试信息流 158

7.1.5 测试与软件开发各阶段的关系 159

7.2 测试用例设计 160

7.3 白盒测试的测试用例设计 161

7.3.1 逻辑覆盖 161

7.3.2 语句覆盖 162

7.3.3 判定覆盖 163

7.3.4 条件覆盖 163

7.3.5 判定-条件覆盖 164

7.3.6 条件组合覆盖 164

7.3.7 路径测试 165

7.4 黑盒测试的测试用例设计 165

7.4.1 等价类划分 165

7.4.2 边界值分析 168

7.4.3 错误推测法 171

7.7.4 因果图 171

7.5 软件测试的策略 174

7.5.1 单元测试(unit testing) 175

7.5.2 组装测试(integrated testing) 177

7.5.3 确认测试(validation testing) 181

7.5.4系统测试(system testing) 183

7.5.5 测试的步骤及相应的测试种类 183

7.6 人工测试 186

7.6.1 静态分析 186

7.6.2 人工测试 187

7.7 调试(Debug,,排错) 189

7.7.1 调试的步骤 189

7.7.2 几种主要的调试方法 190

7.7.3 调试原则 193

第8章 软件维护 194

8.1 软件维护的概念 194

8.1.1 软件维护的定义 194

8.1.2 影响维护工作量的因素 195

8.1.3 软件维护的策略 195

8.2 软件维护活动 196

8.2.1 软件维护申请报告 196

8.2.2 软件维护工作流程 197

8.2.3 维护档案记录 198

8.2.4 维护评价 198

8.3 程序修改的步骤及修改的副作用 198

8.3.1 分析和理解程序 199

8.3.2 修改程序 199

8.3.3 重新验证程序 202

8.4 软件可维护性 202

8.4.1 软件可维护性的定义 203

8.4.2 可维护性的度量 203

8.5 提高可维护性的方法 206

8.5.1 建立明确的软件质量目标和优先级 206

8.5.2 使用提高软件质量的技术和工具 206

8.5.3 进行叨确的质量保证审查 207

8.5.4 选择可维护的程序设计语言 208

8.5.5 改进程序的文档 209

8.6 逆向工程和再工程 210

第9章 软件工程标准化与软件文档 211

9.1 软件工程标准化 211

9.1.1 什么是软件工程标准 211

9.1.2 软件工程标准化的意义 213

9.1.3 软件工程标准的层次 213

9.1.4 中国的软件工程标准化工作 214

9.2 软件质量认证 215

9.2.1 ISO 9000系列标准及软件质量认证 215

9.2.2 ISO 9000系列标准的内容 216

9.2.3 制定与实施ISO 9000系列标准 217

9.2.4 ISO 9000-3的要点 218

9.3 在开发机构中推行软件工程标准化 220

9.4 软件文档的作用与分类 221

9.4.1 软件文档的作用和分类 221

9.4.2 对文档编制的质量要求 223

9.4.3 文档的管理和维护 225

9.5 软件过程成熟度模型 227

9.5.1 软件机构的成熟性 227

9.5.2 软件过程成熟度模型 228

9.5.3 关键过程领域 229

9.5.4 成熟度提问单 230

第10章 软件管理 232

10.1 软件生产率和质量的度量 232

10.1.1 软件度量 232

10.1.2 面向规模的度量 232

10.1.3 面向功能的度量 233

10.1.4 软件质量的度量 234

10.1.5 影响软件生产率的因素 235

10.2 软件项目的估算 236

10.2.1 对估算的看法 236

10.2.2 软件项目计划的目标 237

10.2.3 软件的范围 237

10.2.4 软件开发中的资源 237

10.2.5 软件项目估算 240

10.2.6 分解技术 241

10.3 软件开发成本估算 243

10.3.1 软件开发成本估算方法 244

10.3.2 专家判定技术 245

10.3.3 软件开发成本估算的经验模型 245

10.4 软件项目进度安排 249

10.4.1 软件开发小组人数与软件生产率 250

10.4.2 任务的确定与并行性 251

10.4.3 制定开发进度计划 251

10.4.4 进度安排的方法 252

10.4.5 项目的追踪的和控制 254

10.5 软件项目的组织与计划 255

10.5.1 软件项目管理的特点 255

10.5.2 制定计划 257

10.5.3 软件项目组织的建立 258

10.5.4 人员配备 262

10.5.5 指导与检验 263

10.6 软件配置管理 265

10.6.1 软件配置管理 265

10.6.2 配置标识 267

10.6.3 版本控制 269

10.6.4 变更控制 269

10.6.5 配置状态报告(configuration status reporting ,CSR) 271

10.6.6 配置审计(configuration audit) 271

附录 软件产品开发文档编写指南 273

参考文献 287

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