软件体系结构风格(第5-8课时)
摘要:本文给出软件体系结构风格的定义,并介绍几种常用风格:管道过滤器、数据抽象和面向对象组织,基于事件的隐式调用,分层系统,仓库系统,过程控制环路
软件体系结构风格是什么
描述特定系统组织方式的惯用范例。
组织方式即静态表述的样例。
惯用范例是反应众多系统共有的结构和语义,独立于实际问题。
体系结构风格指导如何将各个模块和子系统有效地组织成一个完整的系统。管道/过滤器风格
该风格的构件被称为过滤器,读输入的数据流,经过内部处理,产生输出数据流。
该风格的连接件被称为管道,将一个过滤器的输出传入到另一个过滤器的输入。
该风格的特点:
①过滤器虽然可以增量式地处理数据,但是它们是独立的。
②管道和过滤器的正确输出不依赖其顺序。(实际可能不是这样)
实例:
编译器,功能程序,并行程序。
数据抽象和面向对象组织
该风格的构件是类或抽象数据类型的实例即对象。
该风格的连接件是方法(有时根据有无返回值细分为函数和过程)。
基于事件的隐式调用(难点)
为何叫隐式调用——构件不直接调用一个过程,而是触发或广播一个或多个事件。
该风格的构件分为两类:事件源(也叫事件接收)和事件处理。
这两类构件本无关。通过注册机制(也叫事件处理机制)产生联系。事件源类似GUI中的按钮,事件处理类似程序员写的事件响应函数。(一种动态绑定?)
该风格的特点:事件的触发者并不知道哪些构件会被这些事件影响。(对应设计模式——观察者模式)
实例:数据库管理系统,用户界面。分层系统
按照层次结构组织,每一层都为上一层提供了相应的服务,并且接受下一层的服务。
宏观上表现为层与层间调用,微观上表现为一些内层之对其相邻层和某些用于输出的函数可见,对于其他外部的层隐藏。
在分层系统的一些层次中构件实现了虚拟机。
连接件通过协议定义,协议规定了层次之间的交互方式。
图片英文翻译:箭头所指-各种元素的集合,过程调用
层从里到外-内核层,基本功能层,应用系统层,用户
实例:分层的通信协议仓库系统
最大的特点:有一个中央数据结构(即数据仓库,比数据库多一些AI/BI)
构件:中央数据结构和一些独立构建的集合。
仓库和在系统中很重要的外部构件之间的相互作用。
实例:需要使用一些复杂表征的信号处理系统。
英文翻译:箭头所指/直接存取,计算,存储器;ks为knowledge source知识源。
黑板系统:中央仓库里的数据可共享。过程控制环路
源自硬件领域,可以联系机器学习的模型训练过程。
该风格将事务处理看成输入、加工、输出、反馈、再输入的一个持续的过程模型。
通过持续性的加工处理过程将输入数据转换成既定属性的“产品”。(产品是想要的正确的输入)
软件体系结构风格(第5-8课时)相关推荐
- 【软件体系结构】考点总结 第三章 软件体系结构风格 XJU
软件体系结构 第三章 软件体系结构风格 前言 本文为XJU本科期间博主根据 <软件体系结构原理.方法与实践>第二版所作的期末考点总结,因为是课堂重点总结,所以有些重要知识点没有涵盖还请 ...
- 论软件体系结构风格及其应用
软件体系结构设计的一个核心问题是如何有效地使用重复的体系结构模式,即达到软件体系结构级的软件重用.软件体系结构风格(Software Architecture Style)是描述软件系统组织方式的常用 ...
- 三、软件体系结构风格
软件体系结构风格 一.概述 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式. 体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束.词汇表中包含一些构件和连接件类型, ...
- 【软件设计与体系结构】 软件体系结构风格
软件体系结构(Software Architecture) 软件体系结构(Software Architecture)包括构成系统的设计元素的描述. 设计元素 之间的交互. 设计元素的组合模式以及在这 ...
- 软件体系结构风格之C/S,三层C/S,与BS
C/S的物理结构,其发展历程为(1)->(3)->(2),本文接下来要介绍的C/S为(3),即胖客户端瘦服务器,服务器只管数据库,接下来要介绍的三层C/S为(2),即客户端不胖不瘦. C/ ...
- 软件体系结构的第3次实验(软件体系结构风格之应用 )
一.实验目的 1.理解不同体系结构风格的具体内涵. 2.学习体系结构风格的具体实践. 二.实验环境 硬件: (依据具体情况填写) 软件:Java或任何一种自己熟悉的语言 三.实验内容 "上下 ...
- 软件设计体系 实验一 经典软件体系结构风格
目录 写在前面 一.思考题1 面向对象软件体系结构与主程序-子程序软件体系结构的区别和联系是什么? 二.思考题2 从理论上讲,主程序-子程序软件体系结构组件是什么?连接件是什么?特点是什么?上述实验1 ...
- 软件体系结构的风格(转载)
在上两篇文章中,我们介绍了软件体系结构的概念.现状及发展方向,读者可能会觉得"软件体系结构太抽象.太理论化,没有什么实际的东西".然而,任何实践都必须接受理论的指导,如果抛弃理论基 ...
- 软件体系结构C2风格
首先C2风格是最常用的一种软件体系结构风格.(下图为一个C2风格的架构图) C2是一种基于构件和消息的架构风格,可用于创建灵活的.可伸缩的软件系统.一个C2构架可以看成是按照一定规则由连接件连接的许多 ...
最新文章
- perl导入文本至mysql_Perl 脚本实现MySQL 异机导入导出-阿里云开发者社区
- [云炬创业管理笔记]第二章成为创业者讨论3
- 读取TFrecord
- 文本框输入限制【不允许空格、只允许数字】
- 从Hotspot JIT编译器打印生成的汇编代码
- spring 设计模式
- 【Construct Binary Tree from Inorder and Postorder Traversal】cpp
- WorldWind Java 版学习:1、启动过程
- mysql迁移、备份数据表,导出表数据与结构
- optionMenu如何弹出
- php hidden属性,微信小程序关于组件的hidden属性的使用建议
- Android设备给Android设备刷固件
- 金蝶盘点机PDA轻松扫码产品入库,生产型企业进销存条码管理软件
- 【广东大学生网络攻防大赛-WriteUp(非官方)】Web | in
- box-sizing概述
- mysql 1093_mysql ERROR 1093 (HY000)
- 【GCC】Linux GCC 常用命令和EFF文件格式
- 华为交换机配置(一)
- 《筱静观察》第三季第2期丨区块链在金融开放与监管中的作用
- 金融级IT架构:网商银行是如何进行数字化落地的