系统架构设计师-软件架构设计(3)

news2024/11/29 12:50:34

目录

一、软件架构风格(其它分类)

        1、闭环控制结构(过程控制)  

        2、C2风格

        3、MDA(模型驱动架构 Model Driven Architecture)

        4、特定领域软件架构(DSSA)

                4.1 DSSA基本活动及产出物:

                4.2 DSSA类型:

                4.3 参与DSSA的人员:        

                4.4 建立过程:

                4.5 三层次模型:

二、软件架构评估

        1、质量属性

                1.1 性能

                1.2 可用性 

                1.3 安全性

                1.4 可修改性

                1.5 易用性

                1.6 可测试性


一、软件架构风格(其它分类)

        1、闭环控制结构(过程控制)  

                适合嵌入式系统用于解决简单闭环控制问题

                经典应用:空调温控,定速巡航

        2、C2风格

        

                C2架构的基本规则:

                (1)构件和连接件都有一个顶部和底部

                (2)构件的顶部要连接到连接件的底部,构件的底部要连接到连接件的顶部,构件之间不允许直连。

                (3)一个连接件可以和任意数目的其他构件和连接件连接。

                (4)当两个连接件进行直接连接时,必须由其中一个底部连接到另一个底部。

        3、MDA(模型驱动架构 Model Driven Architecture)

                形式化开发方法,数学模型为基础,层层映射机制

                - Model ?  客观事物的抽象表示

                - Model-Driven ?  使用模型完成软件的分析、设计、构建、部署、维护等各开发活动

                - Architecture ?  构成系统的部件、连接件及其约束的规约

                - MDA 起源于分离系统规约和平台实现的思想

                

                - MDA的主要目标:

                (1)Portability(可移植性)(2)interoperability(互通性)

                (3)Reusability(可重用性)

                - MDA核心模型

                (1)计算无关模型(CIM):对某具体行业内的一个项目的业务需求及其系统功能需求进行分析。(行业共性需求)

                (2)平台独立模型(PIM):具有高抽象层次、独立于任何实现技术的模型。(需求层级)

                (3)平台相关模型(PSM):为某种特定实现技术量身定做,让你用这种技术中可用的实现构造来描述系统的模型。PIM会变换成一个或多个PSM。

                (4)代码Code:用源代码对系统的描述(规约)。每个PSM都将变换成代码。

        4、特定领域软件架构(DSSA)

                定义特定领域软件架构以一个特定问题领域为对象,形成由领域参考模型、参考需求、参考架构等组成的开发基础架构,支持一个特定领域中多个应用的生成

                4.1 DSSA基本活动及产出物:

                (1)领域【分析】 获得 领域模型

                (2)领域【设计】 获得 特定领域软件架构(DSSA)

                (3)领域【实现】 获得 开发和组织可复用信息

                4.2 DSSA类型:

                (1)垂直域:相同领域,深入。

                (2)水平域:不同领域,平移。

                4.3 参与DSSA的人员:        

                (1)领域专家:有经验的用户、从事该领域中系统的需求分析、设计、实现以及项目管理的有经验的软件工程师等。领域专家的主要任务包括提供关于领域中系统需求规约和实现的知识。

                (2)领域分析人员:领域分析人员应由具有知识工程背景的有经验的系统分析员来担任。

                (3)领域设计人员:领域设计人员应由有经验的软件设计人员来担任。

                (4)领域实现人员:领域实现人员应由有经验的程序设计人员来担任。

                4.4 建立过程:

                4.5 三层次模型:

                        领域开发环境就是开发行业领域中的共性的东西,领域特定的应用开发环境就是在原产品上完成对客户的个性化开发,也就是二次开发。应用执行环境就是运行环境,跟开发无关。

 

