【系統架構設計師】十二、系統質量屬性與架構評估(開發期質量屬性|運行期質量屬性|面向架構評估的質量屬性|質量屬性效用樹|質量屬性場景)

目錄

一、軟件系統質量屬性

1.1 開發期質量屬性

1.2?運行期質量屬性

1.3?面向架構評估的質量屬性

1.4?質量屬性效用樹

1.5?質量屬性場景

1.5.1?可用性質量屬性場景描述? ? ? ?

1.5.2?可修改性質量屬性場景描述

1.5.3?性能質量屬性場景描述

相關推薦

歷年真題練習


????????歷年真題考情:本章節每年單項選擇考8分左右,下午案例、論文也會有涉及,在系統架構設計師中本章節絕對是重點中的重點

????????主要學習軟件系統質量屬性、系統架構評估以及 ATAM 方法評估實踐等內容。很少涉及超綱題

一、軟件系統質量屬性

????????軟件系統質量屬性 (Quality Attribute)是一個系統的可測量或者可測試的屬性,用來描述系統滿足利益相關者 (Stakeholders)需求的程度。基于軟件系統的生命周期,可以將軟件系統的質量屬性分為開發期質量屬性和運行期質量屬性2個部分。

1.1 開發期質量屬性

開發期質量屬性主要指在軟件開發階段所關注的質量屬性,主要包含6個方面。

????????(1)易理解性:指設計被開發人員理解的難易程度。
????????(2)可擴展性:軟件因適應新需求或需求變化而增加新功能的能力,也稱為靈活性。
????????(3)可重用性:指重用軟件系統或某一部分的難易程度。
????????(4)可測試性:對軟件測試以證明其滿足需求規范的難易程度。
????????(5)可維護性:當需要修改缺陷、增加功能、提高質量屬性時,識別修改點并實施修改的難易程度。
????????(6)可移植性:將軟件系統從一個運行環境轉移到另一個不同的運行環境的難易程度。

1.2?運行期質量屬性

運行期質量屬性主要指在軟件運行階段所關注的質量屬性,主要包含7個方面。

????????(1)性能:性能是指軟件系統及時提供相應服務的能力,如速度、吞吐量和容量等的要求。
????????(2)安全性:指軟件系統同時兼顧向合法用戶提供服務,以及阻止非授權使用的能力。
????????(3)可伸縮性:指當用戶數和數據量增加時,軟件系統維持高服務質量的能力。例如,通過增加服務器來提高能力。
????????(4)互操作性:指本軟件系統與其他系統交換數據和相互調用服務的難易程度。
????????(5)可靠性:軟件系統在一定的時間內持續無故障運行的能力。
????????(6)可用性:指系統在一定時間內正常工作的時間所占的比例。可用性會受到系統錯誤,惡意攻擊,高負載等問題的影響。
????????(7)魯棒性:是指軟件系統在非正常情況(如用戶進行了非法操作、相關的軟硬件系統發生了故障等)下仍能夠正常運行的能力,也稱健壯性或容錯性

1.3?面向架構評估的質量屬性

????????為了評價一個軟件系統,特別是軟件系統的架構,需要進行架構評估。在架構評估過程中,
評估人員所關注的是系統的質量屬性

? ? ? ? (1)性能:指系統的響應能力,即要經過多長時間才能對某個事件做出響應,或者在某段時間內系統所能處理的事件的個數。如響應時間、吞吐量
????????設計策略:優先級隊列、增加計算資源、減少計算開銷、引入并發機制、采用資源調度等。

????????(2)可靠性:是軟件系統在應用或系統錯誤面前,在意外或錯誤使用的情況下維持軟件系統的功能特性的基本能力。如MTTF、MTBF、MTTR
????????設計策略:心跳、Ping/Echo、冗余、選舉

????????(3)可用性:是系統能夠正常運行的時間比例,經常用兩次故障之間的時間長度或在出現故障時系統能夠恢復正常的速度來表示。如故障間隔時間
????????設計策略:心跳、Ping/Echo、冗余、選舉

????????(4)安全性:是指系統在向合法用戶提供服務的同時能夠阻止非授權用戶使用的企圖或拒絕服務的能力。如保密性、完整性、不可抵賴性、可控性
????????設計策略:入侵檢測、用戶認證、用戶授權、追蹤審計

