《高等学校规划教材 软件工程》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:杨文龙,姚淑珍,吴芸编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1999
  • ISBN:7505340581
  • 页数:514 页
图书介绍:

第一篇 软件与软件工程 1

第一章 软件与软件工程 1

第一节 软件的发展 1

第二节 软件的定义 3

一、软件的含义 3

二、软件的特点 3

三、软件的种类 4

第三节 软件危机 5

第四节 软件工程开发模式 8

一、瀑布式模型 9

二、原型开发模型 11

三、螺旋模型 13

四、四代技术 14

五、面向对象生存期模型 15

六、过程开发模型(混合模型) 25

第二篇 传统的开发方法 32

第二章 分析原理 32

第一节 分析任务与分析员 32

一、分析任务 32

二、分析员 33

第二节 问题域 34

第三节 通信技术 34

一、过程的开始 34

二、方便的应用规范技术 35

第四节 分析原理 36

一、信息域 36

二、建模 37

三、划分 37

四、基本和实现观点 37

第五节 规格说明 38

一、规格说明原则 39

二、表达式 39

三、软件需求规格说明 39

第六节 规格说明评审 40

第三章 结构化分析 43

第一节 基本符号及其扩充 43

一、数据流图 44

二、实时系统应用中的扩充 46

三、Ward和Mellor扩充形式 46

四、Hatley和Pirbhai扩充形式 48

五、行为建模 50

六、密集数据应用的扩充形式 51

第二节 结构化分析方法 51

一、构造数据流模型 51

二、构造控制流模型 55

三、控制规格说明 56

四、过程规格说明 57

第三节 数据字典 58

第四章 设计原理 62

第一节 软件设计的重要性 62

第二节 设计过程 63

一、设计与软件质量 63

二、软件设计的发展 64

第三节 设计基本原理 64

一、抽象 64

二、细化 67

三、模块化 67

四、软件体系结构 68

五、控制层次 68

六、数据结构 70

七、软件过程 71

八、信息隐藏 72

第四节 模块化设计 73

一、模块类型 73

二、模块的独立性 74

三、聚合 74

四、耦合 77

第五节 数据设计 79

第六节 体系结构设计 80

一、模块大小 81

二、深度和宽度与扇出和扇入 81

三、判定的作用域和模块的控制域 81

第七节 过程设计 83

一、结构化程序设计 83

二、图形设计表示法 84

三、表格设计表示法 95

四、过程设计语言 97

第八节 设计规格说明 103

第五章 面向数据流的设计 107

第一节 结构图 107

第二节 数据流的类型 109

一、变换流 109

二、事务流 110

第三节 从数据流图到程序结构图的转换 110

一、变换流设计 110

二、事务流设计 112

三、混合流设计 113

第四节 设计步骤 114

第五节 设计的后处理 115

第六章 面向数据结构的设计 117

第一节 Jackson的结构图解和图解逻辑 118

一、Jackson的结构图解 118

二、Jackson的图解逻辑 119

第二节 Warnier-Orr图 120

第三节 Jackson的开发方法 121

一、基本设计方法 122

二、处理多个数据结构 124

三、回溯 125

四、结构冲突 126

五、程序反演 132

第四节 Warnier-Orr的开发方法 133

一、简化的设计方法 133

二、LOS的导出 134

三、LPS的导出 135

四、复杂过程逻辑 136

第七章 原型开发 139

第一节 原型的定义 139

第二节 原型开发的应用 140

第三节 原型开发的分类 141

一、抛弃式原型开发 141

二、演化式原型开发 141

三、增量式原型开发 142

第四节 原型开发的活动 142

一、原型开发目标的建立 142

二、功能选择 142

三、原型构造 143

四、评价 143

第五节 原型开发技术 143

一、功能原型 143

二、用户界面原型 149

第三篇 面向对象的开发方法 155

第八章 面向对象的分析与设计 155

第一节 面向对象方法的基本概念和特征 156

第二节 面向对象分析 158

一、确定对象 158

二、确定属性 160

三、定义操作 161

四、对象间通信 161

五、完成对象定义 162

第三节 面向对象设计 167

一、面向对象设计概念 167

二、面向对象设计方法 170

三、程序构件及接口 171

四、细节设计 173

第四节 Booch的面向对象方法及实例 174

一、方法 175

二、步骤 177

三、实例 179

第五节 其他面向对象设计方法 200

