系统架构设计师教程

系统架构设计师教程"

作者:全国计算机专业技术资格考试办公
ISBN:9787302197089
定价:¥75
字数:千字
页数:
出版时间:2009.06.01
开本:
版次:1-20
装帧:
出版社:清华大学出版社
简介

本书作为全国计算机技术与软件专业技术资格(水平)考试指定用书,系统地介绍了系统架构设计师的基本要求和应掌握的重点内容。全书共分21章,对计算机网络基础、信息系统基础、系统开发基础、软件架构设计等诸多内容,以及信息安全、系统安全等内容做了全面的阐述。特别是对合格架构师应具备的理论与实践的知识作了详细的讲述。

本书为参加软件水平考试——系统架构设计师考生的必备考试用书。凡通过本考试的考生,便具备了全国认可的,本行业的高级工程师资格。

前言

前    言

全国计算机技术与软件专业技术资格(水平)考试是国家级“以考代评”的考试,其目的是科学、公正地对全国计算机与软件专业技术人员进行专业资格认定和专业技术水平测试。实施二十年来在社会上产生了很大的影响,对我国软件产业的形成和发展做出了重要的贡献。为适应我国计算机信息技术发展的需求,国家人事部和信息产业部决定将考试的级别拓展到计算机信息技术行业的各个方面,以满足社会上对各类计算机信息技术人才的需要。

系统架构设计师是近年来在国内外迅速成长并发展良好的一个职业,它对系统开发和信息化建设的重要性及给IT业所带来的影响不言而喻。在我国,虽然目前该职业在工作内容、工作职责以及工作边界等方面还存在一定的模糊性和不确定性,但它确实是时代发展的需要,并正在实践中不断完善和成熟。

工业和信息化部电子第五研究所受全国计算机专业技术资格考试办公室委托,承担了编写《系统架构设计师教程》的任务,并组织孔学东、杨春晖、李瑜、孙伟等有关专家对本书的框架结构进行了认真研讨,确定与中山大学联合组织本教程的编著工作。本书主要为希望在系统架构领域获得专业水平资格的读者提供必要的信息,还可作为从事或准备从事系统架构设计工作的专业人员的参考书。在考试大纲中,要求考生掌握的知识面很广,每个章节的内容都能构成相关领域基础的一门课程,因此本教程编写的难度很高。考虑到参加该项高级考试的人员已有一定的基础,所以本书只对考试大纲中所涉及到的知识领域的要点加以阐述,限于篇幅不能详细地展开,请读者谅解。

本书编委会主任孔学东,副主任余阳,成员为母春民、杨春晖、孙伟、潘茂林、李瑜。主编杨春晖,副主编孙伟,编写人员包括孔学东、潘茂林、余阳、朱淑华等,编写小组按照《系统架构设计师考试大纲》的要求开展了为期一年的艰苦编著工作,最后由孙伟、杨春晖统稿。编写过程中李瑜、潘勇、杨培亮、刘杰等专家提出了许多宝贵意见,陈平、黄晓坤、冯炳文、范华平、罗雯、唐良俊、刘瑛、杜鹏懿、李晓辉等同志协助做了大量的资料收集、编辑和校对工作,在此深表感谢。 

在本书的编写过程中,参考了许多相关的书籍、资料和互联网发布的信息,编者在此对这些参考文献的作者表示感谢。同时感谢清华大学出版社在本书出版过程中所给予的支持和帮助。

因水平有限,书中难免存在错漏和不妥之处,望读者指正,以利改进和提高。

编  者

2008年于广州

VI

系统集成项目管理工程师教程

目录

目    录

第1章  绪论 1

1.1  系统架构的概念及其发展历史 1

1.1.1  系统架构的概念 1

1.1.2  简要的发展历史 2

1.2  系统架构师的定义与职业素质 4

1.2.1  系统架构师的定义 4

1.2.2  系统架构师技术素质 4

1.2.3  系统架构师管理素质 5

1.2.4  系统架构师与其他团队角色的协调 5

1.3  系统架构师知识结构 7

1.4  从开发人员到架构师 8

第2章  计算机与网络基础知识 11

2.1  操作系统基础知识 11

2.1.1  操作系统的原理、类型和结构 11

2.1.2  处理机与进程管理 12

2.1.3  存储管理 17

2.1.4  设备管理 18

2.1.5  文件管理 19

2.1.6  作业管理 20

2.1.7  网络操作系统 21

2.1.8  常见操作系统简介 22

