軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的質(zhì)量屬性

上傳人:1666****666 文檔編號(hào):42295095 上傳時(shí)間:2021-11-25 格式:PPT 頁(yè)數(shù):86 大?。?.02MB
收藏 版權(quán)申訴 舉報(bào) 下載
軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的質(zhì)量屬性_第1頁(yè)
第1頁(yè) / 共86頁(yè)
軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的質(zhì)量屬性_第2頁(yè)
第2頁(yè) / 共86頁(yè)
軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的質(zhì)量屬性_第3頁(yè)
第3頁(yè) / 共86頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的質(zhì)量屬性》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的質(zhì)量屬性(86頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、1軟件體系結(jié)構(gòu)質(zhì)量屬性張平健華南理工大學(xué)軟件學(xué)院2Relationship of Functionality and Quality AttributesFunctionalityQuality3功能與體系結(jié)構(gòu)lFunctionality and quality attributes are orthogonal. lFunctionality may be achieved through the use of any of a number of possible structures. 456l 軟件體系結(jié)構(gòu)技術(shù)的核心是在系統(tǒng)開(kāi)發(fā)過(guò)程中盡可能早地處理相關(guān)質(zhì)量問(wèn)題。7l 可用性l 可修改性

2、l 性能l 安全性l 可測(cè)試性l 易用性通過(guò)軟件的執(zhí)行才可見(jiàn)的質(zhì)量因素通過(guò)軟件的執(zhí)行才可見(jiàn)的質(zhì)量因素非執(zhí)行可見(jiàn)的質(zhì)量因素非執(zhí)行可見(jiàn)的質(zhì)量因素8l 中國(guó)地球系統(tǒng)科學(xué)數(shù)據(jù)共享網(wǎng):提供科學(xué)數(shù)據(jù)共享服務(wù)的軟件平臺(tái),要為科學(xué)數(shù)據(jù)共享提供廣泛的技術(shù)環(huán)境支持。9特點(diǎn):數(shù)據(jù)來(lái)源分散。l 科學(xué)數(shù)據(jù)的采集和獲取,是從科學(xué)工作者的研究工作中一點(diǎn)一滴地收集起來(lái)的。它們掌握在各個(gè)科研院所、科研人員手中。因此,作為科學(xué)數(shù)據(jù)共享網(wǎng)的主要服務(wù)內(nèi)容科學(xué)數(shù)據(jù),可能是分布在全國(guó)各地,甚至還可能來(lái)自國(guó)外。10特點(diǎn):數(shù)據(jù)的海量存儲(chǔ)l 目前人們掌握的科學(xué)數(shù)據(jù)是經(jīng)歷了數(shù)年、數(shù)十年地收集整理而得到的??梢韵胂?,數(shù)據(jù)量是相當(dāng)龐大的;尤其是氣象

3、、地震、地學(xué)等學(xué)科領(lǐng)域的數(shù)據(jù)資源,更是巨大。顯然,這需要借助海量存儲(chǔ)技術(shù)對(duì)科學(xué)數(shù)據(jù)資源進(jìn)行存儲(chǔ)和管理。11特點(diǎn):運(yùn)算量大l 由于數(shù)據(jù)量的龐大,所以科學(xué)數(shù)據(jù)資源的收集、搜索方面的運(yùn)算量是可觀的。此外,科學(xué)數(shù)據(jù)共享網(wǎng)不僅僅提供數(shù)據(jù)共享的功能,還會(huì)提供科學(xué)數(shù)據(jù)計(jì)算等增值服務(wù),這無(wú)形中也增加了系統(tǒng)的運(yùn)算量。12特點(diǎn):使用人員廣泛l 科學(xué)數(shù)據(jù)有其廣泛深遠(yuǎn)的研究?jī)r(jià)值、社會(huì)價(jià)值和經(jīng)濟(jì)價(jià)值。所以,對(duì)科學(xué)數(shù)據(jù)有使用需求的人員是來(lái)自各行各業(yè)的,既有科研單位和學(xué)者,也有政府機(jī)構(gòu)和企業(yè)單位。13l 能夠快捷地收集數(shù)據(jù)??茖W(xué)數(shù)據(jù)分散在科研院所和科學(xué)家科學(xué)數(shù)據(jù)分散在科研院所和科學(xué)家當(dāng)中。要設(shè)計(jì)開(kāi)發(fā)一套收集數(shù)據(jù)的機(jī)制,使其