????????(5)可修改性:指能夠快速的以較高的性能價格比對系統進行變更的能力。通常以某些具體的變更為基準,通過考察這些變更的代價衡量。包含以下4個方面:
? ? ? ? ? ? ? ? a.可維護性,局部修復使故障對架構的負面影響最小化;
? ? ? ? ? ? ? ? b.可擴展性,因松散耦合更易實現新特性/功能,不影響架構;
? ? ? ? ? ? ? ? c.結構重組,不影響主體進行的靈活配置;
? ? ? ? ? ? ? ? d.可移植性,適用于多樣的環境(硬件平臺、語言、操作系統等)。
????????設計策略:接口-實現分類、抽象、信息隱藏

?????????(6)功能性:是系統所能完成所期望的工作的能力。一項任務的完成需要系統中許多或大多數構件的相互協作。

????????(7)可變性:指體系結構經擴充或變更而成為新體系結構的能力。這種新體系結構應該符合預先定義的規則,在某些具體方面不同于原有的體系結構。當要將某個體系結構作為一系列相關產品的基礎時,可變性是很重要的。

????????(8)互操作性:作為系統組成部分的軟件不是獨立存在的,經常與其他系統或自身環境相互作用。為了支持互操作性,軟件體系結構必須為外部可視的功能特性和數據結構提供精心設計的軟件入口。程序和用其他編程語言編寫的軟件系統的交互作用就是互操作性的問題,也影響應用的軟件體系結構。

1.4?質量屬性效用樹

????????質量屬性效用樹Utility Tree是一種樹狀結構,其根節點代表系統的整體質量,而子節點則代表不同的質量屬性(如性能、可修改性、可用性、安全性等)。這些質量屬性進一步被分解為更具體的場景,每個場景都描述了系統在使用過程中可能遇到的情況或需求。

1.5?質量屬性場景

? ? ? ? 質量屬性場景 (Quality Attribute Scenario) 作為描述質量屬性的手段。質量屬性場景是一個具體的質量屬性需求,是利益相關者與系統的交互的簡短陳述。
????????質量屬性場景是一種面向特定質量屬性的需求。它由6部分組成:
????????(1)刺激源 (Source):這是某個生成該刺激的實體(人、計算機系統或者任何其他刺激器)。
????????(2)刺 激 (Stimulus):該刺激是當刺激到達系統時需要考慮的條件
????????(3)環 境 (Environment):該刺激在某些條件內發生。當激勵發生時,系統可能處于過載、運行或者其他情況。
????????(4)制品 (Artifact):某個制品被激勵。這可能是整個系統,也可能是系統的一部分。
????????(5)響應 (Response):該響應是在激勵到達后所采取的行動
????????(6)響應度量 (Measurement):當響應發生時,應當能夠以某種方式對其進行度量,以對需求進行測試。

????????質量屬性場景主要關注可用性、可修改性、性能、可測試性、易用性和安全性等6類質量屬性。質量屬性描述場景在2024年5月份的時候考到了哦

1.5.1?可用性質量屬性場景描述? ? ? ?

可用性質量屬性場景描述
場景要素可能的情況
刺激源系統內部、系統外部
刺激疏忽、錯誤、崩潰、時間
環境正常操作、降級模式
制品系統處理器、通信信道、持久存儲器、進程
響應系統應該檢測事件、并進行如下一個或多個活動:
將其記錄下來通知適當的各方,包括用戶和其他系統;根據已定義的規則禁止導致錯誤或故障的事件源。
在一段預先指定的時間間隔內不可用,其中,時間間隔取決于系統的關鍵程度在正常或降級模式下運行。
響應度量系統必須可用的時間間隔
可用時間
系統可以在降級模式下運行的時間間隔
故障修復時間

1.5.2?可修改性質量屬性場景描述

可修改性質量屬性場景描述
場景要素可能的情況
刺激源最終用戶、開發人員、系統管理員
刺激希望增加、刪除、修改、改變功能、質量屬性、容量等
環境系統設計時、編譯時、構建時、運行時
制品系統用戶界面、平臺、環境或與目標系統交互的系統
響應查找架構中需要修改的位置,進行修改且不會影響其他功能,對所做的修改進行測試,部
署所做的修改
響應度量根據所影響元素的數量度量的成本、努力、資金;該修改對其他功能或質量屬性所造成影
響的程度

