《软件工程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:张俊兰,王文发,马乐荣等编著
  • 出 版 社:西安:西安交通大学出版社
  • 出版年份:2009
  • ISBN:9787560530086
  • 页数:321 页
图书介绍:本书系统讲述了软件工程的概念、原理和典型方法,介绍了软件项目的管理技术,并引用大量的例子,谈论它们是如何影响最终软件产品的。

第1章 软件工程概论 1

1.1 软件 1

1.1.1 软件简介 1

1.1.2 软件的分类 2

1.1.3 软件的发展 3

1.1.4 软件危机 3

1.2 软件工程 5

1.2.1 软件工程概念 5

1.2.2 软件工程的基本原理 5

1.2.3 软件工程方法学 5

1.2.4 软件工程目标 6

1.3 软件生命周期 7

1.4 软件过程和生命周期的建模 9

1.4.1 过程的含义 9

1.4.2 软件过程模型 9

1.4.3 过程建模工具和技术 14

小结 15

习题一 16

第2章 系统分析 17

2.1 计算机系统工程 18

2.1.1 硬件和硬件工程 18

2.1.2 软件和软件工程 19

2.1.3 人机工程 21

2.1.4 数据库工程 22

2.2 可行性研究 22

2.2.1 可行性研究的任务 23

2.2.2 可行性研究过程 24

2.3 系统流程图 24

2.3.1 系统流程图的作用 25

2.3.2 系统流程图的符号 25

2.3.3 系统流程图的示例 26

2.4 成本/效益分析 26

2.4.1 成本、费用估计 26

2.4.2 效益分析方法 28

2.5 技术分析 29

2.6 系统建模 30

2.6.1 系统模型 30

2.6.2 系统建模 32

小结 33

习题二 33

第3章 需求分析 34

3.1 需求分析概述 34

3.1.1 需求分析的特点 34

3.1.2 需求分析的任务 35

3.1.3 需求分析的步骤 36

3.1.4 需求分析的原则 37

3.1.5 需求分析的方法 38

3.2 需求获取 39

3.3 需求建模 41

3.4 面向数据流的分析方法 42

3.4.1 数据流图与数据字典 42

3.4.1.1 数据流图 42

3.4.1.2 数据字典 46

3.4.2 实体-关系图 47

3.4.2.1 数据对象、属性与关系 47

3.4.2.2 实体-关系图(E-R图) 48

3.4.3 数据流图的实时系统扩充 50

3.4.4 基于数据流的分析方法 53

3.4.5 基于数据流图的需求分析CASE工具 54

3.5 形式化方法 56

3.5.1 形式化方法的主要思想 57

3.5.2 形式化规格说明语言简介 58

3.5.3 形式化方法的需求描述 60

3.5.4 形式化方法的现状与发展趋势 65

3.6 需求规格说明与评审 65

3.6.1 需求规格说明书的目标与内容 65

3.6.2 需求分析的评审 66

3.6.3 需求评审的方法 67

小结 68

习题三 68

第4章 概要设计 70

4.1 软件设计过程 70

4.2 软件设计的基本概念 71

4.2.1 抽象与逐步求精 71

4.2.2 模块化与信息隐藏 72

4.2.3 软件总体结构设计 76

4.2.4 数据结构设计 77

4.2.5 软件过程设计 77

4.3 面向数据流的设计方法 78

4.3.1 基本概念 78

4.3.2 系统结构图的组成 80

4.3.3 变换分析 81

4.3.4 事务分析 83

4.3.5 综合型数据流图与分层数据流图映射成软件结构的设计 84

4.3.6 设计优化原则 85

4.3.7 实时系统设计 86

4.4 面向数据的设计方法 88

4.4.1 面向数据的设计 88

4.4.2 JSP方法 89

4.4.3 JSD方法 91

4.4.4 基于结构化数据的系统开发方法 96

4.5 概要设计规格说明与评审 100

小结 101

习题四 101

第5章 详细设计 102

5.1 详细设计的任务与原则 102

5.2 详细设计的工具与方法 103

5.2.1 程序流程图 103

5.2.2 N-S图 104

5.2.3 PAD图 105

5.2.4 过程设计语言(PDL) 106

5.2.5 HIPO图 108

5.2.6 判定表 109

5.2.7 详细设计工具的选择 110

5.3 详细设计的规格说明与复审 111

小结 113

习题五 113

第6章 面向对象的需求分析 114

6.1 面向对象的概念与特征 114

6.1.1 面向对象方法概述 114

6.1.2 面向对象的基本概念 115

6.1.3 面向对象的软件开发 121

6.2 统一建模语言UML 122

6.2.1 UML语言 123

6.2.2 基UML的软件开发过程 129

6.2.3 基于UML的软件开发阶段 132

6.3 基于UML的需求分析 133

6.3.1 业务建模 133

6.3.1.1 建立业务架构 134

6.3.1.2 业务过程分析 135

6.3.1.3 业务对象模型 139

6.3.1.4 业务建模文档 139

6.3.2 需求分析 140

6.3.3 软件原型系统开发 146