一、ESA的HOOD方法 201

二、Rumbaugh等的OMT方法 201

三、Wirfs-Brock的RDD方法 202

第九章 面向对象编程 204

第一节 面向对象编程概念 204

一、对象 204

二、类和实例 205

三、继承 207

四、封装 210

五、多态性 210

第二节 面向对象编程语言 212

一、面向对象编程语言的分类 212

二、几种典型的面向对象编程语言 212

第十章 实时设计 220

第一节 实时系统 220

一、集成及性能问题 220

二、中断处理 221

三、实时数据库 221

四、实时操作系统 222

五、实时语言 222

六、任务同步和通信 223

第二节 实时系统分析、仿真与设计 223

一、分析与仿真 223

二、设计方法 227

第三节 面向对象的实时系统构造方法 227

一、基本点 228

二、分析 228

三、构造 230

四、测试与验证 231

第四篇 Petri网原理与应用 233

第十一章 Petri网原理与应用 233

第一节 Petri网的定义 233

第二节 Petri网的基本原理 234

一、Petri网的静态结构 234

二、Petri网的动态特征 235

三、转移启动规则 235

第三节 建模实例 237

一、有限状态机 238

二、并行活动 238

三、数据流计算 239

四、通信协议 239

五、同步控制 239

六、生产者/消费者系统 240

七、形式语言 241

八、机械加工 242

第四节 行为特性 244

一、可达性 244

二、有界性 244

三、活性 244

四、可逆性 245

五、可覆盖性 245

六、持久性 246

七、同步距离 246

八、公平性 248

第五节 Petri网的特性分析方法 249

一、Petri网的行为特性分析方法 249

二、Petri网的结构特性分析方法 261

第六节 Petri网子类及其行为特性分析方法 265

一、Petri网子类 265

二、Petri网子类的某些行为特性分析 267

第七节 改进Petri网及其应用 274

一、谓词/转移网 274

二、着色网 275

三、时间网 278

四、随机网 279

第八节 从Petri网到程序结构的转换 282

一、流程图的方法 282

二、编程语言的方法 283

三、面向对象的程序设计方法 290

第五篇 语言与实现 297

第十二章 规格说明、设计和原型开发语言 297

第一节 规格说明语言 297

一、规格说明的方法 299

二、规格说明语言 300

第二节 设计语言 303

第三节 原型开发语言 306

一、原型开发语言的需求 307

二、原型开发语言的执行 308

三、原型开发语言的一个实例:PSDL 309

第十三章 编程语言与编码 317

第一节 翻译过程 317

第二节 编程语言特性 317

一、心理学观点 318

二、语法/语义问题 319

三、工程观点 320

四、语言选择 321

五、编程语言与软件工程 322

第三节 编程语言基础 323

一、数据类型和数据分类 323

二、子程序 324

三、控制结构 324

四、对面向对象方法的支持 324

第四节 语言分类和发展 326

一、第一代语言 327

二、第二代语言 327

三、第三代语言 329

四、第四代语言 335

五、第五代语言 337

第五节 编码风格 339

一、代码文档化 340

二、数据说明 340

三、语句构造 341

四、I/O 341

第六节 效率 342

一、代码效率 342

二、内存效率 342

三、I/O效率 343

第七节 保护性编程 343

第八节 冗余编程 345

第六篇 质量与质量保证 347

第十四章 软件质量与质量保证 347

第一节 软件质量 347

一、软件质量定义 347

二、软件质量因素 347

第二节 软件质量保证 352

一、质量保证策略 353

二、软件质量保证活动 353

第三节 软件评审 354

一、软件缺陷的费用影响 354

二、缺陷的扩大和排除 354

第四节 正式技术评审 355

一、评审会议 356

二、评审报告和记录保存 357

三、评审指南 357

四、评审检查表 358

第五节 软件质量度量 361

一、Halstead的软件科学度量 362

二、McCabe复杂性度量 365

第六节 软件可靠性 366

一、可靠性和可用性度量 366

二、软件可靠性模型 367

三、软件安全性 368

第七节 软件质量保证的方法 369

一、考查对SQA的需要 369

二、SQA计划的制定和标准的采用 370

第十五章 软件测试 375

第一节 软件测试的目标 375

第二节 软件测试的原则 376

第三节 软件测试的过程和步骤 377

一、软件测试过程 377

二、软件测试步骤 378