4、能夠快速地整當(dāng)中。要設(shè)計(jì)開(kāi)發(fā)一套收集數(shù)據(jù)的機(jī)制,使其能夠快速地整合到系統(tǒng)中,提供數(shù)據(jù)共享服務(wù)。數(shù)據(jù)收集的途徑主要通過(guò)合到系統(tǒng)中,提供數(shù)據(jù)共享服務(wù)。數(shù)據(jù)收集的途徑主要通過(guò)網(wǎng)絡(luò)媒介,而且不能影響系統(tǒng)所提供的網(wǎng)絡(luò)服務(wù)的正常運(yùn)行。網(wǎng)絡(luò)媒介,而且不能影響系統(tǒng)所提供的網(wǎng)絡(luò)服務(wù)的正常運(yùn)行。l 有效存儲(chǔ)和管理海量的數(shù)據(jù),并快速定位數(shù)據(jù)。該系該系統(tǒng)能夠提供目錄服務(wù),合理地管理數(shù)據(jù);提供給用戶(hù)查閱、統(tǒng)能夠提供目錄服務(wù),合理地管理數(shù)據(jù);提供給用戶(hù)查閱、下載、使用數(shù)據(jù)的服務(wù)。當(dāng)用戶(hù)在系統(tǒng)中查找數(shù)據(jù)時(shí),希望下載、使用數(shù)據(jù)的服務(wù)。當(dāng)用戶(hù)在系統(tǒng)中查找數(shù)據(jù)時(shí),希望能夠快速定位數(shù)據(jù),提供服務(wù),平均響應(yīng)時(shí)間最長(zhǎng)不超過(guò)能夠快速定位

5、數(shù)據(jù),提供服務(wù),平均響應(yīng)時(shí)間最長(zhǎng)不超過(guò)20秒。秒。l 保護(hù)數(shù)據(jù)版權(quán),保證數(shù)據(jù)的安全性??茖W(xué)數(shù)據(jù)存在著版科學(xué)數(shù)據(jù)存在著版權(quán)的問(wèn)題。在數(shù)據(jù)使用上,需要版權(quán)保護(hù)。此外,由于一些權(quán)的問(wèn)題。在數(shù)據(jù)使用上,需要版權(quán)保護(hù)。此外,由于一些數(shù)據(jù)有其時(shí)效性和保密性,所以在提供服務(wù)時(shí)需要對(duì)數(shù)據(jù)訪數(shù)據(jù)有其時(shí)效性和保密性,所以在提供服務(wù)時(shí)需要對(duì)數(shù)據(jù)訪問(wèn)進(jìn)行相應(yīng)的安全控制。問(wèn)進(jìn)行相應(yīng)的安全控制。14 質(zhì)量屬性 針對(duì)質(zhì)量屬性的需求 可用性可用性/可靠性可靠性 系統(tǒng)應(yīng)能長(zhǎng)期穩(wěn)定地提供服務(wù),近似系統(tǒng)應(yīng)能長(zhǎng)期穩(wěn)定地提供服務(wù),近似7 X 24小時(shí)工作強(qiáng)度;小時(shí)工作強(qiáng)度; 在負(fù)載過(guò)重或是系統(tǒng)崩潰的情況下,能保證用戶(hù)請(qǐng)求不丟失;在負(fù)載

6、過(guò)重或是系統(tǒng)崩潰的情況下,能保證用戶(hù)請(qǐng)求不丟失; 當(dāng)系統(tǒng)出現(xiàn)故障或崩潰時(shí),恢復(fù)時(shí)間不超過(guò)兩小時(shí);當(dāng)系統(tǒng)出現(xiàn)故障或崩潰時(shí),恢復(fù)時(shí)間不超過(guò)兩小時(shí); 可維護(hù)性可維護(hù)性 修改某個(gè)子系統(tǒng)或服務(wù)時(shí),不影響其他子系統(tǒng)或服務(wù);修改某個(gè)子系統(tǒng)或服務(wù)時(shí),不影響其他子系統(tǒng)或服務(wù); 性能性能 高峰時(shí)系統(tǒng)的平均響應(yīng)時(shí)間控制在高峰時(shí)系統(tǒng)的平均響應(yīng)時(shí)間控制在20秒以?xún)?nèi);秒以?xún)?nèi); 系統(tǒng)能夠滿(mǎn)足系統(tǒng)能夠滿(mǎn)足100個(gè)并發(fā)的用戶(hù)查詢(xún)請(qǐng)求;個(gè)并發(fā)的用戶(hù)查詢(xún)請(qǐng)求; 系統(tǒng)至少能夠支持系統(tǒng)至少能夠支持2000個(gè)用戶(hù)的在線服務(wù);個(gè)用戶(hù)的在線服務(wù); 安全性安全性 對(duì)有保密性要求的數(shù)據(jù)實(shí)施安全控制;對(duì)有保密性要求的數(shù)據(jù)實(shí)施安全控制; 提供系統(tǒng)運(yùn)

