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

问题一:

什么是软件架构风格?

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

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

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

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

集成开发环境的扩展性

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

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

集成开发环境的数据管理

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

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

问题二:

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

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

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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/825688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

聚观早报 | 华为Pura70系列先锋计划;月之暗面升级Kimi

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 4月19日消息 华为Pura70系列先锋计划 月之暗面升级Kimi OPPO Find X7将推白色版本 波士顿动力推出人形机器人 v…

Tomcat漏洞利用工具-TomcatVuln

检测漏洞清单 CVE-2017-12615 PUT文件上传漏洞 tomcat-pass-getshell 弱认证部署war包 弱口令爆破 CVE-2020-1938 Tomcat 文件读取/包含项目地址 https://github.com/errors11/TomcatVuln TomcatVuln put文件上传 ajp协议漏洞 默认读取web.xml文件,漏洞利用…

RedHat9 KVM虚拟技术

以下有使用RedHat9单独的虚拟机也有使用RHEL9学员练习机和RHEL7学员练习机 KVM虚拟技术介绍 Linux的KVM(Kernel-based Virtual Machine)虚拟技术是一种基于Linux内核的虚拟化解决方案。它允许在单个物理服务器上创建和运行多个隔离的虚拟机,每个虚拟机都有自己的操作系统和…

启动appium服务的2种方法(python脚本cmd窗口)

1.通过cmd窗口命令来启动 2.通过python代码启动 2.1启动单个appium服务 2.2启动多个appium服务 3.端口说明 一.端口号设置Appium服务器端口:4723 bp端口:4724 Appium服务器端口:4725 bp端口:4726可以看到appium服务器端口和bp端…

Redis快速入门操作

启动Redis 进入命令行客户端 字符串命令常用操作(redis默认使用字符串来存储数据) 列表(Lists)常用操作 集合(Sets)常用操作 (无序集合且元素不可重复) 有序集合(So…

YOLOv9最新改进系列:YOLOv9改进加入新型高效的多尺度注意力(EMA)模块保留每个通道的信息并减少计算成本!助力v9检测性能遥遥领先!

YOLOv9最新改进系列:YOLOv9改进加入新型高效的多尺度注意力(EMA)模块保留每个通道的信息并减少计算成本!助力v9检测性能遥遥领先! YOLOv9原文链接戳这里,原文全文翻译请关注B站Ai学术叫叫首er 详细的改进…

PCL SAC_IA配准高阶用法——统计每次迭代的配准误差并可视化

目录 一、概述二、代码实现三、可视化代码四、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、概述 在进行论文写作时,需要做对比实验,来分析改进算法的性能,期间用到了迭代误差分布统计的比较分析,为直…

Java web应用性能分析之服务端慢和优化概叙

前面已经分析了客户端慢、前端页面慢、入口Nginx慢,按照上图接下来就是我们服务端重点的接口慢分析优化、服务器资源性能瓶颈分析、服务器带宽性能瓶颈分析。 性能优化的目的 性能优化的目标是提高应用的性能,使其更加高效、稳定和可靠。性能优化包括服…

CSS 格式化上下文 + CSS兼容处理

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 ✍CSS 格式化上下文🔥1 格式化上下文🌷1.1 块级格式化…

Kubernetes Pod的配置管理 ConfigMap和Secret

目录 前言 一、为什么需要配置管理 二、使用ConfigMap管理Pod的配置信息 2.1 创建ConfigMap(4种方式) 2.1.1 指定ConfigMap的参数创建 2.1.2 指定配置文件创建ConfigMap 2.1.3 通过一个文件内的多个键值对创建ConfigMap 2.1.4 yaml文件创建Config…

环境多介质逸度模型实践技术与典型案例【代码】

随着污染物在各种环境中的迁移和转化,多介质污染物模型日益受到关注。在各类多介质模型中,基于逸度概念的逸度模型由于运用范围广,建模数据要求较低而广受欢迎。 专题一:基本理论 1.逸度的定义 2.逸度模型的基本原理 3.各介质…

Golang | Leetcode Golang题解之第36题有效的数独

题目: 题解: func isValidSudoku(board [][]byte) bool {var rows, columns [9][9]intvar subboxes [3][3][9]intfor i, row : range board {for j, c : range row {if c . {continue}index : c - 1rows[i][index]columns[j][index]subboxes[i/3][j/3]…

爆炸之linux-nacos2.0系列集群安装部署

一、环境配置 1、新建磁盘分区 fdisk /dev/vdb 2、创建文件系统 mkfs.xfs /dev/vdb13、创建挂载点: 在 / 目录下创建一个新的目录作为挂载点。/afc 目录 mkdir /afc4、挂载磁盘: 使用 mount 命令将磁盘挂载到新创建的目录。 mount /dev/vdb /afc5、…

用html写一个搜索页面

<!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>搜索框设计</title><link rel"stylesheet" href"./style.css"> </head> <body> <div class"se…

pytorch-手写数字识别之全连接层实现

目录 1. 背景2. nn.Linear线性层2. 实现MLP网络3. train4. 完整代码 1. 背景 上一篇https://blog.csdn.net/wyw0000/article/details/137622977?spm1001.2014.3001.5502中实现手撸代码的方式实现了手写数字识别&#xff0c;本文将使用pytorch的API实现。 2. nn.Linear线性层…

开发一个农场小游戏需要多少钱

开发一个农场小游戏的费用因多个因素而异&#xff0c;包括但不限于游戏的规模、复杂性、功能需求、设计复杂度、开发团队的规模和经验&#xff0c;以及项目的时间周期等。因此&#xff0c;无法给出确切的费用数字。 具体来说&#xff0c;游戏的复杂程度和包含的功能特性数量会直…

企业文档知识库建设,数据安全如何保障?

随着现代市场经济的高速发展&#xff0c;企业的竞争优势越来越多体现在人才和科技的优势。而随着员工流动率的提升&#xff0c;随之流失的则是员工积累多年的宝贵工作经验&#xff0c;如果缺乏有效的内部知识库的建设和管理&#xff0c;企业的竞争优势将难以维系。「企业网盘」…

Claude和chatgpt的区别

ChatGPT是OpenAI开发的人工智能的聊天机器人&#xff0c;它可以生成文章、代码并执行各种任务。是Open AI发布的第一款大语言模型&#xff0c;GPT4效果相比chatgpt大幅提升。尤其是最新版的模型&#xff0c;OpenAI几天前刚刚发布的GPT-4-Turbo-2024-04-09版本&#xff0c;大幅超…

架构设计-流程引擎的架构设计

1、什么是流程引擎 流程引擎是一个底层支撑平台&#xff0c;是为提供流程处理而开发设计的。流程引擎和流程应用&#xff0c;以及应用程序的关系如下图所示。 常见的支撑场景有&#xff1a;Workflow、BPM、流程编排等。本次分享&#xff0c;主要从 BPM 流程引擎切入&#xff0…

【前端】3. CSS【万字长文】

CSS 是什么 层叠样式表 (Cascading Style Sheets). CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离. CSS 就是 “东方四大邪术” 之化妆术. 基本语法规范 选择器 {一条/N条声明} 选择器决定针对谁修改 (找谁)声明决…