第四周_理解質(zhì)量屬性.ppt_第1頁
第四周_理解質(zhì)量屬性.ppt_第2頁
第四周_理解質(zhì)量屬性.ppt_第3頁
第四周_理解質(zhì)量屬性.ppt_第4頁
第四周_理解質(zhì)量屬性.ppt_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余58頁可下載查看

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第四章 理解構(gòu)架質(zhì)量屬性(Quality Attributes),任課老師:黃武,提綱,質(zhì)量屬性概述 系統(tǒng)的質(zhì)量屬性 實(shí)踐中的質(zhì)量屬性場景 3.1 可用性 3.2 可修改性 3.3 性能 3.4 安全性 3.5 可測試性 3.5 易用性 商業(yè)質(zhì)量屬性 構(gòu)架的質(zhì)量屬性,1 質(zhì)量屬性概述,構(gòu)架設(shè)計(jì)要解決的4個(gè)問題 精確的描述質(zhì)量屬性需求 列舉用于獲取得到質(zhì)量屬性需求的構(gòu)架決策 將一種質(zhì)量屬性需求與相關(guān)構(gòu)架決策相聯(lián)系的方法 將相關(guān)的構(gòu)架決策變?yōu)樵O(shè)計(jì)的方法,1.1 質(zhì)量屬性高于性能,我們經(jīng)常設(shè)計(jì)系統(tǒng)并不是因?yàn)樵撓到y(tǒng)在功能上有缺陷,而是由于系統(tǒng)的維護(hù),移植或擴(kuò)展十分困難,系統(tǒng)運(yùn)行速度太慢,系統(tǒng)容易受到外

2、界攻擊 實(shí)際上,我們修改系統(tǒng)是因?yàn)樾枰倪M(jìn)系統(tǒng)的質(zhì)量,而這些質(zhì)量是高于系統(tǒng)的功能性,1.1.1 如何評判一個(gè)系統(tǒng)的好壞,我們開發(fā)一個(gè)系統(tǒng)是為了給用戶使用,因此系統(tǒng)的質(zhì)量好壞最終要由用戶來評判 評判的依據(jù): 系統(tǒng)是否能夠滿足客戶的功能需求(直接) 系統(tǒng)是否能夠滿足一定的質(zhì)量需求(間接) 比如: 我們做一個(gè)遠(yuǎn)程數(shù)據(jù)庫管理系統(tǒng),功能完全實(shí)現(xiàn),但是每次用戶訪問需要等待1分鐘才能得到結(jié)果,用戶能夠滿意嗎?,1.1.2 功能相同品質(zhì)不同的產(chǎn)品,品質(zhì)決定了產(chǎn)品的價(jià)值,1.2 功能性和質(zhì)量屬性的關(guān)系,功能性(functionality)是指系統(tǒng)能夠完成所期望的工作的能力 質(zhì)量(Quality)組件、系統(tǒng)或過程

3、滿足指定需求或用戶/客戶需求及期望的程度 質(zhì)量屬性(quality attributes)是影響質(zhì)量的相關(guān)因素,是對質(zhì)量的描述,1.2.1 軟件質(zhì)量的描述,為了更好地理解影響軟件質(zhì)量的因素,人們定義了質(zhì)量屬性,然后構(gòu)建了與軟件質(zhì)量相關(guān)的質(zhì)量模型,圖3-18 McCall質(zhì)量模型,1.2.2 功能性和質(zhì)量屬性是正交的,功能性和質(zhì)量屬性是正交的關(guān)系 功能性可以通過任何一個(gè)結(jié)構(gòu)來實(shí)現(xiàn),功能性與結(jié)構(gòu)無關(guān) 為了要實(shí)現(xiàn)不同的質(zhì)量屬性,軟件構(gòu)架將限制系統(tǒng)的分解結(jié)構(gòu),比如A-7E的例子,1.3 構(gòu)架和質(zhì)量屬性的關(guān)系,構(gòu)架是實(shí)現(xiàn)質(zhì)量需求的軟件創(chuàng)建中的第一階段,軟件構(gòu)架確定了該構(gòu)架對特定質(zhì)量屬性的支持,比如實(shí)時(shí)性