三、单元测试 378

四、组装测试 381

五、确认测试 384

六、系统测试 385

第四节 软件测试技术 387

一、测试用例设计 387

二、纠错技术 397

第五节 实时系统测试 399

一、任务测试 400

二、行为测试 400

三、任务间测试 400

四、系统测试 400

第六节 测试计划和测试分析报告 400

第十六章 软件维护 405

第一节 软件维护的分类 405

第二节 软件维护的特点 406

一、软件工程与软件维护的关系 406

二、维护费用 406

三、维护中的问题 407

第三节 软件的可维护性 407

一、控制因素 407

二、定量度量 408

三、评审 408

第四节 软件的维护任务 409

一、维护机构 409

二、编写报告 410

三、维护流程 410

四、记录保存 412

五、评价 413

第五节 软件维护的副作用 413

一、修改代码的副作用 413

二、修改数据的副作用 414

三、修改文档的副作用 414

第六节 维护“奇异码” 414

第七节 反推工程和再生工程 415

第八节 预防性维护 416

第七篇 计划与管理 419

第十七章 软件计划与管理 419

第一节 确定工作范围和资源 419

一、软件工作范围 419

二、资源 419

第二节 成本估算 421

一、成本估算方法 421

二、成本估算模型 423

三、软件生产率数据 426

四、代码行的成本估算方法 427

五、每项任务工作量的成本估算方法 429

第三节 进度安排 430

一、软件工作的特殊性 430

二、各阶段工作量的分配 431

三、制定开发进度 432

第四节 配置管理 432

一、基线 433

二、交付项的发行 435

三、配置控制的机制 435

第五节 软件开发组织 436

第六节 软件计划 437

第七节 软件产权保护 438

一、软件知识产权的法律保护 438

二、计算机软件是著作权保护的客体 440

三、软件著作权人享有的专有权力 441

四、软件著作权的登记 442

第八篇 工具与环境 446

第十八章 人-机界面设计 446

第一节 用户分析 446

一、用户分类 446

二、影响用户行为特性的因素 448

三、用户的使用需求分析 449

四、人-机界面的设计原则 450

第二节 任务分析与模型建立 451

一、结构化分析 451

二、面向对象分析 452

第三节 人-机界面的交互方式 452

一、问答式对话 453

二、菜单界面 453

三、功能键 453

四、图符界面 453

五、填表界面 453

六、命令语言界面 453

七、查询语言界面 453

八、自然语言界面 454

第四节 人-机界面的开发过程 454

一、人-机界面开发的瀑布式模型 454

二、人-机界面开发的原型模型 455

第五节 界面设计的一般准则 456

一、一般交互 456

二、信息显示 457

三、数据输入 458

第六节 智能人-机界面的设计 458

一、智能界面的定义 458

二、智能界面的构成 459

三、智能界面的相关技术 460

四、建立智能界面的过程 462

第十九章 数据库在CADE中的应用 464

第一节 工程思想 464

第二节 历史回顾 466

第三节 数据库 466

一、数据类型和灵活性 467

二、元数据:数据字典 467

三、类属工具:查询语言 468

四、完整性和内部一致性 469

第四节 软件工程的数据 469

一、程序 469

二、程序结构 470

三、程序的可选表达式 470

四、程序的描述 471

五、接口与可重用性 471

六、需求与约束 472

七、设计环境和运行环境 472

八、测试和测试评价 473

第五节 CASE的数据模型和模型层次 473

一、数据模型评价准则 473

二、文件系统模型 477

三、实体-关系模型 478

四、对象模型 479

五、超文本模型 481

六、早期模型 482

七、建模回顾 482

第六节 面向对象数据库与CASE 482

一、面向对象数据库概要 483

二、面向对象数据库管理系统的研究与开发状况 483

三、面向对象数据库管理系统的性能 484

四、CASE数据库 484

五、面向对象CASE数据库需进一步研究的课题 485

第二十章 软件开发工具与环境 488

第一节 软件开发工具 488

第二节 软件开发环境 489

一、按解决的问题分类 489

二、按现有软件开发环境的演变趋向分类 490

三、按集成化程度分类 491

第三节 计算机辅助软件工程(CASE) 492

一、I-CASE集成方式 493

二、I-CASE框架结构 494

三、I-CASE中心库 495

第四节 实例 499

一、Ada编程支持环境 499

二、青鸟系统 507

参考文献 511