第十七章

Download Report

Transcript 第十七章

關鍵系統規格
©Ian Sommerville 2000
Dependable systems specification
Slide 1
功能性和非功能性需求


系統的功能性需求可以用來定義錯誤查核與復
原機制及與功能,以提供對系統發生故障的保
護措施。
非功能性需求可以用來定義系統必需的可靠度
(reliability)和可用性(availability)。
©Ian Sommerville 2000
Dependable systems specification
Slide 2
系統可靠度規格

硬體可靠度(Hardware reliability)
•

軟體可靠度(Software reliability)
•

硬體元件故障的可能性以及修復該元件所需的時間。
軟體元件產生不正確輸出的可能性。軟體故障不同於硬體故障
,軟體不會用太久而損壞。在產生不正確的結果之後,它還是
能夠繼續正常地操作。
操作員可靠度(Operator reliability)
• 系統操作員製造錯誤的可能性。
©Ian Sommerville 2000
Dependable systems specification
Slide 3
系統可靠度工程


它是系統工程中的一個子領域,專門研究系統
可靠度的評估。
它必須考慮到系統中各種不同元件的故障率。
•
例如,某個系統有兩個元件A和B,A的故障率為P(A),B的
故障率為P(B)。
©Ian Sommerville 2000
Dependable systems specification
Slide 4
故障機率

如果系統只有這兩個元件,而且系統的操作也
依賴這兩個元件,那麼系統的故障機率為:
•


P(S) = P(A) + P(B)
元件數量越多,系統整體故障機率也會越高。
如果是一群相同的複製元件,整體故障率為:
•
P(S) = P(A)n (所有元件都發生故障)
©Ian Sommerville 2000
Dependable systems specification
Slide 5
功能性的可靠度需求




系統必須預先定義操作員可能輸入的所有輸入
值範圍,系統也應該檢查操作員的所有輸入是
否符合預先定義的範圍。
做為初始化程序的一部分,系統應該檢查所有
磁碟是否有壞掉的區塊。
系統應該使用N版的程式設計來實作煞車控制
系統。
系統必須以Ada的安全子集來實作,並且使用
靜態分析方式做檢查。
©Ian Sommerville 2000
Dependable systems specification
Slide 6
非功能性的可靠度規格


系統可靠度需求的程度應該量化表示。
可靠度是一個動態的系統屬性,所以若以原始
碼來定義可靠度規格是沒有意義的。
• 軟體的錯誤應該在每1000行中不超過N個錯誤。
• 非功能性的可靠度規格只有在產品完成後的分析時才有用,
通常會用來評估你的開發技術有多好。

整體的系統可靠度必須選擇適合的可靠度度量
指標(reliability metric)。
©Ian Sommerville 2000
Dependable systems specification
Slide 7
可靠度度量指標(量測值)



可靠度度量指標是測量系統可靠度的單位。
系統可靠度是以計算操作的故障次數來衡量,
而這些都與對系統的要求以及系統上線運作的
時間有關。
關鍵系統的可靠度必須以長期的測量程式來測
量。
©Ian Sommerville 2000
Dependable systems specification
Slide 8
可靠度度量指標
量測值
說明
POFOD
服務故障率
當使用者提出服務要求時,系統失敗而無法提供服務的可
能性。若POFOD為0.001,表示一千個服務要求中可能會
有一次發生故障。
ROCOF
出錯率
非預期行為可能發生的頻率,若ROCOF為2/100,表示每
100個操作時間單位內可能會有2次的故障發生。這個量測
值有時候稱為故障強度。
MTTF
平均故障時間
系統發生故障的平均時間。若MTTF為500,表示每500個
時間單位可以預期的會出現一次故障。
AVAIL
可用率
系統在某個給定時間可否使用的機率。若可用率為0.998,
表示每1000個時間單位內,系統可以使用的時間有998個
時間單位。
©Ian Sommerville 2000
Dependable systems specification
Slide 9
可用率(Availability)