4、,安全性等 構(gòu)架和質(zhì)量屬性的關(guān)系: 對我們關(guān)心的許多系統(tǒng)質(zhì)量屬性的實(shí)現(xiàn)而言,構(gòu)架具有重要意義 對一個(gè)構(gòu)架而言,往往只支持某些質(zhì)量屬性 構(gòu)架并不能獨(dú)立實(shí)現(xiàn)質(zhì)量屬性,它為質(zhì)量屬性的實(shí)現(xiàn)提供了基礎(chǔ),但不是全部,1.3.1 構(gòu)架和質(zhì)量屬性關(guān)系舉例,我們必須從設(shè)計(jì)、實(shí)現(xiàn)到部署的整個(gè)過程中考慮質(zhì)量屬性的實(shí)現(xiàn) 易用性(Usability)涉及到構(gòu)架和非構(gòu)架兩個(gè)方面 可修改性(Modifiability)由劃分功能的方式(構(gòu)架)和模塊中的編碼技巧及注釋(非構(gòu)架)兩方面決定 系統(tǒng)的性能(Performance)既受到構(gòu)架的影響又受到具體算法的影響 分析質(zhì)量屬性可以使我們分離關(guān)注點(diǎn),2. 系統(tǒng)的質(zhì)量屬性,從70年

5、代開始,很多軟件團(tuán)體就開始關(guān)注系統(tǒng)的質(zhì)量屬性,但以前的討論中存在三個(gè)問題: 為質(zhì)量屬性提供的定義是不可操作的,也就是沒有一個(gè)具體客觀的評判方法 往往只關(guān)注于一個(gè)特定的方面屬于哪個(gè)質(zhì)量屬性(僅關(guān)注分類),比如系統(tǒng)故障屬于可用性、安全性還是易用性 每個(gè)軟件團(tuán)體都有自己的用于質(zhì)量屬性的詞匯,這樣同一個(gè)事物被賦予不同的表達(dá),不便于涉眾之間的交流,2.1 質(zhì)量屬性場景,質(zhì)量屬性場景(scenarios)是描述質(zhì)量屬性的手段,是一種面向特定的質(zhì)量屬性的需求 質(zhì)量屬性場景在質(zhì)量屬性需求規(guī)范中的作用與用例在功能需求規(guī)范中所扮演的腳色相同,2.2 如何描述質(zhì)量屬性場景,如何描述質(zhì)量屬性場景呢? 用戶的角度 質(zhì)量

6、是指滿足用戶需求的程度,那么用戶關(guān)心的是響應(yīng)度量的問題 2. 開發(fā)者的角度 開發(fā)者要找到影響軟件響應(yīng)度量的因素,包括什么引發(fā)軟件響應(yīng),軟件的什么部分在什么條件下做出如何的響應(yīng)等,2.2.1 質(zhì)量屬性場景組成(上),質(zhì)量屬性場景由以下6個(gè)部分組成: 刺激源(Source of stimulus):生成刺激的實(shí)體(人、計(jì)算機(jī)或其他) 刺激(Stimulus):當(dāng)刺激源產(chǎn)生的刺激達(dá)到系統(tǒng)后需要考慮的條件,引起系統(tǒng)發(fā)生反應(yīng)的條件 環(huán)境(Environment):刺激到達(dá)時(shí)系統(tǒng)的狀態(tài)(狀態(tài)圖),或指刺激在系統(tǒng)的某些條件內(nèi)發(fā)生,2.2.2 質(zhì)量屬性場景組成(下),制品(Artifact):被刺激的部分,可

7、能是整個(gè)系統(tǒng),也可能是其中的一部分 響應(yīng)(Response):刺激到達(dá)后系統(tǒng)所采取的措施 響應(yīng)度量(Response measure):當(dāng)響應(yīng)發(fā)生時(shí),我們以某種方式對其進(jìn)行度量,便于我們對需求進(jìn)行測試,2.2.3 質(zhì)量屬性場景的圖形表達(dá),質(zhì)量屬性場景的6個(gè)部分,2.3 一般的和具體的質(zhì)量屬性場景,一般質(zhì)量屬性場景是指那些獨(dú)立于系統(tǒng),很可能適合任何系統(tǒng)的場景,其具有可選參數(shù) 具體質(zhì)量屬性場景是指適合正在考慮的某個(gè)特定系統(tǒng)的場景,是一般質(zhì)量屬性場景的一個(gè)特例 我們可以把具體場景的集合用于描述系統(tǒng)的質(zhì)量屬性需求,2.4 生成質(zhì)量屬性場景,特定系統(tǒng)場景的生成 對于每個(gè)屬性,我們都提供一張場景表,該表對

