柚子快報邀請碼778899分享:軟考筆記--系統(tǒng)架構(gòu)評估
柚子快報邀請碼778899分享:軟考筆記--系統(tǒng)架構(gòu)評估
系統(tǒng)架構(gòu)評估是在對架構(gòu)分析、評估的基礎(chǔ)上,對架構(gòu)策略的選取進行決策。它利用數(shù)據(jù)或邏輯分析技術(shù),針對系統(tǒng)的一致性,正確性,質(zhì)量屬性,規(guī)劃結(jié)果等不同方面,提供描述性,預(yù)測性和指令性的分析結(jié)果。
系統(tǒng)結(jié)構(gòu)評估的方法通??梢苑譃?類:基于調(diào)查問卷或檢查表的方式,基于場景的方式和基于度量的方式。
(1)基于調(diào)查問卷或檢查表的方法。該方法的關(guān)鍵是要設(shè)計好問卷或檢查表,充分利用系統(tǒng)相關(guān)人員的經(jīng)驗和知識,獲得對架構(gòu)的評估。該方法的缺點是在很大程度上依賴于評估人員的主觀推斷。
(2)基于場景的評估方法。基于場景的方法是通過分析結(jié)構(gòu)對場景的支持程度,從而判斷該架構(gòu)對這一場景所代表的指令需求的滿足程度。
(3)基于度量的評估方法,它是建立在軟件架構(gòu)度量的基礎(chǔ)上,涉及3個基本活動,首先需要建立質(zhì)量屬性和度量之間的映射原則,然后從軟件架構(gòu)文檔中獲取度量信息,最后根據(jù)映射原則分析推導(dǎo)出系統(tǒng)的質(zhì)量屬性。
一.系統(tǒng)架構(gòu)評估中的重要概念
1.敏感點和權(quán)衡點。敏感點和權(quán)衡點是關(guān)鍵的架構(gòu)決策。敏感點是一個或多個構(gòu)件的特性。研究敏感點可使設(shè)計人員或分析人員明確在搞清楚如何實現(xiàn)質(zhì)量目標是應(yīng)該注意什么。權(quán)衡點是影響多個質(zhì)量屬性的特性,是多個質(zhì)量屬性的敏感點。
2.風(fēng)險承擔(dān)者或者稱為利于相關(guān)人。系統(tǒng)的架構(gòu)涉及很多人的利益,這些人都對架構(gòu)施加各種影響,以保證自己的目標能夠?qū)崿F(xiàn)。
3.場景。在進行架構(gòu)評估時,一般首先要精確地得出具體的質(zhì)量目標,并以之作為判斷該架構(gòu)優(yōu)劣的標準。
二.系統(tǒng)架構(gòu)評估方法
1.SAAM方法
SAAM方法最初用于比較不同軟件體系的架構(gòu),以分析系統(tǒng)架構(gòu)的可修改性,后來實踐證明它也可以用于其他質(zhì)量屬性如可移植性、可擴充性等,最終發(fā)展成可評估一個系統(tǒng)架構(gòu)的通用方法。
(1)特定目標。SAAM的目標是對描述應(yīng)用程序?qū)傩缘奈臋n,驗證基本的架構(gòu)假設(shè)和原則。此外,該分析方法有利于評估架構(gòu)固有的風(fēng)險。SAAM指導(dǎo)對結(jié)構(gòu)的檢查,使其主要關(guān)注潛在的問題點。SAAM不僅能夠評估架構(gòu)對于特定系統(tǒng)需求的使用能力,也能被用來比較不同的架構(gòu)。
(2)評估技術(shù)。SAAM所使用的評估技術(shù)是場景技術(shù)。場景代表了描述架構(gòu)屬性的基礎(chǔ),描述了各種系統(tǒng)必須支持的活動和可能存在的狀態(tài)變化。
(3)質(zhì)量屬性。這一方法的基本特點是把任何形式的質(zhì)量屬性都具體化為場景,但可修改性是SAAM分析的主要質(zhì)量屬性。
(4)風(fēng)險承擔(dān)者。SAAM協(xié)調(diào)不同參與者之間感興趣的共同方面,作為后續(xù)決策的基礎(chǔ),達成對架構(gòu)的共識。
(5)架構(gòu)描述。SAAM用于架構(gòu)的最后版本,但早于詳細設(shè)計。架構(gòu)的描述形式應(yīng)當(dāng)被所有參與者理解。
(6)方法活動。SAAM的主要輸入是問題描述、需求聲明和架構(gòu)描述。
(7)已有知識庫的可重用性:SAAM不考慮這個問題。
(8)方法驗證:SAAM是一種成熟的方法,已被應(yīng)用到眾多系統(tǒng)中。
2.ATAM方法
架構(gòu)權(quán)衡分析方法ATAM是在SAAM的基礎(chǔ)上發(fā)展起來的,主要針對性能、實用性、安全性和可修改性,在系統(tǒng)開發(fā)之前,對這些質(zhì)量屬性進行評價和折中。
(1)特定目標。ATAM的目標是在考慮多個相互影響的質(zhì)量屬性的情況下,從原則上提供一種理解軟件架構(gòu)的能力的方法。對于特定的軟件架構(gòu),在系統(tǒng)開發(fā)之前,可以使用ATAM方法確定在多個質(zhì)量屬性之間的折中的必要性。
(2)質(zhì)量屬性。ATAM方法分析多個相互競爭的質(zhì)量屬性。開始時考慮的是系統(tǒng)的可修改性,安全性,性能和可用性。
(3)風(fēng)險承擔(dān)者。在場景、需求手機相關(guān)活動中,ATAM方法需要所有系統(tǒng)相關(guān)人員的參與。
(4)架構(gòu)描述。架構(gòu)空間受到歷史遺留系統(tǒng)、互操作性和以前失敗的項目約束。架構(gòu)描述基于5種基本結(jié)構(gòu)來進行。
(5)評估技術(shù)。可以把ATAM方法視為一個框架,該框架依賴于質(zhì)量屬性,可以使用不同的分析技術(shù)。
(6)方法的活動。ATAM 被分為4個主要的活動領(lǐng)域(或階段),分別是場景和需求收集、 架構(gòu)視圖和場景實現(xiàn)、屬性模型構(gòu)造和分析、折中。
(7)領(lǐng)域知識庫的可重用性。領(lǐng)域知識庫通過基于屬性的架構(gòu)風(fēng)格 (Attribute Based Architecture Style) 維護。 ABAS有助于從架構(gòu)風(fēng)格的概念轉(zhuǎn)向基于特定質(zhì)量屬性模型的推理能力。
(8)方法驗證。該方法已經(jīng)應(yīng)用到多個軟件系統(tǒng),但仍處在研究之中。雖然軟件架構(gòu)分析與評價已經(jīng)取得了很大的進步,但是在某些方面也存在一些問題。
ATAM 方法采用效用樹 (Utility tree) 這一工具來對質(zhì)量屬性進行分類和優(yōu)先級排序。效用樹的結(jié)構(gòu)包括:樹根—質(zhì)量屬性—屬性分類—質(zhì)量屬性場景(葉子節(jié)點)。
三.CBAM方法
在大型復(fù)雜系統(tǒng)的構(gòu)建過程中,經(jīng)濟性通常是需要考慮的首要因素。因此,需要從經(jīng)濟角度建立成本、收益、風(fēng)險和進度等方面軟件的“經(jīng)濟”模型。成本效益分析法 (the Cost Benefit Analysis Method,CBAM) 是在ATAM上構(gòu)建,用來對架構(gòu)設(shè)計決策的成本和收益進行建模,是優(yōu)化此類決策的一種手段。 CBAM在 ATAM 結(jié)束時開始,它實際上使用了 ATAM評估的結(jié)果。CBAM方法分為八個步驟:
(1)整理場景。整理 ATAM 中獲取的場景,根據(jù)商業(yè)目標確定這些場景的優(yōu)先級,并選取
優(yōu)先級最高的1/3的場景進行分析。
(2)對場景進行求精。為每個場景獲取最壞情況、當(dāng)前情況、期望情況和最好情況的質(zhì)量屬性響應(yīng)級別。
(3)確定場景的優(yōu)先級。項目關(guān)系人對場景進行投票,其投票是基于每個場景“所期望的” 響應(yīng)值,根據(jù)投票結(jié)果和票的權(quán)值,生成一個分值(場景的權(quán)值)。
(4)分配效用。對場景的響應(yīng)級別(最壞情況、當(dāng)前情況、期望情況和最好情況)確定效用表。
(5)架構(gòu)策略涉及哪些質(zhì)量屬性及響應(yīng)級別,形成相關(guān)的“策略一場景一響應(yīng)級別”的對應(yīng)關(guān)系。
(6)使用內(nèi)插法確定“期望的”質(zhì)量屬性響應(yīng)級別的效用。即根據(jù)第4步的效用表以及第5步的對應(yīng)關(guān)系,確定架構(gòu)策略及其對應(yīng)場景的效用表。
(7)計算各架構(gòu)策略的總收益。根據(jù)第3步的場景的權(quán)值及第6步的架構(gòu)策略效用表,計算出架構(gòu)策略的總收益得分。
(8)根據(jù)受成本限制影響的 ROI選擇架構(gòu)策略。根據(jù)開發(fā)經(jīng)驗估算架構(gòu)策略的成本,結(jié)合第7步的收益,計算出架構(gòu)策略的ROI, 按 ROI排序,從而確定選取策略的優(yōu)先級。
四。其他評估方法
1.SAEM方法
SAEM方法將軟件架構(gòu)看作一個最終產(chǎn)品以及設(shè)計過程中的一個中間產(chǎn)品,從外部質(zhì)量屬性和內(nèi)部質(zhì)量屬性兩個角度來闡述它的評估模型,旨在為軟件架構(gòu)的質(zhì)量評估創(chuàng)建一個基礎(chǔ)
框架。
2.SAABnet方法
軟件架構(gòu)定性的評估技術(shù)依賴于專家知識,包括某些特定類型問題的解決方案以及可能的誘導(dǎo)因素、統(tǒng)計知識(如60%的系統(tǒng)消耗花費在維護上)、審美觀等,這些定性的知識比較含糊且難以文檔化。 SAABNet是一種用來表達和使用定性知識以輔助架構(gòu)的定性評估。
3.SACMM方法
SACMM 方法是一種軟件架構(gòu)修改的度量方法,首先基于圖內(nèi)核定義差異度量準則來計算兩個軟件架構(gòu)之間的距離,圖內(nèi)核的基本思想是將結(jié)構(gòu)化的對象描述為它的子結(jié)構(gòu)的集合,通過子結(jié)構(gòu)的配對比較來分析對象之間的相似性。
柚子快報邀請碼778899分享:軟考筆記--系統(tǒng)架構(gòu)評估
相關(guān)文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。