2.2  数据库系统基础知识 23

2.2.1  关系数据库基础 23

2.2.2  关系数据库设计 27

2.2.3  分布式数据库系统 29

2.2.4  商业智能 30

2.2.5  常见的数据库管理系统 32

2.3  计算机网络基础知识 33

2.3.1  网络概述 33

2.3.2  计算机网络 35

2.3.3  网络管理与网络安全 38

2.3.4  网络工程 39

2.3.5  存储及负载均衡技术 39

2.4  多媒体技术及其应用 41

2.4.1  多媒体技术基本概念 41

2.4.2  多媒体数据压缩编码技术 42

2.4.3  多媒体系统的组成 42

2.4.4  多媒体技术的研究内容 44

2.4.5  多媒体技术的应用领域 45

2.5  系统性能 47

2.5.1  性能指标 47

2.5.2  性能计算 48

2.5.3  性能设计 48

2.5.4  性能评估 49

第3章  信息系统基础知识 51

3.1  信息化概述 51

3.1.1  信息的定义 51

3.1.2  信息的特征 51

3.1.3  信息化的定义 52

3.1.4  信息化的内容 52

3.1.5  信息化的经济社会意义 53

3.1.6  信息化对组织的意义 53

3.1.7  信息化的需求 54

3.1.8  信息化战略 55

3.2  信息系统工程总体规划 56

3.2.1  信息系统工程总体规划的目标范围 56

3.2.2  信息系统工程总体规划的方法论 56

3.2.3  信息系统工程总体规划的软件架构组成 57

3.2.4  总体规划的实现过程 58

3.3  信息化的典型应用 59

3.3.1  政府信息化与电子政务 59

3.3.2  企业信息化与电子商务 61

3.3.3  企业资源规划的结构和功能 64

3.3.4  客户关系管理在企业的应用 68

3.3.5  企业门户 74

3.3.6  企业应用集成 81

3.3.7  供应链管理 83

3.3.8  信息化的有关法律和规定 86

第4章  系统开发基础知识 90

4.1  软件开发方法 90

4.1.1  软件开发生命周期 90

4.1.2  软件开发模型 91

4.1.3  敏捷方法 96

4.1.4  RUP 100

4.1.5  软件系统工具 104

4.2  需求管理 109

4.2.1  需求管理原则 109

4.2.2  需求规格说明的版本控制 110

4.2.3  需求属性 110

4.2.4  需求变更 111

4.2.5  需求跟踪 114

4.2.6  需求变更的代价和风险 115

4.3  开发管理 115

4.3.1  项目的范围、时间、成本 115

4.3.2  配置管理、文档管理 117

4.3.3  软件开发的质量与风险 118

4.4  设计方法 120

4.4.1  结构化分析与设计 120

4.4.2  面向对象的分析设计 120

4.5  软件的重用 121

4.6  逆向工程与重构工程 122

第5章  软件架构设计 125

5.1  软件架构概念 125

5.1.1  软件架构的定义 125

5.1.2  软件架构设计与生命周期 125

5.1.3  软件架构的重要性 130

5.2  基于架构的软件开发方法 131

5.2.1  体系结构的设计方法概述 131

5.2.2  概念与术语 131

5.2.3  基于体系结构的开发模型 132

5.2.4  体系结构需求 133

5.2.5  体系结构设计 134

5.2.6  体系结构文档化 135

5.2.7  体系结构复审 135

5.2.8  体系结构实现 135

5.2.9  体系结构的演化 136

5.3  软件架构风格 137

5.3.1  软件架构风格概述 137

5.3.2  经典软件体系结构风格 137

5.3.3  客户/服务器风格 140

5.3.4  三层C/S结构风格 141

5.3.5  浏览器/服务器风格 142

5.4  特定领域软件体系结构 143

5.4.1  DSSA的定义 143

5.4.2  DSSA的基本活动 144

5.4.3  参与DSSA的人员 145

5.4.4  DSSA的建立过程 146

5.5  系统架构的评估 147

5.5.1  系统架构评估概述 147

5.5.2  评估中重要概念 149

5.5.3  主要评估方法 151

第6章  UML建模与架构文档化 154

6.1  UML现状与发展 154

6.1.1  UML起源 154

6.1.2  UML体系结构演变 155

6.1.3  UML的应用与未来 157

6.2  UML基础 157

6.2.1  概述 157

6.2.2  用例和用例图 158

6.2.3  交互图 162

6.2.4  类图和对象图 163

