《软件工程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:夏小娜编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2012
  • ISBN:7030342423
  • 页数:274 页
图书介绍:

第1篇 软件工程学概述 1

第1章 概述 1

1.1基本概念 1

1.1.1软件 2

1.1.2软件危机 6

1.1.3软件工程 9

1.1.4软件生命周期 13

1.1.5软件过程模型 16

1.1.6软件工程面临的挑战 24

1.2软件工程从业人员的职业和道德素养 24

习题1 27

第2章 计算机系统工程 28

2.1系统与系统工程 29

2.1.1系统总体特性 29

2.1.2硬件和硬件工程 30

2.1.3软件和软件工程 31

2.1.4人机交互工程 33

2.1.5数据库工程 34

2.2系统模型与建模活动 35

2.2.1系统模型 35

2.2.2系统建模及模拟 36

2.3系统规格及评审说明 38

2.3.1系统规格 38

2.3.2评审说明 38

习题2 39

第2篇 软件定义 40

第3章 可行性研究 40

3.1可行性研究的任务 40

3.2可行性研究过程 41

3.3系统流程元素及模型表达 43

3.3.1元素符号 43

3.3.2举例 45

3.4成本/效益分析 45

3.4.1成本估计 45

3.4.2成本/效益分析方法 46

3.5技术分析 48

3.6方案的分配与权衡 49

习题3 50

第4章 结构化需求分析 52

4.1需求分析基础 52

4.1.1需求分析的任务与原则 52

4.1.2需求初步获取技术 53

4.1.3需求建模 55

4.1.4问题抽象、问题分解与多视点分析 56

4.1.5支持需求分析的快速原型技术 56

4.1.6需求规格说明与评审 57

4.2面向数据流的结构化需求分析方法 59

4.2.1实体-联系图 59

4.2.2状态转换图 62

4.2.3数据流图 64

4.3其他图形工具 70

4.3.1层次方框图 70

4.3.2 Wamier图 71

4.3.3 IPO图 72

习题4 73

第5章 面向对象的需求分析过程 74

5.1面向对象的概念与思想 74

5.2 UML 77

5.2.1 UML的语言机制 77

5.2.2基于UML的软件开发过程 80

5.3基于UML的需求分析 82

5.3.1开发场景 83

5.3.2生成用例 84

5.3.3活动图细化用例 85

5.3.4生成用例图 87

5.3.5建立顶层架构 87

5.3.6建立领域概念模型 90

习题5 92

第3篇 软件开发与维护 93

第6章 体系结构设计 93

6.1系统构成 95

6.1.1容器模型 96

6.1.2客户机/服务器模型 97

6.1.3分层模型 98

6.2控制模型 99

6.2.1集中式控制 99

6.2.2事件驱动系统 101

6.3模块化分解 102

6.3.1对象模型 103

6.3.2数据流模型 104

6.4领域相关的体系结构 105

6.4.1类模型 105

6.4.2参考体系结构 106

习题6 107

第7章 结构化总体设计 109

7.1软件设计的基本概念和原理 109

7.1.1抽象 109

7.1.2信息隐蔽 110

7.1.3模块化设计 110

7.1.4模块独立 111

7.1.5耦合 112

7.1.6内聚 112

7.2软件结构的描绘工具 113

7.2.1层次图和HIPO图 113

7.2.2结构图 114

7.3面向数据流的设计过程 115

7.3.1基本概念和设计过程 116

7.3.2变换分析 117

7.3.3事务分析 123

7.4启发式设计 126

7.5设计优化原则 129

习题7 129

第8章 结构化详细设计 130

8.1结构化程序设计基础 130

8.2人机界面设计 132

8.2.1设计问题 132

8.2.2设计过程 134

8.2.3人机界面设计指南 135

8.3过程设计的工具 137

8.3.1程序流程图 137

8.3.2盒图(N-S图) 138

8.3.3 PAD图 138

8.3.4判定表 140

8.3.5判定树 141

8.3.6过程设计语言 142

8.4面向数据结构的设计方法 142

8.4.1 Jackson图 143

8.4.2改进的Jackson图 144

8.4.3 Jackson方法 145

8.5程序复杂程度的定量度量 149

8.5.1 McCabe方法 149

8.5.2 Halstead方法 152

习题8 152

