软件结构体系第二章

软件结构体系:

  构件,连接件,配置约束(接口)

  模拟压力测试:虚拟测试,硬件提升,镜像,关闭无用进程

  连接数据库的utils没有关闭导致宕机。

分析需求规格说明书:

  分析功能需求,分组形成构件

  提高构件的复用效率

 分析构件与外界环境的交叉点,确定该构件的所有端口。

  体系结构设计师,系统分析人员,客户和相关技术实现人员将对体系结构设计结果进行评审,确定所提出的解决方案是否能够满足用户的要求,是否能提高资源的复用效率。

软件体系结构风格:

  解释器体系结构风格

  是指不同系统所拥有的共同组织结构和语义特征

  软件体系结构是构件和连接件之间相互作用的形式化说明,用以指导多个模块组织成一个完整的应用程序。

  软件体系结构风格包括构件,连接件和一组将他们结合在一起的约束限制,诸如拓扑限制和语义限制。

  3.利用软件体系结构风格的不变部分,可以使系统大粒度重用已有的实现代码。

  数据流风格:批处理和管道/过滤器

  调用返回风格:主程序/子程序,层次结构和客户机/服务器

  1.管道/过滤器结构主要包括过滤器和管道两种元素

  2.构件被称为过滤器,负责对数据进行加工处理。

  3.连接件就是看作输入与过滤器之间的连接器

  4.每个过滤器独立完成自己的任务,不同过滤器之间不需要进行交互。

  5.在管道/过滤器结构中,数据输出的最终结果与各个过滤器执行的顺序无关。

  管道/过滤器风格:

    简单性,系统具有可扩展性和可进化性,各个过滤器是相互独立的,因此可以很容易地将新过滤器添加到现有的系统之中,以此扩展系统的业务处理能力,原有过滤器能够很方便地被改进的过滤器替代。

    交换机与网桥的区别:

    

    并发:

      虚拟化的并行方式

    缺点:

      批处理方式,具有很强的独立性,对于每一个过滤器,必须考虑从输入到输出的转换过程,会造成过滤器对输入数据的批量转换处理

      难以进行错误处理,管道/过滤器结构的固有特性,决定了很难制定错误处理的一般性策略

    传统的编译器是管道/过滤器体系结构风格的一个实例

  面向对象的体系结构风格:

    数据表示和相关原语操作都被封装在抽象数据类型中

    对象是构件,也被称为抽象数据类型的实例

    对象是一种被称为管理器的构件,负责保持

      1.一个对象对外界隐藏了自己的详细信息,改变了一个对象的表示,不会影响系统的其他部分。

      2.继承和封装方法为对象复用提供了技术支持。

    缺点;

      对象更换标识必须全部更换

    事件驱动体系结构风格

      根据事件声明和发展状况来驱动整个应用程序运行。

      系统对外部的行为表现可以通过它对事件的处理来实现

      构件不在调用过程,而是声明事件

      系统其他构件的过程可以在这些事件中进行注册,当触发一个事件时,系统会自动调用在这个事件中注册的所有过程。

    使用传感器报警可以认为是事件驱动体系结构风格

    特点:

      不能确定构建处理的先后顺序

      提高了软件复用能力,可以将该构件集成到系统中

      便于系统升级,只要构建名和事件中所注册的过程名保持不变,原有构件可以被新构建所取代。

    缺点:

      放弃对计算的控制权,存在数据传输问题。

    分层体系结构风格

      1.分层风格中,系统将划分为一个层次结构

      2.每层为上层提供服务,同时又利用了下层的逻辑功能

      3.每层只对相邻层可见,层次之间的连接件是协议和过程调用,用以实现各层之间的交互

      4.上层通过下层提供的接口来使用下层的功能,而下层不能使用上层的功能。

      5.只要给相邻层提供相同的接口,就可以使用不同的方法来实现每一层,以支持软件资源的复用。

      6.并非所有系统都能按照层次来进行划分,即使一个系统的逻辑结构是层次化的,但是出于对系统性能的考虑,需要把不同抽象程度的功能合并到一层,破环了逻辑独立性

      7.多层结构难以调试,需要通过一系列的跨层次调用来实现。

    C2体系结构风格

      以太网

      构件与构件之间通过连接件连接

      连接件之间可以直接进行连接

      构件之间的所有通讯必须使用消息传递机制来实现,在内存中实现,构件之间所传递的消息可以分为两种:

      1.一种向上层构建发出服务请求的请求消息,一种是向下层构件发送指示状态变化的通知消息

      下层是用户界面和I/O设备,上层是

      优点:

        构件可以在分布式和异构环境中运行,利用构件实现应用需求。

      构件与构件不允许直接相连。

      数据共享风格也称为仓库风格,有两种不同的软件元素:

        一种是中央数据单元,资源库,用于表示系统的当前状态,另一种是相互依赖的构建组

      中央数据单元和构建之间可以进行信息交换,这是数据共享体系结构的技术实现基础

      数据共享体系可以分为了两种类型:

      1.传统数据库,2,黑板

      讨论组:

      黑板:内存开辟缓冲区,格式不是事先知晓,推模式。

      顾客需要对某些信息进行订阅,自动会把信息推送给用户。

      黑板经常用于信号处理

      中央数据单元起到了通信机制的作用

      黑板体系结构有一下优点:

        便于多客户共享大量数据,不必关心数据是何时产生

      缺点:

      使得共享数据结构的修改变得非常困难。

      需要同步机制和加锁机制来保证数据的完整性和一致性,增大了系统设计的复杂度

      黑板类似于文件系统,需要设置同步机制与加锁机制

      解释器是利用软件来创建的一种虚拟机,解释器风格又被称为虚拟机风格

      解释器体系结构具有以下优点:

        1.能够提高应用程序的移植能力和编程语言的跨平台移植能力

        2.实际测试工作可能非常复杂,测试代价极其昂贵。

      解释器体系结构风格存在着一些问题:

        1.使用了特定语言和自定义操作规则,因此增加了系统运行的开销

        2.解释器系统难以设计和测试

      1.Java和Smalltalk的编译器

      2.

      反馈控制环体系结构风格:

        控制器

        机器学习

      客户机/服务器体系结构风格:

        分散计算模型代替了集中计算时代,客户机软件。

        C/S风格

      处理请求表达等一系列问题

      服务器-----》代理服务器------》客户

      代理服务器

原文地址:https://www.cnblogs.com/resort-033/p/13814239.html