软考 - 系统架构设计师 - 架构风格例题

news/2024/10/22 18:48:52/

问题一:

什么是软件架构风格?

        软件架构风格指特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式。惯用模式反映了众多系统所共有的结构和语义。

集成开发环境与用户的交互方式

(实际上询问在交互方面,以数据存储为中心的架构风格相比于管道-过滤器架构风格的优势)

        用户在软件开发环境下对脚本语言进行编辑,解释执行与调试时会和软件进行大量的交互,采用以数据存储为中心的架构风格可以很好的支持交互式数据处理,而管道 - 过滤器架构风格对用户的交互式数据处理支持有限。

集成开发环境的扩展性

(实际上询问在扩展性方面,以数据存储为中心的架构风格相比于管道-过滤器架构风格的优势)

        因为集成开发环境需要提供对脚本语言的编辑,语法检查,解释,执行和调试等功能的支持,还要实现各种功能的灵活组合,配置和替换,所以开发环境需要有较高的扩展性,采用以数据存储为中心的架构风格,以数据格式解耦各个功能之间的依赖关系,并可以灵活定义功能之间的逻辑顺序,而管道-过滤器架构风格的扩展性相比较差

集成开发环境的数据管理

(实际上询问在数据管理方面,以数据存储为中心的架构风格相比于管道-过滤器架构风格的优势)

        集成开发环境需要支持脚本语言,语法树,可视化模型,调试信息等多种数据类型,以数据存储为中心的架构风格将数据存储在统一的中心存储器中,中心存储器能够表示多种数据格式,并能够为数据格式的转换提供多种支持。管道-过滤器架构风格只支持有限的数据格式,并且在数据格式转换方面的灵活性较差

问题二:

        为了满足需求(2),应该使用解释器架构风格,架构设计过程(我们要如何实现需求 2):

        (1).为可视化编程元素和拖拽关系定义某种语言,并描述其语法和语义

        (2).编写解释器对该语言进行解释

        (3).生成对应的脚本语言程序

        为了满足需求(3),应该使用事件驱动架构风格(隐式调用架构风格),架构设计过程:

        (1).定义一个“调试断点”命中的事件,并实现当断点命中后要调用的屏幕定位函数

        (2)集成开发环境会维护一个事件注册表,将“调试断点”命中这个事件和屏幕定位函数关联起来,添加进事件注册表中。

        (3)集成开发环境要时刻的监视系统中发生的事件,但发生.“调试断点”命中这一事件后,要去事件注册表中找到对应的事件,执行屏幕定位函数,从而将屏幕定位到当前代码处


http://www.ppmy.cn/news/1425746.html

相关文章

unity学习(86)——细节优化

东西已经做出来了,现在需要的是优化,说得简单,做起来难。 1.122包的优化,避免重复创建! 2.为何会出现一边动,一边不动的情况。重复登录后依旧是unity可以看到移动,但是exe那边看不到移动&#…

简单3步,OpenHarmony上跑起ArkUI分布式小游戏

标准系统新增支持了方舟开发框架(ArkUI)、分布式组网和 FA 跨设备迁移能力等新特性,因此我们结合了这三种特性使用 ets 开发了一款如下动图所示传炸弹应用。 打开应用在通过邀请用户进行设备认证后,用户须根据提示完成相应操作&am…

利用nvm安装npm失败的解决办法 Downloading npm version 6.14.18... Error while downloading

问题:用nvm安装nodejs版本,下载npm出错。 解决方法: 设置淘宝镜像 在安装路径下编辑setting.txt 添加以下两行镜像地址 node_mirror: https://registry.npmmirror.com/node/ npm_mirror: https://registry.npmmirror.com/npm/下载你想要的…

「51媒体」新闻媒体邀约如何进行媒体宣传(方法)

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 新闻媒体邀约进行媒体宣传是一个策略性的过程,旨在吸引媒体的注意力并促使其对特定事件、产品发布或企业活动进行报道。以下是一些关键步骤和策略: 制定媒体传播方…

Flask Web 应用与 MongoDB 集成:用户登录和退出

在本文中,我们将探讨如何使用 Flask Web 框架和 MongoDB 数据库构建一个简单的 Web 应用。我们将使用 Flask-PyMongo 扩展来实现 MongoDB 集成,并使用 Flask-Login 扩展来处理用户认证。 1. 安装所需库 首先,我们需要安装 Flask、Flask-PyM…

Python List 列表基础知识

1、什么是列表? 在实际开发中,经常需要将一组(不只一个)数据存储起来,以便后边的代码使用。说到这里,一些读者可能听说过数组(Array),它就可以把多个数据挨个存储到一起…

系统架构最佳实践 -- 新能源汽车产业架构设计

随着环保意识的增强和能源结构的转型,新能源汽车产业正迅速崛起成为汽车行业的新宠。构建一个完善的新能源汽车产业架构对于推动产业发展、提升竞争力至关重要。本文将从设计原则、关键技术、产业生态等方面,探讨如何设计与实现新能源汽车产业架构。 新能…

OpenCV基本图像处理操作(三)——图像轮廓

轮廓 cv2.findContours(img,mode,method) mode:轮廓检索模式 RETR_EXTERNAL :只检索最外面的轮廓;RETR_LIST:检索所有的轮廓,并将其保存到一条链表当中;RETR_CCOMP:检索所有的轮廓,并将他们组…