小结 146

习题六 147

第7章 面向对象的分析与设计 148

7.1 系统分析 148

7.1.1 分析类 149

7.1.2 顺序图 151

7.1.3 协作图 155

7.1.4 类图 156

7.1.5 构架分析 157

7.1.6 状态图 158

7.1.7 用户接口 159

7.2 系统设计 160

7.2.1 构架设计 160

7.2.1.1 现代技术构架 161

7.2.1.2 图书馆信息管理系统的构架 163

7.2.2 详细设计 164

7.2.2.1 设计类 165

7.2.2.2 设计类剖析 165

7.2.2.3 设计关联 167

7.2.2.4 顺序图 171

7.2.2.5 协作图 173

7.2.2.6 操作定义 173

7.2.2.7 用户接口 173

7.2.2.8 组件 173

7.2.2.9 图书馆信息管理系统的详细设计 173

7.3 对象持久化设计 176

7.3.1 存储对象和关系 176

7.3.2 对象持久化方法 179

小结 180

习题七 180

第8章 人机界面设计 182

8.1 应该考虑的设计问题 182

8.1.1 人的感知 182

8.1.2 用户的技能 183

8.1.3 任务与用户的特殊要求 183

8.2 人机界面风格 183

8.3 人机界面设计过程 184

8.4 人机(用户)界面设计原则 186

8.5 人机界面设计标准 190

小结 193

习题八 193

第9章 程序设计语言与编码 195

9.1 程序设计语言 195

9.1.1 程序设计语言分类 195

9.1.2 程序设计语言的特性 196

9.1.3 程序设计语言的选择 197

9.2 编码风格 198

9.2.1 源程序文档化 199

9.2.2 数据说明 200

9.2.3 语句结构 201

9.2.4 输入/输出方法 202

9.3 程序效率 202

9.4 编程安全 203

小结 204

习题九 204

第10章 软件测试 205

10.1 基本概念 205

10.1.1 软件测试的目的与原则 205

10.1.2 测试阶段的信息流程 206

10.1.3 测试用例和场景的设计 207

10.1.4 软件测试的步骤 208

10.2 软件测试技术 208

10.2.1 白盒测试技术 208

10.2.1.1 基本路径测试 209

10.2.1.2 逻辑覆盖测试 212

10.2.2 黑盒测试技术 216

10.3 软件测试策略 219

10.3.1 单元测试 220

10.3.2 综合测试 222

10.3.3 确认测试 225

10.3.4 系统测试 226

10.3.5 排错 227

10.4 面向对象的软件测试 229

10.4.1 面向对象分析和设计的模型测试 229

10.4.2 面向对象测试策略 231

10.4.3 面向对象软件测试集设计 232

10.5 软件测试计划与分析报告 234

小结 235

习题十 235

第11章 系统交付与维护 237

11.1 系统交付 237

11.2 软件维护的概念与分类 238

11.3 软件维护过程 239

11.4 软件的可维护性 241

11.5 维护活动 244

11.6 维护的副作用 246

11.7 逆向工程和重构工程 247

小结 247

习题十一 248

第12章 软件项目管理 249

12.1 估算软件规模 249

12.1.1 代码行技术 249

12.1.2 功能点技术 250

12.2 估算工作量 252

12.2.1 静态单变量模型 252

12.2.2 动态多变量模型 253

12.2.3 COCOMO Ⅱ模型 254

12.3 进度计划 257

12.4 人员组织 259

12.5 软件配置管理 263

12.5.1 软件配置 263

12.5.2 软件配置管理过程 264

12.6 风险管理 267

12.7 质量保证 269

12.7.1 软件质量 269

12.7.2 软件质量保证措施 270

12.8 能力成熟度模型集成(CMMI) 272

小结 278

习题十二 278

第13章 软件重用技术 280

13.1 软件重用基础 280

13.2 软部件的构造 281

13.2.1 域分析 282

13.2.2 软部件的开发 282

13.2.3 软部件库的组织 283

13.3 软部件的重用 285

13.4 面向对象的软件重用技术 287

13.5 软件重用项目的管理技术 289

小结 290

习题十三 290

第14章 新型软件开发技术 292

14.1 对象链接与嵌入(OLE)技术 292

14.1.1 OLE的发展历史 292

14.1.2 Component Object Model(COM)组件对象模型 293

14.1.3 OLE技术 296

14.2 分布式对象开发技术 300

14.2.1 分布式对象开发技术概述 300

14.2.2 CORBA,J2EE和DCOM/COM+/.NET模型的比较 300

14.2.3 CORBA(公共对象请求代理体系结构) 302

14.2.4 J2EE 305

14.2.5 DCOM/COM+/.NET 308

14.3 Web Service(Web服务) 308

14.4 敏捷软件开发与设计 309

14.4.1 敏捷开发 310

14.4.1.1 敏捷实践 310

14.4.1.2 极限编程概述 311

14.4.1.3 计划 314

14.4.1.4 测试 315

14.4.1.5 重构 316

14.4.2 敏捷设计 316

小结 319

习题十四 320