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

软考 系统架构设计师之回归及知识点回顾(3)

接前一篇文章:软考 系统架构设计师之回归及知识点回顾(2)

继续回顾一下之前已经介绍和讲解过的系统架构设计师中的知识点:

7. 净室软件工程

净室(Cleaning Room)软件工程是一种应用数学与统计学理论,以经济的方式生产高质量软件的工程技术,力图通过严格的工程化的软件过程达到开发中的零缺陷或接近零缺陷。净室方法不是先制作一个产品再去消除缺陷,而是要求在规约和设计中消除错误,然后以“净”的方式制作,可以降低软件开发中的风险,以合理的成本开发出高质量的软件。

净室软件工程(Cleanroom Software Engineering,CSE)是一种在软件开发过程中强调在软件中建立正确性的需要的方法。在净室软件工程背后的哲学是:通过在第1次正确地书写代码增量,并在测试前验证它们的正确性,来避免对成本很高的错误消除过程的依赖。它的过程模型是在代码增量积聚到系统的过程的同时,进行代码增量的统计质量验证。它甚至提倡开发者不需要进行单元测试,而是进行正确性验证和统计质量控制。

净室是一种以合理的成本开发高质量软件的基于理论、面向工作组的方法

  • 净室是基于理论的,因为坚实的理论基础是任何工程学科所不可缺少的。再好的管理也替代不了理论基础。
  • 净室是面向工作组的,因为软件是由人开发出来的,并且理论必须简化到实际应用才能引导人的创造力和协作精神。
  • 净室是针对经济实用软件的生产的,因为在现实生活中,业务和资源的限制必须在软件工程中予以满足。
  • 净室是针对高质量软件的生产的,因为高质量改进管理,降低风险及成本,满足用户需求,提供竞争优势。

净室软件工程的理论基础主要是函数理论抽样理论

(1)函数理论

一个明确定义的函数应当具有以下特性:

  • 完备性

对定义域中的每个元素,值域中至少有一个元素与之对应。对程序而言,每种可能的输入都必须定义,并有一个输出与之对应。

  • 一致性

在值域中最多有一个元素与定义域中的同一元素对应。对程序而言,每个输入只能对应一个输出。

  • 正确性

函数的正确性可以由上述性质判断。对程序而言,某项设计的正确性可以通过基于函数理论的推理来验证。

(2)抽样理论

不可能对软件的所有可能应用都进行测试。把软件的所有可能的使用情况看作总体,通过统计学手段对其抽样,并对样本进行测试,根据测试结果分析软件的性能和可靠性

净室软件工程中应用的技术手段主要有以下4种:

  • 统计过程控制下的增量式开发(Incremental Development)
  • 基于函数的规范与设计
  • 正确性验证
  • 统计测试(Statistically Based Testing)和软件认证

净室软件工程是软件开发方法的一种形式化方法,它可以生成质量非常高的软件。它使用盒子结构规约进行分析与设计建模,并且强调将正确性验证(而不是测试)作为发现和消除错误的主要机制。

净室软件工程在使用的过程中,也显示出了一些缺点:

  • CSE太理论化,需要更多的数学知识。
  • CSE开发小组不进行传统的模块测试,这是不现实的。
  • CSE毕竟脱胎于传统软件工程,不可避免地带有传统软件工程的一些弊端。

8. 架构评估

系统架构评估是在对架构分析、评估的基础上,对架构策略的选取进行决策。它利用数学或逻辑分析技术,针对系统的一致性正确性质量属性规划结果等不同方面,提供描述性预测性指令性的分析结果。

系统架构评估的方法通常可以分为3类基于调查问卷或检查表的方式基于场景的方式基于度量的方式

(1)基于调查问卷或检查表的方法

该方法的关键是要设计好问卷或检查表,充分利用系统相关人员的经验和知识,获得对架构的评估。该方法的缺点是在很大程度上依赖于评估人员的主观判断

(2)基于场景的评估方法

基于场景的方式由卡耐基梅隆大学软件工程研究所首先提出并应用在架构权衡分析法(Architecture Tradeoff Analysis Method,ATAM)软件架构分析方法(Software Architecture Analysis Method,SAAM)中。它是通过分析软件架构对场景(也就是对系统的使用或修改活动)的支持程度,从而判断该架构对这一场景所代表的的质量需求的满足程度