6.2.5  状态图和活动图 165

6.2.6  构件图 166

6.2.7  部署图 168

6.3  基于UML的软件开发过程 169

6.3.1  开发过程概述 169

6.3.2  基于UML的需求分析 170

6.3.3  面向对象的设计方法 175

6.4  系统架构文档化 181

6.4.1  模型概述 181

6.4.2  逻辑结构 182

6.4.3  进程架构 184

6.4.4  开发架构 185

6.4.5  物理架构 187

6.4.6  场景 188

6.4.7  迭代过程 189

第7章  设计模式 191

7.1  设计模式概述 191

7.1.1  设计模式的历史 191

7.1.2  为什么要使用设计模式 192

7.1.3  设计模式的组成元素 193

7.1.4  设计模式的分类 194

7.2  设计模式实例 195

7.2.1  创建性模式 195

7.2.2  结构性模式 199

7.2.3  行为性模式 204

第8章  XML技术 212

8.1  XML概述 212

8.1.1  XML基本语法 213

8.1.2  标签语法 213

8.1.3  文档部分 214

8.1.4  元素 214

8.1.5  字符数据 217

8.1.6  属性 217

8.1.7  注释 218

8.1.8  CDATA部分 219

8.1.9  格式正规的文档 219

8.2  XML命名空间 220

8.2.1  命名空间 221

8.2.2  定义和声明命名空间 221

8.3  DTD 223

8.3.1  什么是DTD 224

8.3.2  为什么引入DTD 224

8.3.3  DTD的声明 224

8.3.4  元素的声明 227

8.3.5  实体的声明 228

8.3.6  属性的声明 231

8.4  XML Schema 232

8.4.1  逻辑XML Schema的文档结构 233

8.4.2  元素的定义 233

8.5  可扩展样式表语言 236

8.5.1  可扩展样式表语言概述 236

8.5.2  XSLT的常用句法和函数 238

8.6  其他相关规范 244

8.6.1  XPath 244

8.6.2  XLink和XPointer 245

第9章  面向构件的软件设计 247

9.1  构件的概念 247

9.1.1  术语与概念 247

9.1.2  标准化与规范化 253

9.2  构件的布线标准 254

9.2.1  布线标准从何而来 254

9.2.2  从过程到对象 255

9.2.3  深层次问题 256

9.2.4  XML 258

9.3  构件框架 259

9.3.1  体系结构 259

9.3.2  语境相关组合构件框架 263

9.3.3  构件开发 267

9.3.4  构件组装 271

第10章  构件平台与典型架构 275

10.1  OMG方式 275

10.1.1  对象请求代理 275

10.1.2  公共对象服务规范 275

10.1.3  CORBA 构件模型 280

10.1.4  CORBA设施 281

10.2  SUN公司的方式 282

10.2.1  Java构件技术的概述 282

10.2.2  JavaBean 285

10.2.3  基本的Java服务 285

10.2.4  各种构件——Applet,Servlet,Bean和Enterprise Bean 287

10.2.5  高级Java服务 288

10.2.6  Java和Web服务——SunONE 291

10.3  Microsoft的方式 292

10.3.1  第一个基础关联模型——COM 292

10.3.2  COM对象重用 294

10.3.3  接口和多态 295

10.3.4  COM对象的创建和COM库 295

10.3.5  从COM到分布式COM(DCOM) 296

10.3.6  复合文档和OLE对象 298

10.3.7  .NET框架 298

10.4  战略比较 302

10.4.1  共性 302

10.4.2  不同点 303

第11章  信息安全技术 307

11.1  信息安全关键技术 307

11.1.1  加密和解密技术 307

11.1.2  散列函数与数字签名 310

11.1.3  密钥分配中心与公钥基础设施 313

11.1.4  访问控制 315

11.1.5  安全协议 317

11.1.6  数据备份 321

11.1.7  计算机病毒与免疫 324

11.2  信息安全管理和评估 327

11.2.1  安全管理技术 327

11.2.2  安全性规章 328

11.3  信息安全保障体系 329

第12章  系统安全架构设计 331

12.1  信息系统安全架构的简单描述 331

12.1.1  信息安全的现状及其威胁 331

12.1.2  国内外影响较大的标准和组织 333

12.2  系统安全体系架构规划框架及其方法 334

12.3  网络安全体系架构设计 338

12.3.1  OSI的安全体系架构概述 338

12.3.2  鉴别框架 340

12.3.3  访问控制框架 342

