《软件工程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:齐治昌,谭庆平,宁洪编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2001
  • ISBN:7040099098
  • 页数:476 页
图书介绍:

第一章 软件与软件工程 1

1.1软件 2

1.1.1软件与软件的组成 2

1.1.2软件的特点 3

1.1.3软件的分类 4

1.1.4软件的发展 6

1.1.5软件危机 8

1.2软件工程的概念 10

1.2.1软件工程的定义 10

1.2.2软件工程的目标 11

1.2.3软件工程的原则 13

1.3软件生存周期 14

1.3.1软件定义 14

1.3.2软件开发 16

1.3.3软件使用、维护和退役 18

1.4软件开发模型 19

1.4.1瀑布模型 20

1.4.2原型模型 21

1.4.3螺旋模型 22

1.4.4基于四代技术的模型 23

1.4.5变换模型 24

1.4.6组合模型 25

1.5CASE工具及环境 26

1.5.1计算机辅助软件工程 27

1.5.2CASE工具 27

1.5.3集成化的CASE环境 29

小结 30

习题 30

第二章 软件项目管理 32

2.1软件度量 32

2.1.1度量、测量和估算 33

2.1.2面向规模的度量 34

2.1.3面向功能的度量 35

2.1.4代码行度量与功能点度量的比较 38

2.2软件项目估算 39

2.2.1代码行、功能点和工作量估算 40

2.2.2经验估算模型之一:CoCoMo模型 41

2.2.3经验估算模型之二:Putnam模型 45

2.3软件质量度量 47

2.3.1软件质量定义及三层次度量模型 47

2.3.2软件质量要素 48

2.3.3软件质量要素评价准则 49

2.4软件复杂性度量 54

2.4.1软件复杂性及度量原则 54

2.4.2控制结构的复杂性度量 54

2.4.3文本复杂性度量 55

2.5软件可靠性度量 57

2.5.1软件可靠性的概念 57

2.5.2软件修复和软件有效性 59

2.5.3软件可靠性估算 60

2.6软件开发过程的管理 63

2.6.1风险分析 63

2.6.2进度安排 67

2.6.3软件开发标准 70

2.6.4软件质量保证 72

2.6.5软件开发人员的组织与分工 74

2.6.6软件项目的开发过程管理 76

2.7软件项目管理中的CASE工具 76

小结 77

习题 77

第三章 计算机系统工程 79

3.1计算机系统工程 80

3.1.1硬件和硬件工程 80

3.1.2软件和软件工程 81

3.1.3人机工程 84

3.1.4数据库工程 85

3.2可行性研究 86

3.2.1引言 86

3.2.2经济可行性 87

3.2.3技术可行性 89

3.2.4方案选择 90

3.3系统模型与模拟 92

3.3.1系统模型 92

3.3.2系统建模和模拟 94

3.4系统规格说明及评审 96

3.4.1系统规格说明 96

3.4.2系统规格说明评审 97

小结 97

习题 98

第四章 需求分析基础 99

4.1分析的任务与原则 99

4.2初步需求获取技术 101

4.2.1访谈与会议 101

4.2.2观察用户工作流程 101

4.2.3用户和开发人员共同组成联合小组 102

4.2.4实例分析 102

4.3需求建模 103

4.4问题抽象、问题分解与多视点分析 104

4.5支持需求分析的快速原型技术 105

4.6需求规格说明与评审 106

4.6.1需求规格说明书的目标与内容 106

4.6.2需求评审 109

小结 110

习题 110

第五章 面向数据流的分析方法 114

5.1数据流图与数据字典 114

5.2实体-关系图 117

5.2.1数据对象、属性与关系 117

5.2.2实体-关系图 118

5.3数据流图的实时系统扩充 120

5.3.1Ward&Mellor扩充 120

5.3.2Hatley&Pirhai扩充 122

5.4基于数据流的分析方法 126

5.4.1创建数据流模型 126

5.4.2创建控制流模型 127

5.4.3过程规格说明 128

5.5基于数据流图的需求分析CASE工具 130

5.5.1核心思想 130

5.5.2语言机制 132

5.5.3动态分析 138

5.5.4基于CASE工具的需求分析 139

小结 140

习题 140

第六章 面向对象的需求分析 142

6.1面向对象的概念与思想 142

6.2面向对象的分析方法 144

6.2.1识别对象 144

6.2.2标识对象的属性 146

6.2.3识别对象的行为 147

6.2.4识别对象所属的类 153

6.2.5定义主题词 155

6.2.6多视点需求分析 156

6.3面向对象的需求分析CASE工具 158

