《软件工程基础与使用教程:给予架构与MVC模式的一体化开发》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:沈文轩,张春娜,曾子维编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302287339
  • 页数:443 页
图书介绍:本书分为上下篇。上篇是软件工程的基础篇,上篇系统介绍软件开发必须遵循的软件工程基本原理和开发方法;下篇为应用篇,应用企业级软件架构和MVC设计模式等现代开发技术进行软件开发过程。

上篇 软件工程基础篇 3

第1章 软件工程概述 3

1.1软件的概念 3

1.1.1软件和软件产品 3

1.1.2软件产品的类型 4

1.2软件的发展与软件危机的产生 6

1.2.1软件的发展过程 7

1.2.2软件危机 8

1.2.3软件危机的表现 9

1.3解决软件危机的途径 9

1.4软件工程的定义 10

1.5软件工程的内容 11

1.5.1从计算机科学视角看软件工程 11

1.5.2从工程视角看软件工程 12

1.5.3从管理视角看软件工程 13

1.5.4从基本原理视角看软件工程 14

1.6软件发展的新阶段与新问题 15

1.6.1软件发展的第4阶段和第5阶段 15

1.6.2以面向对象为基础的面向架构技术 16

1.6.3以业务单元为基础的面向服务架构SOA 16

1.6.4以软件作为服务的应用模式 17

1.7软件工程的演变发展 19

1.7.1从软件技术到软件工程 19

1.7.2从传统软件工程到现代软件工程 20

1.7.3从软件工程学到软件经济学 23

1.7.4从软件工程应用到教学 24

本章小结 24

习题 25

第2章 软件过程 27

2.1软件过程概述 27

2.1.1软件过程定义 27

2.1.2软件过程的活动集合 27

2.1.3软件过程贯穿软件工程方法论 28

2.2软件过程与软件生存周期 29

2.2.1软件生存周期 29

2.2.2软件生存周期与软件过程的关系 30

2.3软件过程与软件工程 30

2.3.1工程是管理过程的 30

2.3.2软件过程是软件工程的子集 30

2.4软件开发模型 31

2.4.1瀑布模型 31

2.4.2快速原型模型 32

2.4.3增量模型 33

2.4.4螺旋模型 34

2.4.5统一过程RUP 35

2.4.6敏捷开发与极限编程 40

2.4.7关于RUP与XP之争 44

2.5软件过程与开发方法 44

2.5.1软件开发的本质与开发方法 44

2.5.2面向过程开发方法 45

2.5.3面向对象开发方法 45

2.5.4面向组件开发方法 45

2.5.5面向服务开发方法 46

2.5.6开发方法进步带来的思考 46

2.6软件过程改进与CMM 47

2.6.1过程改进SPI 47

2.6.2软件能力成熟度模型SW-CMM 48

本章小结 51

习题 51

第3章 软件计划 53

3.1软件计划概述 53

3.2问题定义 54

3.3可行性分析 56

3.3.1可行性分析概要介绍 56

3.3.2可行性分析的方法 57

3.3.3可行性分析工具之SFD 60

3.3.4可行性分析之业务建模 62

3.3.5可行性分析报告 67

3.3.6软件项目计划 68

本章小结 68

习题 69

第4章 软件需求基础 71

4.1需求分析概述 71

4.1.1需求分析的必要性 71

4.1.2需求分析的内容和步骤 73

4.2需求获取 75

4.2.1需求获取的内容和手段 75

4.2.2需求的层次 75

4.2.3需求获取方法与策略 76

4.3需求建模 78

4.3.1需求建模的意义 78

4.3.2需求建模的过程 79

4.3.3需求建模的方法 79

4.4需求说明 81

4.4.1需求说明的作用 81

4.4.2需求说明质量要求 81

4.4.3需求规格说明的编制 83

4.5需求评审 85

4.5.1需求评审概述 85

4.5.2需求评审举例说明 87

4.6需求变更管理 88

4.6.1需求变更与需求管理 88

4.6.2变更管理组织与流程 89

本章小结 90

习题 90

第5章 软件设计基础 91

5.1软件开发的逐步求精 91

5.1.1逐步求精的概念 91

5.1.2软件开发的求精过程 92

5.1.3过程求精与数据求精 92

5.2软件设计过程和任务 94

5.2.1软件设计的输入和输出 94

5.2.2软件设计的总体任务 94

5.2.3软件设计的文档 95

5.3模块化与信息隐藏 96

5.3.1模块和模块化 96

5.3.2模块分解原理 96

5.3.3信息隐藏思想 97

5.3.4模块独立性度量 97

5.3.5模块优化的一些概念 100

5.4详细设计 101

5.4.1详细设计的作用 101

5.4.2详细设计的内容 102

5.4.3详细设计的表达方式 103

5.4.4详细设计说明书 105

本章小结 105

习题 105

第6章 面向结构化从分析到设计 107

6.1结构化开发概述 107

6.2面向数据流的结构化分析 108

6.2.1数据流图 109

6.2.2 DFD的分析思想 110

6.2.3 DFD举例 111

6.2.4数据字典 112

6.3面向数据流的结构化设计 113

6.3.1从需求模型到设计模型 113

6.3.2软件结构图 114

6.3.3从DFD映射到SC 115

本章小结 117

习题 117

第7章 面向对象从分析到设计 118

7.1面向对象开发简介 118

7.1.1面向对象的基本概念 118

7.1.2面向对象的软件开发 122

7.1.3面向对象开发的优点 124

7.1.4面向对象是走向高端的基础 126

7.2统一建模语言UM 126

7.2.1建模语言的概念 126

7.2.2 UML发展史 127