系統在某段時間可否使用的比率
必須考慮修復與重新啟動的時間
可用率0.998表示每1000個時間單位內,系統
可以使用的時間有998個單位
常用於不停機、連續運作的系統
•
電話交換系統、鐵路號誌系統
©Ian Sommerville 2000
Dependable systems specification
Slide 10
服務故障率(POFOD)



系統無法提供使用者提出之服務要求的可能性
。這個度量指標在服務要求為間歇性,且不常
發生的情況下最有用。
適合用在偶爾有服務要求,且若無法提供服務
則會造成嚴重後果的系統保護上。
適合許多具例外管理元件的安全關鍵系統。
•
例如,化工廠的緊急關機系統
©Ian Sommerville 2000
Dependable systems specification
Slide 11
出錯率(ROCOF)



系統發生故障的機率。
若ROCOF為0.002,表示每100個操作時間單位
內可能會有2次的故障發生,例如每1000小時
操作時間中發生2次故障。
適合需要處理大量且經常發生類似要求的作業
系統或異動處理系統。
•
例如,信用卡處理系統、機票預訂系統
©Ian Sommerville 2000
Dependable systems specification
Slide 12
平均故障時間(MTTF)



每個故障發生之間的間隔時間。在一個穩定的
系統中這個度量指標與服務故障率(ROCOF)成
反比。
若MTTF為500,表示每500個時間單位內故障
與故障之間的平均時間。
適合應用於具有長時間異動的系統,也就是需
要花很長時間處理的系統。MTTF應該會比異
動時間更長。
•
例如,設計師需要花費數小時使用的電腦輔助設計系統以
及文書處理系統。
©Ian Sommerville 2000
Dependable systems specification
Slide 13
故障的後果



可靠度的量測並沒有考慮故障的後果。
暫時的故障不會有真正的結果,但是其他的故
障可能會引起資料的流失或損壞以及喪失系統
的服務功能。
可能需要識別出不同的故障類別,並且使用不
同的度量指標來識別。同時也必須建立可靠度
的規格。
©Ian Sommerville 2000
Dependable systems specification
Slide 14
故障的後果



在規定可靠度時不只要看系統發生的故障次數
,而且要看這些故障造成的後果。
有嚴重後果的故障比可修復和復原的故障有更
大的損害。
因而,在某些情況下必須為不同的故障類型定
義不同的可靠度規格。
©Ian Sommerville 2000
Dependable systems specification
Slide 15
故障類型
故障類型
說明
暫時(Transient)
只有在輸入某些值時才會發生
永久(Permanent)
所有輸入值均會發生
可復原(Recoverable)
不用操作人員介入系統可以自行復原
不可復原(Unrecoverable)
需要由操作人員介入才能從故障中復原
無毀損(Non-corrupting)
故障不會毀損系統狀態或資料
毀損(Corrupting)
故障會毀損系統狀態或資料
©Ian Sommerville 2000
Dependable systems specification
Slide 16
建立可靠度規格的步驟




針對每個子系統分析可能故障的後果。
將系統故障分析的結果做適當的分類。
對每一種故障類別使用適當的可靠度度量指標
定出它的可靠度。對於不同的可靠度需求也可
以使用不同的度量指標。
找出功能性的可靠度需求以降低關鍵故障的機
會。
©Ian Sommerville 2000
Dependable systems specification
Slide 17
銀行自動櫃員機系統





網路上的每部機器每天大約使用300次
銀行有1000部這樣的機器
軟體的壽命為兩年
每部機器大約可以處理200,000筆交易
每天大約有300,000筆資料庫交易要處理
©Ian Sommerville 2000
Dependable systems specification
Slide 18
可靠度規格的範例
故障類別
範例
可靠度量測值
永久、無毀損
系統無法處理輸入的任何卡,軟
體必須重新啟動才能修正這個故
障。
ROCOF
1次/1000天
暫時、無毀損
輸入沒有受損的卡片,但是系統
無法讀取卡片上的磁帶資料。
ROCOF
1000次交易中出現1次
暫時、毀損
某種跨網路的交易模式造成資料
庫的毀損
不合格的!系統的壽命
期限內不應該發生
©Ian Sommerville 2000
Dependable systems specification
Slide 19
規格確認




