Share E-Book

系统架构设计师教程第二版-可搜索

Author 薛大龙 邹月平

Education
Language English

No Description

Format PDF
Size 27.4 MB
312
Views
0
Downloads
0.00
Total Donations
(First 20 pages)

Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Page 1
全国计算机技术与软件专业技术资格(水平)考试指定用书 系统架构设计师教程 全国计算机专业技术资格考试办公室组编 叶 宏 主 编 鲍亮宋胜利蔺一帅副主编
Page 2
全国计算机技术与软件专业技术资格(水平)考试指定用书 系统架构设计师教程 第2版 叶宏主编鲍亮宋胜利蔺一帅副主编 出版社 北京
Page 3
内 容 简 介 本书作为全国计算机技术与软件专业技术资格(水平)考试指定用书,系统地介绍了系统架构设 计师的基本要求,应具备的基础知识和需要掌握的知识。 全书分上、下两篇,共计20章。上篇为综合知识,介绍了系统架构设计师应熟练掌握的基本知 识,主要包括绪论、计算机系统、信息系统、信息安全技术、软件工程、数据库设计、系统架构设计、 系统质量属性与架构评估、软件可靠性、软件架构的演化和维护、未来信息综合技术等诸多基本知识 和方法。下篇为案例分析,分门别类地详细介绍了系统架构设计的相关理论、方法和案例分析,主要 包括信息系统架构、层次式架构、云原生架构、面向服务架构、嵌入式系统架构、通信系统架构、安 全架构和大数据架构等诸多设计理论和案例。 本书全面阐述了系统架构设计师需掌握的各方面知识和技能,特别是对合格架构师应具备的理论 与实践知识做了详细讲述。 本书是参加计算机软件水平考试——系统架构设计师考生的必备考试用书。凡通过本考试的考生, 便具备了全国认可的、本行业的高级工程师资格。 本书封面贴有清华大学出版社防伪标签,无标签者不得销售。 版权所有,侵权必究。举报:010-62782989, beiqinquan@tup.tsinghua.edu.cn。 图书在版编目 (CIP)数据 系统架构设计师教程/叶宏主编.—2版.一北京:清华大学出版社,2022.11 全国计算机技术与软件专业技术资格(水平)考试指定用书 ISBN 978-7-302-61992-5 I .①系⋯ Ⅱ.①叶⋯ Ⅲ.①计算机系统一资格考试-自学参考资料 IV.①TP303 中国版本图书馆CIP数据核字(2022)第181607号 责任编辑: 杨如林 封面设计: 杨玉兰 版式设计:方加青 责任校对: 胡伟民 责任印制: 沈 露 出版发行:清华大学出版社 网 址: http://www.tup.com.cn,http://www.wqbook.com 地 址:北京清华大学学研大厦 A 座 邮 编:100084 社总机:010-83470000 邮 购:010-62786544 投稿与读者服务: 010-62776969, c-service@tup.tsinghua.edu.cn 质 量 反 馈 : 010-62772015, zhiliang@tup.tsinghua.edu.cn 印装者:三河市龙大印装有限公司 经 销:全国新华书店 开 本: 185mm×230mm 印 张:45.25 插页:1 字 数:1225千字 版 次: 2009年6月第1版 2022年11月第2版 印 次:2022年11月第1次印刷 定 价:158.00元 产品编号:091901-01
Page 4
前 言 全国计算机技术与软件专业技术资格(水平)考试(以下简称“计算机软件考试”)是国家 级“以考代评”的考试,其目的是科学、公正地对全国计算机与软件专业技术人员进行专业资 格认定和专业技术水平测试。实施多年来在社会上产生了重大的影响,我国众多IT企业已将计 算机软件考试作为人员招聘的依据或主要参考,这对我国软件产业的形成、发展和人才培养做 出了重要的贡献。为适应我国计算机信息技术发展的需求,人力资源和社会保障部与工业和信 息化部决定将考试的级别拓展到计算机信息技术行业的各个方面,以满足社会上对各类计算机 信息技术人才的需要。 系统架构设计师作为系统研发活动中的关键角色之一,近年来在国内外得到快速发展,已 成为信息技术发展中的一种新职业,它对系统开发和信息化建设的重要性及给IT业所带来的影 响不言而喻。在我国,随着工业2025规划的实施,国家对系统架构设计师这一职业的需求量急 剧增长,技术水平要求也在不断提升,培养我国系统架构设计师队伍已迫在眉睫。目前在我国, 该职业在工作内容、职责以及边界等方面还存在一定的模糊性和不确定性,需要不断地完善和 成熟。本次对系统架构设计师考试大纲及教程修订工作的目的就是完善考试体系,提升新职业 的技能水平,促进职业队伍的不断成熟。并根据近年来专业范围的变化及新技术的发展,本次 修订融入了众多新技术、新方法,可促进系统架构设计师更加具备系统化、全面化和抽象化的 能力。 本书由叶宏任主编,鲍亮、宋胜利、蔺一帅任副主编,编写人员有刘伟、王高亮、严体华、 张亮和黄堡垒等。其中,第1章由叶宏编写,第2章由叶宏、黄堡垒、宋胜利、王高亮、张亮 和刘伟编写,第3章由宋胜利编写,第4章由严体华编写,第5、6章由刘伟编写,第7章由蔺 一帅编写,第8章由鲍亮、蔺一帅编写,第9章由刘伟编写,第10章由蔺一帅编写,第11章 由鲍亮编写,第12章由宋胜利编写,第13章由蔺一帅编写,第14、15章由鲍亮编写,第16 章由叶宏编写,第17章由王高亮编写,第18章由叶宏编写,第19章由鲍亮编写,第20章由 蔺一帅编写。编写组按照《系统架构设计师考试大纲》的要求开展了为期三年的艰苦编著工作, 就知识点范围、教材深度、新技术选择等方面进行了多次讨论,筛选了上百个架构案例,最后 由叶宏、蔺一帅统稿。编写过程中得到了张淑平等老师的极大帮助,在此表示由衷的感谢。 在本书的编写过程中,参考并引用了许多相关的书籍、资料和互联网发布的信息,编者 在此对这些文献的作者表示感谢。同时感谢清华大学出版社在本书出版过程中所给予的支持和 帮助。 因水平有限,书中难免存在错漏和不妥之处,望读者指正,以利改进和提高。 编 者 2022年于西安
Page 5
(This page has no text content)
Page 6
目 录 上 篇 第 1 章绪 论 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 3 1.1 系统架构概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 3 1.1.1 系统架构的定义及发展历程 ⋯⋯⋯⋯⋯4 1.1.2 软件架构的常用分类及建模方法 ⋯⋯⋯9 1.1.3 软件架构的应用场景 ⋯⋯⋯⋯⋯⋯⋯13 1.1.4 软件架构的发展未来 ⋯⋯⋯⋯⋯⋯⋯13 1.2 系统架构设计师概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 14 1.2.1 架构设计师的定义、职责和任务 ⋯⋯15 1.2.2 架构设计师应具备的专业素质 ....... 16 1.2.3 架构设计师的知识结构 ⋯⋯⋯⋯⋯⋯ 17 1.3 如何成为一名好的系统架构设计师 ⋯⋯⋯⋯18 1.3.1 如何衡量一名优秀架构设计师 ⋯⋯⋯18 1.3.2 从工程师到系统架构设计师的演化 ⋯20 第 2 章计算机系统基础知识 ⋯⋯⋯⋯⋯⋯⋯ 24 2.1 计算机系统概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 24 2.2 计算机硬件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯25 2.2.1 计算机硬件组成 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 25 2.2.2 处理器 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 25 2.2.3 存储器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯26 2.2.4 总线⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 27 2.2.5 接口⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯27 2.2.6 外部设备 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 27 2.3 计算机软件 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 28 2.3.1 计算机软件概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 28 2.3.2 操作系统 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 28 2.3.3 数据库 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 32 2.3.4 文件系统 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 37 2.3.5 网络协议⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 41 2.3.6 中间件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 41 2.3.7 软件构件 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 43 2.3.8 应用软件 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 46 2.4 嵌入式系统及软件 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 47 2.4.1 嵌入式系统的组成及特点 ⋯⋯⋯⋯⋯ 47 2.4.2 嵌入式系统的分类 ⋯⋯⋯⋯⋯⋯⋯⋯ 49 2.4.3 嵌入式软件的组成及特点 ⋯⋯⋯⋯⋯ 49 2.4.4 安全攸关软件的安全性设计 ⋯⋯⋯⋯ 52 2.5 计算机网络 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 56 2.5.1 网络的基本概念 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 56 2.5.2 通信技术 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 59 2.5.3 网络技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 63 2.5.4 组网技术 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 70 2.5.5 网络工程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 75 2.6 计算机语言 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 75 2.6.1 计算机语言的组成⋯⋯⋯⋯⋯⋯⋯⋯ 75 2.6.2 计算机语言的分类⋯⋯⋯⋯⋯⋯⋯⋯ 76 2.7 多媒体⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 87 2.7.1 多媒体概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 87 2.7.2 多媒体系统的关键技术 ⋯⋯⋯⋯⋯⋯ 88 2.8 系统工程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 91 2.8.1 系统工程概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 91 2.8.2 系统工程方法 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 93 2.8.3 系统工程的生命周期 ⋯⋯⋯⋯⋯⋯⋯ 97 2.8.4 基于模型的系统工程 ⋯⋯⋯⋯⋯⋯⋯ 100
Page 7
IV 系统架构设计师教程(第2版) 2.9 系统性能 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 101 2.9.1 性能指标⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 101 2.9.2 性能计算 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 102 2.9.3 性能设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 102 2.9.4 性能评估 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 103 第 3 章信 息 系 统 基 础 知 识 ⋯⋯⋯⋯⋯⋯⋯ 105 3.1 信息系统概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯105 3.1.1 信息系统的定义 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 105 3.1.2 信息系统的发展 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 106 3.1.3 信息系统的分类 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 107 3.1.4 信息系统的生命周期 ⋯⋯⋯⋯⋯⋯⋯ 109 3.1.5 信息系统建设原则 ⋯⋯⋯⋯⋯⋯⋯⋯ 110 3.1.6 信息系统开发方法 ⋯⋯⋯⋯⋯⋯⋯⋯ 112 3.2 业务处理系统(TPS) ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 114 3.2.1 业务处理系统的概念 ⋯⋯⋯⋯⋯⋯⋯ 114 3.2.2 业务处理系统的功能⋯⋯⋯⋯⋯⋯⋯ 115 3.2.3 业务处理系统的特点 ⋯⋯⋯⋯⋯⋯⋯ 118 3.3 管理信息系统(MIS) ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 119 3.3.1 管理信息系统的概念 ⋯⋯⋯⋯⋯⋯⋯ 119 3.3.2 管理信息系统的功能⋯⋯⋯⋯⋯⋯⋯ 120 3.3.3 管理信息系统的组成 ⋯⋯⋯⋯⋯⋯⋯ 121 3.4 决策支持系统(DSS) ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 123 3.4.1 决策支持系统的概念⋯⋯⋯⋯⋯⋯⋯ 123 3.4.2 决策支持系统的功能 ⋯⋯⋯⋯⋯⋯⋯ 125 3.4.3 决策支持系统的特点 ⋯⋯⋯⋯⋯⋯⋯ 126 3.4.4 决策支持系统的组成 ⋯⋯⋯⋯⋯⋯⋯ 126 3.5 专家系统(ES) ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 128 3.5.1 专家系统的概念 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 128 3.5.2 专家系统的特点 ⋯⋯⋯⋯⋯⋯⋯⋯⋯129 3.5.3 专家系统的组成 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 130 3.6 办公自动化系统(OAS) ⋯⋯⋯⋯⋯⋯⋯⋯ 133 3.6.1 办公自动化系统的概念 ⋯⋯⋯⋯⋯⋯133 3.6.2 办公自动化系统的功能 ⋯⋯⋯⋯⋯⋯134 3.6.3 办公自动化系统的组成 ⋯⋯⋯⋯⋯⋯135 3.7 企业资源规划(ERP) ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 136 3.7.1 企业资源规划的概念 ⋯⋯⋯⋯⋯⋯⋯ 136 3.7.2 企业资源规划的结构 ⋯⋯⋯⋯⋯⋯⋯ 136 3.7.3 企业资源规划的功能 ⋯⋯⋯⋯⋯⋯⋯ 139 3.8 典型信息系统架构模.型⋯⋯⋯⋯⋯⋯⋯⋯⋯139 3.8.1 政府信息化与电子政务 ⋯⋯⋯⋯⋯⋯ 139 3.8.2 企业信息化与电子商务 ⋯⋯⋯⋯⋯⋯ 142 第 4 章信 息 安 全 技 术 基 础 知 识 ⋯⋯⋯⋯⋯145 4.1 信息安全基础知识 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 145 4.1.1 信息安全的概念⋯⋯⋯⋯⋯⋯⋯⋯⋯ 145 4.1.2 信息存储安全⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 146 4.1.3 网络安全 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯147 4.2 信息系统安全的作用与意义 ⋯⋯⋯⋯⋯⋯⋯ 148 4.3 信息安全系统的组成框架 ⋯⋯⋯⋯⋯⋯⋯⋯ 149 4.3.1 技术体系 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 149 4.3.2 组织机构体系⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯150 4.3.3 管理体系 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 150 4.4 信息加解密技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 150 4.4.1 数据加密⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯150 4.4.2 对称密钥加密算法 ⋯⋯⋯⋯⋯⋯⋯⋯ 151 4.4.3 非对称密钥加密算法 ⋯⋯⋯⋯⋯⋯⋯ 152 4.5 密钥管理技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯153 4.5.1 对称密钥的分配与管理 ⋯⋯⋯⋯⋯⋯153 4.5.2 公钥加密体制的密钥管理 ⋯⋯⋯⋯⋯155 4.5.3 公钥加密分配单钥密码体制的密钥 ⋯155 4.6 访问控制及数字签名技术 ⋯⋯⋯⋯⋯⋯⋯⋯ 156 4.6.1 访问控制技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯156 4.6.2 数字签名 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 158 4.7 信息安全的抗攻击技术 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 160 4.7.1 密钥的选择 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 160 4.7.2 拒绝服务攻击与防御 ⋯⋯⋯⋯⋯⋯⋯ 161 4.7.3 欺骗攻击与防御⋯⋯⋯⋯⋯⋯⋯⋯⋯163 4.7.4 端口扫描 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 165
Page 8
4.7.5 强化TCP/P堆栈以抵御拒绝服务 攻击 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 167 4.7.6 系统漏洞扫描 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 168 4.8 信息安全的保障体系与评估方法 ⋯⋯⋯⋯⋯170 4.8.1 计算机信息系统安全保护等级 ..... 170 4.8.2 安全风险管理 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 170 第 5 章 软件工程基础知识 ⋯⋯⋯⋯⋯⋯⋯ 175 5.1 软件工程 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 175 5.1.1 软件工程定义 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 175 5.1.2 软件过程模型 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 176 5.1.3 敏捷模型 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 179 5.1.4 统一过程模型(RUP) ⋯⋯⋯⋯⋯⋯ 182 5.1.5 软件能力成熟度模型⋯⋯⋯⋯⋯⋯⋯ 184 5.2 需求工程 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 185 5.2.1 需求获取 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 187 5.2.2 需求变更 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 189 5.2.3 需求追踪⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 192 5.3 系统分析与设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 192 5.3.1 结构化方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 192 5.3.2 面向对象方法 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 200 5.4 软件测试 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 205 5.4.1 测试方法 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 205 5.4.2 测试阶段 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 206 5.5 净室软件工程 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯208 5.5.1 理论基础 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 208 5.5.2 技术手段⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 209 5.5.3 应用与缺点 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 209 5.6 基于构件的软件工程 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 210 5.6.1 构件和构件模型 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 210 5.6.2 C B S E过程 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 211 5.6.3 构件组装 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 212 5.7 软件项目管理 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 213 5.7.1 项目管理概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 213 5.7.2 软件进度管理 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 213 目 录 V 5.7.3 软件配置管理 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 215 5.7.4 软件质量管理 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 215 5.7.5 软件风险管理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 217 第 6 章 数据库设计基础知识 ⋯⋯⋯⋯⋯⋯ 218 6.1 数据库基本概念⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 218 6.1.1 数据库技术的发展 ⋯⋯⋯⋯⋯⋯⋯⋯ 218 6.1.2 数据模型 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 220 6.1.3 数据库管理系统 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 221 6.1.4 数据库三级模式 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 223 6.2 关系数据库 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 224 6.2.1 关系数据库基本概念 ⋯⋯⋯⋯⋯⋯⋯ 224 6.2.2 关系运算 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 227 6.2.3 关系数据库设计基本理论 ⋯⋯⋯⋯⋯231 6.3 数据库设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 234 6.3.1 数据库设计的基本步骤 ⋯⋯⋯⋯⋯⋯ 234 6.3.2 数据需求分析 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 235 6.3.3 概念结构设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 235 6.3.4 逻辑结构设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 237 6.3.5 物理设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 239 6.3.6 数据库实施 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 241 6.3.7 数据库运行维护⋯⋯⋯⋯⋯⋯⋯⋯⋯ 242 6.4 应用程序与数据库的交互 ⋯⋯⋯⋯⋯⋯⋯⋯ 243 6.4.1 库函数级别访问接口 ⋯⋯⋯⋯⋯⋯⋯ 243 6.4.2 嵌入SQL访问接口 ⋯⋯⋯⋯⋯⋯⋯⋯ 243 6.4.3 通用数据接口标准 ⋯⋯⋯⋯⋯⋯⋯⋯ 244 6.4.4 O R M访问接口⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 245 6.5 N o S Q L数据库 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 246 6.5.1 分类与特点 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 246 6.5.2 体系框架 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 247 第 7 章 系统架构设计基础知识 ⋯⋯⋯⋯⋯248 7.1 软件架构概念⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 248 7.1.1 软件架构的定义 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 248 7.1.2 软件架构设计与生命周期⋯⋯⋯⋯⋯248
Page 9
VI 系统架构设计师教程(第2版) 7.1.3 软件架构的重要性 ⋯⋯⋯⋯⋯⋯⋯⋯ 252 7.2 基于架构的软件开发方法 ⋯⋯⋯⋯⋯⋯⋯⋯ 254 7.2.1 体系结构的设计方法概述 ⋯⋯⋯⋯⋯254 7.2.2 概念与术语 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 254 7.2.3 基于体系结构的开发模型 ⋯⋯⋯⋯⋯255 7.2.4 体系结构需求 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 255 7.2.5 体系结构设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 256 7.2.6 体系结构文档化 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 257 7.2.7 体系结构复审⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 257 7.2.8 体系结构实现 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 258 7.2.9 体系结构的演化 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 258 7.3 软件架构风格⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯259 7.3.1 软件架构风格概述 ⋯⋯⋯⋯⋯⋯⋯⋯ 259 7.3.2 数据流体系结构风格 ⋯⋯⋯⋯⋯⋯⋯ 259 7.3.3 调用/返回体系结构风格 ⋯⋯⋯⋯⋯ 260 7.3.4 以数据为中心的体系结构风格 ⋯⋯⋯262 7.3.5 虚拟机体系结构风格 ⋯⋯⋯⋯⋯⋯⋯ 263 7.3.6 独立构件体系结构风格 ⋯⋯⋯⋯⋯⋯ 264 7.4 软件架构复用 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 265 7.4.1 软件架构复用的定义及分类 ⋯⋯⋯⋯265 7.4.2 软件架构复用的原因 ⋯⋯⋯⋯⋯⋯⋯ 265 7.4.3 软件架构复用的对象及形式 ⋯⋯⋯⋯265 7.4.4 软件架构复用的基本过程 ⋯⋯⋯⋯⋯266 7.5 特定领域软件体系结构⋯⋯⋯⋯⋯⋯⋯⋯⋯ 267 7.5.1 D S S A的定义 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 267 7.5.2 DSSA的基本活动 ⋯⋯⋯⋯⋯⋯⋯⋯ 268 7.5.3 参与DSSA的人员 ⋯⋯⋯⋯⋯⋯⋯⋯ 269 7.5.4 DSSA的建立过程 ⋯⋯⋯⋯⋯⋯⋯⋯ 269 第 8 章 系统质量属性与架构评估 ⋯⋯⋯⋯271 8.1 软件系统质量属性 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 271 8.1.1 质量属性概念 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 271 8.1.2 面向架构评估的质量属性 ⋯⋯⋯⋯⋯272 8.1.3 质量属性场景描述 ⋯⋯⋯⋯⋯⋯⋯⋯ 274 8.2 系统架构评估 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 277 8.2.1 系统架构评估中的重要概念 ⋯⋯⋯⋯278 8.2.2 系统架构评估方法 ⋯⋯⋯⋯⋯⋯⋯⋯ 279 8.3 ATAM方法架构评估实践 ⋯⋯⋯⋯⋯⋯⋯⋯ 289 8.3.1 阶段1——演示(Presentation) ..... 289 8.3.2 阶段2——调查和分析 ⋯⋯⋯⋯⋯⋯ 292 8.3.3 阶段3——测试 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 299 8.3.4 阶段4——报告ATAM ⋯⋯⋯⋯⋯⋯⋯ 304 第 9 章 软件可靠性基础知识 ⋯⋯⋯⋯⋯⋯ 305 9.1 软件可靠性基本概念 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 305 9.1.1 软件可靠性定义 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 305 9.1.2 软件可靠性的定量描述 ⋯⋯⋯⋯⋯⋯ 307 9.1.3 可靠性目标 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 309 9.1.4 可靠性测试的意义⋯⋯⋯⋯⋯⋯⋯⋯ 310 9.1.5 广义的可靠性测试与狭义的可靠性 测试 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 311 9.2 软件可靠性建模 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 312 9.2.1 影响软件可靠性的因素 ⋯⋯⋯⋯⋯⋯ 312 9.2.2 软件可靠性的建模方法⋯⋯⋯⋯⋯⋯ 312 9.2.3 软件的可靠性模型分类 ⋯⋯⋯⋯⋯⋯ 314 9.3 软件可靠性管理 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 316 9.4 软件可靠性设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 318 9.4.1 容错设计技术 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 319 9.4.2 检错技术 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 320 9.4.3 降低复杂度设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 320 9.4.4 系统配置技术 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 321 9.5 软件可靠性测试 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 322 9.5.1 软件可靠性测试概述 ⋯⋯⋯⋯⋯⋯⋯ 322 9.5.2 定义软件运行剖面 ⋯⋯⋯⋯⋯⋯⋯⋯ 322 9.5.3 可靠性测试用例设计⋯⋯⋯⋯⋯⋯⋯ 323 9.5.4 可靠性测试的实施⋯⋯⋯⋯⋯⋯⋯⋯ 324 9.6 软件可靠性评价 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 326 9.6.1 软件可靠性评价概述⋯⋯⋯⋯⋯⋯⋯ 326 9.6.2 怎样选择可靠性模型⋯⋯⋯⋯⋯⋯⋯ 326 9.6.3 可靠性数据的收集 ⋯⋯⋯⋯⋯⋯⋯⋯ 327
Page 10
9.6.4 软件可靠性的评估和预测⋯⋯⋯⋯⋯328 第 1 0 章 软件架构的演化和维护 ⋯⋯⋯⋯ 330 10.1 软件架构演化和定义的关系 ⋯⋯⋯⋯⋯⋯⋯ 330 10.1.1 演化的重要性 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 330 10.1.2 演化和定义的关系 ⋯⋯⋯⋯⋯⋯⋯ 331 10.2 面向对象软件架构演化过程 ⋯⋯⋯⋯⋯⋯⋯ 331 10.2.1 对象演化 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 331 10.2.2 消息演化 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 332 10.2.3 复合片段演化 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 334 10.2.4 约束演化 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 336 10.3 软件架构演化方式的分类 ⋯⋯⋯⋯⋯⋯⋯⋯ 336 10.3.1 软件架构演化时期 ⋯⋯⋯⋯⋯⋯⋯ 336 10.3.2 软件架构静态演化 ⋯⋯⋯⋯⋯⋯⋯ 337 10.3.3 软件架构动态演化 ⋯⋯⋯⋯⋯⋯⋯ 340 10.4 软件架构演化原则 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 347 10.5 软件架构演化评估方法 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 351 10.5.1 演化过程已知的评估 ⋯⋯⋯⋯⋯⋯ 351 10.5.2 演化过程未知的评估 ⋯⋯⋯⋯⋯⋯ 354 10.6 大型网站系统架构演化实例 ⋯⋯⋯⋯⋯⋯⋯ 354 10.6.1 第一阶段:单体架构 ⋯⋯⋯⋯⋯⋯ 355 10.6.2 第二阶段:垂直架构 ⋯⋯⋯⋯⋯⋯ 355 10.6.3 第三阶段:使用缓存改善网站 性能 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 355 10.6.4 第四阶段:使用服务集群改善 网站并发处理能力 ⋯⋯⋯⋯⋯⋯⋯⋯ 356 10.6.5 第五阶段:数据库读写分离⋯⋯⋯357 10.6.6 第六阶段:使用反向代理和 CDN加速网站响应 ⋯⋯⋯⋯⋯⋯⋯⋯358 10.6.7 第七阶段:使用分布式文件系统 和分布式数据库系统 ⋯⋯⋯⋯⋯⋯⋯359 10.6.8 第八阶段:使用NoSQL和 搜索引擎 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯359 10.6.9 第九阶段:业务拆分 ⋯⋯⋯⋯⋯⋯ 360 10.6.10 第十阶段:分布式服务 ⋯⋯⋯⋯⋯361 目 录 VⅡI 10.7 软件架构维护 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 362 10.7.1 软件架构知识管理 ⋯⋯⋯⋯⋯⋯⋯ 362 10.7.2 软件架构修改管理 ⋯⋯⋯⋯⋯⋯⋯ 363 10.7.3 软件架构版本管理 ⋯⋯⋯⋯⋯⋯⋯ 363 10.7.4 软件架构可维护性度量实践 ⋯⋯⋯364 第 1 1 章未来信息综合技术 ⋯⋯⋯⋯⋯⋯⋯ 369 11.1 信息物理系统技术概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 369 11.1.1 信息物理系统的概念 ⋯⋯⋯⋯⋯⋯ 369 11.1.2 C P S的实现 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 370 11.1.3 信息物理系统的建设和应用 ⋯⋯⋯372 11.2 人工智能技术概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 374 11.2.1 人工智能的概念 ⋯⋯⋯⋯⋯⋯⋯⋯ 374 11.2.2 人工智能的发展历程 ⋯⋯⋯⋯⋯⋯ 375 11.2.3 人工智能关键技术 ⋯⋯⋯⋯⋯⋯⋯ 376 11.3 机器人技术概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 380 11.3.1 机器人的概念 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 380 11.3.2 机器人的定义和发展历程 ⋯⋯⋯⋯ 380 11.3.3 机器人4.0的核心技术 ⋯⋯⋯⋯⋯⋯ 381 11.3.4 机器人的分类 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 383 11.4 边缘计算概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 384 11.4.1 边缘计算概念 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 384 11.4.2 边缘计算的定义 ⋯⋯⋯⋯⋯⋯⋯⋯ 385 11.4.3 边缘计算的特点 ⋯⋯⋯⋯⋯⋯⋯⋯ 386 11.4.4 边云协同 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 386 11.4.5 边缘计算的安全 ⋯⋯⋯⋯⋯⋯⋯⋯ 387 11.4.6 边缘计算应用场合 ⋯⋯⋯⋯⋯⋯⋯ 388 11.5 数字孪生体技术概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 390 11.5.1 数字孪生体发展历程 ⋯⋯⋯⋯⋯⋯ 390 11.5.2 数字孪生体的定义 ⋯⋯⋯⋯⋯⋯⋯ 391 11.5.3 数字孪生体的关键技术 ⋯⋯⋯⋯⋯ 392 11.5.4 数字孪生体的应用 ⋯⋯⋯⋯⋯⋯⋯ 393 11.6 云计算和大数据技术概述 ⋯⋯⋯⋯⋯⋯⋯⋯ 394 11.6.1 云计算技术概述 ⋯⋯⋯⋯⋯⋯⋯⋯395 11.6.2 大数据技术概述 ⋯⋯⋯⋯⋯⋯⋯⋯ 398
Page 11
VⅢ 系统架构设计师教程(第2版) 下 篇 第 1 2 章信息系统架构设计理论与实践·405 12.1 信息系统架构基本概念及发展 ⋯⋯⋯⋯⋯ 405 12.1.1 信息系统架构的概述⋯⋯⋯⋯⋯⋯405 12.1.2 信息系统架构的发展 ⋯⋯⋯⋯⋯⋯ 406 12.1.3 信息系统架构的定义⋯⋯⋯⋯⋯⋯406 12.2 信息系统架构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯408 12.2.1 架构风格 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 408 12.2.2 信息系统架构分类 ⋯⋯⋯⋯⋯⋯⋯ 408 12.2.3 信息系统架构的一般原理 ⋯⋯⋯⋯ 410 12.2.4 信息系统常用4种架构模型 ⋯⋯⋯⋯411 12.2.5 企业信息系统的总体框架 ⋯⋯⋯⋯415 12.3 信息系统架构设计方法 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 417 12.3.1 ADM架构开发方法 ⋯⋯⋯⋯⋯⋯⋯ 417 12.3.2 信息化总体架构方法 ⋯⋯⋯⋯⋯⋯ 433 12.4 信息系统架构案例分析 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 438 12.4.1 价值驱动的体系结构——连接 产品策略与体系结构 ⋯⋯⋯⋯⋯⋯438 12.4.2 Web服务在HL7上的应用—— Web服务基础实现框架 ⋯⋯⋯⋯⋯⋯ 441 12.4.3 以服务为中心的企业整合 ⋯⋯⋯⋯ 446 13.3.3 业务逻辑层实体设计 ⋯⋯⋯⋯⋯⋯ 460 13.3.4 业务逻辑层框架 ⋯⋯⋯⋯⋯⋯⋯⋯ 463 13.4 数据访问层设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 464 13.4.15种数据访问模式 ⋯⋯⋯⋯⋯⋯⋯⋯ 464 13.4.2 工厂模式在数据访问层应用 ⋯⋯⋯466 13.4.3 ORM、Hibernate与CMP2.0 设计思想 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯469 13.4.4 灵活运用XML Schema ⋯⋯⋯⋯⋯⋯470 13.4.5 事务处理设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 471 13.4.6 连接对象管理设计 ⋯⋯⋯⋯⋯⋯⋯ 473 13.5 数据架构规划与设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 473 13.5.1 数据库设计与类的设计融合 ⋯⋯⋯473 13.5.2 数据库设计与XML设计融合 ⋯⋯⋯474 13.6 物联网层次架构设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 475 13.7 层次式架构案例分析 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 476 13.7.1 电子商务网站(网上商店 PetShop) ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯476 13.7.2 基于物联网架构的电子小票服务 系统⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 480 第 1 4 章 云原生架构设计理论与实践 ⋯⋯⋯482 第 1 3 章层次式架构设计理论与实践 ⋯⋯451 13.1 层次式体系结构概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯451 13.2 表现层框架设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 453 13.2.1 表现层设计模式 ⋯⋯⋯⋯⋯⋯⋯⋯ 453 13.2.2 使用XML设计表现层,统一 Web Form与Windows Form的外观 ⋯⋯455 13.2.3 表现层中UIP设计思想⋯⋯⋯⋯⋯⋯456 13.2.4 表现层动态生成设计思想⋯⋯⋯⋯ 458 13.3 中间层架构设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 458 13.3.1 业务逻辑层组件设计 ⋯⋯⋯⋯⋯⋯458 13.3.2 业务逻辑层工作流设计 ⋯⋯⋯⋯⋯ 459 14.1 云原生架构产生背景 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 482 14.2 云原生架构内涵 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 484 14.2.1 云原生架构定义 ⋯⋯⋯⋯⋯⋯⋯⋯ 484 14.2.2 云原生架构原则 ⋯⋯⋯⋯⋯⋯⋯⋯ 486 14.2.3 主要架构模式 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 488 14.2.4 典型的云原生架构反模式 ⋯⋯⋯⋯ 491 14.3 云原生架构相关技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 492 14.3.1 容器技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 492 14.3.2 云原生微服务 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 494 14.3.3 无服务器技术 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 496 14.3.4 服务网格⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 498 14.4 云原生架构案例分析 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 500
Page 12
(This page has no text content)
Page 13
X 系统架构设计师教程(第2版) 17.2.2 广域网网络架构 ⋯⋯⋯⋯⋯⋯⋯⋯ 603 17.2.3 移动通信网网络架构 ⋯⋯⋯⋯⋯⋯ 607 17.2.4 存储网络架构 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 609 17.2.5 软件定义网络架构 ⋯⋯⋯⋯⋯⋯⋯611 17.3 网络构建关键技术 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 612 17.3.1 网络高可用设计 ⋯⋯⋯⋯⋯⋯⋯⋯ 612 17.3.2 IPv4与IPv6融合组网技术 ⋯⋯⋯⋯ 614 17.3.3 S D N 技术 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 616 17.4 网络构建和设计方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 617 17.4.1 网络需求分析 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 617 17.4.2 网络技术遴选及设计 ⋯⋯⋯⋯⋯⋯ 618 17.4.3 网络安全 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 622 17.4.4 绿色网络设计方法⋯⋯⋯⋯⋯⋯⋯624 17.5 通信网络构建案例分析 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 626 17.5.1 高可用网络构建分析 ⋯⋯⋯⋯⋯⋯ 626 17.5.2 园区网双栈构建分析 ⋯⋯⋯⋯⋯⋯ 630 17.5.35G网络应用 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 631 第 1 8 章·安全架构设计理论与实践 ⋯⋯⋯633 18.1 安全架构概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 633 18.1.1 信息安全面临的威胁 ⋯⋯⋯⋯⋯⋯ 633 18.1.2 安全架构的定义和范围 ⋯⋯⋯⋯⋯635 18.1.3 与信息安全相关的国内外标准 及组织⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 635 18.2 安全模型 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 638 18.2.1 状态机模型 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯639 18.2.2 Bell-LaPadula模型 ⋯⋯⋯⋯⋯⋯⋯ 640 18.2.3 Biba模型 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯641 18.2.4 Clark-Wilson模型⋯⋯⋯⋯⋯⋯⋯⋯642 18.2.5 Chinese Wall模型 ⋯⋯⋯⋯⋯⋯⋯⋯ 643 18.3 系统安全体系架构规划框架 ⋯⋯⋯⋯⋯⋯⋯ 644 18.3.1 安全技术体系架构 ⋯⋯⋯⋯⋯⋯⋯ 644 18.3.2 信息系统安全体系规划 ⋯⋯⋯⋯⋯ 645 18.3.3 信息系统安全规划框架 ⋯⋯⋯⋯⋯646 18.4 信息安全整体架构设计(WPDRRC模型)⋯648 18.4.1 WPDRRC信息安全体系架构模型.648 18.4.2 信息安全体系架构设计 ⋯⋯⋯⋯⋯ 649 18.5 网络安全体系架构设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 653 18.5.1 OSI的安全体系架构概述 ⋯⋯⋯⋯653 18.5.2 认证框架 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 656 18.5.3 访问控制框架 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 657 18.5.4 机密性框架 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯658 18.5.5 完整性框架 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 659 18.5.6 抗抵赖框架 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 659 18.6 数据库系统的安全设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 661 18.6.1 数据库安全设计的评估标准 ⋯⋯⋯661 18.6.2 数据库的完整性设计 ⋯⋯⋯⋯⋯⋯ 662 18.7 系统架构的脆弱性分析 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 664 18.7.1 概述 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯664 18.7.2 软件脆弱性 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 665 18.7.3 典型软件架构的脆弱性分析 ⋯⋯⋯668 18.8 安全架构设计案例分析 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 671 18.8.1 电子商务系统的安全性设计 ⋯⋯⋯671 18.8.2 基于混合云的工业安全架构设计 ⋯674 第 1 9 章大数据架构设计理论与实践 ⋯⋯676 19.1 传统数据处理系统存在的问题 ⋯⋯⋯⋯⋯⋯676 19.2 大数据处理系统架构分析 ⋯⋯⋯⋯⋯⋯⋯⋯ 678 19.2.1 大数据处理系统面临挑战 ⋯⋯⋯⋯ 678 19.2.2 大数据处理系统架构特征 ⋯⋯⋯⋯ 679 19.3 Lambda架构 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 680 19.3.1 Lambda架构对大数据处理系统 的理解 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 680 19.3.2 Lambda架构应用场景⋯⋯⋯⋯⋯⋯680 19.3.3 Lambda架构介绍 ⋯⋯⋯⋯⋯⋯⋯⋯ 681 19.3.4 Lambda架构的实现 ⋯⋯⋯⋯⋯⋯⋯ 684 19.3.5 Lambda架构优缺点⋯⋯⋯⋯⋯⋯⋯685 19.3.6 Lambda与其他架构模式对比 ⋯⋯⋯685 19.4 Kappa架构 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯686 19.4.1 Kappa架构下对大数据处理系统 的理解 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 686
Page 14
19.4.2 Kappa架构介绍 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 687 19.4.3 Kappa架构的实现 ⋯⋯⋯⋯⋯⋯⋯⋯ 688 19.4.4 Kappa架构的优缺点 ⋯⋯⋯⋯⋯⋯⋯ 688 19.4.5 常见Kappa架构变形 ⋯⋯⋯⋯⋯⋯⋯ 689 19.5 Lambda架构与Kappa架构的对比和 设计选择 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 690 19.5.1 Lambda架构与Kappa架构的特性 对比 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 690 19.5.2 Lambda架构与Kappa架构的设计 选择 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 692 19.6 大数据架构设计案例分析 ⋯⋯⋯⋯⋯⋯⋯⋯ 692 19.6.1 Lambda架构在某网奥运中的 大数据应用 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 692 19.6.2 Lambda架构在某网广告平台的 应用与演进 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 694 目 录 XI 19.6.3 某证券公司大数据系统 ⋯⋯⋯⋯⋯ 697 19.6.4 某电商智能决策大数据系统 ⋯⋯⋯699 第 2 0 章系统架构设计师论文写作要点 ⋯⋯702 20.1 写作注意事项 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 702 20.1.1 做好准备工作 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 702 20.1.2 论文写作格式 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 703 20.2 如何解答试题 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 704 20.2.1 论文解答步骤 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 705 20.2.2 论文解答实例 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 705 20.3 论文写作方法 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 708 20.3.1 如何写好摘要 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 708 20.3.2 如何写好正文 ⋯⋯⋯⋯⋯⋯⋯⋯⋯ 709 20.3.3 摘要和正文的关系 ⋯⋯⋯⋯⋯⋯⋯ 711 20.4 常见问题及解决办法 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 711
Page 15
(This page has no text content)
Page 16
上 篇
Page 17
(This page has no text content)
Page 18
第 1 章 绪 论 系统架构设计师 (System Architecture Designer) 是项目开发活动中的关键角色之一。系统 架构是系统的一种整体的高层次的结构表示,是系统的骨架和根基,其决定了系统的健壮性和 生命周期的长短。本章首先从架构定义、发展历程、典型架构和未来发展等方面概要说明,给 读者建立一个架构的整体概念;然后对系统架构设计师的定义、职责、范围和工作内容等进行 讲解,并说明了对于一名合格的系统架构设计师的要求。 1.1 系统架构概述 自1946年世界上第一台计算机(正式名称为“电子数字积分器和计算机”,即ENIAC) 诞 生以来,对人类使用的计算工具产生了革命性变革。当时参与美国原子弹研制工作的著名美籍 匈牙利数学家冯·诺伊曼针对ENIA C的不足,提出了“离散变量自动电子计算机” (EDVAC), 它由运算器、控制器、存储器、输入和输出设备五部分组成。该计算机的内部运算采用二进制, 而不是十进制。由于一个电子元件只有开或关两种状态,可以表示0或1,这就大大提高了运 算速度(十进制有0~9十种状态,用电子元件来表示要复杂得多);控制计算机运行的程序存 放在存储器中,可以自动地从一个程序指令转入下一个程序指令。冯·诺伊曼的思想是电子计算 机发展史上的里程碑,当今计算机都是依据这一理论制造的,也被称为冯·诺伊曼结构计算机。 从冯·诺伊曼结构计算机起,计算机被分解成计算机硬件和计算机软件两部分,并逐步促 进了计算机硬件系统和软件系统的发展。现在计算机已渗透到各行各业,如工业控制、军事装 备、轨道交通和环境预测等,人类的衣、食、住、行每时每刻都已离不开计算机技术。 计算机是全球信息化发展的核心载体,随着各种基础技术突飞猛进的发展,信息系统的规 模越来越大、复杂程度越来越高、系统的结构显得越来越重要。如果在搭建系统时未能设计出 优良的结构,势必对系统的可靠性、安全性、可移植性、可扩展性、可用性和可维护性等方面 产生重大影响。因此,系统架构 (System Architecture) 是系统的一种整体的高层次的结构表示, 是系统的骨架和根基,也决定了系统的健壮性和生命周期的长短。系统架构设计师是承担系统 架构设计的核心角色,他不仅是连接用户需求和系统进一步设计与实现的桥梁,也是系统开发 早期阶段质量保证的关键角色。随着系统规模和复杂性的提升,系统架构设计师在整个项目研 制中的主导地位愈加重要。可以说,系统架构师就是项目的总设计师,他是一个既需要掌控整 体又需要洞悉局部瓶颈,并依据具体的业务场景给出解决方案的总体设计人员;他要确认和评 估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技 术人员;他要掌握技术团队的能力需要,给出项目管理方法,采用合适生命周期模型,具备以 自身为核心形成团队的能力,并在项目进度计划和经费分配等方面开展评估,以预防项目风险。 要成为一名系统架构设计师就应精通专业基础知识,具备丰富的实际工作经验,具有跨学
Page 19
4 系统架构设计师教程(第2版) 科能力和把握系统整体设计的能力。在我国系统架构设计师已成为专业学科中非常重要的角色 之一,是当前项目实施总体设计的关键人物,该角色在项目研制过程中起到了承上启下的作用。 当然,目前系统架构设计师的职业在工作内容、工作职责以及工作边界等方面还存在一定的模 糊性和不确定性,但它确实是时代发展的需要,并在实践中不断完善和成熟。 1.1.1系统架构的定义及发展历程 1.系统架构的定义 这里的架构 (Architecture) 定义来源于IEEE 1471-2000:“IEEE's Recommand Practice for Architectural Description of Software-Intensive Systems.” 标准,本标准主要针对软件密集系统进 行了架构描述,其对架构定义如下: 架构是体现在组件中的一个系统的基本组织、它们彼此的关系与环境的关系及指导它的设 计和发展的原则。 系统是组织起来完成某一特定功能或一组功能的组件集。系统这个术语包括了单独的应用 程序、传统意义上的系统、子系统、系统之系统、产品线、整个企业及感兴趣的其他集合。系 统用于完成其环境中的一个或多个任务。 环境或者上下文决定了对这个系统的开发、运作、政策以及会对系统造成其他影响的环境 和设置。 任务是由一个或者多个利益相关者通过系统达到一些目标的系统的一个用途或操作。 通俗地说,系统架构 (System Architecture) 是系统的一种整体的高层次的结构表示,是系 统的骨架和根基,支撑和链接各个部分,包括组件、连接件、约束规范以及指导这些内容设计 与演化的原理,它是刻画系统整体抽象结构的一种手段。系统架构设计的目的是对需要开发的 系统进行一系列相关的抽象,用于指导系统各个方面的设计与实现,架构设计在系统开发过程 中起着关键性作用,架构设计的优劣决定了系统的健壮性和生命周期的长短。我们通常把架构 设计作为系统开发过程中需求分析阶段后的一个关键步骤,也是系统设计前的不可或缺工作要 点之一,架构设计的作用主要包括以下几点: ● 解决相对复杂的需求分析问题; ● 解决非功能属性在系统占据重要位置的设计问题; ●解决生命周期长、扩展性需求高的系统整体结构问题; ●解决系统基于组件需要的集成问题; ● 解决业务流程再造难的问题。 系统架构设计是成熟系统开发过程中的一个重要环节,它不仅是连接用户需求和系统进一 步设计与实现的桥梁,也是系统早期阶段质量保证的关键步骤。 软件架构(也可称为体系结构)是用来刻画软件系统整体抽象结构的一种手段,软件架构 设计也是软件系统开发过程中的一个重要环节。随着研究的深入和应用的推广,软件架构逐渐 成为软件工程学科的重要分支方向,在基础理论和技术方向等各工程实践领域形成了自己的独 特理念和完整体系。
Page 20
第1章 绪 论 5 2.发展历程 系统架构的发展历程可追溯到20世纪60年代中期爆发的一场大规模软件危机,其突出表 现是软件生产不仅效率低,而且质量差。究其原因,主要是因为软件开发的理论和方法不够系 统、技术手段相对落后,软件生产主要是手工作坊式。为了解决软件危机,北大西洋公约组织 (NATO) 分别于1968年和1969年连续召开两次著名的软件会议(即N A T O会议),提出了软 件工程的概念,发展了软件工程的理论和方法,为今后的软件产业的发展指明了方向。 但是随着软件规模的进一步扩大和软件复杂性的不断提高,新一轮的软件危机再次出现。 1995年, Standish Group研究机构以美国境内8000个软件工程项目为调查样本进行调查,其结 果显示,有84%的软件项目无法按时按需完成,超过30%的项目夭折,工程项目耗费超出预算 189%,软件工程遭遇到了前所未有的困难。 通过避免软件开发中重复劳动的方式提升软件开发效率并保障软件质量,软件重用与组件 化成为解决此次危机行之有效的方案。随着软件组件化开发方式的发展,如何在设计阶段对软 件系统进行抽象,获取系统蓝图以支持系统开发中的决策成为迫切而现实的问题,分析问题的 根源和产生的原因,以下现象应该获得关注: (1)软件复杂、易变,其行为特征难以预见,软件开发过程中需求和设计之间缺乏有效的 转换,导致软件开发过程困难和不可控。 (2)随着软件系统的规模越来越大、越来越复杂,整个系统的结构和规格说明就显得越来 越重要。 (3)对于大规模的复杂软件系统,相较于对计算算法和数据结构的选择,系统的整体结构 设计和规格说明已经变得明显重要得多。 (4)对软件系统结构的深入研究将会成为提高软件生产率和解决软件维护问题的最有希望 的新途径。 在这种情况下,软件架构应运而生。 20世纪90年代,研究人员展开了对软件架构的基础研究,主要集中于架构风格(模式)、 架构描述语言、架构文档和形式化方法。众多研究机构在促进软件架构成为一门学科的过程中 发挥了举足轻重的作用。例如,美国卡内基-梅降大学的 Mary Shaw和 David Garland的专著推 广了软件架构的概念,即组件、连接件和风格的集合。美国加州大学欧文分校针对架构风格、 架构描述语言和动态架构也开展了深入的研究。 软件架构自概念诞生以来,大致经历了四个发展阶段: 1)基础研究阶段(1968—1994年) “软件架构”术语在1968年由北大西洋公约组织会议上第一次提出,但并没有得到明确的 定义。直到20世纪80年代,“架构”一词在大多数情况下被用于表示计算机的物理结构,偶尔 用于表示计算机指令集的特定体系。从20年代80年代起,为应对大型软件开发中存在的危机, 对软件结构进行描述的方法开始在大型软件开发过程中广泛应用,并在实践中积累了大量经验, 逐步形成了以描述软件高层次结构为目标的体系,形成了软件架构的雏形,随着软件规模的增 大,模块化开发方法已被逐步采用,为后续软件架构的发展奠定了基础。
The above is a preview of the first 20 pages. Register to read the complete e-book.

Recommended for You

Loading recommended books...
Failed to load, please try again later

Tip the Site

Scan the WeChat Pay or Alipay code to tip. No login required.

WeChat Pay
Alipay
Back to List