likes
comments
collection
share

软考高级《系统架构设计师》论文之--软件架构风格 备考知识点

作者站长头像
站长
· 阅读数 22

前言

软件架构风格,无论是在上午的考试,还是下午的考试中,都有极高的概率出现。所以是必须要掌握的知识点。

2017年的论文中,就出现了软件架构风格相关的题目。

软件架构风格及其含义

常见的软件架构风格

之前写过相关软件架构风格的文章。

这篇文章的架构分类方法,是《希赛版教材》提供的一些思路: 软考高级《系统架构设计师》一张图辅助记忆软件架构风格

本文按照《系统架构设计师考试全程指导》的分类方法:

管道/过滤器风格

在管道过滤器风格中,每一个构件都有一组输入和一组输出,构件读入的数据流,经过内部处理,产生输出流。

数据抽象和面向对象

这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和他们的相应操作封装在一个抽象的数据类型或对象中。

基于事件的隐式调用

基于事件的隐式调用风格的思想,是不直接调用一个过程,而是触发或者广播一个或者多个事件。系统中的其他构件中的过程,在一个或者多个事件中注册,当一个事件被触发的时候,系统自动调佣这个事件中注册的所有过程。这样,一个事件的触发,就导致了另一个模块中的过程的调用。基于事件的隐式调用的主要特点,就是事件的触发者并不知道哪些构件会被这些事件影响。

分层系统

层次系统构成一个层次结构,每一个为上层服务,并且作为使用下一层的服务。好处是每一层的设计只需要关注当层和相邻的上下层之间的逻辑。修改当前层,也只会影响到相邻的层。

仓库风格以及知识库

在仓库风格中,有两种不同的构件:中央数据单元说明当前的状态,独立构件在中央数据存储上执行。若构件控制共享数据,则仓库是一传统的数据库。若中央数据结构的当前状态触发进程的选择,则仓库是一种黑板系统。黑板系统: 主要由三部分组成:

  • 知识源
  • 黑板数据结构
  • 控制

C2风格

C2体系结构风格,可以概括为,通过连接件绑定在一起,按照一组规则运作的并行构件网络。C2风格的系统组织规则如下: 系统中的构件和连接件都有一个顶部和一个底部,构件的顶部连接到其他连接件的底部,构件的底部则连接到其他构件的顶部,构件和构件之间的直接连接是不允许的;一个连接件可以和任意数目的其他构件和连接件连接;当两个构件进行直接连接时,必须由其中一个的顶部连接到另一个的底部。

客户/服务器风格

C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。

三层C/S结构风格

二层C/S结构是单一的服务器以局域网为中心的,所以难以扩展至大企业广域网或者Internet。软硬件的组合能力有限,客户机的负荷太重,数据安全性不好。三层C/S体系结构将应用程序分为表示层、功能层和数据层三个部分。

浏览器/服务器风格

浏览器/服务器风格就是三层C/S结构的一种实现方式,具体结构为浏览器/Web服务器/数据库服务器。

后记

详细内容可以参考《系统架构设计师考试全程指导》。

这个论文话题也是需要重点准备的方向之一。