1.5.3?性能質量屬性場景描述

性能質量屬性場景描述
場景要素可能的情況
刺激源用戶請求,其他系統觸發等
刺激定期事件到達、隨機事件到達、偶然事件到達
環境正常模式、超載 (Overload)模式
制品系統
響應處理刺激、改變服務級別
響應度量等待時間、期限、吞吐量、抖動、缺失率、數據丟失率

還有可測試性、易用性和安全性質量屬性場景描述沒有提供,可以自己參考著寫一下。

相關推薦

【系統架構設計師】十一、系統架構設計(層次架構風格|MVC|面向服務的架構風格|ESB)-CSDN博客文章瀏覽閱讀829次,點贊16次,收藏15次。三層C/S架構:將處理功能獨立出來,表示層和數據層都變得簡單。表示層在客戶機上,功能層在應用服務器上,數據層在數據庫服務器上。既然將兩層C/S架構中的數據從服務器中獨立出來了。SOA是一種粗粒度、松耦合服務架構,服務之間通過簡單、精確定義接口進行通信,不涉及底層編程接口和通信模型。企業服務總線ESB:簡單來說是一根管道,用來連接各個服務節點。ESB的存在是為了集成基于不同協議的不同服務,ESB 做了消息的轉化、解釋以及路由的工作,以此來讓不同的服務互聯互通。https://shuaici.blog.csdn.net/article/details/140383777

【系統架構設計師】十一、系統架構設計(基于體系結構的軟件設計|特定應用領域軟件架構)-CSDN博客文章瀏覽閱讀525次,點贊9次,收藏7次。基于體系結構(架構)的軟件設計(ABSD)方法是體系結構驅動的,即指構成體系結構的商業、質量和功能需求的組合驅動的。在基于體系結構的軟件設計方法中,采用視角與視圖來描述軟件架構,采用用例來描述功能需求,采用質量場景來描述質量需求。DSSA 就是專用于一類特定類型的任務(領域)的、在整個領域中能有效地使用的、為成功構造應用系統限定了標準的組合結構的軟件構件的集合。DSSA 就是一個特定的問題領域中支持一組應用的領域模型、參考需求、參考體系結構等組成的開發基礎,其目標就是支持在一個特定領域中多個應用的生成。https://shuaici.blog.csdn.net/article/details/140434104

歷年真題練習

? ? ? ? 1.某公司欲開發一個網上商城系統,在架構設計階段,公司的架構師識別出3個核心質量屬性場景。其中"系統主站斷電后,能夠在2分鐘內自動切換到備用站點,并恢復正常運行"主要與(1)質量屬性相關通常可采用(2)架構策略實現該屬性;"在并發用戶數不超過1000人時,用戶的交易請求應該在0.5s內完成'主要與(3)質量屬性相關,通常可采用(4)架構策略實現該屬性;"系統應該能夠抵擋惡意用戶的入侵行為,并進行報警和記錄"主要與(5)質量屬性相關,通常可采用(6)架構策略實現該屬性

? ? ? ? (1):A.性能? ? ? ? ???????B.可用性? ? ? ? ?C.易用性? ? ? ? D.可修改性
????????(2):A.主動冗余? ? ? ? B.信息隱藏? ? ?C.抽象接口? ? ?D.記錄/回放
? ? ? ? (3):A.性能? ? ? ? ???????B.可用性? ? ? ? ?C.易用性? ? ? ? D.可修改性
? ? ? ? (4):A.操作串行化? ? ?B.資源調度? ? ?C.心跳? ? ? ? ? ? D.內置監控器
????????(5):A.可用性? ? ? ? ? ? B.安全性? ? ? ? ?C.可測試性? ? D.可修改性
????????(6):A.內置監控器? ? ?B.記錄/回放? ? C.追蹤審計? ? ?D.維護現有接口

?

人工分割線-答案

? ? ? ? ????1.B、A
? ? ? ? ????????A、B
? ? ? ? ? ? ? ? B、C
????????
?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/45967.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/45967.shtml
英文地址,請注明出處:http://en.pswp.cn/web/45967.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【vue】輸入框和文本域切換

