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

论软件系统架构风格

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

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

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

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

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

理论素材准备
数据流风格

批处理序列:

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

管道-过滤器:

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

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

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

面向对象:

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

层次结构:

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

层次结构优点:

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

缺点:

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

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

相关推荐
Tom Boom3 小时前
【3. 软件工程】3.1 软件过程模型
职场和发展·系统架构·软件工程
CryptoPP15 小时前
基于WebSocket的金融数据实时推送系统架构设计对接多国金融数据API
websocket·网络协议·金融·系统架构·区块链
OpenVINO生态社区3 天前
【汽车传感系统架构:借助传感获取安全】
安全·系统架构·汽车
牛马程序员小邓3 天前
系统架构师备考——软件工程基础知识篇(软件测试&净室软件工程&基于构件的软件工程)
系统架构·软件工程
一枝小雨3 天前
ARM异常处理流程与中断机制总结,与常见丢中断情况
arm开发·嵌入式硬件·架构·系统架构·arm
韩曙亮4 天前
【系统架构设计师】数据库系统 ② ( 分布式数据库 | 分布式数据库 特点 | 分布式数据库 分层模式 | 两阶段提交协议 - 2PC 协议 )
数据库·分布式·系统架构·分布式数据库·软考·dbms·两阶段提交协议
Cool----代购系统API4 天前
从系统架构、API对接核心技术、业务场景设计及实战案例四个维度,深度解析1688代采系统
系统架构
财神爷的小跟班o4 天前
跨境TRS投资操作指南与系统解决方案
金融·系统架构·区块链
mit6.8245 天前
[OS_4] 数学视角 | 多状态 | 模型检查器 | 程序验证(math)
开发语言·算法·系统架构
逍遥德5 天前
pom.xml与.yml,java配置参数传递
xml·java·spring boot·后端·系统架构