8、質(zhì)量屬性場景中的每一部分都給出了可能的獨(dú)立于系統(tǒng)的值。通過為每個(gè)元素選擇一個(gè)值來生成一般的質(zhì)量屬性場景;通過從該表的每一列選擇一個(gè)或多個(gè)條目,然后使結(jié)果變得可讀來生成具體場景,2.4.1 一般場景生成表,2.4.2 質(zhì)量屬性場景的關(guān)系,質(zhì)量屬性、質(zhì)量屬性場景和系統(tǒng)的關(guān)系,3. 實(shí)踐中的質(zhì)量屬性場景,一般場景提供了一個(gè)生成大量一般的、獨(dú)立于系統(tǒng)地、特定于質(zhì)量屬性的場景框架 這里主要討論6個(gè)質(zhì)量屬性及其一般場景 可用性(Availability) 可修改性(Modifiability) 性能(Performance) 安全性(Security) 可測試性(Testability) 易用性(Usab

9、ility),3.1 可用性(Availability),可用性與系統(tǒng)故障及其相關(guān)后果有關(guān)。當(dāng)系統(tǒng)不再提供其規(guī)范中所說明的服務(wù)時(shí),就出現(xiàn)了系統(tǒng)故障 系統(tǒng)錯誤與故障不同,系統(tǒng)錯誤對用戶而言不可見,當(dāng)系統(tǒng)錯誤被用戶看見就變成了故障 比如,計(jì)算人體的心率 if( HR250)/ 計(jì)算出錯 return (Last_HR);/ 屏蔽錯誤,未出現(xiàn)故障 ,3.1.1 可用性關(guān)注的問題,如何檢測故障 發(fā)生故障的頻度 出現(xiàn)故障時(shí)的現(xiàn)象 系統(tǒng)故障排除的時(shí)限 如何防止故障的發(fā)生 發(fā)生故障時(shí)的處理,3.1.2 可用性的表示,故障修復(fù)時(shí)間:從出現(xiàn)故障到用戶看不到故障的時(shí)間 系統(tǒng)的可用性表示:可以使用系統(tǒng)正常運(yùn)行的時(shí)間

10、比例來表示 平均正常工作時(shí)間 a = (平均正常工作時(shí)間+平均修復(fù)時(shí)間) 根據(jù)這個(gè)公式我們可以得出一個(gè)百分比,從而定量地表示可用性,我們可以說99%的可用性,或者表示為1%的故障率,3.1.3 可用性的分級,不可用性=平均修復(fù)時(shí)間(MTTR)/平均故障間隔時(shí)間(MTBF),3.1.4 可用性相關(guān)的術(shù)語,疏忽(Omission):組件未能對某個(gè)輸入做出響應(yīng) 崩潰(Crash):組件不斷遭受疏忽的錯誤 時(shí)間(Timing):組件做出了響應(yīng),但做出響應(yīng)的時(shí)間錯誤 響應(yīng)(Response):組件用一個(gè)不正確的值做出了響應(yīng),3.1.5 可用性的一般場景生成,3.1.6 可用性的一般場景圖形,可用性的一般

11、場景,3.1.7 可用性的特定質(zhì)量屬性場景,在正常操作期間,進(jìn)程收到一個(gè)未曾預(yù)料到的消息,該進(jìn)程通知操作人員后繼續(xù)操作,沒有停機(jī),3.2 可修改性(Modifiability),任何一個(gè)系統(tǒng)都是可修改的,簡單的修改可用通過系統(tǒng)配置在幾分鐘內(nèi)完成,復(fù)雜的修改可能需要重做系統(tǒng)已滿足新的需要,我們?nèi)绾蝸碓u價(jià)一個(gè)系統(tǒng)的可修改性能? 可修改性是關(guān)于變更的成本問題,3.2.1 可修改性關(guān)注的問題,可以修改什么? 如修改系統(tǒng)功能、系統(tǒng)運(yùn)行的平臺和環(huán)境、系統(tǒng)容量、質(zhì)量屬性等 何時(shí)進(jìn)行變更以及由誰進(jìn)行變更? 修改時(shí)間包括設(shè)計(jì)時(shí)修改(源代碼)、編譯時(shí)修改(編譯條件),部署時(shí)修改(系統(tǒng)配置)等 修改人員可以是開發(fā)人