7、行日志監(jiān)控信息,供管理員了解系統(tǒng)運(yùn)行狀態(tài);提供系統(tǒng)運(yùn)行日志監(jiān)控信息,供管理員了解系統(tǒng)運(yùn)行狀態(tài); 商業(yè)屬性商業(yè)屬性 2005年中期完成系統(tǒng),年底前投入正式使用;年中期完成系統(tǒng),年底前投入正式使用; 能夠利用現(xiàn)有系統(tǒng)的可利用資源;能夠利用現(xiàn)有系統(tǒng)的可利用資源; 初期總共投資初期總共投資2000萬(wàn),分別用于系統(tǒng)的集成建設(shè)和開(kāi)發(fā)、共享萬(wàn),分別用于系統(tǒng)的集成建設(shè)和開(kāi)發(fā)、共享 數(shù)據(jù)標(biāo)準(zhǔn)的制定。數(shù)據(jù)標(biāo)準(zhǔn)的制定。15l 一般兩種途徑:l 用戶(hù)直接主動(dòng)地提供的需求。主要是一些功能性需求和領(lǐng)域知識(shí)。l 另一條是構(gòu)架師設(shè)計(jì)“對(duì)話問(wèn)題”,通過(guò)對(duì)用戶(hù)提問(wèn),進(jìn)一步與他們溝通,從而得到更明確的需求。(構(gòu)架師以軟件系統(tǒng)各方面

8、的質(zhì)量屬性為索引,系統(tǒng)地啟發(fā)用戶(hù)談出他們實(shí)際需要、 但沒(méi)有表達(dá)出來(lái)或是表達(dá)不完全的內(nèi)容。這些需求雖不是具體的功能,但是對(duì)系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)具有巨大的影響)16人,計(jì)算機(jī)系統(tǒng)或其它激勵(lì)源可以是整個(gè)系統(tǒng),或系統(tǒng)的一部分17l 刻畫(huà)質(zhì)量屬性的手段,6部分組成:l 刺激源刺激源l 刺激刺激l 環(huán)境環(huán)境l 制品制品l 響應(yīng)響應(yīng)l 響應(yīng)度量響應(yīng)度量l 以一種統(tǒng)一規(guī)范的方式來(lái)表達(dá)“質(zhì)量屬性”的需求。1819l 可用性l 可修改性l 性能l 安全性l 可測(cè)試性l 易用性20l 與系統(tǒng)故障及其相關(guān)后果有關(guān)。l 所關(guān)注的方面:l 如何檢測(cè)系統(tǒng)故障如何檢測(cè)系統(tǒng)故障l 系統(tǒng)故障發(fā)生的頻度系統(tǒng)故障發(fā)生的頻度l 出現(xiàn)故障時(shí)會(huì)

9、發(fā)生什么情況出現(xiàn)故障時(shí)會(huì)發(fā)生什么情況l 允許系統(tǒng)有多長(zhǎng)時(shí)間非正常運(yùn)行允許系統(tǒng)有多長(zhǎng)時(shí)間非正常運(yùn)行l(wèi) 什么時(shí)候可以安全地消除故障什么時(shí)候可以安全地消除故障l 如何防止故障的發(fā)生以及發(fā)生故障時(shí)要求進(jìn)行哪種通知如何防止故障的發(fā)生以及發(fā)生故障時(shí)要求進(jìn)行哪種通知21場(chǎng)景的部分 可能的值l 源源 系統(tǒng)內(nèi)部,系統(tǒng)外部系統(tǒng)內(nèi)部,系統(tǒng)外部l 刺激刺激 缺陷:疏忽未響應(yīng)、崩潰、時(shí)間錯(cuò)誤、響應(yīng)錯(cuò)誤缺陷:疏忽未響應(yīng)、崩潰、時(shí)間錯(cuò)誤、響應(yīng)錯(cuò)誤l 制品制品 系統(tǒng)的處理器、通信通道、持久存儲(chǔ)器、進(jìn)程系統(tǒng)的處理器、通信通道、持久存儲(chǔ)器、進(jìn)程l 環(huán)境環(huán)境 正常操作、降級(jí)模式正常操作、降級(jí)模式l 響應(yīng)響應(yīng) 系統(tǒng)應(yīng)該檢測(cè)事件,并進(jìn)

10、行如下一個(gè)或多個(gè)活動(dòng)系統(tǒng)應(yīng)該檢測(cè)事件,并進(jìn)行如下一個(gè)或多個(gè)活動(dòng)l 將其紀(jì)錄下來(lái);將其紀(jì)錄下來(lái);l 通知適當(dāng)?shù)母鞣?,包括用?hù)和其它系統(tǒng);通知適當(dāng)?shù)母鞣剑ㄓ脩?hù)和其它系統(tǒng);l 根據(jù)已定義的規(guī)則禁止導(dǎo)致錯(cuò)誤或故障的事件源;根據(jù)已定義的規(guī)則禁止導(dǎo)致錯(cuò)誤或故障的事件源; l 在一段預(yù)先指定的時(shí)間間隔內(nèi)不可用,其中,時(shí)在一段預(yù)先指定的時(shí)間間隔內(nèi)不可用,其中,時(shí) 間間隔取決于系統(tǒng)的關(guān)鍵程度;繼續(xù)或降級(jí)運(yùn)行。間間隔取決于系統(tǒng)的關(guān)鍵程度;繼續(xù)或降級(jí)運(yùn)行。l 響應(yīng)度量響應(yīng)度量 系統(tǒng)必須可用的時(shí)間間隔系統(tǒng)必須可用的時(shí)間間隔 可用時(shí)間可用時(shí)間 系統(tǒng)可在降級(jí)模式下運(yùn)行的時(shí)間系統(tǒng)可在降級(jí)模式下運(yùn)行的時(shí)間 修復(fù)時(shí)間修復(fù)時(shí)