極高的可靠度規格不可能憑使用經驗來確認。
不能有資料庫的損毀表示POFOD在2億個交易
中必須小於1 。
如果每筆交易需花一秒,那麼模擬網路上一天
的交易量大約要花3.5天。
因此,若要測試系統的可靠度可能必須花比系
統壽命更長的時間。
©Ian Sommerville 2000
Dependable systems specification
Slide 20
重點整理




可信賴度需求分為功能性和非功能性兩種。
非功能性的可用率和可靠度需求必須以量化來
表示。
可以使用的度量指標有AVAIL、 POFOD 、
ROCOF 和 MTTF。
在制定可靠度規格時,不同錯誤類型所產生的
後果也必須列入考慮。
©Ian Sommerville 2000
Dependable systems specification
Slide 21
安全規格



系統的安全需求必須分開規定。
這些需求應該以可能的危險和風險分析為基
礎。
安全需求通常應用於整體系統而不是個別的
子系統。在系統工程名詞中,系統的安全性
是一個突顯的性質。
©Ian Sommerville 2000
Dependable systems specification
Slide 22
安全生命週期
©Ian Sommerville 2000
Dependable systems specification
Slide 23
安全程序

危險和風險分析(Hazard and risk analysis)
•

安全需求規格(Safety requirements specification)
•

規定一套應用於系統的安全需求
安全關鍵系統的指定(Designation of safetycritical systems)
•

評估和系統有關的損壞危險和風險
找出不正確操作會危及系統安全的子系統。在理想壯況下
,這些子系統應該只佔整個系統的一小部分。
安全確認(Safety validation)
• 檢查整體的系統安全
©Ian Sommerville 2000
Dependable systems specification
Slide 24
危險和風險分析
©Ian Sommerville 2000
Dependable systems specification
Slide 25
危險和風險分析



找出會發生並危及系統安全的危險,以及評估
與這些危險有關的風險。
建立不同類別的危險分析,並且徹底執行規格
到實作的軟體程序。
對每個識別出的危險都應該執行風險分析並加
以記錄,並且採取必要動作以確保最嚴重與可
能發生的危險不會造成意外。
©Ian Sommerville 2000
Dependable systems specification
Slide 26
危險分析程序

危險識別(Hazard identification)
•

風險分析和危險分類(Risk analysis and hazard
classification)
•

評估和每個危險有關的風險
危險分解(Hazard decomposition)
•

找出可能出現的危險
分解危險以找出它們可能的根本原因
降低風險的評估(Risk reduction assessment)
•
定義設計系統時如何將每一個危險列入考慮
©Ian Sommerville 2000
Dependable systems specification
Slide 27
故障樹分析



危險分析的方法是從一個識別出來的故障開始
追溯錯誤的原因。
它可以用在危險分析的各個階段,從初步的分
析到詳細的軟體檢查階段均可。
屬由由上而下的危險分析方法。它也可以和由
下而上的分析方法併用,由下而上的方法是從
系統故障開始尋找危險的地方。
©Ian Sommerville 2000
Dependable systems specification
Slide 28
故障樹分析




找出危險。
找出危險可能的原因。通常有一些其他原因。
在故障樹上使用「or」和「and」來連結這些
原因。
繼續分析直到找出根本原因為止。
下列的例子是有關一些正在進行備份處理的系
統,可能發生資料流失的情形。
©Ian Sommerville 2000
Dependable systems specification
Slide 29
故障樹
Data deleted
or
or
or
External attack
H/W failure
S/W failure
or
Operator failure
or
or
Backup system failure
or
or
UI design fault
or
Incorrect operator input
or
Training fault
©Ian Sommerville 2000
Operating system failure
or
Incorrect configuration
or
Human error
or
Timing fault
Dependable systems specification
Execution failure
or
Algorithm fault
or
Data fault
Slide 30
風險評估


