系统架构设计师是软考高级考试科目之一,为方便考生对所学知识点的检测,课课家小编为考生带来软考系统架构设计师考试知识点填空检测的内容,本文为软考系统架构设计师考试知识点填空检测(3)。
为方便软考考生对系统架构设计师考试知识点的检测,课课家小编为考生带来软考系统架构设计师考试知识点填空检测的内容(完整版可在本文的资料下载栏目下载)。
软考系统架构设计师考试知识点填空检测(3)内容如下:
第三章 软件架构设计
1、软件架构的概念
架构设计就是________,即将满足需求的职责分配到组件上。
软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。
架构的本质:
软件架构为软件系统提供了一个________________________。
软件架构风格是特定应用领域的________,架构定义________________________。
架构的作用:
软件架构是________________________,明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性。
软件架构使推理和控制的更改更加简单,有助于循序渐进的原型设计,可以作为培训的基础。
软件架构是________________________的模型,通过研究软件架构可能预测软件的质量。
软件架构 = 软件体系结构
2、软件架构风格
架构风格定义了________________________________________
五大架构风格 | 子风格 |
数据流风格 【Data Flow] |
|
调用/返回风 【Call/Return】 |
|
独立构件风格 【Independent Components】 |
|
虚拟机风格 [Virtual Machine] |
|
以数据为中心 【Data-centered] |
3、典型架构应用
3.1 层次架构
(1)MVC
Model(模型)是________________________________________。通常模型对象负责在数据库中存取数据。
View(视图)是________________________________________ 。通常视图是依据模型数据创建的。
Controller(控制器)是________________________________。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
J2EE体系结构中:
视图(View):________
控制(Controller):________
模型(Model):________________________________
(2)MVP
MVP与MVC关系:MVP是MVC的变种。
MVP的优点:____________________________________
3.2 富互联网应用(RIA)
RIA结合了________反应速度快、交互性强的优点,以及B/S架构________________________________的特性。
RIA简化并改进了B/S架构的用户交互。
数据能够被缓存在客户端,从而可以实现一个比基于HTML的响应速度更快且数据往返于服务器的次数更少的用户界面。
优点:________________________________。
3.3 REST
REST含义:____________________________________________________________________
REST的5个原则:
________________________________。
________________________________。
________________________________。
________________________________。
________________________________。
3.4 微服务-混合风格
(1)什么是微服务
________________________________________________。
(2)微服务的优势
优点 | 解读 |
【____________】 | 小服务(且专注于做一件事情) 化整为零,易于小团队开发 |
【____________】 | 独立开发 独立测试及独立部暑(简单部暑) 独立运行(每个服务运行在其独立进程中) |
【____________】 | 支持异构(如:每个服务使用不同数据库) |
【____________】 | 故障被隔离在单个服务中,通过重试、平稳退化等机制实现应用层容错 |
【____________】 | 可根据需求独立扩展 |
(3)微服务面临的挑战
________________________【更复杂】
________________________【服务间依赖测试】
(4)微服务与SOA的对比
微服务 | SOA |
能拆分的就拆分 | ______________________________ |
_______________ | 是水平分多层 |
由单一组织负责 | 按层级划分不同部门的组织负责 |
_______________ | 粗粒度 |
两句话可以解释明白 | 几百字只相当于SOA的目录 |
_______________ | 类似大公司里面划分了一些业务单元(BU) |
组件小 | 存在较复杂的组件 |
业务逻辑存在于每一个服务中 | 业务逻辑横跨多个业务领域 |
使用_,如HTTP | 企业服务生产总线(ESB)充当了服务之间通信的角色 |
微服务架构实现 | SOA实现 |
_____________级,自底向上开展实施 | 企业级,自顶向下开展实施 |
一个系统被拆分成多个服务,粒度细 | 服务由_____________组成,粒度_____________ |
无集中式总线,松散的服务架构 | 企业服务总线,集中式的服务架构 |
集成方式__________(HTTP/REST/JSON) | 集成方式____________(ESB/WS/SOAP) |
服务能_____________ | 单块架构系统,相互依赖,部署复杂 |
3.5 云原生架构风格
(1)云计算基本概念:
云计算是________________________________________________________。
云计算优点:________________________________________________________________。
(2)分类
按服务类型分类:
___________________ | 基于多租户技术实现,直接提供应用程序 |
___________________ | 虚拟中间件服务器、运行环境和操作系统 |
___________________ | 包括服务器、存储和网络等服务 |
按部署方式分类:
________:面向互联网用户需求,通过开放网络提供云计算服务
________:面向企业内部提供云计算服务
________:兼顾以上两种情况的云计算服务
(3)云计算架构
【云原生】是基于________________的分布式云,以容器、微服务、DevOps等技术为基础建立的一套云技术产品体系。
【管理层】提供________________________。
【用户访问层】方便用户使用云计算服务所需的各种支撑服务,针对每个层次的云计算服务都需要提供相应的访问接口。
【应用层】提供________,如:财务管理,客户关系管理,商业智能。
【平台层】为用户提供________________,使用户可以构建自己的应用。
【资源层】提供________ ,从而隐藏物理资源的复杂性。如:服务器,存储。
3.6 边缘计算
边缘计算是指________________________________________________________________。
边缘计算的本质:________________________________。
4、特定领域软件架构(DSSA)
5、基于架构的软件开发方法
(1)基于架构的软件设计(ABSD)
ABSD能很好的支持软件重用。
ABSD方法是架构驱动,即强调由________________________________ 的组合驱动架构设计。
ABSD方法有三个基础。第一个基础是________ 。在功能分解中,ABSD方法使用已有的基于模块的内聚和耦合技术;第二个基础是________________________________ ;第三个基础是________________________ 。软件模板利用了一些软件系统的结构。
视角与视图:从不同的视角来检查,所以会有不同的视图。
________ 用来捕获功能需求、特定场景【刺激、环境、响应】用来捕获________ 。
6、架构评估
6.1 架构设计重点关注非功能设计(质量属性)
(1)性能
性能(performance)是指________ ,即_____________________________________,或者________________________________________________。例如:a.同时支持1000并发;b.响应时间小于1s;c.显示分辨率达到4K。
代表参数:________ 设计策略:________________
(2)可用性
可用性(availability)是____________________________ 。例如:a.主服务器故障,1分钟内切换至备用服务器;b.系统故障,1小时内修复;c.系统支持7×24小时工作。
代表参数:________ 设计策略:________
(3)安全性
安全性(security)是指____________ 。安全性又可划分为________ 【信息不泄露给未授权的用户】、________ 【防止信息被篡改】、________ 【不可抵赖】及________ 【对信息的传播及内容具有控制的能力】等特性。例如:a.可抵御SQL注入攻击;b.对计算机的操作都有完整记录;c.用户信息数据库授权必须保证99.9%可用。
设计策略:________
(4)可修改性
可修改性(modifiability)是指________________________________________________________________。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。(可扩展性与之相近)例如:a.更改系统报表模块,必须在2人周内完成;b.对Web界面风格进行修改,修改必须在4人月内完成。
主要策略:________________________________________________________________
(5)易用性
易用性关注的是________________________________________________________________。例如:a.界面友好;b.新用户学习使用系统时间不超过2小时。
(6)可测试性
软件可测试性是指____________ 。
6.2 软件架构评估方法
风险点:____________ 。
非风险点:____________ 。
敏感点:____________ 。
权衡点:____________ 。
场景:________________________________________ 。场景可从六个方面进行描述:刺激源、刺激、制品、环境、响应、响应度量。
刺激源(Source):____________ 。
刺激(Stimulus):____________ 。
环境(Environment):____________ 。
制品(Artifact):____________ 。
响应(Response):____________ 。
响应度量(Measurement):____________ 。
7、产品线
7.1 特点____________________。
7.2 建立方式
演化方式 | 革命方式 | |
________ | 基于现有产品架构设计产品线的架构,经演化现有构件,开发产品线构件 | 核心资源的开发基于现有产品集的需求和可预测的、将来需求的超集 |
________ | 产品线核心资源随产品新成员的需求而演化 | 开发满足所有预期产品线成员的需求的核心资源 |
将现有产品演化为产品线
用软件产品线替代现有产品集
全新软件产品线的演化
全新软件产品线的开发
7.3 成功实施产品线主要取决因素
8、大型网站系统架构演化
8.1 维度
维度 | 涉及技术内容 |
从_来看 | MVC,MVP,MVVM,REST,Webservice,微服务 |
从_来看 | 集群(负载均衡)、CDN |
从_来看 | MemCache,Redis,Squid |
从_来看 | 主从库(主从复制),内存数据库,反规范化技术,NoSQL,分区(分表) 技术,视图与物化视图 |
从_来看 | Hibernate,Mybatis |
从_来看 | Hadoop,FastDFS,区块链 |
从_来看 | XML,JSON |
从_来看 | Apache, Websphere, WebLogic, Tomcat, JBosS, IIS |
从_来看 | SQL注入攻击 |
其它 | 静态化,有状态与无状态,响应式Web设计,中台 |
8.2 缓存
(1)MemCache:MemCache是________________________________ ,用于________ 以减轻数据库负载。MemCache通过在内存里维护一个统一的巨大的hash表,能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。
(2)Redis:Redis是________________________________________________________________ ,并提供多种语言的API。
(3)Squid:Squid是________________,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
(4)Redis和MemCache对比:
(8)Redis持久化
RDB:________________________________ 。
AOF:传统数据库中日志的思想,把每条改变数据集的命令追加到AOF文件末尾,这样出问题了,可以重新执行AOF文件中的命令来重建数据集。
8.3 服务集群
(1)应用层负载均衡
http重定向:________________________________________________________________ 。
特点:________________。
反向代理服务器:在________________________________________________________________。常用的apache,nginx都可以充当反向代理服务器。
特点:________________________ 。
(2)传输层负载均衡
DNS域名解析负载均衡:________________________________________________。
特点:____________ 。
基于NAT的负载均衡:________________________________________________________ 。
特点:________________________________________________________ 。
(3)硬件负载均衡:F5
(4)软件负载均衡:________________
(5)算法分类
请列举出3种静态算法(不考虑动态负载):
________________________________________ ;
________________________________________ ;
________________________________________ 。
请列举出3种动态算法(考虑动态负载)
________________________________________ ;
________________________________________ ;
________________________________________ 。
Session有状态和无状态问题
________(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息。
________(stateful service)则相反,它会在自身保存一些数据,先后的请求是有关联的。
8.4 数据库读写分离
主从数据库结构特点:
一般:一主多从,也可以多主多从。
主库做________,从库做________。
请列出主从复制步骤:
8.5 响应式Web设计
(1)概念
响应式WEB设计是一种网络页面设计布局,其理念是:____________________________。
(2)方法与策略
采用流式布局和弹性化设计:________________________________________________。
响应式图片:________________________________________________________。
8.6 中台
概念:________________________________________________________。中台又可以进一步细分,比如业务中台,数据中台,XX中台。本质上,都是对企业通用能力在不同层面的沉淀,并对外能力开放。
业务中台:提供________________,例如学员中心、课程中心之类的开箱即用可重用能力。
数据中台:提供________________,帮助企业从数据中学习改进,调整方向。
技术中台:提供________________,帮助解决基础技术平台的复用。如:中间件,分布式存储,AI,负载均衡等基础设施。
数据中台必备的4个核心能力
1、________________
2、________________
3、________________
4、________________
课课家教育专注软考培训10年以上,一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考视频教程、软考培训教材和软考在线题库,使考生的学习更具系统性,辅导更具针对性。想要报考2023年软考的考生现在就可以开始备考了,报名课课家软考各科目考试赠送:辅导教材、历年真题、考前冲剌资料、在线模拟测试题库、老师专属答疑指导等,以保障学员顺利通过考试。
>>>>>>点击进入软考报名专题
¥299.00
¥699.00