12、員、用戶或系統(tǒng)管理員等,3.2.2 可修改性的一般質(zhì)量屬性場景,3.2.3 可修改性場景舉例,場景樣例:開發(fā)人員在程序中增加數(shù)據(jù)積分處理功能,對源代碼進(jìn)行修改,要求在一周內(nèi)完成修改并做測試,而且修改行為不會產(chǎn)生副作用,3.3 性能(Performance),性能與事件發(fā)生時(shí),將要耗費(fèi)系統(tǒng)多長時(shí)間做出響應(yīng)有關(guān) 影響性能的因素包括:事件源的數(shù)量和到達(dá)模式 到達(dá)系統(tǒng)的事件包括:周期性事件、隨機(jī)事件或偶然事件,3.3.1 性能的術(shù)語,等待時(shí)間:刺激達(dá)到和系統(tǒng)對其做出響應(yīng)之間的時(shí)間 處理期限:最長等待時(shí)間 系統(tǒng)吞吐量:系統(tǒng)單位時(shí)間處理事務(wù)的次數(shù) 響應(yīng)抖動:等待時(shí)間的變化 缺失率:由于系統(tǒng)太忙因而無法做出

13、響應(yīng)所導(dǎo)致的未處理事件的數(shù)量 數(shù)據(jù)丟失:因?yàn)橄到y(tǒng)太忙所丟失的數(shù)據(jù),3.3.2 性能的一般質(zhì)量屬性場景,3.3.3 性能的場景樣例,場景樣例:一個(gè)Web金融服務(wù)系統(tǒng)的性能場景樣例,要求平均等待2秒鐘完成一次交易,3.4 安全性(Security),安全性是衡量系統(tǒng)在向合法用戶提供服務(wù)的同時(shí),阻止非授權(quán)使用的能力 安全性就是要阻止以下三類攻擊的發(fā)生 未經(jīng)授權(quán)試圖訪問數(shù)據(jù)或服務(wù) 未經(jīng)允許試圖修改數(shù)據(jù) 試圖使系統(tǒng)拒絕向合法用戶提供服務(wù),3.4.1 安全性系統(tǒng),安全性系統(tǒng)被刻畫為一個(gè)提供如下屬性的系統(tǒng): 認(rèn) 可交易不能被交易的任何一方拒絕 機(jī)密性未經(jīng)授權(quán)不能訪問數(shù)據(jù)或服務(wù) 完整性根據(jù)計(jì)劃來提交數(shù)據(jù)或服務(wù)

14、 保 證交易各方是所聲稱的人 可用性系統(tǒng)可用于合法用途 審 核在系統(tǒng)內(nèi)部跟蹤系統(tǒng)活動,3.4.2 安全性一般質(zhì)量屬項(xiàng)場景,3.4.3 安全性場景樣例,場景樣例:計(jì)算機(jī)病毒阻止系統(tǒng)提供的網(wǎng)絡(luò)連接服務(wù),通過殺毒軟件進(jìn)行清除,3.5 可測試性(Testability),可測試性是指通過測試揭示軟件缺陷的容易程度 特別地,可測試性是指假設(shè)軟件中至少有一個(gè)錯誤,軟件在下次測試運(yùn)行時(shí)不能正常工作的可能性 如果要對系統(tǒng)進(jìn)行正確的測試,那么必須能夠“控制”每個(gè)組件的內(nèi)部狀態(tài)及其輸入,然后“觀察”其輸出,3.5.1 可測試性的相關(guān)因素,測試可以由開發(fā)人員、測試人員、驗(yàn)證人員或用戶進(jìn)行 可以對代碼、設(shè)計(jì)以及整個(gè)系