11、間22 這個(gè)屬性對(duì)于一些安全性非常關(guān)鍵的系統(tǒng)是十分重要的,例如:飛機(jī)上的軟件,醫(yī)院使用的系統(tǒng)等等,如果系統(tǒng)“down”掉,會(huì)傷及人或有威脅生命危險(xiǎn)的一些系統(tǒng)。 它是在系統(tǒng)、組件或是應(yīng)用程序發(fā)生故障時(shí)快速恢復(fù)基本服務(wù)的系統(tǒng)管理策略。其目的是最大程度地減少服務(wù)中斷,而不是容錯(cuò)。23l 是系統(tǒng)正常運(yùn)行的時(shí)間比例。一般將系統(tǒng)可用性定義為:l 在計(jì)算可用性時(shí),通常不考慮預(yù)定的停機(jī)時(shí)間l 可理解為計(jì)算機(jī)在任一時(shí)刻正常工作的概率。平均修復(fù)時(shí)間)(平均正常工作時(shí)間平均正常工作時(shí)間24設(shè)計(jì)決策或策略,實(shí)現(xiàn)質(zhì)量屬性所采用的方法或解決方案。l 可用性戰(zhàn)術(shù)用于以下幾方面:錯(cuò)誤檢測(cè)(錯(cuò)誤檢測(cè)( Fault Detect

12、ion )錯(cuò)誤恢復(fù)(錯(cuò)誤恢復(fù)( Fault Recovery )錯(cuò)誤預(yù)防(錯(cuò)誤預(yù)防( Fault Prevention)l 可用性戰(zhàn)術(shù)阻止錯(cuò)誤發(fā)展成故障;或者把錯(cuò)誤的影響限制在一定范圍內(nèi),從而使修復(fù)成為可能。25 系統(tǒng)必須能夠檢測(cè)任何潛在的錯(cuò)誤,從這些錯(cuò)誤中恢復(fù)或在第一時(shí)間阻止它們的發(fā)生.避免錯(cuò)誤發(fā)展成為故障。l 命令/響應(yīng)l 心跳l 異常26命令/響應(yīng)(ping/echo)l 類(lèi)似于ping命令, 在客戶(hù)和服務(wù)器之間發(fā)送一個(gè)packet來(lái)判斷系統(tǒng)是否正常運(yùn)行.這個(gè)戰(zhàn)術(shù)一般用于網(wǎng)絡(luò)系統(tǒng)。27心跳(Heartbeat monitor)l 類(lèi)似于“命令/響應(yīng)”, 所不同的是“心跳”一般用于軟件組件

13、之間。一個(gè)組件每隔一定的時(shí)間發(fā)出一個(gè)心跳消息,另一個(gè)組件收聽(tīng)該消息;利用這種方式告訴收聽(tīng)消息的組件它在正常運(yùn)轉(zhuǎn)。28例子:集群式服務(wù)器29例子:ATMl 自動(dòng)柜員機(jī)可以定期向服務(wù)器發(fā)送上一次交易的日志。該消息不僅起到了心跳的作用,而且傳送了要處理的數(shù)據(jù)。30異常(Exception)l 錯(cuò)誤類(lèi):l 疏忽:組件未能對(duì)某個(gè)輸入做出響應(yīng)l 崩潰:組件不斷遭受疏忽的錯(cuò)誤l 時(shí)間:組件做出了響應(yīng),但做出響應(yīng)的時(shí)間太早或太遲l 響應(yīng):組件用了一個(gè)不正確的值做出了響應(yīng) 當(dāng)識(shí)別出了上述錯(cuò)誤類(lèi)中的某一個(gè)時(shí),就會(huì)出現(xiàn)異常,異常處理程序通常在引入該異常的相同進(jìn)程中執(zhí)行。例如:java和C+中的異常處理機(jī)制31異常(

14、Exception) 當(dāng)出現(xiàn)某些指定的硬件故障或軟件錯(cuò)誤時(shí),系統(tǒng)仍能執(zhí)行規(guī)定的一組程序,或者說(shuō)程序不會(huì)因系統(tǒng)中的故障而中止或被修改,并且執(zhí)行結(jié)果也不包含系統(tǒng)中故障所引起的差錯(cuò)。32Basic Input Value12341. Voter sends out simple value to different processes at same time.2. Each processes does a simple calculation on the input value.3. The result is sent back to the voter process.4. If a pr

15、ocess result is incorrect (fault), the process may be terminated/restarted.Think about voting for your favourite sports star, if one candidate does something bad, you might not vote for him/her!Process 1Process 2Process 3Voter同時(shí)也可用于錯(cuò)誤檢測(cè)33 版本版本1版本版本2版本版本N表表決決器器結(jié)果結(jié)果告警告警多數(shù)少數(shù)34 Do Some Action1231. Contr

16、oller requests processes to do an action.2. Each process receives request and works on the action.3. A response is sent back from each process.If there is a fault, a recovery will be very fast. The controller could send out requests to check if a process is down and expect a receipt to show process

17、up.Process 1Process 2Process 3Controller35 1. The main component receives new data. 2. The main component sends old data/state to backup components.3. If fault happens, decision has to be made to what backup component to switch. Main Component Data Backup1Old Data Backup2Old DataNew Data12336一般用于硬件/

18、操作系統(tǒng)的解決方案l 出現(xiàn)故障時(shí),必須將其重新啟動(dòng)為適當(dāng)?shù)能浖渲茫?duì)其狀態(tài)進(jìn)行初始化,一般用原來(lái)組件的數(shù)據(jù)和狀態(tài)。37 設(shè)置出現(xiàn)故障的組件可以在短時(shí)間內(nèi)以“Shadow模式”運(yùn)行,以確保在恢復(fù)該組件之前,模仿工作組件的行為。38 Restore the new active component to that of the state of the previously active component dependent on downtime/upgrades/patches, etc. 一般用于主動(dòng)/被動(dòng)冗余.39l 在執(zhí)行的程序中設(shè)置若干測(cè)試點(diǎn),在每個(gè)測(cè)試點(diǎn)上檢查輸出結(jié)果。當(dāng)測(cè)試程

19、序檢測(cè)出錯(cuò)誤時(shí),就認(rèn)為正在執(zhí)行的程序是一個(gè)錯(cuò)誤運(yùn)行的系統(tǒng),這段程序要被重新執(zhí)行,即程序的回滾。40Fault Preventionl Removal from service (via reboot, etc)l Transactions l Process monitor (kill the nonperforming process and create a new instance of it, initialized to some appropriate state as in the spare tactic. )41Summary of availability tactics

20、42Example: Availability tactics of an information systeml Fault detectionPing: about every 5 secondsHeartbeat: should receive a notice every 5 secondsException handlingl RecoveryHot restart/switch: redirect to backup serverBackup communication pathState resynchronization: backup db files, redo logl

21、PreventionRemoval from service: keep only minimal servicesTransaction43l 有關(guān)變更的成本問(wèn)題,它提出兩個(gè)關(guān)注點(diǎn):l (1)可以修改什么(制品)?)可以修改什么(制品)?l (2)何時(shí)進(jìn)行變更以及由誰(shuí)進(jìn)行變更(環(huán)境)?)何時(shí)進(jìn)行變更以及由誰(shuí)進(jìn)行變更(環(huán)境)?44場(chǎng)景的部分 可能的值l 源 最終用戶(hù),開(kāi)發(fā)人員,系統(tǒng)管理員l 刺激 希望增加/刪除/修改/改變功能、質(zhì)量屬 性、容量l 制品 系統(tǒng)用戶(hù)界面、平臺(tái)、環(huán)境或與目標(biāo)系統(tǒng) 交互的系統(tǒng)l 環(huán)境 在運(yùn)行時(shí)、編譯時(shí)、構(gòu)建時(shí)、設(shè)計(jì)時(shí)l 響應(yīng) 查找構(gòu)架中需要修改的位置,進(jìn)行修改且 不會(huì)

