軟件體系結(jié)構(gòu)的質(zhì)量屬性_第1頁
軟件體系結(jié)構(gòu)的質(zhì)量屬性_第2頁
軟件體系結(jié)構(gòu)的質(zhì)量屬性_第3頁
軟件體系結(jié)構(gòu)的質(zhì)量屬性_第4頁
軟件體系結(jié)構(gòu)的質(zhì)量屬性_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件體系結(jié)構(gòu)的質(zhì)量屬性,Quality Characteristics for Software Architecture,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2012/9/23,即將探討的問題 概念與方法 案例 個(gè)人體會(huì),內(nèi)容,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,1 即將探討的問題,軟件體系結(jié)構(gòu)究竟如何定義? 雖然軟件體系結(jié)構(gòu)已經(jīng)在軟件工程領(lǐng)域中有著廣泛的應(yīng)用,但迄今為止還沒有一個(gè)被大家所公認(rèn)的定義,注意 工程中的構(gòu)件的復(fù)用是因?yàn)楣こ處熤幌爰芯ψ鲈O(shè)計(jì)中真正創(chuàng)新的部分,為何不可照搬建筑工程的Architecture來解決軟件工程里的Architecture? 軟件工程的確在

2、朝著工程學(xué)科發(fā)展的一般模式靠攏,但是大規(guī)模的復(fù)用才剛剛開始嘗試,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,1 即將探討的問題,更直觀的表象:失效曲線 來自于設(shè)計(jì)或生產(chǎn)的缺陷與時(shí)間的函數(shù)關(guān)系,時(shí)間(年,時(shí)間(年,失效率,失效率,理想曲線,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,注意 實(shí)際上更變的副作用從設(shè)計(jì)階段就初現(xiàn)端倪,1 即將探討的問題,啟發(fā) 軟件的質(zhì)量問題暗示了設(shè)計(jì)缺陷或者從設(shè)計(jì)轉(zhuǎn)化到機(jī)器代碼的過程中產(chǎn)生的錯(cuò)誤。 關(guān)注前者(即軟件體系結(jié)構(gòu)),是否可以用高質(zhì)量的設(shè)計(jì)來提高最終產(chǎn)品的質(zhì)量,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,工具,方法,過程,質(zhì)量關(guān)注點(diǎn),軟件工程層次圖,1 即將探

3、討的問題,在設(shè)計(jì)階段評(píng)估體系結(jié)構(gòu) 對(duì)于投資人:將賭注提前放在贏家 對(duì)于用戶:保證系統(tǒng)不偏離 對(duì)于架構(gòu)師:用一種好的方法驗(yàn)證經(jīng)驗(yàn),軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,我們需要一種方法,以便讓我們?cè)u(píng)估每個(gè)候選的體系結(jié)構(gòu),以確定哪種體系結(jié)構(gòu)最適合解決問題,2 概念與方法,軟件體系結(jié)構(gòu)的質(zhì)量 功能性需求是影響體系結(jié)構(gòu)設(shè)計(jì)的核心,實(shí)際上大量的影響因素還包含在質(zhì)量需求中。 但是標(biāo)準(zhǔn)的OOA和OOD中,沒有一個(gè)清晰的指導(dǎo)方法捕獲這些需求,體系結(jié)構(gòu)的設(shè)計(jì)也不是一個(gè)獨(dú)立的過程,而是作為細(xì)化迭代的一個(gè)小塊穿插在復(fù)雜的功能設(shè)計(jì)中,這就使得質(zhì)量需求更加難以捕獲了,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2

4、 概念與方法,解決問題的途徑 建立一種清晰的,可重用的框架來評(píng)估體系結(jié)構(gòu)的質(zhì)量,提煉出屬性層和測(cè)量項(xiàng),應(yīng)用于評(píng)估當(dāng)中,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,采用分解的方法評(píng)估,2 概念與方法,體系結(jié)構(gòu)的權(quán)衡分析方法 Architecture Tradeoff Analysis Method(ATAM) 收集場(chǎng)景 引出需求、約束和環(huán)境描述 列出所有的候選體系結(jié)構(gòu)風(fēng)格/模式 單獨(dú)考慮每個(gè)屬性來評(píng)估質(zhì)量屬性 針對(duì)特定的體系結(jié)構(gòu)風(fēng)格確定質(zhì)量屬性對(duì)各個(gè)候選項(xiàng)的敏感性 使用第5步中的鑒定結(jié)果,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,注意 上述步驟只是一次迭代,基于第5步和第6步的結(jié)果,某些候選體

5、系結(jié)構(gòu)被刪除,其他可進(jìn)一步細(xì)化再使用ATAM,2 概念與方法,體系結(jié)構(gòu)的權(quán)衡分析方法(ATAM)還是存在問題 ATAM使用效用樹來將質(zhì)量特性劃分主次,但是這個(gè)效用樹如何達(dá)到?為什么只有一層?甚至連質(zhì)量特性的定義也不是很清晰。 http:/,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,還有其他改進(jìn)的方法嗎,2 概念與方法,基于ISO9126-1建立體系結(jié)構(gòu)質(zhì)量模型 模型結(jié)構(gòu)和ATAM類似,基于ISO9126-1構(gòu)建,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,什么是ISO9126-1標(biāo)準(zhǔn)? Software Quality Characteristics 更多資料可參閱: ISO/IEC 912

6、6 in practice: What do we need to know,2 概念與方法,關(guān)于ISO9126-1質(zhì)量模型 根據(jù)ISO9126-1,質(zhì)量被描述為一組特性,用于評(píng)估其滿足需求(顯性和隱性)的能力。 從用戶角度:最終產(chǎn)品的質(zhì)量 從開發(fā)人員角度:不同開發(fā)人員提供的中間產(chǎn)品的質(zhì)量 從客戶角度:市場(chǎng)的需求 注意 作為開發(fā)人員通常只考慮前兩項(xiàng),軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,關(guān)于ISO9126-1質(zhì)量模型 ISO9126-1廣泛用于產(chǎn)品質(zhì)量評(píng)估當(dāng)中,作為評(píng)估質(zhì)量的一個(gè)State-of-art標(biāo)準(zhǔn)。 ISO9126-1包含六個(gè)高度獨(dú)立的質(zhì)量特性,質(zhì)量特性在開發(fā)的

7、各個(gè)階段作為外部確認(rèn)和內(nèi)部審查的目標(biāo),一旦獲得可測(cè)量的實(shí)體,就按照?qǐng)D中所示的過程精化,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,特性-子特性-屬性-度量 分解過程,2 概念與方法,ISO9126-1質(zhì)量模型框架 為了在開發(fā)中監(jiān)控質(zhì)量,外部的質(zhì)量屬性通常轉(zhuǎn)換為中間產(chǎn)品的需求,這個(gè)過程實(shí)際上無章可循。 所以提出ISO9126-1的標(biāo)準(zhǔn),軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,ISO9126-1質(zhì)量模型的特性,2 概念與方法,ISO9126-1質(zhì)量模型框架,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,ISO9126-1質(zhì)量模型的細(xì)化,2 概念與方法,ISO9126-1質(zhì)量模型框架應(yīng)用于體系結(jié)構(gòu)

