当前位置:首页 > 工业技术
软件工程-理论与实践
软件工程-理论与实践

软件工程-理论与实践PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:许家珆等编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2004
  • ISBN:7040141477
  • 页数:303 页
图书介绍:本书是与教育部新世纪网络课程建设项目“软件工程”相配套的教材,全书内容丰富,涉及软件工程的各个主要方面,尤其突出实用性,共分为10章内容,包括:软件工程概述、软件需求分析、软件设计与编码、面向对象技术、UML统一建模语言、软件复用和构件技术、软件测试、软件维护、软件工具与集成化环境和软件工程管理。另外还针对软件工程这门课的特点,给出了相应的实践指导,包括如何进行课程设计和部分课程设计实例。本书配有光盘一张,其中内容为与教材配套的电子教案和教材中所有习题的解答,供广大师生在教学中使用。本书可以作为高等学校计算机及相关专业本科生的教材,也可供工程技术人员借鉴使用。
《软件工程-理论与实践》目录

1.1 软件工程的产生和发展 1

1.1.1软件工程的发展过程 1

第1章 软件工程概述 1

1.1.2软件危机 2

1.1.3软件工程的定义 3

1.1.4软件工程研究的内容 3

1.2软件与软件生存期 4

1.2.1软件的概念和特点 5

1.2.3软件生存期 6

1.2.2软件工程过程 6

1.3软件生存期模型 7

1.3.1瀑布模型 8

1.3.2循环模型 8

1.3.3增量模型 9

1.3.4螺旋模型 9

1.3.5喷泉模型 9

1.4软件开发方法 11

1.3.6智能模型 11

1.4.1结构化开发方法 12

1.4.2面向数据结构的开发方法 13

1.4.3原型化开发方法 15

1.4.4面向对象的开发方法 16

1.5软件工具与软件开发环境 17

习题一 18

第2章 软件需求分析 20

2.1 基本概念 20

2.1.1软件需求分析的任务 20

2.1.2需求分析的过程 21

2.1.3软件需求分析的原则 22

2.1.4需求分析方法 23

2.2结构化分析方法 23

2.2.1 SA法概述 24

2.2.2数据流图 24

2.2.3实例:医院病房监护系统 28

2.2.4分层DFD图的改进 30

2.2.5数据词典 32

2.2.6加工逻辑说明 33

2.3原型化方法 35

2.3.1软件原型的分类 36

2.3.2快速原型开发模型 37

2.4系统动态分析 38

2.4.1状态迁移图 38

2.4.2 Petri网 39

习题二 40

第3章 软件设计与编码 43

3.1 软件设计阶段的任务与目标 43

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

3.1.2软件设计阶段的任务 44

3.2软件结构与软件结构图 45

3.2.1软件结构的基本概念 45

3.2.2软件的树状结构和网状结构 47

3.2.3软件结构图 48

3.3模块的独立性 49

3.3.1模块独立性 49

3.3.2耦合性 50

3.3.3内聚性 51

3.3.4信息隐蔽 53

3.4结构化设计方法 54

3.4.1结构化设计方法概述 54

3.4.2数据流图的分类与典型的系统结构 54

3.4.3变换分析 55

3.4.4事务分析 57

3.4.5实例:银行贷款文件管理 58

3.4.6模块结构图的改进 61

3.5 JACKSON系统开发方法 65

3.5.1 JACKSON方法简介 65

3.5.2 JACKSON方法的设计过程 67

3.5.3 JACKSON方法的技术构成 68

3.6.1程序流程图 71

3.6.2 N-S图 71

3.6详细设计描述工具 71

3.6.3 PAD图 72

3.7用户界面设计 74

3.7.1用户界面的特性及设计任务 75

3.7.2用户界面的基本类型 75

3.7.3输入/输出用户界面设计 77

3.8程序编码 78

3.8.1程序设计语言的选择 79

3.8.2结构化程序设计 80

3.8.3程序设计风格 81

3.8.4算法与程序效率 83

习题三 83

第4章 面向对象方法 87

4.1面向对象方法概述 87

4.1.1什么是面向对象方法 87

4.1.2面向对象方法的主要特点 88

4.2.1对象与类 89

4.2面向对象的基本概念 89

4.2.2继承 90

4.2.3多态性 91

4.2.4消息 91

4.2.5方法 91

4.3面向对象的分析 91

4.3.1需求分析中的问题 92

4.3.2面向对象分析的特点 93

4.3.3面向对象分析的基本任务与分析过程 93

4.4.1 面向对象设计的准则 95

4.4面向对象的设计 95

4.4.2面向对象设计的基本任务 96

4.5典型的面向对象方法 97

4.5.1 Booch方法 98

4.5.2 Coad/Yourdon方法 100

4.5.3对象模型技术 103

4.5.4 OOSE方法 109

习题四 110

5.1.1 UML的形成 113

第5章 UML统一建模语言 113

5.1 UML概述 113

5.1.2 UML的主要内容 114

5.1.3 UML的图形表示 115

5.1.4 UML的特点 116

5.2通用模型元素 117

5.2.1模型元素 117

5.2.2约束 118

5.2.3依赖关系 119

5.2.4细化 120

5.2.5注释 120

5.3用例模型 120

5.3.1用例图 121

5.3.2确定执行者 121

5.3.3确定用例 123

5.3.4用例之间的关系 124

5.3.5用例图实例 125

5.4建立静态模型 127

5.4.1类图与对象图 128

5.4.2类的识别 129

5.4.3属性与操作识别 132

5.4.4类之间的关系 132