6.3.1概述 158

6.3.2对象及消息传递图 159

6.3.3类结构图 161

6.3.4对象状态转换图 161

6.3.5主题词结构图 162

6.3.6基于CASE工具的需求分析 162

小结 163

习题 164

第七章 面向数据的分析方法与形式化方法 165

7.1面向数据结构的系统开发方法 165

7.1.1Warnier图 165

7.1.2DSSD方法 166

7.2Jackson系统开发方法 169

7.2.1标识实体与行为 169

7.2.2生成实体结构图 170

7.2.3创建软件系统模型 171

7.3形式化方法 173

7.3.1主要思想 173

7.3.2形式化规格说明语言简介 175

7.3.3形式化需求描述 176

7.3.4形式化方法的现状与发展趋势 183

小结 184

习题 184

第八章 软件设计基础 186

8.1软件设计过程 186

8.2软件设计基本概念 187

8.2.1抽象与逐步求精 187

8.2.2模块化与信息隐藏 190

8.2.3软件总体结构设计 193

8.2.4数据结构设计 195

8.2.5软件过程设计 196

8.3过程设计技术和工具 197

8.3.1结构化程序设计 197

8.3.2图形表示法 198

8.3.3判定表 200

8.3.4过程设计语言(PDL) 201

8.3.5过程设计工具之比较 204

8.4设计规格说明与评审 205

小结 207

习题 207

第九章 面向数据流的设计方法 209

9.1基本概念和设计过程 209

9.2变换分析 211

9.3事务分析 217

9.4启发式设计策略 221

9.5设计优化原则 223

9.6实时系统设计 224

9.6.1实时系统性能要求 224

9.6.2实时系统设计要素 224

9.6.3实时系统设计方法 225

9.6.4设计实例 227

小结 230

习题 230

第十章 面向对象的设计方法 233

10.1面向对象设计的概念 234

10.1.1对象、操作和消息 234

10.1.2类、实例和继承 235

10.1.3对象描述 235

10.2面向对象的设计方法 236

10.2.1主体部件(PDC)的设计 237

10.2.2用户界面部件(HIC)的设计 242

10.2.3任务管理部件(TMC)的设计 244

10.2.4数据管理部件(DMC)的设计 246

10.3基于对象的设计方法 248

10.3.1设计步骤 248

10.3.2详细设计 251

小结 252

习题 253

第十一章 面向数据的设计方法 255

11.1面向数据设计 255

11.2Jackson系统开发方法 256

11.2.1JSD分析技术回顾 256

11.2.2扩充功能性过程 257

11.2.3施加时间约束 262

11.2.4实现与JSP技术 263

11.2.5产生过程表示 265

11.3基于结构化数据的系统开发(DSSD)方法 266

11.3.1DSSD设计步骤 267

11.3.2推导输出数据的逻辑结构 267

11.3.3推导处理过程的逻辑结构 268

11.3.4复杂过程逻辑的描述 270

小结 271

习题 271

第十二章 人机界面设计 273

12.1人的因素 273

12.1.1人类感知基础 273

12.1.2用户的技能 274

12.1.3任务与用户的特殊要求 275

12.2人机界面风格 275

12.3人机界面设计过程 276

12.3.1界面设计的有关模型 277

12.3.2任务分析与建模 277

12.3.3界面设计的一般问题 278

12.3.4实现工具 279

12.4人机界面实现的原则 280

12.4.1一般可交互性 280

12.4.2信息显示 280

12.4.3数据输入 281

12.5人机界面标准 281

12.6支持界面设计的CASE工具 282

小结 286

习题 286

第十三章 程序设计语言和编码 288

13.1程序设计语言 288

13.1.1程序设计语言的特性 288

13.1.2程序设计语言的基本机制 290

13.1.3程序设计语言的演变和分类 292

13.1.4程序设计语言的选择 293

13.2程序设计过程 294

13.2.1面向对象语言对OOD的支持 295

13.2.2基于对象语言对OOD的支持 297

13.2.3过程式语言对OOD的支持 300

13.3编程标准 302

13.4编程风格 303

13.5程序设计支持环境(PSE) 305

小结 307

习题 307

第十四章 软件测试 309

14.1基本概念 309

14.1.1软件测试的目标 309

14.1.2测试阶段的信息流程 310

14.1.3测试用例和场景的设计 311

14.1.4软件测试的步骤 312

14.2软件测试技术 313

14.2.1白盒测试 313

14.2.2黑盒测试 322

14.3软件测试策略 324

14.3.1单元测试 324

14.3.2综合测试 327

14.3.3确认测试 331

