软件工程|建筑设计

导言: 软件需要架构设计来代表软件的设计。IEEE将架构设计定义为“定义硬件和软件组件及其接口集合的过程,以建立计算机系统开发框架。”为基于计算机的系统构建的软件可以展示这些建筑风格中的一种。 每个样式将描述一个系统类别,包括:

null
  • 执行系统所需功能的一组组件(例如:数据库、计算模块)。
  • 这组连接器将有助于组件之间的协调、通信和协作。
  • 组件如何集成以形成系统的条件。
  • 帮助设计者理解系统整体属性的语义模型。

建筑风格的使用是为系统的所有组件建立一个结构。

建筑风格分类:

  1. 以数据为中心的体系结构:
    • 数据存储将位于该体系结构的中心,并由更新、添加、删除或修改存储中存在的数据的其他组件频繁访问。
    • 该图展示了一种典型的以数据为中心的风格。客户端软件访问一个中央存储库。当与客户机相关的数据或客户机感兴趣的数据将通知更改为客户机软件时,使用这种方法的变体将存储库转换为黑板。
    • 这种以数据为中心的架构将促进可集成性。这意味着可以更改现有组件,并且可以在没有其他客户端许可或担心的情况下将新的客户端组件添加到体系结构中。
    • 数据可以使用黑板机制在客户端之间传递。
  2. 数据流架构:
    • 这种体系结构用于通过一系列计算操作组件将输入数据转换为输出数据。
    • 该图表示管道和过滤器体系结构,因为它同时使用管道和过滤器,并且有一组称为过滤器的组件通过管道连接。
    • 管道用于将数据从一个组件传输到下一个组件。
    • 每个过滤器将独立工作,设计用于接收特定形式的数据输入,并生成数据输出到指定形式的下一个过滤器。过滤器不需要了解相邻过滤器的工作情况。
    • 如果数据流退化为一行变换,则称为批处理顺序。该结构接受批量数据,然后应用一系列顺序组件对其进行转换。
  3. 呼叫和返回架构: 它用于创建易于扩展和修改的程序。此类别中存在许多子样式。下面将对其中两个进行解释。
    • 远程过程调用体系结构: 这些组件用于在网络上多台计算机之间分布的主程序或子程序体系结构中呈现。
    • 主程序或子程序架构: 主程序结构分解为多个子程序或功能,形成一个控制层次结构。主程序包含许多可以调用其他组件的子程序。

program architecture

  1. 面向对象体系结构: 系统的组件封装了数据以及操作数据时必须应用的操作。通过消息传递建立组件之间的协调和通信。
  2. 分层架构:
    • 定义了多个不同的层,每个层执行一组定义良好的操作。每一层都会做一些逐渐接近机器指令集的操作。
    • 在外层,组件将接收用户界面操作,在内层,组件将执行操作系统接口(与操作系统的通信和协调)
    • 实用服务和应用软件功能的中间层。
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享