(3)基于度量的评估方法

它是建立在软件架构度量的基础上的,涉及3个基本活动,首先需要建立质量属性和度量之间的映射原则,然后从软件架构文档中获取质量度量信息,最后根据映射原则分析推导出系统的质量属性

系统架构评估中的重要概念包括:

(1)敏感点(Sensitivity Point)和权衡点(Tradeoff Point)

敏感点和权衡点是关键的架构决策敏感点是一个或多个构件(和/或构件之间的关系)的特性。研究敏感点可以使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。

(2)风险承担者(Stakeholders)或者称为利益相关人

系统的架构涉及很多人的利益,这些人都对架构施加各种影响,以保证自己的目标能够实现。

(3)场景(scenarios)

在进行架构评估时,一般首先要精确地得出具体的质量目标,并以之作为判定该架构优劣的标准。在架构评估中,一般采用刺激(Stimulus)环境(Environment)响应(Response)三方面来进行描述。

余下的知识点回顾请看下回:

9. 数字孪生体

10. 边缘计算

11. 云计算

12. 大数据

相关文章:

软考 系统架构设计师之回归及知识点回顾(3)

接前一篇文章:软考 系统架构设计师之回归及知识点回顾(2) 继续回顾一下之前已经介绍和讲解过的系统架构设计师中的知识点: 7. 净室软件工程 净室(Cleaning Room)软件工程是一种应用数学与统计学理论&…...

探索stable diffusion的奇妙世界--01

目录 1. 理解prompt提示词: 2. Prompt中的技术参数: 3. Prompt中的Negative提示词: 4. Prompt中的特殊元素: 5. Prompt在stable diffusion中的应用: 6. 作品展示: 在AI艺术领域,stable di…...

C语言数组的维数该如何理解?

一、问题 什么叫做维,维是不是数组中数的个数呢? 二、解答 维数是数组元素的下标个数。使⽤数组的时候,如果只有⼀个下标,则称为⼀维数组,⼀维数组⼀般表示⼀种线性数据的组合。⼆维数组则是有两个下标,可…...

opencv解析系列 - 基于DOM提取大面积植被(如森林)

Note&#xff1a;简单提取&#xff0c;不考虑后处理&#xff08;填充空洞、平滑边界等&#xff09; #include <iostream> #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" #include <opencv2/opencv.hpp> using namespace cv…...

【Leetcode】299. 猜数字游戏

文章目录 题目思路代码结果 题目 题目链接 你在和朋友一起玩 猜数字&#xff08;Bulls and Cows&#xff09;游戏&#xff0c;该游戏规则如下&#xff1a; 写出一个秘密数字&#xff0c;并请朋友猜这个数字是多少。朋友每猜测一次&#xff0c;你就会给他一个包含下述信息的提…...

JWT身份验证

在实际项目中一般会使用jwt鉴权方式。 JWT知识点 jwt&#xff0c;全称json web token &#xff0c;JSON Web令牌是一种开放的行业标准RFC 7519方法&#xff0c;用于在两方安全地表示声明。具体网上有许多文章介绍&#xff0c;这里做简单的使用。 1.数据结构 JSON Web Token…...

IOS面试题object-c 71-80

71. 简单介绍下NSURLConnection类及 sendSynchronousRequest:returningResponse:error:与– initWithRequest:delegate:两个方法的区别?NSURLConnection 主要用于网络访问&#xff0c;其中 sendSynchronousRequest:returningResponse:error:是同步访问数据&#xff0c;即当前…...

计算机mfc140.dll文件缺失的修复方法分析,一键修复mfc140.dll

电脑显示mfc140.dll文件缺失信息时&#xff0c;不必担心&#xff0c;这通常是个容易解决的小问题。接下来让我们详细探究并解决mfc140.dll文件缺失的状况。以下将详述相应的解决方案&#xff0c;从而帮助您轻松克服这一技术难题。通过几个简单步骤&#xff0c;即可恢复正常使用…...

web前端框架