22、影響其它功能,對(duì)所做的修改進(jìn)行測(cè) 試,部署所作的修改l 響應(yīng)度量 根據(jù)所影響的元素的數(shù)量度量的成本、努 力、資金;該修改對(duì)其他功能或質(zhì)量屬性 所造成的影響程度45 局部化修改防止連鎖反應(yīng)推遲綁定時(shí)間46l “局部化”修改戰(zhàn)術(shù)l “防止連鎖反應(yīng)”戰(zhàn)術(shù)l “推遲綁定時(shí)間”戰(zhàn)術(shù)47l 目標(biāo):把變更限制在一定范圍內(nèi)l 在“設(shè)計(jì)”期間為模塊分配責(zé)任,以把預(yù)期變更限制在一定范圍內(nèi)。48l 維持語(yǔ)義的一致性l 預(yù)期期望的變更l 泛化該模塊l 限制可能的選擇49l 指模塊中責(zé)任之間的關(guān)系;目標(biāo)是確保這些責(zé)任協(xié)同工作。責(zé)任越單一越好。(Java類(lèi)和方法的設(shè)計(jì)原則,Unix哲學(xué))l 子戰(zhàn)術(shù):抽象出通用服務(wù):例如:

23、Visual Studio框架;中間件的使用。50l 考慮所預(yù)想變更的集合。l 戰(zhàn)術(shù)目標(biāo)是降低變更的影響,由于無(wú)法預(yù)期所有的變更,實(shí)踐中很難單獨(dú)應(yīng)用,通常結(jié)合語(yǔ)義一致性來(lái)使用。l 例如虛函數(shù)void* 指針51泛化模塊泛化模塊l 模塊越廣泛,需要作的變更越有可能通過(guò)調(diào)整輸入?yún)?shù)達(dá)到,而不用修改模塊。l 例如:C+模板庫(kù)、通用編程概念52限制可能的選擇限制可能的選擇l 如果修改的范圍非常大,影響很多模塊,則限制能進(jìn)行的修改,從而降低影響。l 例如,軟件產(chǎn)品線限制支持主流平臺(tái)53l (1)語(yǔ)法(數(shù)據(jù)格式、服務(wù)簽名)l (2)語(yǔ)義(數(shù)據(jù)、服務(wù)語(yǔ)義)l (3)順序(數(shù)據(jù)順序、時(shí)間約束)l (4)A的一

