[軟體工程] 筆記二_軟體設計模型
Q: 軟體設計的模型有很多種。請問以下需求要如何設計軟體的模型?
1. 軟體的架構設計 (包含子系統、元件、物件、資料等)
2. 軟體的資訊安全 (security)
3. 軟體的safety (不危害環境或造成財損與傷亡)
4. 軟體未來的維護能力 (evolution)
-- From 中正大學 熊博安教授 實驗室
A:
1. 架構設計
軟體的架構設計可採用有限狀態自動機(FSM),表示有限個狀態與狀態間的轉移與動作。把元件視為一個狀態機,其中會拋出資料或轉移資料,可改變狀態並與其他的元件互動。從元件與元件之間劃出相對應的關係,到最後譜出一整個子系統。
2. 資訊安全
可採用Bell-LaPadula模型,是一種狀態機模型,著重機密性,能夠防止以未經授權的方式訪問秘密資訊。該模型定義了一個自主訪問控制和兩個強制訪問控制,分為三個安全屬性:簡單安全屬性、*屬性和自主安全屬性。針對使用者進行許可權與對象等級的進行比對。
3. 軟體的Safety
目前功能安全相關的標準為IEC 61508,各產業再從此標準衍生出來。為了達到安全性需求,可在產品開發階段納入考量。在開發前期運用危害與風險分析找出可能對人員的傷害,並在需求分析階段界定出功能的需求與安全等級(SIL),之後可在系統設計階段透過系統架構來定義相對應的軟硬體模組。其他的安全性模型包含:Biba, Clark-Wilson, Brewer-Nash, Graham-Denning, HRU, state machine等等
4. 軟體未來的維護能力
如果需要建立方便維護的系統架構,可採用瀑布式開發模型。每一個階段清楚定義該階段的需求與活動,不可隨意變動需求或是返回到上一個軟體專案開發階段。如果需要做修正,必須等待測試並驗證完原有的需求後,才可進行下一次的改變。
參考網址:
留言
張貼留言