首先來簡單介紹一下FMEA(Failure mode and effects analysis,故障模式與影響分析),這種模式誕生在工業(yè)界,主要用來改進(jìn)生產(chǎn)和設(shè)計(jì)工作。在軟件領(lǐng)域FMEA并不是指導(dǎo)我們?nèi)绾巫黾軜?gòu)設(shè)計(jì),而是我們架構(gòu)設(shè)計(jì)完成后,再使用FMEA對這個(gè)架構(gòu)進(jìn)行分析,以發(fā)現(xiàn)當(dāng)前架構(gòu)所存在的安全隱患。
在架構(gòu)設(shè)計(jì)領(lǐng)域,F(xiàn)MEA的具體分析方法如下:
1.給出初始的架構(gòu)圖
2.假設(shè)架構(gòu)中某個(gè)部件發(fā)生故障
3.分析此故障對系統(tǒng)功能的影響
4.根據(jù)分析結(jié)果,判斷架構(gòu)是否需要優(yōu)化。
下面給出常用的分析模式:
功能點(diǎn)(登錄),故障模式(mysql響應(yīng)超時(shí)5秒),故障影響(60%的用戶響應(yīng)超過5秒),嚴(yán)重程度(高),故障原因(慢查詢),故障概率(高),風(fēng)險(xiǎn)程度(高),已有措施(慢查詢檢查),規(guī)避措施(重啟Mysql),解決措施(無),后續(xù)規(guī)劃(無)。
這里需要注意的是一個(gè)功能點(diǎn)可能會伴隨多種故障模式。嚴(yán)重程度和風(fēng)險(xiǎn)程度通常劃分為:致命/高/中/低/無這五個(gè)等級。