《软件工程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:曾建潮主编
  • 出 版 社:武汉:武汉理工大学出版社
  • 出版年份:2003
  • ISBN:7562919542
  • 页数:284 页
图书介绍:普通高等学校计算机科学与技术专业新编系列教材:本教材分别讲述了可行性分析,结构化分析方法,总体设计,详细设计,编码实现,面向对象的方法学、面向对象的分析方法和建模技术等12章内容。

1软件工程概论 1

1.1软件危机引发的思考 1

1.1.1软件的发展与软件危机 1

1.1.2产生软件危机的根源 3

1.1.3软件产品的特征 4

1.1.4软件产品的生产过程与软件生存期 4

1.1.5解决软件危机的途径 6

1.2软件工程的概念与原理 6

1.2.1软件工程的概念 6

1.2.2软件工程项目的基本目标 7

1.2.3软件工程与传统工程的区别 7

1.2.4软件工程的基本原理 8

1.2.5软件质量评价 10

1.3软件生命周期模型 10

1.3.1瀑布模型 10

1.3.2演化模型 13

1.3.3螺旋模型 14

1.3.4增量模型 14

1.3.5喷泉模型 18

1.4软件开发方法 19

1.4.1结构化分析与设计方法 19

1.4.2面向对象的分析与设计 22

1.4.3软件工具与软件开发环境 22

习题与思考题 24

2可行性分析 25

2.1可行性分析的主要任务 25

2.1.1分析和澄清问题定义 25

2.1.2确定问题是否值得去解 26

2.2可行性分析的步骤 26

2.2.1复查系统的规模和目标 26

2.2.2通过对现实环境的调查研究,获得更多的信息 26

2.2.5导出可供选择的方案并进行评价 27

2.2.3确定新系统的高层逻辑模型 27

2.2.4对新系统的逻辑模型进行验证并重新定义问题 27

2.2.6向决策人员提交行动建议 28

2.2.7书写文档提交审查 28

2.3可行性分析的技术方法 28

2.3.1系统流程图 28

2.3.2数据流图 31

2.3.3数据字典 34

2.4成本/效益分析 36

2.4.1成本估计 36

2.4.2成本/效益分析 37

习题与思考题 38

3需求分析 40

3.1需求分析的任务 40

3.1.2分析目标系统的数据要求 41

3.1.3导出目标系统的逻辑模型 41

3.1.1确定目标系统的综合要求 41

3.1.4修正软件项目开发计划 42

3.1.5开发原型系统 42

3.1.6编写软件需求规格说明书 42

3.2需求分析的过程 42

3.3数据驱动的分析方法 44

3.3.1数据流图 44

3.3.2数据字典 47

3.4功能驱动的分析方法 49

3.4.1状态迁移图 49

3.4.2 Petri网 51

3.5快速原型驱动的分析方法 53

3.6数据与数据库需求 54

3.6.1 E-R模型 54

3.6.2数据结构的规范化 56

3.7.2软件需求验证的方法 57

3.7.1如何验证软件需求的正确性 57

3.7需求验证 57

习题与思考题 58

4总体设计 60

4.1总体设计的目标与任务 60

4.2软件设计的基本原理 62

4.2.1抽象化 62

4.2.2模块化 62

4.2.3信息隐蔽原理 63

4.2.4模块独立性(模块的内聚性,模块间的耦合性) 63

4.3软件结构准则 66

4.3.1软件结构图 66

4.3.2软件结构设计的优化准则 68

4.4软件设计的图形工具 70

4.4.1 IPO图 70

4.4.2 HIPO图 71

4.5.1变换流分析 72

4.5结构化设计方法 72

4.5.2事务流分析 74

习题与思考题 75

5详细设计 77

5.1详细设计的目标和任务 77

5.2程序的基本结构 78

5.3详细设计工具 79

5.3.1程序流程图 79

5.3.2 N-S图 79

5.3.3 PAD图 81

5.3.4判定表和判定树 82

5.3.5伪码 84

5.4 Jackson方法 85

5.4.1 Jackson图 86

5.4.2 JSP方法 88

5.5 Warnier方法 89

5.4.3 JSD方法 89

习题与思考题 91

6编码实现 93

6.1对源程序质量的要求 93

6.2程序设计的风格 94

6.3程序设计语言的选择 96

6.4程序复杂性度量 97

6.4.1代码行度量法 97

6.4.2 McCabe度量法 97

6.4.3综合度量 99

习题与思考题 99

7面向对象的方法学 102

7.1“面向对象”的概念 102

7.1.1对象 103

7.1.2类 103

7.1.5封装、继承、多态和重载 104

7.1.4消息 104

7.1.3属性、操作和方法 104

7.2面向对象的方法学简介 105

7.2.1面向对象方法的基本活动 106

7.2.2 Coad Yourdon方法 106

7.2.3 OMT方法 107

7.2.4 Booch方法 108

7.2.5 UML技术 109

7.3面向对象的分析 110

7.3.1面向对象分析概述 110