輸入框的樣子 文本域的樣子 當輸入框出現滾動條的時候&#xff0c;就自動切換成文本域&#xff1b;當文本域到1行并且寬度小于輸入框寬度時切換成輸入框 <div class"left_box_inpt"><divclass"right_box_inpt":class"{notclickable: inputd…

OpenResty使用Lua筆記

文章目錄 一、基礎1、常用2、使用局部變量3、模塊化 二、性能提升1、使用fft調用shell2、不要在循環中拼接字符串3、不要頻繁修改table4、不要在table中用nil5、做好異常處理6、ngx.var 的性能提升 三、拓展1、加載字符串為動態方法 一、基礎 1、常用 OpenResty 中文官網&…

Open3D 最小二乘法擬合點云平面

目錄 一、概述 1.1最小二乘法原理 1.2實現步驟 1.3應用場景 二、代碼實現 2.1關鍵函數 2.2完整代碼 三、實現效果 3.1原始點云 3.2matplotlib可視化 3.3平面擬合方程 前期試讀&#xff0c;后續會將博客加入該專欄&#xff0c;歡迎訂閱 Open3D點云算法與點云深度學習…

【學術會議征稿】第四屆人工智能、虛擬現實與可視化國際學術會議(AIVRV 2024)

第四屆人工智能、虛擬現實與可視化國際學術會議&#xff08;AIVRV 2024&#xff09; 2024 4th International Conference on Artificial Intelligence, Virtual Reality and Visualization 第四屆人工智能、虛擬現實與可視化國際學術會議&#xff08;AIVRV 2024&#xff09;將…

用python寫一個爬蟲,爬取google中關于蛇的照片

為了爬取Google中關于蛇的照片&#xff0c;我們可以利用Python中的第三方庫進行網頁解析和HTTP請求。請注意&#xff0c;這種爬取行為可能違反Google的使用條款&#xff0c;因此建議在合法和允許的情況下使用。以下是一個基本的Python爬蟲示例&#xff0c;使用Requests庫發送HT…

git 指令速查

1. 創建命令 Create Git 指令命令說明git clone 克隆遠程倉庫git init初始化本地 git 倉庫(即創建新的本地倉庫)2. 本地更改 Local Changes Git 指令命令說明git status查看當前分支狀態git diff查看已跟蹤文件的變更git add 將指定的文件添加到暫存區git add .將所有有變更的…

簡約唯美的404HTML源碼

源碼介紹 簡約唯美的404HTML源碼,很適合做網站錯誤頁,將下面的源碼放到一個空白的html里面,然后上傳到服務器里面即可使用 效果預覽 完整源碼 <!DOCTYPE html> <html><head><meta charset="utf-8"><title>404 Error Example<…

第二證券:市場估值依然處于較低區域 適合中長期布局

A股中報成績預告顯示相比2024Q1&#xff0c;2024Q2企業產品銷量或訂單已有回暖&#xff0c;但價格反轉暫未大面積到來&#xff0c;“量增價平、部分板塊以價換量”是2024H1 A股成績預告較顯著的量價特征&#xff0c;這與微觀庫存周期有待回暖相匹配。此外中游部分環節出現不同程…

Vue 3中使用 Lottie 動畫

一、Lottie動畫簡介 Lottie是由Airbnb開源的面向Android、iOS、Web和Windows的動畫庫,開發者可以使用它在Web、iOS、Android等平臺上實現高性能的體驗豐富的矢量動畫。 在早期的前端開發中,Flash是網頁動畫之王,不過它的規范約束隨意,造成很多時設計出來的產品都無法符合…

新版網頁無插件H.265播放器EasyPlayer.js如何測試demo視頻?

H5無插件流媒體播放器EasyPlayer屬于一款高效、精煉、穩定且免費的流媒體播放器&#xff0c;可支持多種流媒體協議播放&#xff0c;支持H.264與H.265編碼格式&#xff0c;性能穩定、播放流暢&#xff1b;支持WebSocket-FLV、HTTP-FLV&#xff0c;HLS&#xff08;m3u8&#xff0…

富格林:直面暗箱減少出金虧損