12.3.4  机密性框架 343

12.3.5  完整性框架 344

12.3.6  抗抵赖框架 345

12.4  数据库系统的安全设计 347

12.4.1  数据库安全设计的评估标准 347

12.4.2  数据库的完整性设计 347

12.5  案例:电子商务系统的安全性设计 350

第13章  系统的可靠性设计 353

13.1  软件可靠性 353

13.1.1  软件可靠性概述 353

13.1.2  软件可靠性的定义 354

13.1.3  软件可靠性的定量描述 355

13.1.4  可靠性目标 358

13.1.5  可靠性测试的意义 359

13.1.6  广义的可靠性测试与狭义的可靠性测试 360

13.2  软件可靠性建模 361

13.2.1  影响软件可靠性的因素 361

13.2.2  软件可靠性建模方法 362

13.2.3  软件的可靠性模型分类 364

13.2.4  软件可靠性模型举例 366

13.2.5  软件可靠性测试概述 368

13.2.6  定义软件运行剖面 369

13.2.7  可靠性测试用例设计 370

13.2.8  可靠性测试的实施 371

13.3  软件可靠性评价 372

13.3.1  软件可靠性评价概述 372

13.3.2  怎样选择可靠性模型 373

13.3.3  可靠性数据的收集 374

13.3.4  软件可靠性的评估和预测 375

13.4  软件的可靠性设计与管理 376

13.4.1  软件可靠性设计 376

13.4.2  软件可靠性管理 379

第14章  基于ODP的架构师实践 382

14.1  基于ODP的架构开发过程 382

14.2  系统构想 383

14.2.1  系统构想的定义 383

14.2.2  架构师的作用 384

14.2.3  系统构想面临的挑战 384

14.3  需求分析 384

14.3.1  架构师的工作 384

14.3.2  需求分析的任务 385

14.3.3  需求文档与架构 385

14.4  系统架构设计 386

14.4.1  企业业务架构 387

14.4.2  逻辑信息架构 388

14.4.3  计算接口架构 390

14.4.4  分布式工程架构 390

14.4.5  技术选择架构 390

14.5  实现模型 391

14.6  架构原型 392

14.7  项目规划 393

14.8  并行开发 393

14.8.1  软件并行开发的内容及意义 393

14.8.2  并行开发的过程 394

14.9  系统转换 395

14.9.1  系统转换的准备 395

14.9.2  系统转换的方式 396

14.9.3  系统转换的注意事项 396

14.10  操作与维护 396

14.10.1  操作与维护的内容 396

14.10.2  系统维护与架构 397

14.11  系统移植 397

14.11.1  系统移植的形式 397

14.11.2  系统移植的工作阶段划分 398

14.11.3  系统移植工具 398

第15章  架构师的管理实践 399

15.1  VRAPS组织管理原则 399

15.2  概念框架 400

15.3  形成并统一构想 401

15.3.1  形成构想 401

15.3.2  将构想原则付诸实践 402

15.4  节奏:保证节拍、过程和进展 404

15.4.1  节奏定义 405

15.4.2  将节奏原则付诸实践 405

15.5  预测、验证和调整 407

15.5.1  预测、验证和调整的定义 408

15.5.2  将预见原则付诸实践:准则、反模式与模式 408

15.6  协作:建立合作型组织 411

15.6.1  协作定义 411

15.6.2  将协作原则付诸实践:准则、反模式与模式 411

15.7  简化:澄清与最小化 414

15.7.1  简化定义 414

15.7.2  将简化原则付诸实践:准则、反模式与模式 414

第16章  层次式架构设计 418

16.1  体系结构设计 418

16.2  表现层框架设计 419

16.2.1  使用MVC模式设计表现层 419

16.2.2  使用XML设计表现层,统一Web Form与

Windows Form的外观 420

16.2.3  表现层中UIP设计思想 421

16.2.4  表现层动态生成设计思想 422

16.3  中间层架构设计 423

16.3.1  业务逻辑层组件设计 423

16.3.2  业务逻辑层工作流设计 424

16.3.3  业务逻辑层实体设计 426

16.3.4  业务逻辑层框架 428

16.4  数据访问层设计(持久层架构设计) 429

16.4.1  5种数据访问模式 429

16.4.2  工厂模式在数据访问层应用 432

16.4.3  ORM、Hibernate与CMP2.0设计思想 435

16.4.4  灵活运用Xml Schema 436

16.4.5  事务处理设计 437

16.4.6  连接对象管理设计 440