8、 一個(gè)特定的體系結(jié)構(gòu)可以視為一種高級(jí)組件,同樣由連接器連接。按照ISO9126-1標(biāo)準(zhǔn)中的劃分,組件每個(gè)特性的質(zhì)量屬性都可以被度量,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,注意 隨著體系結(jié)構(gòu)的確定,進(jìn)一步分解體系結(jié)構(gòu)是否可以增強(qiáng)結(jié)構(gòu)的質(zhì)量?這個(gè)問題的回答是肯定的,但是不是我們要討論的問題范圍,2 概念與方法,ISO9126-1質(zhì)量模型框架應(yīng)用于體系結(jié)構(gòu) 質(zhì)量的度量按直覺評(píng)價(jià),一般方法是列出產(chǎn)品的特性,然后用一個(gè)屬性組來描述它。 只要達(dá)到預(yù)期的值,則認(rèn)為是一個(gè)達(dá)標(biāo)的產(chǎn)品,至于達(dá)標(biāo)的值的界定,一般包含在需求當(dāng)中。 下面進(jìn)一步解釋如何細(xì)化屬性并將其用于體系結(jié)構(gòu),軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/

9、9/23,注意 我們假定這些特性都是彼此獨(dú)立的,否則就太過復(fù)雜,無法討論下去了,2 概念與方法,1 功能性 適合性(Suitability) 擁有符合特定任務(wù)需求的足夠的功能。 存在:任務(wù)已被詳細(xì)說明 正確:正確的解釋任務(wù)的詳細(xì)說明。 從軟件體系結(jié)構(gòu)的層次上說明: 系統(tǒng)的功能性必須被識(shí)別出來。在此種情況下,根據(jù)確定與否取值為1或0。 由功能需求所獲得的時(shí)序圖必須被詳細(xì)精化。在擁有一個(gè)體系結(jié)構(gòu)說明書的情況下,特定的功能被分解成與構(gòu)件有關(guān)的子功能,并且這些子功能合起來應(yīng)滿足系統(tǒng)的功能性需求,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2

