当前位置: 首页 > news >正文

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

目录

一、软件架构评估

        1、敏感点

        2、权衡点

        3、风险点

        4、非风险点

        5、架构评估方法

                5.1 基于调查问卷或检查表的方式

                5.2 基于度量的方式

                5.3 基于场景的方式

        6、基于场景的评估方法

                6.1 软件架构分析法(SAAM)

                6.2 架构权衡分析法(ATAM)

                6.3 成本效益分析法(CBAM)

        7、质量效用树 

二、软件产品线

        1、基本概念 

        2、双生命周期模型

        3、建立方式

        4、组织结构


一、软件架构评估

        1、敏感点

                敏感点是一个或多个构件(和 / 或构件之间的关系)的特性,它能影响系统的某个质量属性

        2、权衡点

                 权衡点是影响多个质量属性的特性,是多个质量属性的敏感点

        3、风险点

                 风险点是指架构设计中潜在的、存在问题的架构决策所带来的隐患。

        4、非风险点

                非风险点是指不会带来隐患,一般以 “XXX要求是可以实现(或接受)的” 方式表达。

        例如:

        (1)对交易请求处理时间的要求将影响系统数据传输协议和处理过程的设计;(敏感点

        (2)假设每秒钟用户交易请求的数量是10个,处理请求的时间为30毫秒,则 “在1秒内完成用户的交易请求” 这一要求是可以实现的;(非风险点

        (3)目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;(风险点

        (4)更改加密级别将对安全性和性能产生影响;(权衡点

        5、架构评估方法

                5.1 基于调查问卷或检查表的方式

                5.2 基于度量的方式

                5.3 基于场景的方式

                【场景】是从风险承担者的角度与系统交互的简短描述。

                场景可从六个方面进行描述:刺激源、刺激、制品、环境响应、响应度量

                【性能场景示例】

 

        6、基于场景的评估方法

                6.1 软件架构分析法(SAAM)

                         最初关注可修改性,后扩充到可移植性、可扩充性。

 

                6.2 架构权衡分析法(ATAM)

                         有SAAM发展而来,主要针对:性能、实用性、安全性、可修改性,在系统开发之前,对这些质量属性进行评价和折中

 

                6.3 成本效益分析法(CBAM)

                         在ATAM(架构权衡分析法)基础上建立的,软件的 “经济” 模型。

 

        7、质量效用树 

 

二、软件产品线

        1、基本概念 

                软件产品线是指具有一组可管理的公共特性的软件密集性系统的合集,这些系统满足特定的市场需求或任务需求,并且按预定义的方式从一个公共的核心资产集开发得到。

        2、双生命周期模型

                分成两个重叠的生命周期:领域工程应用工程

                领域工程使用DSSA(特定领域软件架构),主要任务有领域分析领域设计,领域实现

                应用工程领域:需求分析系统设计系统实现

        3、建立方式

        (1)将现有产品演化为产品线

        (2)用软件产品线替代现有产品集

        (3)全新软件产品线的演化

        (4)全新软件产品线的开发

        4、组织结构

                组织结构类型:

                (1)设立独立的核心资源小组

                (2)不设立独立的核心资源小组

                (3)动态的组织结构

                要成功实施产品线,主要取决于以下因素

                (1)对该领域具备长期和深厚的经验

                (2)一个用于构建产品的好的核心资源库

                (3)好的产品线结构

                (4)好的管理(软件资源、人员组织、过程)支持

相关文章:

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

目录 一、软件架构评估 1、敏感点 2、权衡点 3、风险点 4、非风险点 5、架构评估方法 5.1 基于调查问卷或检查表的方式 5.2 基于度量的方式 5.3 基于场景的方式 6、基于场景的评估方法 6.1 软件架构分析法(SAAM) 6.2 架构权衡分析法(ATAM&am…...

51单片机--AD/DA

AD/DA介绍 AD和DA是模拟信号和数字信号之间的转换过程。 AD,全称为模拟到数字(Analog-to-Digital),指的是将模拟信号转换为数字信号的过程。在AD转换中,模拟信号经过采样、量化和编码等步骤,被转换为离散的…...

网络安全-防御需知

目录 网络安全-防御 1.网络安全常识及术语 资产 漏洞 0day 1day 后门 exploit APT 2.什么会出现网络安全问题? 网络环境的开放性 协议栈自身的脆弱性 操作系统自身的漏洞 人为原因 客观原因 硬件原因 缓冲区溢出攻击 缓冲区溢出攻击原理 其他攻击…...

C#百万数据处理

C#百万数据处理 在我们经验的不断增长中不可避免的会遇到一些数据量很大操作也复杂的业务 这种情况我们如何取优化如何去处理呢?一般都要根据业务逻辑和背景去进行合理的改进。 文章目录 C#百万数据处理前言一、项目业务需求和开发背景项目开发背景数据量计算业务需…...

windows端口占用

1.查看当前端口被哪个进程占用了(进入到CMD中) netstat -ano|findstr "8990"输出结果为: TCP 127.0.0.1:8990 0.0.0.0:0 LISTENING 2700 我们发现8990端口被2700进程占用了 2.基于进程号找进程名称 tasklist|findstr "2700&qu…...

如何理解Diffusion

Diffusion算法可以有多个角度进行理解,不同的理解方式只是对目标函数进行了不同的解释。其主体思想是不变的,可以归纳为: 训练时通过图片逐步添加噪声,变为一个纯噪声。然后学习每一步的噪声。推理时给定一个随机噪声图片&#x…...

自然语言处理从入门到应用——LangChain:模型(Models)-[聊天模型(Chat Models):使用少量示例和响应流式传输]

分类目录:《自然语言处理从入门到应用》总目录 使用少量示例 本部分的内容介绍了如何在聊天模型(Chat Models)中使用少量示例。关于如何最好地进行少量示例提示尚未形成明确的共识。因此,我们尚未固定任何关于此的抽象概念&#…...

Java在线OJ项目(三)、前后端交互API模块

Java在线OJ项目(三)、前后端交互API模块 1. 客户端向服务器请求所有题目 或者 单个题目前端获取所有题目获取一个题目 后端 2. 后端读取前端提交的代码,进行编译运行,返回结果前端提交代码后端处理 1. 客户端向服务器请求所有题目…...

项目——负载均衡在线OJ

目录 项目介绍开发环境所用技术项目宏观结构编写思路1. 编写compile_server1.1 编译模块编写1.2 运行功能1.3compile_runner 编译与运行1.4 编写compile_server.cpp调用compile_run模块,形成网络服务 2. 编写基于MVC的oj_server2.1 oj_server.cpp的编写2.2 oj_model…...

idea连接远程服务器上传war包文件

idea连接远程服务器&上传war包 文章目录 idea连接远程服务器&上传war包1. 连接服务器2.上传war包 1. 连接服务器 选择Tools -> Start SSH Session 添加配置 连接成功 2.上传war包 Tools -> Deployment -> Browse Remote Host 点击右侧标签,点击&…...

使用PyGWalker可视化分析表格型数据

大家好,可以想象一下在Jupyter Notebook中拥有大量数据,想要对其进行分析和可视化。PyGWalker就像一个神奇的工具,能让这项工作变得超级简单。它能获取用户的数据,并将其转化为一种特殊的表格,可以与之交互&#xff0c…...

Visual C++中的虚函数和纯虚函数(以外观设计模式为例)

我是荔园微风,作为一名在IT界整整25年的老兵,今天来说说Visual C中的虚函数和纯虚函数。该系列帖子全部使用我本人自创的对比学习法。也就是当C学不下去的时候,就用JAVA实现同样的代码,然后再用对比的方法把C学会。 直接说虚函数…...

电子元器件选型与实战应用—01 电阻选型

大家好, 我是记得诚。 这是《电子元器件选型与实战应用》专栏的第一篇文章,今天的主角是电阻,在每一个电子产品中,都少不了电阻的身影,其重要性不言而喻。 文章目录 1. 入门知识1.1 基础1.2 常用品牌1.3 电阻的种类2. 贴片电阻标识2.1 三位数标注法2.2 四位数标注法2.3 小…...

javascript 模板引擎

使用场景 在实际开发中,一般都是使用动态请求数据来更新页面,服务器端通常返回json格式的数据,正常操作是我们手动的去拼装HTML,但麻烦且容易出错,因此出现了一些用模版生成HTML的的框架叫js模板引擎如:jq…...

【数据结构】带头+双向+循环链表(DList)(增、删、查、改)详解

一、带头双向循环链表的定义和结构 1、定义 带头双向循环链表,有一个数据域和两个指针域。一个是前驱指针,指向其前一个节点;一个是后继指针,指向其后一个节点。 // 定义双向链表的节点 typedef struct ListNode {LTDataType dat…...

接口自动化测试平台

下载了大神的EasyTest项目demo修改了下<https://testerhome.com/topics/12648 原地址>。也有看另一位大神的HttpRunnerManager<https://github.com/HttpRunner/HttpRunnerManager 原地址>&#xff0c;由于水平有限&#xff0c;感觉有点复杂~~~ 【整整200集】超超超…...

【物联网】微信小程序接入阿里云物联网平台

微信小程序接入阿里云物联网平台 一 阿里云平台端 1.登录阿里云 阿里云物联网平台 点击进入公共实例&#xff0c;之前没有的点进去申请 2.点击产品&#xff0c;创建产品 3.产品名称自定义&#xff0c;按项目选择类型&#xff0c;节点类型选择之恋设备&#xff0c;联网方式W…...

PKG内容查看工具:Suspicious Package for Mac安装教程

Suspicious Package Mac版是一款Mac平台上的查看 PKG 程序包内信息的应用&#xff0c;Suspicious Package Mac版支持查看全部包内全部文件&#xff0c;比如需要运行的脚本&#xff0c;开发者&#xff0c;来源等等。 suspicious package mac使用简单&#xff0c;只需在选择pkg安…...

第16节:R语言医学分析实例:肺切除手术的Apriori关联规则分析

关联规则 肺切除手术的Apriori关联规则分析。 分析的目的是确定患有肺癌并需要接受肺切除术的患者的共病症状。 了解哪些症状是共病的可以帮助改善患者护理和药物处方。 分析类型是关联规则学习,通过探索变量之间的关联或频繁项集,尝试在大型数据集中找到见解和隐藏关系(H…...

ChatGPT+MidJourney 3分钟生成你的动画故事

chatgpt是真的火了&#xff0c;chatgpt产生了一个划时代的意义——自chatgpt起&#xff0c;AI是真的要落地了。 chatgpt能做的事情太多了&#xff0c;多到最初开发模型的程序员自己&#xff0c;也没法说得清楚chatgpt都能做啥&#xff0c;似乎只要你能想得到&#xff0c;它都有…...

从零上手腾讯 Marvis:真正接管电脑的 AI,看完直接封神

作者&#xff1a;逆境不可逃 技术永无止境 希望我的内容可以帮助到你&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 大家吼 ! 我是 逆境不可逃 今天给大家带来文章《从零上手腾讯 Marvis&#xff1a;真正接管电脑的 AI&#xff0c;看完直接封神》. Marvis 官…...

Amphenol ICC DRPC215001340线束组件在工业设备中的应用与替代分析

在工业自动化和高速设备不断发展的背景下&#xff0c;线束组件的重要性越来越高。很多设备故障&#xff0c;表面看是系统问题&#xff0c;实际上往往与内部连接稳定性有关。而高品质线束组件&#xff0c;正是保障设备长期稳定运行的重要基础。 近期&#xff0c;Amphenol ICC&am…...

Python数据分析入门 - BV1xX4y1Z7Y8

Python数据分析入门 - BV1xX4y1Z7Y8 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools 本视频主要介绍Python数据分析的…...

PET模型完全指南:如何利用完形填空问题实现少样本文本分类与自然语言推理

PET模型完全指南&#xff1a;如何利用完形填空问题实现少样本文本分类与自然语言推理 【免费下载链接】pet This repository contains the code for "Exploiting Cloze Questions for Few-Shot Text Classification and Natural Language Inference" 项目地址: htt…...

市面上有哪些是真正性价比高的降AIGC软件(轻松压低AI生成疑似率)

最崩溃的不是查重难题&#xff0c;而是查重达标却AI率超标亮红灯&#xff01;很多工具只会简单同义词替换、浅层改字&#xff0c;根本洗不掉AI专属句式、行文逻辑和高频模板话术&#xff0c;学校AIGC检测一查一个准&#xff0c;论文直接翻车。 本篇结合全网实测数据&#xff0c…...

Unity热更新本质与分层设计原理

1. 热更新不是“打补丁”&#xff0c;而是游戏生命周期的呼吸系统很多人第一次听说“Unity热更新”&#xff0c;脑子里立刻蹦出一个画面&#xff1a;玩家正在打Boss&#xff0c;突然弹出“检测到新版本&#xff0c;正在后台下载……3秒后重启生效”。然后下意识觉得——这不就是…...

Genanki终极指南:如何用Python自动化你的Anki卡片制作

Genanki终极指南&#xff1a;如何用Python自动化你的Anki卡片制作 【免费下载链接】genanki A Python 3 library for generating Anki decks 项目地址: https://gitcode.com/gh_mirrors/ge/genanki 你是否曾经花费数小时手动创建Anki卡片&#xff0c;只为记忆那些重要的…...

华为防火墙双机热备HRP配置避坑指南:心跳线选错接口,业务秒断!

华为防火墙双机热备HRP实战&#xff1a;心跳线接口选择的黄金法则与故障规避 在金融、医疗、政务等对业务连续性要求极高的场景中&#xff0c;华为防火墙双机热备方案已成为保障网络高可用的标配。但许多工程师在部署HRP&#xff08;Huawei Redundancy Protocol&#xff09;时&…...

在Node.js服务中集成Taotoken实现智能问答与内容生成功能

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在Node.js服务中集成Taotoken实现智能问答与内容生成功能 对于Node.js后端开发者而言&#xff0c;为应用添加智能问答或内容生成能…...

DownKyi完整教程:如何快速下载B站8K超高清视频的终极指南

DownKyi完整教程&#xff1a;如何快速下载B站8K超高清视频的终极指南 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&am…...