您當前的位置:檢測資訊 > 科研開發(fā)
嘉峪檢測網(wǎng) 2019-07-22 09:46
軟件架構設計
我們說到可以對照IEC62304列出的需求,準備我們的醫(yī)療器械軟件需求文檔。接下來,我們就是要將這些需求轉(zhuǎn)換成軟件的體系架構。
軟件體系架構是構建計算機軟件實踐的基礎。就好比建筑師設定建筑項目的設計原則和目標,作為繪圖員畫圖的基礎。軟件架構師要按照客戶需求,制定實際系統(tǒng)設計方案。
從目的、主題、材料和結構的聯(lián)系上來說,軟件架構可以和建筑物的架構相比擬。軟件架構師定義和設計軟件的模塊化,模塊之間的交互,用戶界面風格,對外接口方法,創(chuàng)新的設計特性,以及高層事物的對象操作、邏輯和流程。(參考維基百科)
軟件架構設計的方法很多,通常會包括以下四個步驟:
第一步預架構階段
了解軟件的所有需求,將需求結構化,捋清需求之間的關系。
第二步概念架構
基于關鍵功能,進行初步設計,將復雜的系統(tǒng)分成多個子系統(tǒng)。
第三步細化架構
常用5視圖法進行細化架構設計,包括:
1)邏輯架構
重點是考慮軟件功能性需求——需要考慮多方面的需求:系統(tǒng)功能劃分成幾個子系統(tǒng)和功能模塊?向用戶提供什么功能?每個功能都是怎樣的操作流程與分支?如何通過界面與用戶交互?怎樣交互?應當設計哪些類與界面?怎樣設計?與哪些外部系統(tǒng)接口?怎樣接口?
2)開發(fā)架構
重點關注的是開發(fā)編碼實現(xiàn)方面的問題
3)數(shù)據(jù)架構
不僅僅要考慮開發(fā)中涉及到的數(shù)據(jù)庫,實體模型,也要考慮物理架構中數(shù)據(jù)存儲的設計。
4)運行架構
運行架構關注的不再是全局而是局部,著重關注那些關鍵點與難點,常常需要技術攻關與預研。主要考慮控制流、通訊機制、資源爭用、鎖機制、同步異步、并發(fā)、串行,同時也要考慮質(zhì)量屬性。
5)物理架構
物理架構主要考慮硬件選擇和拓撲結構,軟件到硬件的映射,軟硬件的相互影響。
第四步編碼實現(xiàn)
最后就是將架構進行詳細設計,通過編碼實現(xiàn)軟件架構。
軟件詳細設計
軟件架構設計完成后,需要將架構細化成軟件單元,所謂的軟件單元就是不可再分的軟件項。
有些醫(yī)療器械軟件會用到SOUP的軟件項,此類的軟件項的內(nèi)部架構可能沒有辦法得知,但可以將這類軟件項看成一個軟件單元。
軟件進行詳細設計時,不單要對每個軟件單元進行詳細設計,還要將軟件單元對外部任何的軟件或硬件接口進行詳細設計,并且這些設計都要形成文檔。
當然在所有的進行詳細設計時,要考慮風險管理的要求,及時調(diào)整軟件的架構設計和詳細設計。
結語
今天的微課分享到這里,術業(yè)有專攻,每個企業(yè)的程序員應該比我們更了解軟件的架構設計和詳細設計。這次微課很多是借鑒他山之石,帶大家初步了解軟件架構設計和詳細設計的大概流程,以便更好得準備軟件描述文檔。
來源:啟升資訊