2024系统架构师---论软件系统架构风格

论软件系统架构风格

系统架构风格(System Architecture Style)是描述某一特定应用领域中系统组织方式的惯用模式架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的口软件系统架构风格反映了领域中众多软件系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。软件系统架构风格的共有部分可以使得不同系统共享同一个实现代码,系统能够按照常用的、规范化的方式来组织,便于不同设计者很容易地理解系统架构。

请以"软件系统架构风格"论题,依次从以下三个方面进行论述:

1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。

2.分析软件系统开发中常用的软件系统架构风格有哪些?详细述每种风格的具体含义。

3.详细说明在你所参与的软件系统开发项目中,采用了哪种软件系统架。

理论素材准备
数据流风格

批处理序列:

构件为一系列固定顺序的计算单元,构件之间只通过数据传递交互。每个处理步骤是一个独立的程序,每一步必须在其前一步结束后才能开始,数据必须是完整的,以整体的方式传递。

管道-过滤器:

每个构件都有一组输入和输出,构件读取输入的数据流,经过内部处理,产生输出数据流。前一个构件的输出作为后一个构件的输入,前后数据流关联。过滤器就是构件,连接件就是管道。早期编译器就是采用的这种架构,要一步一步处理的,均可考虑此架构风格。二者区别在于批处理前后构件不一定有关联,并且是作为整体传递,即必须前一个执行完才能执行下一个。管道-过滤器是前一个输出作为后一个输入,前面执行到部分可以开始下一个的执行。

调用/返回风格主程序/子程序:

单线程控制,把问题划分为若干个处理步骤,构件即为主程序和子程序,子程序通常可合成为模块。过程调用作为交互机制,充当连接件的绝色。调用关系具有层次性,其语义逻辑表现为主程序的正确性取决于它调用的子程序的正确性。

面向对象:

构件是对象,对象是抽象数据类型的实例。在抽象数据类型中,数据的表示和它们的相应操作被封装起来,对象的行为体现在其接受和请求的动作。连接件即使对象间交互的方式,对象是通过函数和过程的调用来交互的。

层次结构:

构件组成一个层次结构,连接件通过决定层间如何交互的协议来定义。每层为上一层提供服务,使用下一层的服务,只能见到与自己邻接的层。通过层次结构,可以将大的问题分解为若干个渐进的小问题逐步解决,可以隐藏问题的复杂度。修改某一层,最多影响其相邻的两层(通常只能影响上层)。

层次结构优点:

1、支持基于可增加抽象层的设计,允许将一个复杂问题分解成一个增量步骤序列的实现。2、不同的层次处于不同的抽象级别,越靠近底层,抽象级别越高;越靠近顶层,抽象级别越低。3、由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件复用提供了强大的支持。

缺点:

1、并不是每个系统都可以很容易的划分为分层的模式。

2、很难找到一个合适的、正确的层次抽象方法。

相关推荐
学习菌子1 天前
第9章:【系统架构设计师】软件工程(5.系统运行与评价)
系统架构·软件工程·软考高级·系统架构师·系统维护·系统转换·系统评价
一只码代码的章鱼11 天前
操作系统 第九章 部分
系统架构
还债大湿兄12 天前
《王者荣耀》系统架构深度技术解析
系统架构
池佳齐13 天前
【软考高级系统架构论文】论湖仓一体架构及其应用
架构·系统架构
池佳齐13 天前
【软考高级系统架构论文】论软件设计方法及其应用
系统架构
大数据张老师13 天前
自动化性能回退机制——蓝绿部署与灰度发布
运维·系统架构·自动化·ai架构
孟猛202313 天前
股票账户的管理和交易
系统架构
hwj运维之路14 天前
大数据系统架构实践(一):Zookeeper集群部署
大数据·zookeeper·系统架构
劳埃德福杰14 天前
【系统规划与管理师第二版】1.3 新一代信息技术及发展
系统架构·软件工程·设计规范
范纹杉想快点毕业14 天前
Qt实现文本编辑器光标高亮技术
java·开发语言·c++·算法·系统架构