目前比较火热的几门框架: React React是由Facebook(脸书)开发和创建的开源框架。React 用于开发丰富的用户界面&#xff0c;特别是当您需要构建单页应用程序时。它是最强大的前端框架。 弊端: 您不具备 JavaScript 的实践知识&#xff0c;则建议不要使用 React。同样&#x…...

关于playbook中when条件过滤报The conditional check ‘result|failed‘ failed的问题

问题现象 在使用plabook中的when做过滤脚本如下&#xff1a; --- - hosts: realserversremote_user: roottasks:- name: Check if httpd service is runningcommand: systemctl status httpdregister: resultignore_errors: True- name: Handle failed service checkdebug:ms…...

【设计模式专题之抽象工厂模式】3. 家具工厂

题目描述 小明家新开了两个工厂用来生产家具&#xff0c;一个生产现代风格的沙发和椅子&#xff0c;一个生产古典风格的沙发和椅子&#xff0c;现在工厂收到了一笔订单&#xff0c;请你帮他设计一个系统&#xff0c;描述订单需要生产家具的信息。 输入描述 输入的第一行是一…...

架构:Apache Kafka Connect实现sqlserver数据实时同步

实现Apache Kafka Connect与SQL Server之间的实时数据同步&#xff0c;您可以使用Kafka Connect的JDBC Source Connector。以下是一个基本的步骤&#xff1a; 1. 安装Kafka Connect&#xff1a;确保您已经安装了Apache Kafka 和 Kafka Connect。您可以从Apache Kafka的官方网站…...

C语言:深入补码计算原理

C语言&#xff1a;深入补码计算原理 有符号整数存储原码、反码、补码转换规则数据与内存的关系 补码原理 有符号整数存储 原码、反码、补码 有符号整数的2进制表示方法有三种&#xff0c;即原码、反码和补码 三种表示方法均有符号位和数值位两部分&#xff0c;符号位用0表示“…...

【Pytorch】新手入门:基于sklearn实现鸢尾花数据集的加载

【Pytorch】新手入门&#xff1a;基于sklearn实现鸢尾花数据集的加载 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望…...

maven项目引入私有jar,并打包到java.jar中

私有jar存放位置 maven依赖 <dependency><groupId>com.hikvision.ga</groupId><artifactId>artemis-http-client</artifactId><version>1.1.10</version><scope>system</scope><systemPath>${project.basedir}/s…...

Django中的Cookie和Session

文章目录 cookie是什么Django中如何使用cookieCookie使用示例session是什么Django中如何使用会话sessionSession使用示例小结 HTTP协议本身是”无状态”的&#xff0c;在一次请求和下一次请求之间没有任何状态保持&#xff0c;服务器无法识别来自同一用户的连续请求。有了cooki…...

Git-安装与使用(快速上手图文教程)

Git-安装与使用&#xff08;快速上手图文教程&#xff09; - 知乎 克隆&#xff1a; 首先你进去你要存放代码的位置&#xff0c;比如将代码存放到D盘&#xff0c;然后在D盘中右键&#xff0c;点击Git Bash Here&#xff0c;就是说本地仓库要在D盘建立。然后出现git 命令行界面…...

VBA_NZ系列工具NZ02:VBA读取PDF使用说明

我的教程一共九套及VBA汉英手册一部&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到数据库&#xff0c;到字典&#xff0c;到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑&#xff0c;这么多知识点该如何组织…...

如何在paddlehub库中找到paddlehub.Module()所在的位置

要在PaddleHub库中找到paddlehub.Module()的位置&#xff0c;您可以通过以下步骤在PaddleHub库的源代码中进行查找&#xff1a; 1.确定PaddleHub库的安装位置&#xff1a;首先&#xff0c;确定您安装PaddleHub库的位置。通常&#xff0c;PaddleHub库会被安装在Python的site-pa…...

创建旅游景点图数据库Neo4J技术验证

文章目录 创建旅游景点图数据库Neo4J技术验证写在前面基础数据建库python3源代码KG效果KG入库效率优化方案PostGreSQL建库 创建旅游景点图数据库Neo4J技术验证 写在前面 本章主要实践内容&#xff1a; &#xff08;1&#xff09;neo4j知识图谱库建库。使用导航poi中的公园、景…...