24、個(gè)接口的身份l (5)A的位置l (6)A提供的數(shù)據(jù)/服務(wù)質(zhì)量l (7)A的存在l (8)A的資源行為5455l 添加接口l 添加適配器l stub程序:如果修改要求刪除A,且B依賴(lài)于A的簽名,則為A提供一個(gè)stub程序可使B保持不變模塊A適配器56l限制通信路徑 reduce the number of modules that consume data produced by the given module and the number of modules that produce data consumed by it. l仲裁者的使用:管理依賴(lài)關(guān)系data (syntax). Re

25、positories (both blackboard and passive) act as intermediaries between the producer and consumer of data to convert data format etc.57l 仲裁者的使用service (syntax). The facade, bridge, mediator, strategy, proxy, and factory patterns to convert interface.identity of an interface of A. A broker pattern to

26、hide identity.location of A (runtime). A name server enables the location of A to be changed without affecting B. A resource manager is an intermediary that is responsible for resource allocation. existence of A. The factory pattern has the ability to create instances as needed. 58推遲綁定時(shí)間l 在運(yùn)行時(shí)注冊(cè):即插即

27、用l 配置文件:在啟動(dòng)時(shí)設(shè)置參數(shù)l 多態(tài):允許方法調(diào)用的后期綁定l 組件更換:允許載入時(shí)間綁定l 遵守已定義的協(xié)議:允許獨(dú)立進(jìn)程的運(yùn)行時(shí)綁定59Summary of modifiability tactics 60Example: modifiability tactics of DWl Localize changesSemantic coherence: modularizationAnticipated expected changes: interface/inheritanceGeneralize module: use STLAbstract common service: CWM

28、, SOAP, MDXl Prevention of ripple effectInformation hiding: OOPUse intermediary: design patterns, factoryl Defer binding timeConfiguration fileAdherence to defined protocol: XMLA61性能(performance)l 性能與時(shí)間有關(guān)。性能與事件發(fā)生時(shí),將要耗費(fèi)多長(zhǎng)時(shí)間做出響應(yīng)有關(guān)。62性能的一般場(chǎng)景l(fā) 刺激源:刺激來(lái)自外部(有可能是多個(gè))或內(nèi)部源l 刺激: 刺激是事件到達(dá)??梢园训竭_(dá)模式刻畫(huà)為周期性的、隨機(jī)的或是偶然的。

29、l 制品:總是系統(tǒng)的服務(wù)l 環(huán)境:系統(tǒng)可以處在各種操作模式下,如正常、緊急或超載模式l 響應(yīng):系統(tǒng)必須處理到達(dá)的事件。這可能會(huì)導(dǎo)致系統(tǒng)環(huán)境的變化。l 響應(yīng)度量:響應(yīng)度量就是系統(tǒng)處理到達(dá)的事件所用的時(shí)間(等待時(shí)間或必須處理事件的期限)、該時(shí)間的變化(抖動(dòng))、在某一特定時(shí)間間隔內(nèi)可以處理的事件數(shù)量(吞吐量)或?qū)Σ荒芴幚淼氖录拿枋觯ㄈ笔省?數(shù)據(jù)丟失)。63性能戰(zhàn)術(shù)Three tactic categories l resource demandl resource managementl resource arbitration64Resource Demand Tacticsl Increas

30、e computational efficiency (improve algorithm)l Reduce computational overhead (pass-by-ref)l Manage event rate (reduce the sampling frequency)l Bound execution times (limit the number of iterations )l Bound queue sizes65Resource Management Tactics l Introduce concurrency l Maintain multiple copies o