5.4.5包图 138

5.5建立动态模型 139

5.5.1消息 140

5.5.2状态图 140

5.5.3顺序图 142

5.5.4合作图 145

5.5.5活动图 147

5.6实现模型 150

5.6.1构件图 150

5.6.2配置图 151

习题五 153

6.1.2软件复用的级别 155

6.1.1软件复用的基本概念 155

6.1软件复用概述 155

第6章 软件复用和构件技术 155

6.1.3软件复用的形式 157

6.2可复用构件与构件工程 157

6.2.1可复用构件 157

6.2.2基于构件的软件工程 159

6.3 领域工程分析和基于构件的开发 159

6.3.1领域分析 159

6.3.2构件的开发与构件库 160

6.3.3基于构件的开发 162

6.4基于构件的软件开发特点 163

6.4.1开发的质量 163

6.4.2开发的效率 163

6.4.3开发的成本 164

6.5软件构件技术的技术规范 164

6.5.1对象管理组织的CORBA 165

6.5.2微软的COM 167

6.5.3 Sun的EJB 169

习题六 171

第7章 软件测试 172

7.1软件测试的基本概念 172

7.1.1软件测试的目的和重要性 172

7.1.2软件测试的特点和原则 173

7.1.3软件测试的基本步骤 176

7.1.4静态分析与动态测试 177

7.2 白盒法测试 178

7.2.1逻辑覆盖 178

7.2.2语句覆盖 179

7.2.3判定覆盖 180

7.2.4条件覆盖 181

7.2.5判定-条件覆盖 182

7.2.6条件组合覆盖 182

7.2.7白盒法测试实例 183

7.3黑盒法测试 184

7.3.1等价分类法 184

7.3.3错误推测法 186

7.3.2边界值分析法 186

7.3.4因果图法 187

7.4软件测试的策略 188

7.4.1单元测试 188

7.4.2组装测试 191

7.4.3确认测试 194

7.4.4系统测试 195

7.4.5 α测试和β测试 196

7.4.6综合测试策略 196

7.5.2几种主要的排错方法 197

7.5排错技术 197

7.5.1排错的原则 197

7.6面向对象的测试 199

7.6.1在面向对象语境中的单元测试 199

7.6.2在面向对象语境中的集成测试 200

7.6.3在面向对象语境中的确认测试 201

习题七 201

8.1.2软件维护的类型 203

8.1.1软件维护的目的 203

第8章 软件维护 203

8.1软件维护的基本概念 203

8.1.3软件维护的特性 205

8.1.4软件维护的代价 206

8.2软件维护的过程 207

8.2.1维护组织 207

8.2.2维护工作的流程 208

8.2.3维护工作的组织管理 208

8.3软件维护技术 209

8.3.1面向维护的技术 209

8.3.2维护支援技术 210

8.3.3维护档案记录 210

8.3.4维护工作评价 210

8.4软件可维护性 211

8.4.1 软件可维护性的定义 211

8.4.2提高可维护性的方法 213

8.5逆向工程和再工程 217

8.5.1 逆向工程 217

8.5.2软件重构 218

8.5.3再工程的成本/效益分析 218

8.5.4再工程的风险分析 219

习题八 219

第9章 软件工具与集成化环境 221

9.1软件开发工具 221

9.2集成化CASE环境 223

9.2.1概述 223

9.2.2集成化的CASE开发环境的体系结构 224

9.3软件开发工具Rational Rose 226

9.3.1 Rose工具简介 226

9.3.2业务用例图 227

9.3.3用例图 228

9.3.4类图 230

9.3.5协作图与时序图 232

9.3.6活动图 233

9.3.7状态图 234

9.3.8构件图和部署图 235

习题九 237

第10章 软件工程管理 238

10.1软件工程管理概述 238

10.1.1软件管理的任务与目标 238

10.1.2软件的作用范围 239

10.1.3 资源要求 240

10.2可行性研究 241

10.2.1可行性研究的任务 241

10.2.2系统的描述 241

10.2.3可行性研究报告 242

10.3成本估算技术 243

10.3.1 影响成本估算的因素 244

10.3.2成本估算模型 245

10.3.4专家估算模型 246

10.3.3 Halstead理论模型 246

10.3.5 IBM估算模型 247

10.3.6 Putnam估算模型 247

10.3.7 COCOMO模型 248

10.3.8成本估算方法 250

10.3.9成本/效益分析 251

10.4软件项目的组织与计划 251

10.4.2软件开发进度计划 252

10.4.1软件项目管理的特点 252

10.4.3人员配备与组织 254

10.4.4软件开发小组与软件生产率 255

10.5软件质量保证 256

10.5.1 软件质量因素的定义 257

10.5.2软件质量保证工作 257

10.5.3软件项目的跟踪与控制 258

10.6软件能力成熟度模型(CMM) 258

10.6.1 CMM的基本概念 258

10.6.2软件过程的成熟度等级 259

10.6.4软件企业如何实施CMM 261

10.6.3关键过程区域 261

习题十 265

第11章 软件工程课程设计 267

11.1课程设计目的与要求 267

11.1.1目的与要求 267

11.1.2命题原则 267

11.2.2需求分析 268

11.2.3软件设计 268

11.2.1确定课题 268

11.2课程设计步骤安排 268

11.2.4编码与测试 269

11.2.5验收测试 269

11.3案例分析 270

11.3.1案例一ATM系统 270

11.3.2案例二医院病房监护系统 281

11.3.3案例三会议系统 288

参考文献及参考网站 303

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