二、软件架构评估

        1、质量属性

                四个主要质量属性:性能、可用性、安全性、可修改性

                1.1 性能

                        性能(performance)是指系统的响应能力,既要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理的事件个数。

                        例如:

                        (1)同时支持1000并发;

                        (2)响应时间小于1s;

                        (3)显示分辨率达4K;

                1.2 可用性 

                         可用性(availability)是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。

                        例如:

                        (1)主服务器故障,1分钟内切换至备用服务器;

                        (2)系统故障,一小时内修复;

                        (3)系统支持7 * 24小时工作;

                1.3 安全性

                         安全性(security)是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性有又可划分为机密性【信息不泄漏给未授权的用户】、完整性【防止信息被篡改】、不可否认性【不可抵赖】及可控性【对信息的传播及内容具有控制能力】等特性。

                        例如:

                        (1)可抵御SQL注入攻击;

                        (2)对计算机的操作都有完整记录;

                        (3)用户信息数据库授权必须保证99.9%可用;

                1.4 可修改性

                        可修改性(modifiability)是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。

                        例如:

                        (1)更改系统报表模块,必须在2人周内完成;

                        (2)对Web界面风格进行修改,修改必须在4人月内完成;

                1.5 易用性

                        易用性关注的是对用户来说完成某个期望任务的容易程度和系统所提供的用户支持的种类。

                        例如:

                        (1)界面友好

                        (2)新用户学习使用系统时间不超过2小时

                1.6 可测试性

                        软件可测试性是指通过测试揭示软件缺陷的容易程度。

                        例如:

                        (1)提供远程调试接口,支持远程调试。

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

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

相关文章

《CUDA C++ Programming Guide》第一章 CUDA介绍

第一章 CUDA介绍 1.1 使用GPUs的好处 在相同的价格和功耗范围内,图形处理器 GPU 比 CPU 提供了更高的指令吞吐量和内存带宽, 许多应用程序利用这些更高的功能在 GPU 上比在 CPU 上运行得更快。相比较其他计算设备,如 FPGA,也是非常节能的&a…

协议和模型

1 规则 1.1 通信基础知识 不同网络的规模、形状和功能都存在很大差异。它们可以复杂到通过互联网来连接设备,也可以简单到直接将两台计算机用一根电缆连接,或者是介于这两种之间。然而,只是完成终端设备之间的有线或无线物理连接并不足以实…

MATLAB基础知识回顾

目录 1.帮助命令 2.数据类型 3.元胞数组和结构体 4.矩阵操作 4.1 矩阵的定义与构造 4.2 矩阵的四则运算 4.3 矩阵的下标 5.程序结构 5.1 for循环结构 5.2 分支结构 7.基本绘图操作 7.1.二维平面绘图 6.2 三维立体绘图 7.图形的保存与导出 8.补充 语句后⾯加;的作…

Kaggle图表内容识别大赛TOP方案汇总

赛题名称:Benetech - Making Graphs Accessible 赛题链接:https://www.kaggle.com/competitions/benetech-making-graphs-accessible 赛题背景 数以百万计的学生有学习、身体或视力障碍,导致人们无法阅读传统印刷品。这些学生无法访问科学…

人机合一Linux

未来云系统成为主流,维护电脑这种充满时代特性的技术,完全不重要了。 无论是学习还是工作,电脑都是IT人必不可少的重要武器,一台好电脑除了自身配置要经得起考验,后期主人对它的维护也是决定它寿命的重要因素&#xff…

【01trie】CF1851F

Problem - F - Codeforces 题意: 思路: 首先最大异或对可以用01trie解决 trie树入门_lamentropetion的博客-CSDN博客 ai xor x 和 aj xor x 都必须为1 因此可以转换为 ai 和 aj 最小异或对问题 改一下01trie的板子即可 主要修改部分在query上 p…

如何把视频中的背景删掉,AI抠像,瞬间换背景!

不用绿幕也能快速抠除视频背景。一个可以去除视频背景的AI智能抠像工具,上传视频后会自动去除背景,支持单人、多人等各类场景,智能扫描识别,发丝级细节处理,快捷高效。 随着AI 抠像技术的不断成熟和普及,我…

5-7月大更新!EasyOps®全平台34+新特性齐上线~

为了提供更好的产品使用体验,优维从未停止更新升级的脚步。在5-7月份,EasyOps全平台更新上线34新功能,涉及Hyperlnsight超融合监控、CMDB、DevOps、AutoOps、ITSM、公共服务,在不断的技术创新过程中,进一步加速IT运维效…