AI写教材必备!专业技巧大公开,低查重教材不是梦

教材初稿修改难题与 AI 工具的出现 教材初稿刚刚完成&#xff0c;但接下来的修改过程真是让人费心&#xff01;逐篇通读查找逻辑上的漏洞和知识点的错误&#xff0c;这往往需要耗费大量的时间与精力。调整某一章节的结构时&#xff0c;往往会牵扯到后面多个部分&#xff0c;这…...

Kirikiri游戏开发终极指南:5个技巧让你轻松处理视觉小说资源

Kirikiri游戏开发终极指南&#xff1a;5个技巧让你轻松处理视觉小说资源 【免费下载链接】KirikiriTools Tools for the Kirikiri visual novel engine 项目地址: https://gitcode.com/gh_mirrors/ki/KirikiriTools 如果你正在处理Kirikiri引擎的视觉小说游戏资源&#…...

Boost库中的int128_t:高精度计算的实战指南

1. 为什么需要int128_t&#xff1f; 在C开发中&#xff0c;我们经常会遇到需要处理超大整数的情况。比如金融领域的金额计算、密码学中的大数运算、科学计算中的精确模拟等场景。传统的64位整数&#xff08;long long&#xff09;最大只能表示2^63-1&#xff08;约9.210^18&am…...

告别WSL安装等待:Phi-3-mini-4k-instruct-gguf提供离线配置与问题排查手册

告别WSL安装等待&#xff1a;Phi-3-mini-4k-instruct-gguf提供离线配置与问题排查手册 1. 为什么你需要这份指南 如果你正在Windows上尝试安装WSL&#xff08;Windows Subsystem for Linux&#xff09;&#xff0c;很可能已经遇到了"wsl --install下载太慢"这个令人…...

Fillinger智能填充脚本:Adobe Illustrator图形分布自动化解决方案

Fillinger智能填充脚本&#xff1a;Adobe Illustrator图形分布自动化解决方案 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 在数字设计工作流中&#xff0c;图形元素的均匀分布是…...

别再花钱买服务器了!用闲置云主机+frp 0.65.0搭建免费内网穿透服务(保姆级教程)

闲置云主机变身内网穿透神器&#xff1a;frp实战指南 手里有台快过期的学生优惠云服务器&#xff1f;别急着让它吃灰。今天我们就来聊聊如何把这类"鸡肋"资源变成实用的内网穿透工具。相比动辄几百元的商业穿透服务&#xff0c;用frp自建方案不仅零成本&#xff0c;还…...

告别会议录音转文字烦恼!Fun-ASR本地语音识别系统保姆级教程

告别会议录音转文字烦恼&#xff01;Fun-ASR本地语音识别系统保姆级教程 还在为整理会议录音而头疼吗&#xff1f;每次都要把录音文件上传到云端&#xff0c;等待漫长的处理&#xff0c;还得担心内容隐私泄露。市面上的工具要么准确率堪忧&#xff0c;要么操作复杂&#xff0c…...

分布式智能解析引擎:抖音视频批量下载的架构设计与性能优化指南

分布式智能解析引擎&#xff1a;抖音视频批量下载的架构设计与性能优化指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallb…...

AI失忆症有了新解法,哈佛团队开发海马体仿生技术,要用AI终结人类“遗忘史”

来源&#xff1a;DeepTech深科技排版&#xff1a;胡莉花遗忘是人类共有的经历&#xff0c;无论是对话、事件还是转瞬即逝的瞬间&#xff0c;我们终究会遗忘。但如果遗忘变成一个可选的选项&#xff0c;如果人类能够拥有完美且无限的记忆&#xff0c;世界会变成怎样&#xff1f;…...

KART-RERANK模型解析:互联网时代信息过载的智能过滤利器

KART-RERANK模型解析&#xff1a;互联网时代信息过载的智能过滤利器 每天一睁眼&#xff0c;手机里就塞满了未读消息&#xff1a;几十条群聊、上百条朋友圈、几十个App推送&#xff0c;还有永远刷不完的新闻和短视频。想找昨天朋友分享的那篇有趣的文章&#xff1f;得在信息洪…...