第9章 面向对象的软件设计方法 155

9.1设计用例实现方案 156

9.1.1顺序图 156

9.1.2协作图 157

9.1.3提取边界类、实体类和控制类 158

9.1.4构造交互图 159

9.1.5精化类图 161

9.2设计技术支撑方案 163

9.2.1数据持久存储服务 163

9.2.2并发与同步控制服务 164

9.2.3技术支撑方案与用例实现方案的融合 164

9.3用户界面设计 164

9.4精化设计模型 165

9.4.1状态图 166

9.4.2精化体系结构 167

9.4.3精化类之间的关系 168

9.4.4精化类的属性和操作 170

9.4.5状态图设计 172

9.4.6活动图设计 172

习题9 173

第10章 面向过程的软件实现 175

10.1编码 176

10.1.1程序设计语言的特性 176

10.1.2程序设计语言的基本机制 177

10.1.3程序设计语言的演变和分类 178

10.1.4程序设计语言的选择 179

10.1.5编程标准 180

10.1.6编程风格 181

10.2测试 182

10.2.1测试目标 182

10.2.2测试准则 183

10.2.3测试方法 183

10.2.4测试步骤 184

10.2.5测试阶段的信息流 185

10.3单元测试 186

10.3.1测试重点 186

10.3.2代码审查 187

10.3.3计算机测试 188

10.4集成测试 189

10.4.1自顶向下集成 190

10.4.2自底向上集成 191

10.4.3不同集成测试策略的比较 192

10.4.4回归测试 192

10.5确认测试 193

10.5.1确认测试的范围 193

10.5.2软件配置复查 194

10.5.3 Alpha和Beta测试 194

10.6白盒测试技术 194

10.6.1逻辑覆盖 195

10.6.2控制结构测试 198

10.7黑盒测试技术 204

10.7.1等价划分 204

10.7.2边界值分析 207

10.7.3错误推测 208

10.8调试 209

10.8.1调试过程 209

10.8.2调试途径 210

10.9软件可靠性 211

习题10 212

第11章 面向对象的软件实现 215

11.1程序设计语言 215

11.1.1面向对象语言的优点 215

11.1.2面向对象语言的技术特点 216

11.1.3选择面向对象语言 220

11.2程序设计风格 220

11.2.1提高可重用性 221

11.2.2提高可扩充性 223

11.2.3提高健壮性 223

11.3测试策略 224

11.3.1面向对象的单元测试 224

11.3.2面向对象的集成测试 225

11.3.3面向对象的确认测试 225

11.4设计测试用例 225

11.4.1测试类的方法 226

11.4.2集成测试方法 227

习题11 230

第12章 软件维护 231

12.1软件维护的分类 231

12.2维护过程 232

12.2.1结构化维护与非结构化维护 232

12.2.2维护成本 233

12.2.3可能存在的问题 233

12.3可维护性 234

12.3.1影响可维护性的因素 234

12.3.2若干量化的测度 234

12.3.3保证可维护性的复审 235

12.4维护活动 235

12.4.1维护组织 235

12.4.2维护的报告与评估 236

12.4.3维护活动的事件流 236

12.44保存维护记录 238

12.4.5评价维护活动 238

12.5维护的副作用 239

12.6逆向工程与重构工程 240

12.6.1恢复信息的级别 240

12.6.2恢复信息的方法 240

习题12 241

第4篇 软件项目管理 242

第13章 软件项目管理 242

13.1估算软件规模 242

13.1.1代码行技术 242

13.1.2功能点技术 243

13.2工作量估算 245

13.2.1静态单变量模型 245

13.22动态多变量模型 245

13.2.3 COCOMO2模型 246

13.3进度计划 248

13.3.1估算开发时间 249

13.3.2 Gantt图 251

13.3.3工程网络 252

13.3.4估算工程进度 253

13.3.5关键路径 255

13.3.6机动时间 255

13.4人员组织 257

13.4.1民主制程序员组 257

13.4.2主程序员组 258

13.4.3现代程序员组 259

13.5质量保证 261

13.5.1软件质量 261

13.5.2软件质量保证措施 262

13.6软件配置管理 265

13.6.1软件配置 265

13.6.2软件配置管理过程 266

13.7能力成熟度模型 268

习题13 271

参考文献 273