存算一体化(Processing in Memory, PIM)入门

一、 存算一体化 概念: 简单来说就是将存储资源中嵌入计算能力,以新的运算架构进行二维和三维矩阵乘法/加法运算。这样减少了数据频繁移动带来的延迟和能耗方面的开销。 背景: 虽然多核(例如CPU)/众核(例…

视频监控综合管理平台EasyCVR多分屏默认播放协议的配置优化

视频监控综合管理平台EasyCVR具备视频融合汇聚能力,TSINGSEE青犀视频平台基于云边端一体化架构,可支持多协议、多类型设备接入,包括:NVR、IPC、视频编码器、无人机、车载设备、智能手持终端、移动执法仪等。国标GB28181视频平台Ea…

Mysql执行计划字段解释

文章目录 一、前言二、如何查看执行计划三、执行计划各字段解释四、select_type4.1、SIMPLE(简单查询)4.1.1、简单的单表查询4.1.2、多表连接查询 4.2、PRIMARY(主查询)4.2.1、包含复杂子查询的外层查询4.2.2、UNION语句中的第一个…

55寸透明屏有哪些主要特点?

55寸透明屏是一种新型的显示技术,它具有透明度高、色彩鲜艳、清晰度高等特点,可以广泛应用于商业展示、户外广告、智能家居等领域。 首先,55寸透明屏的透明度非常高,可以达到80%以上,这意味着即使屏幕开启,…

裁员 10%,暴跌 14%,这家 IT 独角兽正在被抛弃!

流量一跌再跌,Stack Overflow 简直被狠狠地上了一课! 3 月份 Stack Overflow 的流量下降了近 14%。该公司的 CEO 压力空前,甚至昨天决定裁员 10%! 平均每月下降6%,上月直接跌了近14% 开发人员越来越多地从 AI 聊天机器…

Hive数据仓库

数据仓库概念与起源发展由来 数仓概念 数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。数据仓库的目的是构建面相分析的集成化数据环境,分析结果为企业提供决策支持…

结构化思维:高效能项目经理人的底层能力

大家好,我是老原。 我们经常会说「高效能」,那怎么成为高效能人士?其实除了拼体力和心力以外,高效能更重要的是脑力,这里的脑力不是指智力,而是结构化思维。 随着你在职场中不断成长和进阶,级…

springboot 整合tx-mybaits 实现crud操作

一 操作案例 1.1 工程结构 1.2 pom文件的配置 <!--spring boot的依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId…

【防火墙】iptables防火墙(一)

防火墙具有隔离功能 主要部署在网络边缘或者主机边缘&#xff0c;防火墙的主要作用是决定哪些数据可以被外网访问&#xff0c;哪些数据可以进入内网访问 网络层&#xff08;路由器&#xff09;&#xff1a;数据的转发 安全技术 1.入侵监测系统&#xff1a;在检测到威胁&…

导出为PDF加封面且分页处理dom元素分割

文章目录 正常展示页面导出后效果代码 正常展示页面 导出后效果 代码 组件内 <template><div><div class"content" id"content" style"padding: 0px 20px"><div class"item"><divstyle"height: 160…

电压放大器在管道缺陷检测中应用有哪些

管道是一种重要的输送工业介质的设施&#xff0c;广泛应用于石油、化工、水利等领域。然而&#xff0c;由于长期使用和外界环境因素等原因&#xff0c;管道内部常会出现各种缺陷和损伤&#xff0c;如腐蚀、裂纹、磨损等&#xff0c;这些问题如果得不到及时发现和修复&#xff0…

基于vue实现权限控制,动态渲染菜单栏

Vue菜单权限动态路由 实现原理&#xff1a;用户登录&#xff0c;服务端返回相关权限&#xff0c;进行持久化存储&#xff0c;筛选动态路由&#xff0c;同时菜单栏也需动态渲染 静态路由 静态路由&#xff0c;也叫常量路由&#xff0c;即所有角色都可以访问到的路由界面。如:…