富格林悉知&#xff0c;在交易的過程中&#xff0c;投資者就算做好了十足的把握&#xff0c;也難免會出現出金虧損的情況。在這里建議新手投資者&#xff0c;在準備投資交易的時候&#xff0c;一定要做好充分的準備工作&#xff0c;了解黃金投資哪些暗箱陷阱&#xff0c;同時學…

【Linux】進程信號 --- 信號產生

&#x1f466;個人主頁&#xff1a;Weraphael ?&#x1f3fb;作者簡介&#xff1a;目前正在學習c和算法 ??專欄&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起進步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指點一二 如果文章對…

【轉型Web3開發第二課】Dapp開發入門基礎 | 02 | MetaMask配置網絡

本文首發于公眾號&#xff1a;Keegan小鋼 前言 完成了《轉型 Web3 開發第一課》之后&#xff0c;得到了不少讀者的認可&#xff0c;很多都在問什么時候開始下一課&#xff0c;近期終于抽出了時間開始搞起這第二課。 這第二課的主題為「Dapp開發入門基礎」&#xff0c;即想要轉…

淺談Visual Studio 2022

Visual Studio 2022&#xff08;VS2022&#xff09;提供了眾多強大的功能和改進&#xff0c;旨在提高開發者的效率和體驗。以下是一些關鍵功能的概述&#xff1a;12 64位支持&#xff1a;VS2022的64位版本不再受內存限制困擾&#xff0c;主devenv.exe進程不再局限于4GB&#xf…

【ffmpeg命令入門】重新編碼媒體流、設置碼率、設置幀速率

文章目錄 前言ffmpeg的描述重新編碼媒體流重新編碼媒體流的命令ffmpeg支持的媒體流 設置視頻碼率視頻碼率是什么設置視頻的碼率 設置文件幀數率幀數率是什么ffmpeg設置幀數率 總結 前言 在數字媒體處理領域&#xff0c;ffmpeg是一款非常強大的工具&#xff0c;它可以用來進行媒…

在線生成privacy-policy和 service-agreement

生成ppsa 網站 下面兩個是要收費的 局部功能可用 #1 Privacy Policy Generator - Privacy Policieshttps://termify.io/ 下面這個網站 創建一個是免費的 如果想要privacy-policy和 service-agreement 需要創建兩個賬戶 Termly

Java學習|JSON 處理庫:Gson、FastJson、Jackson的比較與使用指南

文章目錄 一、Gson簡介與使用注意事項1.1 簡介1.2 使用注意事項1.3 代碼示例序列化反序列化 二、FastJson簡介與使用注意事項2.1 簡介2.2 使用注意事項2.3 代碼示例序列化反序列化 三、Jackson簡介與使用注意事項3.1 簡介3.2 使用注意事項3.3 代碼示例序列化反序列化 四、關聯和…

svn不能記住密碼,反復彈出GNOME,自動重置svn.simple文件

1. 修改文件 打開 ~/.subversion/auth/svn.simple/xxx 更新前 K 15 svn:realmstring V 32 xxxxx //svn 地址&#xff0c;庫的地址 K 8 username V 4 xxx //用戶名 END在頂部插入下面內容&#xff0c; 注意&#xff0c;如果密碼不對&#xff0c;則文件文法正常生效 更新后…

37、PHP 實現一個鏈表中包含環,請找出該鏈表的環的入口結點

題目&#xff1a; 題目描述 PHP 實現一個鏈表中包含環&#xff0c;請找出該鏈表的環的入口結點。 描述&#xff1a; 一個鏈表中包含環&#xff0c;請找出該鏈表的環的入口結點。 <?php /*class ListNode{var $val;var $next NULL;function __construct($x){$this->v…

自動駕駛車道線檢測系列—3D-LaneNet: End-to-End 3D Multiple Lane Detection

文章目錄 1. 摘要概述2. 背景介紹3. 方法3.1 俯視圖投影3.2 網絡結構3.2.1 投影變換層3.2.2 投影變換層3.2.3 道路投影預測分支 3.3 車道預測頭3.4 訓練和真實值關聯 4. 實驗4.1 合成 3D 車道數據集4.2 真實世界 3D 車道數據集4.3 評估結果4.4 評估圖像僅車道檢測 5. 總結和討論…