zoukankan      html  css  js  c++  java
  • 软件结构体系第二章

    软件结构体系:

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

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

      连接数据库的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风格

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

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

          代理服务器

  • 相关阅读:
    view 与layer
    xcode中create groups 和 create folder reference 的区别
    iOS 9 学习系列:UIStack View (转载)
    使用JQuery插件,排序Gridview的某个字段
    Fixed GridView Header
    在TextBox里面仅仅允许数字,按Enter键进入下一个TextBox
    实现AJAX局部刷新以及PageMethod方法的使用
    用户控件
    JSON的使用
    ASP.NET页面生命周期
  • 原文地址:https://www.cnblogs.com/resort-033/p/13814239.html
Copyright © 2011-2022 走看看