14.3.4系统测试 332

14.3.5排错 333

14.4基于CASE工具的软件测试和排错 336

14.4.1自动测试工具 336

14.4.2调试器 336

小结 338

习题 338

第十五章 软件维护 342

15.1软件维护的分类 342

15.2维护过程 343

15.2.1结构化与非结构化的维护 343

15.2.2维护的成本 344

15.2.3可能存在的问题 345

15.3可维护性 346

15.3.1影响可维护性的因素 346

15.3.2若干量化的测度 346

15.3.3保证可维护性的复审 347

15.4维护活动 347

15.4.1维护组织 347

15.4.2维护的报告与评估 348

15.4.3维护活动的事件流 349

15.4.4保存维护记录 350

15.4.5评价维护活动 351

15.5维护的副作用 352

15.6逆向工程与重构工程 353

15.6.1恢复信息的级别 353

15.6.2恢复信息的方法 354

小结 355

习题 356

第十六章 软件配置管理 357

16.1软件配置管理 357

16.1.1基线技术 358

16.1.2软件配置项 358

16.2软件配置管理任务 360

16.2.1标识配置对象 360

16.2.2版本控制 362

16.2.3系统建立 362

16.2.4修改控制 362

16.2.5配置审计 364

16.2.6配置状况报告 365

16.3软件配置管理标准 365

16.4配置管理的CASE工具 366

小结 368

习题 368

第十七章 软件重用技术 369

17.1软件重用 370

17.1.1软件重用的概念 370

17.1.2软件重用的过程与意义 370

17.1.3重用项目的管理 371

17.2软部件库的构造 372

17.2.1域分析 372

17.2.2软部件的开发 374

17.2.3软部件库的组织 377

17.3软部件的重用 380

17.3.1检索与提取软部件 380

17.3.2理解与评价软部件 382

17.3.3修改软部件 383

17.3.4软部件的合成 383

17.4面向对象的软件重用技术 384

17.4.1类库的构造 384

17.4.2类库的检索 384

17.4.3面向对象的合成 385

17.5软件重用项目的管理 389

17.5.1组织机构 389

17.5.2软件重用的考核指标 390

17.5.3创造重用氛围 391

17.6支持软件重用的CASE工具 391

17.6.1软件重用对CASE工具的需求 391

17.6.2类库的组织与检索工具 393

小结 395

习题 395

第十八章 快速原型技术 397

18.1瀑布模型的缺陷 397

18.2快速原型方法 400

18.2.1原型及其作用 400

18.2.2快速原型的构造过程 401

18.3基于快速原型的进化式软件开发 403

18.3.1螺旋模型 403

18.3.2螺旋模型的评价 406

18.4快速原型的技术支持 407

18.4.1用户界面自动生成工具 407

18.4.2面向数据库应用的开发工具 410

18.4.3四代语言 415

18.4.4可重用工具 416

18.4.5程序设计环境 416

小结 418

习题 418

第十九章 集成化CASE环境 420

19.1概述 420

19.2CASE工具的集成形式 421

19.2.1信息交换 421

19.2.2公共界面 422

19.2.3公共信息管理与信息共享 422

19.2.4高度集成 423

19.3集成化CASE环境的总体结构 424

19.3.1界面集成 424

19.3.2工具集成 425

19.3.3信息集成 426

19.3.4软件工程信息库 427

19.4可移植的通用工具环境PCTE 430

19.4.1基本机制 430

19.4.2用户接口 431

19.4.3分布式机制 432

小结 432

习题 433

第二十章 新型软件开发技术 434

20.1Internet与Java简介 434

20.1.1Internet简介 434

20.1.2Java的发展历史 436

20.1.3Java的特征 437

20.1.4Java的语法机制 439

20.1.5Java的意义 445

20.2Java与Internet环境下的软件开发 446

20.2.1基于Java的软件开发过程 446

20.2.2Java与多媒体主页的制作 447

20.2.3Java与交互式主页的制作 453

20.2.4Java与图形界面 454

20.2.5Java与网络程序设计 458

20.3对象链接与嵌入(OLE)技术 459

20.3.1OLE简介 459

20.3.2构件对象模型 460

20.3.3结构化存储与复合文件 461

20.3.4数据对象传送 462

20.3.5复合文档 464

20.3.6OLE自动化 465

20.3.7OLE控件 466

20.4CORBA与分布计算技术 466

20.4.1分布计算环境 467

20.4.2分布计算技术 467

20.4.3CORBA概述 469

20.4.4Internet环境下的分布式软件开发 470

小结 471

习题 472

参考文献 474