16.5  数据架构规划与设计 440

16.5.1  数据库设计与类的设计融合 440

16.5.2  数据库设计与XML设计融合 441

16.6  实战案例——电子商务网站(网上商店PetShop) 442

第17章  企业集成架构设计 447

17.1  企业集成平台 447

17.1.1  企业集成平台的概念 447

17.1.2  集成平台的标准化 449

17.1.3  实现技术的发展趋势 450

17.1.4  集成平台的发展趋势 454

17.2  企业集成平台的实现 456

17.2.1  数据集成 456

17.2.2  应用集成 458

17.2.3  企业集成 460

17.3  企业集成的关键应用技术 462

17.3.1  数据交换格式 462

17.3.2  分布式应用集成基础框架 465

17.4  面向整体解决方案的企业模型 470

17.4.1  企业模型在整体解决方案中的作用 470

17.4.2  整体解决方案中的企业模型重用 471

17.4.3  整体解决方案中企业模型演化 473

17.4.4  模型驱动的企业集成系统演化 475

第18章  面向方面的编程 477

18.1  方面编程的概念 477

18.1.1  AOP产生的背景 477

18.1.2  面向方面的原因 478

18.1.3  AOP技术 481

18.1.4  AOP特性 482

18.1.5  AOP 程序设计 483

18.1.6  AOP的优势 484

18.1.7  当前的AOP技术 486

18.2  AspectJ 486

18.2.1  AspectJ概述 486

18.2.2  AspectJ语言概念和构造 487

18.2.3  AspectJ实践 489

18.3  Spring AOP 492

18.3.1  Spring AOP概述 492

18.3.2  Spring语言概念和构造 494

18.3.3  Sring AOP应用 496

第19章  嵌入式系统设计 499

19.1  嵌入式系统 499

19.1.1  嵌入式系统概念 499

19.1.2  嵌入式系统的基本架构 500

19.1.3  嵌入式操作系统 502

19.1.4  典型嵌入式操作系统 504

19.1.5  嵌入式数据库管理 506

19.1.6  嵌入式网络及其他 507

19.2  嵌入式系统的设计 510

19.2.1  嵌入式系统分析与设计 510

19.2.2  嵌入式软件设计模型 515

19.2.3  嵌入式系统软件开发环境 518

第20章  面向服务的架构 520

20.1  SOA的相关概念 520

20.1.1  SOA的定义 520

20.1.2  业务流程与BPEL 520

20.2  SOA的发展历史 521

20.2.1  SOA的发展历史 521

20.2.2  国内SOA的发展现状与国外对比 522

20.3  SOA的参考架构 523

20.4  SOA主要技术和标准 529

20.4.1  UDDI协议 530

20.4.2  WSDL规范 530

20.4.3  SOAP协议 532

20.5  SOA的特性 532

20.5.1  文档标准化 532

20.5.2  通信协议标准 533

20.5.3  应用程序统一登记与集成 533

20.5.4  服务品质 533

20.6  SOA的作用 534

20.7  SOA设计原则 535

20.8  SOA的设计模式 536

20.8.1  服务注册表模式 536

20.8.2  企业服务总线模式 537

20.9  构建SOA架构时应该注意的问题 540

20.9.1  原有系统架构中的集成需求 540

20.9.2  服务粒度的控制以及无状态服务的设计 541

20.10  SOA实施的过程 542

20.10.1  选择SOA解决方案 542

20.10.2  业务流程分析 543

第21章  案例研究 547

21.1  价值驱动的体系结构:连接产品策略与体系结构 547

21.1.1  价值模型概述 547

21.1.2  体系结构挑战 548

21.1.3  结论 550

21.2  使用RUP和UML开发联邦企业体系结构框架 550

21.2.1  联邦企业体系结构框架概述 551

21.2.2  FEAF 矩阵概述 552

21.2.3  使用RUP支持FEAF 554

21.2.4  结论 557

21.3  Web服务在HL7上的应用--Web服务基础实现框架 558

21.3.1  HL7模型概念 558

21.3.2  体系结构 560

21.3.3  开发HL7 Web服务适配器 562

21.3.4  案例研究 562

21.3.5  结论 563

21.4  以服务为中心的企业整合——案例分析 564

21.4.1  案例背景 564

21.4.2  业务环境分析 564

21.4.3  IT环境分析 567

21.4.4  高层架构设计 567

21.4.5  结论 568

附    录 569

XIV

系统架构设计师教程

XV

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个