7.2.3 UML图形符号概览 129

7.2.4用例图 129

7.2.5类图与对象图 131

7.2.6包图 142

7.2.7活动图与状态图 146

7.2.8对象交互图 150

7.2.9组件图与部署图 154

7.2.10 UML视图简介 157

7.3面向对象分析(OOA) 159

7.3.1 OOA方法的统一 159

7.3.2统一方法的OOA模型 161

7.3.3用例模型 161

7.3.4概念模型 166

7.4面向对象设计 170

7.4.1 OOD概述 170

7.4.2 OOD模型 172

7.4.3问题域部分的设计 173

7.4.4界面交互设计 180

7.4.5数据管理部件设计 186

7.4.6任务管理设计 194

本章小结 196

习题 197

第8章 软件实现 199

8.1编码 199

8.1.1编程语言 199

8.1.2编码风格 200

8.1.3调试 200

8.2测试 201

8.2.1测试的基本概念 201

8.2.2测试计划 205

8.2.3测试方法 207

8.2.4测试过程 217

8.2.5测试设计与测试报告 224

8.2.6测试工具 227

本章小结 229

习题 230

第9章 软件维护 232

9.1软件维护概述 232

9.1.1软件维护的概念 232

9.1.2软件维护的重要性 232

9.2软件维护的分类 233

9.2.1纠错性维护 233

9.2.2适应性维护 233

9.2.3改善性维护 233

9.2.4预防性维护 234

9.2.5各种维护的比重 234

9.3软件的可维护性 234

9.3.1维护的副作用及困难 234

9.3.2软件结构化维护 236

9.4软件维护的实施过程 237

9.4.1维护组织和流程 237

9.4.2维护的决策流程 238

9.4.3维护的报告与审核 240

9.4.4保存维护记录 240

9.4.5评价维护活动 241

9.4.6可维护性复审 241

9.5配置管理 241

9.5.1软件配置 242

9.5.2软件配置管理 242

9.5.3配置管理的功能 244

9.5.4配置管理工具 245

本章小结 247

习题 247

第10章 软件项目管理 248

10.1项目和项目管理的基本概念 248

10.1.1项目的意义 248

10.1.2软件项目管理过程 250

10.2软件度量 252

10.2.1软件度量概述 252

10.2.2面向代码行的度量 255

10.2.3面向功能的度量 256

10.3软件估算 261

10.3.1软件估算概述 261

10.3.2软件规模估算 264

10.3.3软件成本估算 266

10.4开发进度计划 271

10.4.1项目计划与进度计划 271

10.4.2时间管理与进度计划 272

10.4.3进度计划的安排 273

10.4.4开发进度管理 285

10.5团队组织与人力资源计划 286

10.5.1任务分解与人员配备 286

10.5.2人员配备规则 289

10.5.3项目组织 291

10.5.4项目经理 293

本章小结 294

习题 295

下篇 软件工程实用篇 299

第11章 架构与MVC模式 299

11.1软件架构 299

11.1.1软件架构与企业软件架构 300

11.1.2企业架构解决软件开发的什么问题 302

11.1.3架构的容器与组件 305

11.1.4流行的企业架构简介 307

11.2架构的分层 308

11.2.1架构为什么分层 309

11.2.2基本的三层结构 309

11.2.3客户层与业务层 310

11.2.4数据层与DAO 311

11.2.5业务层与DAO层 315

11.2.6 N层体系结构 316

11.3 Java EE架构简介 317

11.3.1 J2EE架构概览 317

11.3.2 J2EE容器和组件 318

11.3.3 J2EE分层模型 323

11.3.4 J2EE的发展 324

11.3.5 J2EE的优势 326

11.4面向企业集成的架构简介 327

11.4.1为什么采用集成 327

11.4.2面向服务架构 329

11.4.3服务组件架构 333

11.4.4应用集成与数据集成 343

11.5 MVC模式 346

11.5.1设计模式 347

11.5.2 WC模式简介 348

11.5.3通过具体用例体验模式的魅力 349

11.6架构分层与MVC分层 357

11.6.1架构分层与MVC分层的区别 357

11.6.2架构分层与MVC分层的统一 358

11.6.3 WC模式与事件驱动模型 359

11.6.4 MVC模式与观察者模式 361

11.6.5 MVC在开发方面塑造的优势 363

11.7开源架构SSH简介 364

11.7.1 MVC框架Struts 365

11.7.2 DAO框架Hibernate 374

11.7.3对象组装框架Spring 381

本章小结 390

习题 391

第12章 面向架构与MVC的一体化开发方法 393

12.1一体化开发介绍 393

12.1.1一体化开发思想的起源 393

12.1.2一体化开发模型 394

12.1.3一体化开发团队 395

12.2一体化与正交设计 395

12.2.1 OOA模型的处理 396

12.2.2正交设计方法 397

12.2.3软件体系结构设计 399

12.2.4领域问题软件结构设计 400

12.2.5有关详细设计 405

12.2.6系统隐喻与设计 407

本章小结 407

习题 408

第13章 一体化开发方法应用实例 409

13.1用户需求 410

13.1.1毕业设计流程 410

13.1.2总体功能要求 410

13.1.3用户需求描述 410

13.2 OOA分析过程 412

13.2.1需求细化 412

13.2.2用例模型 413

13.2.3概念模型 416

13.3 OOD设计过程 418

13.3.1体系结构设计 418

13.3.2选题管理结构设计 419

13.3.3正交设计之横向链设计 419

13.3.4正交设计之纵向按层设计 421

13.3.5本例的详细设计 432

本章小结 436

习题 437

参考文献 438

本书特色 441

教学建议 442

跋 443