2015年下半年试题二:论软件系统架构风格

devtools/2025/2/21 4:16:09/

论文库链接:系统架构设计师论文


论文题目

       系统架构风格(System Architecture Style)是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。软件系统架构风格反映了领域中众多软件系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。软件系统架构风格的共有部分可以使得不同系统共享同一个实现代码,系统能够按照常用的、规范化的方式来组织,便于不同设计者很容易地理解系统架构

        (请围绕“论软件系统架构风格”论题,依次从以下三个方面进行论述。)

        1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。

        2.分析软件系统开发中常用的软件系统架构风格有哪些?详细阐述每种风格的具体含义。

        3.详细说明你所参与的软件系统开发项目中,采用了哪种软件系统架构风格,具体实施效果如何。

写作要点

        一、简要描述所参与分析和开发的软件系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。

        二、分析在软件系统开发中常用的软件系统架构风格,详细阐述每种风格的具体含义。

        软件系统开发中常用的软件系统架构风格主要包括:

        1.管道和过滤器风格

        在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。因此,这里的构件被称为过滤器,这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。此风格特别重要的过滤器必须是独立的实体,它不能与其他的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。一个管道/过滤器网络输出的正确性并不依赖于过滤器进行增量计算过程的顺序。

        2.数据抽象和面向对象风格

        抽象数据类型概念对软件系统有着重要作用,目前软件界已普遍转向使用面向对象系统。这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应作封装在一个抽象数据类型或对象中。这种风格的构件是对象,或者说是抽数据类型的实例。对象是一种被称作管理者的构件,因为它负责保持资源的完整性。对是通过函数和过程的调用来交互的。

        3.基于事件的隐式调用风格

        基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其他构件中的过程在一个或多个事件中注册,当一个事件被触发系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。基于事件的隐式调用风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调用的系统也包含显式调用作为构件交互的补充形式。

        4.层次系统风格

        层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见。这样的系统中构件在一些层实现了虚拟机(在另一些层次系统中层是部分不透明的)。连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。这种风格支持基于可增加抽象层的设计。这样,允许将一个复杂问题分解成一个增量步骤序列的实现。由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。

        5.仓库风格

        在仓库风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存储上执行,仓库与构件间的相互作用在系统中会有大的变化。控制原则的选取产生两个主要的子类。若输入流中某类时间触发进程执行的选择,则仓库是一传统型数据库;另一方面,若中央数据结构的当前状态触发进程执行的选择,则仓库是一黑板系统。

        6.C2风格

        C2体系结构风格可以概括为:通过连接件绑定在一起的按照一组规则运作的并行构6.C2 风格件网络。C2风格中的系统组织规则如下:系统中的构件和连接件都有一个顶部和一个底部;构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的;一个连接件可以和任意数目的其他构件和连接件连接;当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。

        三、针对作者实际参与的软件系统开发项目,说明所采用的软件架构风格,并描述该架构风格所产生的实际应用效果。


http://www.ppmy.cn/devtools/160179.html

相关文章

百度搜索和文心智能体接入DeepSeek满血版——AI搜索的新纪元

在当今数字化时代,搜索引擎作为互联网信息获取的核心工具,正经历着前所未有的变革。据悉,2025年2月16日,百度搜索和文心智能体平台宣布全面接入DeepSeek和文心大模型的最新深度搜索功能,搜索用户可免费使用DeepSeek和文…

Windows 启动 SSH 服务

Windows 启动 SSH 服务 以 Win10 系统为例 打开设置 -> 系统 -> 可选功能 在 添加的功能 查看是否安装了 OpenSSH 服务 或者 OpenSSH Server 我这里只安装了 OpenSSH 客户端 找到 系统->添加可选功能 -> 查看功能 搜索 OpenSSH 服务 -> 勾选 -> 下一步…

docker之图形界面portainer.io无法访问问题及解决办法

docker之图形界面portainer.io无法访问问题及解决办法 在VMware中的CentOS系统中,Docker的Portainer已启动,但无法在浏览器中访问页面,可能有以下几种原因及解决方法: 1、防火墙设置问题: 确保宿主机的防火墙允许访…

Vue3项目,简单的vue3商城系统

Vue3项目 简单的vue3商城系统 element plus 商城系统下单平台 带用户登录。 购物车 用户管理 纯前端无后台、无数据库 纯Vue3项目作业 vue3项目作业 纯前端无后台 无数据库 vue3鲜花商城 功能说明:有登录注册页面、商品展示、商品详情、购物车。 …

第25周JavaSpringboot实战-电商项目 2.数据库准备和项目初始化

数据库设计与项目初始化课程笔记 一、模块概述 本模块主要包含以下三个部分: 表设计:详细介绍项目中涉及的数据表,包括表名、字段、字段类型、注释及字段特征(如主键等)。技术选型与思路:介绍技术选型的…

安装并配置 MySQL

MySQL 是世界上最流行的开源关系型数据库管理系统之一,因其高性能、可靠性和易用性而被广泛应用于各种规模的企业级应用中。本文将详细介绍如何在不同的操作系统上安装和配置 MySQL,帮助你快速搭建起一个功能完善的数据库环境。 选择适合你的安装方式 …

阿里云百炼初探DeepSeek模型调用

阿里云百炼是一个综合性人工智能开发与管理平台,提供模型、应用、数据等全链路服务,涵盖模型推理、批量处理、插件开发及系统观测功能。在阿里云百炼中调用DeepSeek模型,可以按照以下步骤进行: 一、准备工作 注册与开通服务&…

STM32 低功耗模式

目录 背景 低功耗模式 睡眠模式 进入睡眠模式 退出睡眠模式 停止模式 进入停止模式 退出停止模式 待机模式 进入待机模式 退出待机模式 程序 睡眠模式 休眠模式配置 进入休眠模式 退出睡眠模式 停止模式 停止模式配置 进入停止模式 退出停止模式 待机模式…