15、統(tǒng)進(jìn)行測試 可測試性的響應(yīng)度量處理是測試在發(fā)現(xiàn)缺陷方面的效率,以及要想達(dá)到某個(gè)期望的覆蓋范圍需要用多長時(shí)間進(jìn)行測試,3.5.2 可測試性一般質(zhì)量屬性場景,3.5.3 可測試性場景樣例,場景樣例:單元測試人員在一個(gè)已完成系統(tǒng)組件上執(zhí)行單元測試,3.6 易用性(Usability),易用性關(guān)注的是對用戶來說完成某個(gè)期望任務(wù)的容易程度和系統(tǒng)所提供的用戶支持種類 比如:是否提供撤銷、重做功能,3.6.1 易用性的內(nèi)容,易用性包括以下幾方面內(nèi)容: 學(xué)習(xí)系統(tǒng)的特性 有效地使用系統(tǒng),提高用戶操作效率 將錯誤的影響降到最低 使系統(tǒng)適應(yīng)用戶的需要 提高用戶自信和滿意度,3.6.2 易用性一般質(zhì)量屬性場景,3.6

16、.3 易用性場景樣例,場景樣例:想把錯誤的影響降到最低的用戶希望在運(yùn)行時(shí)可以取消系統(tǒng)操作,3.7 其他系統(tǒng)質(zhì)量屬性,除了上面提到的六種質(zhì)量屬性之外,系統(tǒng)還存在著其他質(zhì)量屬性 可擴(kuò)充性 包括功能可擴(kuò)充或容量可擴(kuò)充,該屬性可歸納到可修改性中 互操作性 比如學(xué)習(xí)系統(tǒng)、游戲系統(tǒng)等 對于其他質(zhì)量屬性,我們可以自己定義其源、刺激、環(huán)境、制品、響應(yīng)和響應(yīng)度量,4. 商業(yè)質(zhì)量屬性,除了系統(tǒng)的質(zhì)量屬性之外,很多商業(yè)質(zhì)量目標(biāo)往往也會對系統(tǒng)的構(gòu)架產(chǎn)生較大的影響 商業(yè)目標(biāo)也可以通過場景進(jìn)行具體化,4.1 我們所關(guān)心的商業(yè)目標(biāo),上市時(shí)間 成本和收益 所希望的系統(tǒng)生命期的長短 目標(biāo)市場,通用市場還是專用市場 推出計(jì)劃 與

17、老系統(tǒng)的集成,4.1.1 上市時(shí)間,如果存在較大的競爭壓力,則開發(fā)時(shí)間長短就成為一個(gè)重要的商業(yè)決策因素 開發(fā)商在開發(fā)中通過購買或重用現(xiàn)有元素來縮短上市時(shí)間,4.1.1.1 商業(yè)質(zhì)量屬性場景樣例,上市時(shí)間場景樣例,4.1.2 成本與效益,不同構(gòu)架會具有不同的開發(fā)成本 比如:實(shí)現(xiàn)一個(gè)靈活性很高的構(gòu)建通常需要更好的成本 開發(fā)組織需要根據(jù)預(yù)算來設(shè)計(jì)構(gòu)架,4.1.3 所希望系統(tǒng)生命期的長短,如果需要系統(tǒng)生命期很長,則可修改性,可擴(kuò)充性和可移植性就變得非常重要,但這會影響到系統(tǒng)的上市時(shí)間 另一方面,可修改性,可擴(kuò)展的產(chǎn)品可能在市場上存在較長時(shí)間,4.1.4 目標(biāo)市場,目標(biāo)市場性質(zhì)的影響 針對通用軟件,系統(tǒng)所運(yùn)行的平臺及其特性集將決定潛在市場的大小,可移植性和功能性就成為占有市場多大份額的關(guān)鍵 而對于較大的專業(yè)市場,則應(yīng)該考慮產(chǎn)品線策略,4.1.5 推出計(jì)劃,如果產(chǎn)品作為一個(gè)基本功能集推出,以后將會發(fā)布很多特性,則構(gòu)架的靈活性和可定制性就非常重要,4.1.6 與老系統(tǒng)的集成,如果新開發(fā)的系統(tǒng)必須與現(xiàn)有系統(tǒng)集成,則一定要定義合適的繼承方法,應(yīng)該在構(gòu)架上保證接口的一致性,5. 構(gòu)架的質(zhì)量屬性,構(gòu)架的質(zhì)量屬性包括: 概念完整性 在各

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論