10、概念與方法,1 功能性 互操作性(Interoperability) 在一個(gè)系統(tǒng)內(nèi)或多個(gè)系統(tǒng)間相互作用的能力。 可替代性replaceability 兼容性compatibility 從軟件體系結(jié)構(gòu)的層次上說明: 識(shí)別與外部特定系統(tǒng)進(jìn)行交互的中間件。 根據(jù)中間件的存在與否決定屬性值為1或者0,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,1 功能性 安全性(Security) 防止未經(jīng)授權(quán)訪問程序或者數(shù)據(jù)的能力。 從軟件體系結(jié)構(gòu)的層次上說明: 應(yīng)有一種機(jī)制或者設(shè)備(軟件或硬件)來明顯地完成這個(gè)任務(wù)??梢允墙M件(如中間件提供的一項(xiàng)服務(wù))或集成在組件里的功能。 根據(jù)機(jī)制或者設(shè)備的存在

11、與否決定屬性值為1或者0,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,1 功能性 依從性(Compliance) 軟件遵循有關(guān)標(biāo)準(zhǔn)、約定、法規(guī)或類似規(guī)定的能力。 從軟件體系結(jié)構(gòu)的層次上說明: 很籠統(tǒng),無法直接應(yīng)用到體系結(jié)構(gòu)設(shè)計(jì)。 根據(jù)要求的標(biāo)準(zhǔn)的應(yīng)用與否決定屬性值為1或者0。 體系結(jié)構(gòu)的依從性可以認(rèn)為是對(duì)體系結(jié)構(gòu)相關(guān)的約束的滿足情況,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,2 可靠性 容錯(cuò)性(Tolerance) 在軟件發(fā)生故障或違反指定接口的情況下,軟件產(chǎn)品維持規(guī)定的性能水平的能力。 從軟件體系結(jié)

12、構(gòu)的層次上說明: 它意味著擁有某種機(jī)制或軟件設(shè)備。它可以是一個(gè)構(gòu)件或被集成到構(gòu)件中,如異常處理以及冗余。 根據(jù)這種機(jī)制或設(shè)備的出現(xiàn)與否定義其值為1或者0。 它可以被精確為一種屬性,這種屬性的值與機(jī)制或者設(shè)備相關(guān),軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,2 可靠性 可恢復(fù)性(Recoverability) 1、重建規(guī)定的性能水平的能力。2、恢復(fù)受影響的數(shù)據(jù)的能力。3、恢復(fù)所需的時(shí)間。 從軟件體系結(jié)構(gòu)的層次上說明: 軟件中存在一種機(jī)制或者軟件設(shè)備,其獨(dú)自成為構(gòu)件或被集成在構(gòu)件中,其功能是重建或恢復(fù)數(shù)據(jù)(冗余就是一個(gè)典型的例子)。 如果這種機(jī)制存在,那么可恢復(fù)性就可被細(xì)化為一種和

13、時(shí)間、代價(jià)相關(guān)的性能屬性,每個(gè)支持此機(jī)制的組件都需計(jì)算出這樣的屬性,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,3 易用性 易理解性(Understandability) 是指軟件產(chǎn)品使用戶能理解軟件產(chǎn)品是否合適以及如何能將軟件用于特定的任務(wù)和使用環(huán)境的能力。 易學(xué)習(xí)性(Learnability) 軟件產(chǎn)品使用戶能學(xué)習(xí)它的能力。 易操作性(Operability) 軟件產(chǎn)品使用戶能操控和控制它的能力。 GUI,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,注意 從軟件體系結(jié)構(gòu)的層次上說明:它們獨(dú)立于體系結(jié)構(gòu)(體系結(jié)構(gòu)對(duì)用戶來說是透明的),在此不予論述,2 概念與方法,軟件體系結(jié)構(gòu)