7.3.2面向对象分析的原则 110

7.3.3面向对象分析的基本过程 111

7.4面向对象建模 123

7.4.1面向对象建模概述 123

7.4.2基于UML语言的模型类型 123

7.4.3基于UML语言的建模过程 124

7.4.4建模实例 125

习题与思考题 131

8面向对象的设计与实现 132

8.1面向对象的设计方法 132

8.1.1面向对象的设计概述 133

8.1.2面向对象设计的任务 134

8.1.3面向对象设计的过程 135

8.2基于UML的系统设计 144

8.2.1基于UML的设计模型 144

8.2.2设计模型的结构 144

8.2.3基于UML的设计实例 145

8.3面向对象的实现 147

8.3.1面向对象实现概述 147

8.3.2面向对象实现的基本准则 147

8.3.3面向对象语言的选择 148

8.3.4实现的工作流程 148

习题与思考题 150

9软件测试 151

9.1软件测试的基本概念 151

9.2软件测试的目的和原则 152

9.2.1软件测试的目的 152

9.2.2软件测试的原则 152

9.2.3测试与软件开发各阶段的关系 154

9.3软件测试的方法 154

9.3.1静态测试与动态测试 155

9.3.2黑盒测试与白盒测试 157

9.4白盒测试的测试用例设计 158

9.4.1逻辑覆盖 158

9.4.2基本路径覆盖 163

9.5黑盒测试的测试用例设计 167

9.5.1等价类划分 167

9.5.2边界值分析 170

9.5.4因果图 172

9.5.3错误推测法 172

9.6软件测试的策略(过程/步骤) 175

9.6.1单元测试 176

9.6.2组装集成测试 178

9.6.3确认测试 182

9.6.4系统测试 183

9.7测试终止标准 183

9.8调试 184

9.8.1调试的目的 184

9.8.2调试的技术策略 184

习题与思考题 188

10软件维护 189

10.1维护的概念与内容 189

10.1.1软件维护的定义 189

10.1.2软件维护的内容 190

10.2.1维护机构与维护申请报告 192

10.2软件维护的过程 192

10.2.2软件维护工作流程 193

10.2.3维护档案记录 195

10.2.4维护活动评价 195

10.3软件的可维护性 196

10.3.1软件可维护性的定义与度量 196

10.3.2提高可维护性的方法 201

习题与思考题 202

11软件工程项目管理 204

11.1软件项目管理概述 204

11.1.1软件项目失控原因分析 205

11.1.2软件项目管理的特点 205

11.1.3软件项目管理的内容 206

11.2软件规模度量 208

11.2.1软件度量的分类 208

11.2.2代码行度量法 210

11.2.3功能点度量法 211

11.2.4特征点度量法 212

11.2.5代码行与功能点度量的比较 213

11.3软件开发成本估算 214

113.1估算方法 214

11.3.2分解与类推 215

11.3.3基于代码行和功能点的估算 217

11.3.4经验估算模型 218

11.4软件项目资源管理 221

11.4.1人力资源 221

11.4.2硬件资源计划 223

11.4.3软件资源 224

11.4.4软件复用性及软件部件库 225

11.5进度计划 226

11.5.1进度安排 226

11.5.2甘特图 226

11.5.3工程网络 227

11.5.4软件开发任务的并行性 228

11.6风险管理 229

11.6.1风险识别 230

11.6.2风险估计 230

11.6.3风险评价 231

11.6.4风险驾驭和监控 232

11.7软件工程标准化和软件文档标准化 234

11.7.1软件工程标准化的定义 234

11.7.2软件工程标准化的层次 235

11.7.3文档的作用、分类与编制要求 236

习题与思考题 239

12软件质量保证 240

12.1软件质量模型 240

12.1.1软件质量的定义 240

12.1.2软件质量特性 241

12.1.3 McCall软件质量模型 243

12.2软件质量度量 245

12.2.1软件质量度量概论 245

12.2.2软件正确性度量 246

12.2.3软件可靠性度量 247

12.2.4易使用性和可维护性度量 250

12.3软件质量保证 251

12.3.1软件质量保证的概念 251

12.3.2软件质量保证的任务 252

12.3.3提高软件质量的技术途径 252

12.3.4软件质量保证体系 253

12.4质量检验和评审 254

12.4.1各阶段质量检验的项目 254

12.4.2软件质量检验方法 256

12.4.3软件质量评审 258

12.5.1不成熟的与成熟的软件机构的对比 261

12.5软件能力成熟度模型(CMM) 261

12.5.2软件机构能力成熟度模型 262

12.5.3成熟度级别的内部结构 265

12.5.4关键过程领域 266

12.5.5成熟度提问单 266

12.5.6利用CMM对软件机构进行成熟度评估 268

习题与思考题 269

A可行性研究报告 271

附录软件开发文档编写指南 271

B项目开发计划 274

C需求规格说明书 275

D概要设计说明书 277

E详细设计说明书 279

F测试计划 280

G测试分析报告 281

H开发进度月报 282

参考文献 284