31、f either data or computations (client cache)l Increase available resources 66Resource Arbitration Tactics-scheduling policiesl First-in/First-out l Fixed-priority scheduling (based on semantic importance, deadline monotonic or rate monotonic )l Dynamic priority scheduling (round robin, earliest dead

32、line first )l Static scheduling (pre-emption points and the sequence of assignment to the resource are determined offline )67Summary of performance tactics 68Example: performance tactics of DWl Resource demandIncrease computation efficiency: new QC algorithmReduce computation overhead: various mappi

33、ngsl Resource managementIntroduce concurrency: MPI based multithreadingMaintain multiple copies: result set cachel Resource arbitrationScheduling policy: timing + on-demand: FIFO69l 衡量系統(tǒng)向合法用戶(hù)提供服務(wù)的同時(shí),阻止非授權(quán)使用的能力。70安全性的一般場(chǎng)景安全性的一般場(chǎng)景l(fā) 刺激源:刺激源:攻擊源可能是人,也可能是另一個(gè)系統(tǒng)。正確識(shí)別、非正確識(shí)別,可能來(lái)自?xún)?nèi)部/外部;經(jīng)過(guò)了授權(quán)/未經(jīng)授權(quán)l(xiāng) 刺激:刺激:刺激就是攻

34、擊或試圖違反違反安全性。未經(jīng)授權(quán)的人或系統(tǒng)試圖顯示信息、改變和/或刪除信息、訪問(wèn)系統(tǒng)服務(wù)或降低系統(tǒng)服務(wù)的可用性。l 制品:制品:攻擊的目標(biāo)可能是系統(tǒng)提供的服務(wù),也可能是系統(tǒng)中的數(shù)據(jù)。l 環(huán)境:環(huán)境:遇到攻擊時(shí)有很多種可能的情形:在線或離線;聯(lián)網(wǎng)或與網(wǎng)絡(luò)斷開(kāi);連接有防火墻或直接連到了網(wǎng)絡(luò)上。l 響應(yīng):響應(yīng):對(duì)用戶(hù)進(jìn)行身份驗(yàn)證;隱藏用戶(hù)的身份;阻止對(duì)數(shù)據(jù)和/或服務(wù)的訪問(wèn);允許訪問(wèn)數(shù)據(jù)和/或服務(wù);授予或收回對(duì)訪問(wèn)數(shù)據(jù)和/或服務(wù)的許可;根據(jù)身份記錄訪問(wèn)/修改或試圖訪問(wèn)/修改數(shù)據(jù)/服務(wù);以一種不可讀的格式存儲(chǔ)數(shù)據(jù);識(shí)別無(wú)法解釋的對(duì)服務(wù)的高需求;通知用戶(hù)或另外一個(gè)系統(tǒng),并限制服務(wù)的可用性。l 響應(yīng)度量:響

35、應(yīng)度量:用成功的概率表示、避開(kāi)安全防范措施所需要的時(shí)間/努力/資源;檢測(cè)到攻擊的可能性、確定攻擊或訪問(wèn)/修改數(shù)據(jù)和/或服務(wù)的個(gè)人的可能性;在拒絕服務(wù)攻擊的情況下仍可以獲得的服務(wù)的百分比;恢復(fù)數(shù)據(jù)/服務(wù);被破壞的數(shù)據(jù)/服務(wù)和/或被拒絕的合法訪問(wèn)的范圍71攻擊l 試圖突破安全防線的行為被稱(chēng)為攻擊。l 例如未經(jīng)授權(quán)試圖訪問(wèn)數(shù)據(jù)或服務(wù)試圖修改數(shù)據(jù)試圖使系統(tǒng)拒絕向合法用戶(hù)提供服務(wù)72Security Tactics resisting attacks l Goals: non-repudiation, confidentiality, integrity, and assurancel Authenti

36、cate users (CA)l Authorize users (roles)l Maintain data confidentiality (VPN, SSL)l Maintain integrity (checksum)l Limit exposure (limited services are available on each host)l Limit access (firewalls)73Security Tactics detecting attacksl Intrusion system: compare the access pattern to known attacki

37、ng patternsl Recovering from attacksRestoration using availability tacticsIdentifying intruder using audit trail74Summary of tactics for security 75Example: Security tactics of an information systeml Detecting attacksIntrusion detection: via firewall, watch on db listening port and ftp portl Resisti

38、ng attacksAuthenticate users: complex enough password for dbaAuthorize users: users cant modify dataLimit access: black list/white list 76l 通過(guò)測(cè)試揭示軟件缺陷的容易程度77可測(cè)試性的一般場(chǎng)景l(fā) 刺激源:該測(cè)試由單元測(cè)試人員、集成測(cè)試人員、系統(tǒng)測(cè)試人 員或客戶(hù)執(zhí)行。可由其他開(kāi)發(fā)人員或外部小組執(zhí)行設(shè) 計(jì)測(cè)試。 刺激: 到達(dá)了開(kāi)發(fā)過(guò)程中的一個(gè)里程碑。 制品: 設(shè)計(jì)過(guò)程、一段代碼或整個(gè)系統(tǒng)。 環(huán)境: 測(cè)試可以在設(shè)計(jì)時(shí)、開(kāi)發(fā)時(shí)、編譯時(shí)或部署時(shí)進(jìn)行 響應(yīng): 由于可測(cè)

