首页 > 其他分享 >自主阅读笔记04《多种软件体系结构风格的分析与比较》

自主阅读笔记04《多种软件体系结构风格的分析与比较》

时间:2023-04-14 15:25:03浏览次数:37  
标签:调用 04 虚拟机 笔记 风格 软件体系结构 构件 体系结构

文章来源《计算机与数字工程》

作者:刘凯′梁欣?李欣宜’张俊萍赵丽娜

软件体系结构的基本概念

软件体系结构是从一个较高抽象层次来考虑组成系统的构件、构件之间的交互,以及由构件与构件交互形成的拓扑结构的关系。这些要素应该满足一定的限制,遵循一定的设计规则,能够在一定的环境下进行演化f。软件体系结构应能反映系统开发中具有重要影响的设计决策,便于各种人员的交流,反映多种关注,照此开发的系统能完成系统既定的功能和性能需求。
软件体系结构风格,或称软件体系结构模式,从本质上反映了一些特定的元素按照特定的方式组成的一个特定结构。

不同的软件体系结构

数据流系统风格:

将数据从输入端显式地输送到输出端的体系结构风格,其构件是数据的处理单元,连接件是连接处理单元的通道6。数据流风格又可细分为三种体系结构,分别是管道和过滤器、批处理以及任务处理。

调用/返回风格:

调用/返回风格是基于模块间的显式调用而形成的体系结构风格。这种风格的构件是组成系统的模块﹑层或者对象,连接件是构件之间的调用关系。构件对外隐藏了数据表示、物理设备的属性、事件模型的实现、支持策略的机制等内部信息,使构件之间可以独立地改变内部系统的细节[6]。构件之间通过调用接口进行协同工作,而不必关心被调用的构件是如何实现的。
调用/返回风格可细分为主、子调用,数据抽象和面向对象,以及层次体系结构。

虚拟机风格
虚拟机风格屏蔽了底层硬件的异构性,可以让不同的软件在它上面运行,就好像在另一台机器上运行一样。它好似一台计算机,有输入、输出,工作过程也像一台计算机,将虚拟机的指令映射到机器指令集上。虚拟机的构件包括用于保存输入数据的部件﹑虚拟机执行引擎、用于保存当前虚拟机状态的部件,连接件包括过程调用和直接存储访问[6~7]。
虚拟机风格包括解释器和基于规则的体系结构两种风格。

数据中心体系结构风格
数据中心体系结构,也叫数据仓库,它是一种以数据为中心的体系结构风格,用于收集﹑管理和维护大量的复杂数据。这种风格中,构件包括用于表示当前数据状态的中心数据结构和在数据中心存储的数据上进行操作的独立部件的集合,连接件是独立部件对中心数据结构的访问。
依据不同的控制策略,数据中心体系结构可分为不同的两大类:

一是传统的数据库模式,即数据库体系结构,系统由输入的事务信息驱动,典型的例子是数据库系统;

二是黑板结构,即黑板体系结构,系统由黑板上的信息驱动,典型的例子是Hear-say Ⅱ语音识别系统。
独立组件风格
独立组件风格以处理过程或对象作为构件,以事件绑定或者消息传递作为连接件,包括事件处理体系结构和通讯处理体系结构。

C/S软件体系结构
C/S软件体系结构,即 Client/Server结构,是基于资源不对等,且为实现共享而提出来的技术。它最鲜明的特征是资源共享,可以分配处理任务和数据给客户机和服务器,使系统共享从数据到处理能力的每一种资源。C/s软件体系结构又可细分为二层C/S结构和三层C/S结构。

B/S软件体系结构
B/S结构,即 BrowserlServer结构,是随着Intenet技术的兴起对CIS结构进行变化或改进的结构。它利用了不断成熟的WWW浏览器技术,结合浏览器的多种 Script语言和ActiveX技术,用通用浏览器实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。

在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但主要事务逻辑在服务器端实现,通过Internet/In-tranet模式应用数据库。以目前的技术看,这种B/S结构的网络应用相对易于把握、成本较低,是一次性到位的开发,能实现不同人员、从不同地点、以不同接入方式访问和操作公共数据库,并能有效保护数据平台,管理访问权限,服务器数据库也很安全。

 