14、的質(zhì)量屬性 2012/9/23,2 概念與方法,4 效率 資源利用 (Resource utilization) 在規(guī)定的條件下,軟件產(chǎn)品執(zhí)行其功能時(shí),所使用的資源數(shù)量、類型及其使用時(shí)間。 復(fù)雜性(complexity) 從軟件體系結(jié)構(gòu)的層次上說明: 每個(gè)功能都可以測(cè)量這個(gè)屬性,時(shí)間和空間與組件密切相關(guān),軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,5 可維護(hù)性 易分析性(Analyzability) 軟件產(chǎn)品可被診斷軟件中的缺陷或失效原因,以及判定待修改部分的能力。 易改變性(Changeability) 軟件產(chǎn)品使指定的修改可以被實(shí)現(xiàn)的能力。 穩(wěn)定性(Stability) 軟

15、件產(chǎn)品避免軟件避免由于軟件修改而造成意外結(jié)果的能力。 易測(cè)性(Testability) 軟件產(chǎn)品使已做修改能被確認(rèn)的能力,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,6 可移植性 適應(yīng)性(Adaptability) 軟件產(chǎn)品無需采用有別于為考慮該軟件的目的而準(zhǔn)備的活動(dòng)或手段,就可以適應(yīng)不同的指定的環(huán)境的能力。 從軟件體系結(jié)構(gòu)的層次上說明: 為適應(yīng)而出現(xiàn)的機(jī)制,比如特定的類或者參數(shù)。 度量根據(jù)機(jī)制的出現(xiàn)與否來決定其值為1或者0,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,6 可移植性 可安裝性(Installability) 軟件產(chǎn)品在指定環(huán)境下可被安裝的能力。

16、從軟件體系結(jié)構(gòu)的層次上說明: 安裝機(jī)制的存在。 這個(gè)子特性根據(jù)機(jī)制的出現(xiàn)與否來決定其值為1或者0,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,6 可移植性 可共存性(Co-existence) 軟件產(chǎn)品在公共環(huán)境中同與其分享公共資源的其他獨(dú)立軟件共存的能力。 從軟件體系結(jié)構(gòu)的層次上說明: 為滿足共存的設(shè)計(jì)的機(jī)制。 這個(gè)子特性根據(jù)機(jī)制的出現(xiàn)與否來決定其值為1或者0,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,2 概念與方法,6 可移植性 可替代性(Replaceability) 是指軟件產(chǎn)品在環(huán)境相同、目的相同的情況下替代另一個(gè)指定軟件產(chǎn)品的能力。 從軟件體系結(jié)構(gòu)的層次上說明:

17、這個(gè)屬性用表格來列出每個(gè)組件可以被替代的候選項(xiàng),軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,3 案例,通過案例分析來說明本模型的應(yīng)用 股票交易監(jiān)控系統(tǒng)(Stock Exchange Monitoring System) 該軟件監(jiān)視股票市場(chǎng)的變化并向用戶發(fā)送信息提示,只提取部分需求分析。 部分需求表述 該系統(tǒng)包含一個(gè)feed server,提供feed反饋給data server,feed中包含了股票變化的相關(guān)信息。 Client分布在不同地理位置,全部依靠data server提供數(shù)據(jù),當(dāng)feed改變,data server就廣播出去,系統(tǒng)的延遲取決于網(wǎng)絡(luò)結(jié)構(gòu)。 系統(tǒng)要求安全性高,易用性強(qiáng),跨

18、平臺(tái),可信度高,并使用Internet和定制的瀏覽器,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,3 案例,考慮使用的兩種不同的體系結(jié)構(gòu) -發(fā)布訂閱模式Publisher/Subscriber(push model) 用戶訂閱信息記錄在CSDB中 股票數(shù)據(jù)在DB中,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,Client subscriptions DB,subscriber,publisher,DB,Feed receiver,Subscription,Send changed values,Browsers Clients,Send changed values,Send Feeds,Store,Antenna,基于發(fā)布訂閱模型的體系結(jié)構(gòu),3 案例,考慮使用的兩種不同的體系結(jié)構(gòu) -資源庫模式Repository 客戶請(qǐng)求在CIDB中 股票數(shù)據(jù)在DB中,軟件體系結(jié)構(gòu)的質(zhì)量屬性 2012/9/23,Client invoices DB,Data Server,DB,Feed receiver,Request from client Acknowledgment,Response to client,Browsers Clients,response,Send Feeds,S

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論