39、試性與可觀察性和可控制性相關(guān),因此所期望 的響應(yīng)就是可以控制系統(tǒng)以執(zhí)行所期望的測(cè)試,并可以 觀察到對(duì)每個(gè)測(cè)試的響應(yīng)。響應(yīng)度量: 在某些測(cè)試中執(zhí)行的語(yǔ)句的百分比。最長(zhǎng)測(cè)試鏈的長(zhǎng)度 (對(duì)執(zhí)行測(cè)試的困難的度量)以及對(duì)發(fā)現(xiàn)額外的缺陷的可 能性的估計(jì)。78Testability Tacticsl Record/playback (capture input/output info across interface for testing suite)l Separate interface from implementation (test stub w/o skeleton)l Specialize

40、access routes/interfaces (separated from required functionality)l Built-in monitors (A component can implement tactics based on internal state to support the testing process) 79Summary of testability tactics 80l 對(duì)用戶(hù)來(lái)說(shuō)完成某個(gè)期望的任務(wù)的容易程度和系統(tǒng)所提供的用戶(hù)支持的種類(lèi)。81場(chǎng)景的部分 可能的值l 源 最終用戶(hù)l 刺激 想要學(xué)習(xí)系統(tǒng)特性、有效使用系統(tǒng)、使錯(cuò)誤的影響 最低、適配系

41、統(tǒng)、對(duì)系統(tǒng)滿(mǎn)意l 制品 系統(tǒng)l 環(huán)境 在運(yùn)行時(shí)、配置時(shí)l 響應(yīng) 系統(tǒng)提供以下一個(gè)或多個(gè)響應(yīng)來(lái)支持“學(xué)習(xí)系統(tǒng)特 性”; 幫助系統(tǒng)與環(huán)境聯(lián)系緊密;界面為用戶(hù)所熟悉;在 不熟悉的環(huán)境中,界面是可以使用的; 系統(tǒng)提供以下一個(gè)或多個(gè)響應(yīng)來(lái)支持“有效使用系統(tǒng)”: 數(shù)據(jù)和/或命令的聚合;已經(jīng)輸入的數(shù)據(jù)和/或命令的 重用;支持在界面中的有效導(dǎo)航;具有一致操作的不 同視圖;全面搜索;多個(gè)同時(shí)進(jìn)行的活動(dòng) 系統(tǒng)提供以下一個(gè)或多個(gè)響應(yīng)來(lái)“使錯(cuò)誤的影響最低” 撤銷(xiāo);取消;從系統(tǒng)故障中恢復(fù);識(shí)別并糾正用戶(hù)錯(cuò) 誤;檢索忘記的密碼;驗(yàn)證系統(tǒng)資源 82易用性的一般場(chǎng)景 系統(tǒng)提供以下一個(gè)或多個(gè)響應(yīng)來(lái)“適配系統(tǒng)” 定制能力;國(guó)際化

42、 系統(tǒng)提供以下一個(gè)或多個(gè)響應(yīng)來(lái)使用戶(hù)對(duì)系統(tǒng)“滿(mǎn)意” 顯示系統(tǒng)狀態(tài);與用戶(hù)的節(jié)奏合拍l 響應(yīng)度量 任務(wù)時(shí)間、錯(cuò)誤的數(shù)量、解決的問(wèn)題的數(shù)量、用戶(hù)滿(mǎn) 意度、用戶(hù)知識(shí)的獲取、成功操作在總操作中所占的 比例、損失的時(shí)間/丟失的數(shù)據(jù)83Usability tacticsl Maintain a model of the task. (context about a task, auto completion, auto correction, context help)l Maintain a model of the user. (users behavior and capability: color

43、/sound/motion) l Maintain a model of the system. (expected system behavior, internal state)l Separate the user interface from the rest of the application. 84Summary of runtime usability tactics 85l 上市時(shí)間l 成本和收益l 所希望的系統(tǒng)生命期的長(zhǎng)短l 目標(biāo)市場(chǎng)推出計(jì)劃l 與老系統(tǒng)的集成86構(gòu)架的質(zhì)量屬性l 概念完整性:是在各個(gè)層次上統(tǒng)一系統(tǒng)設(shè)計(jì)的根本指導(dǎo)思想。l 正確性和完整性:構(gòu)架能夠滿(mǎn)足系統(tǒng)的各種需求及運(yùn)行時(shí)的資源要求的必要條件。l 可構(gòu)建性:保證能夠由指定的開(kāi)發(fā)小組在規(guī)定的時(shí)間里及時(shí)開(kāi)發(fā)系統(tǒng),并允許在開(kāi)發(fā)過(guò)程中做某些更改。

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!