評估危險的嚴重性、危險的可能性以及意外事
故的可能性。
風險評估的結果是一份可接受度敘述,分為:
•
•
•
無法忍受(Intolerable):必須永不發生或造成意外事故。
盡可能降低危險(As low as reasonably practical, ALARP):在
給定的成本與時間限制下必須降低危險的可能性。
可接受(Acceptable):危險的結果是可接受的,而且不需增
加成本來降低危險的可能性。
©Ian Sommerville 2000
Dependable systems specification
Slide 31
風險等級
©Ian Sommerville 2000
Dependable systems specification
Slide 32
風險可接受度


風險可接受度(acceptability)是由人、社會、 政
治等因素所決定。
各個可接受度區域的界線已經漸漸往下移動,
也就是說社會大眾已經較不願意接受風險。
• 例如,清除污染情況的費用可能比安裝污染防治系統更便
宜,但是卻可能不會被社會大眾所接受。

風險評估是主觀的
• 風險的情況是以「可能」、「不可能」來判定,但是這樣
的評估方式會因人而異。
©Ian Sommerville 2000
Dependable systems specification
Slide 33
降低風險


系統應該指定規格,以避免發生危險和意外
事故。
避免危險(Hazard avoidance)
•

偵測與移除危險(Hazard detection and removal)
•

系統必須設計成在正確的運作期間不會發生危險。
系統必須設計成可以能夠在產生意外事故發生之前偵測並
制止危險。
限制損害程度(Damage limitation)
•
系統必須設計成能夠將意外事故的後果降到最低。
©Ian Sommerville 2000
Dependable systems specification
Slide 34
規定禁止的行為



系統不應該允許使用者修改不是他建立的任何
檔案之存取權限。(保全性)
在飛機飛行途中,系統不應該允許操作人員選
擇反轉推進模式。(安全性)
系統不應該允許同時有超過三個警報訊號被啟
動。(安全性)
©Ian Sommerville 2000
Dependable systems specification
Slide 35
保全規格

保全需求規格有些和安全需求規格一樣
•
•

不可能用量化來規定保全需求
保全需求通常是規定「不應該」而不是「應該」的需求
差異點
• 保全管理的保全壽命期沒有很好的概念定義
• 它面臨的是廣泛的威脅而不是系統特定的危險
• 雖然有成熟的保全技術(例如加密),但是很難將它們移轉
成通用的情況。
©Ian Sommerville 2000
Dependable systems specification
Slide 36
保全規格制定程序
©Ian Sommerville 2000
Dependable systems specification
Slide 37
保全規格制定階段

資產識別與預估
• 識別資產(資料和程式)與它們需保護的程度。所需保護的程
度依據資產的價值而定,所以一個密碼檔案通常比一堆公開
網頁更有價值。

威脅分析與風險評估
• 識別對保全上可能的威脅,並且預估這些威脅相關的風險。

威脅指定
• 識別出與資產有關的威脅,並且為每項識別出的資產列出一
連串相關的威脅。
©Ian Sommerville 2000
Dependable systems specification
Slide 38
保全規格制定階段

技術分析
• 評估可用的保全技術以及對已識別威脅的適用性。

保全需求規格
• 指定保全需求規格。在適當的時機明確地辨認出可能用來保
護系統免於不同威脅的一些保全技術。
©Ian Sommerville 2000
Dependable systems specification
Slide 39
重點整理




危險分析是安全規格程序中的重要活動。
故障樹分析是一項可以用在危險分析程序中的技
術。
風險分析是評估危險造成意外事件的可能性。它
可以辨識出關鍵性危險,也可以根據危險的嚴重
性對風險做分類。
為了指定保全需求,應該要識別出需要受到保護
的資產,並且定義應該如何使用保全的技術來保
護這些資產。
©Ian Sommerville 2000
Dependable systems specification
Slide 40