标签:调用,04,虚拟机,笔记,风格,软件体系结构,构件,体系结构
From: https://www.cnblogs.com/cyk612/p/17318396.html

相关文章

  • ABC214G/S2OJ1504
    ABC214G/S2OJ1504又是我不会的/hanx做了一天/ng直接做显然是不行的,所以考虑转化题意,对于\(\foralli\),连边\((A_i,B_i)\),现在题意就变成给边染色了,这样统计的就是不合法的,考虑容斥,一个很\(\text{naive}\)的容斥是总数-不合法,发现你根本做不了,所以很容易想到加强限制,让答......
  • 自主阅读笔记03《基于web 服务器的网站性能优化研究》
    文章来源信息记录材料by戴胜,朱琳、广东科技学院计算机系一、客户端优化实际指的是浏览器,在浏览器完成访问网站的时间中,有80%的时间用于加载图像、样式表、脚本等静态资源。浏览器的主要作用就是显示数据和发送http请求。1.减少HTTP请求一个页面中包含多个种类和多个数量的组件......
  • 软件体系结构概念架构设计
    某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题。她每周都收到一份过期未付款的账户名单。这份报告已经从两年前的250个账户增加到现在的1250个账户。为了确定那些严重拖欠债务的账户,Liz需要通读这份报告。严重拖欠债务的账户由几个不同的规则确定,每个规则都要求Liz检查......
  • ROS学习笔记(三)- 参数服务器
    以下是GPT对此的介绍:ROS的参数服务器是一种全局的、名称空间分层的键值存储系统,用于在ROS系统中存储和共享参数数据。它允许ROS节点在运行时获取和设置参数,而不需要在代码中硬编码参数。参数服务器提供了许多优点,例如:可以在ROS系统中共享参数数据,使得多个节点可以访问同一组参......
  • Cadence应用笔记:添加禁止覆铜区
    说明做覆铜时候有些地方是想要添加禁止覆铜怎么做,选择如下设置添加shapekeepout画出一个矩形框后,动态覆铜会自动避让开来......
  • Flex3学习笔记3
    Flex3学习笔记3Flex脚本基础1)方法概念很简单,因为基本的函数就是方法。方法是类中的函数。如,可以注册一个带applicationComplete事件的事件监听器。增加下列属性到Application标签:1.applicationComplete="fullNameTextInput.setFocus()"2)变量变量是在程序中存储信息的一种方法。......
  • Ubuntu20.04下免费使用Typora
    1问题Typora只能试用又不想花钱购买许可证~2解决方案进入Typora的安装位置,不知道的可以使用命令whichtypora进行查看,一般来说是安装在/usr/share/下。进入Typora的安装位置,准备进行修改cd/usr/share/typora/resources/page-dist/static/js开始进行修改sudogeditL......
  • laravel + node 在vagrant + ubuntu18.04 部署过程
    注意:当前的操作都是基于本地mac开发坏境配置操作,遇到了很多坑,这里借此做记录:一、ubuntu18.04上部署的php环境php7.4+msyql,常用的php扩展之类的可以自行的查询安装二、ubuntu18.04上部署nodejs14.17.6开始搜索直接用命令,装的node不是我们当前所需要的最后决定使......
  • 字节前端青训营笔记1.计算机网络
    数据交换方式分为电路交换与分组交换电路交换是指在通信时建立一条专用的物理连接,该连接将一直保持开放,直到通信结束。在此过程中,通信双方可以实时地交换信息,就好像它们直接连接在一起一样。传统的电话通信就是一个很好的例子。在电路交换中,通信资源一直被占用,因此当通信量很......
  • 在.NET Core 6.0中,你可以使用自定义 Middleware 来限制 Swagger/index.html 的访问,当
    创建一个自定义Middleware类,例如SwaggerNotFoundMiddleware:publicclassSwaggerNotFoundMiddleware{privatereadonlyRequestDelegate_next;publicSwaggerNotFoundMiddleware(RequestDelegatenext){_next=next;}publicasyncT......