不難看出,軟件需求分析的過程,也是軟件設計方案的醞釀過程。通過分析應得出用戶需求的正確性、合理性和完整性的結論;同時,也應得出軟件付諸實現的可行性、可靠性和安全性的結論。軟件需求分析的銜接關系見圖2。

軟件設計
軟件也和硬件一樣,它的質量是設計出來的,生產出來的。其中,設計對軟件質量具有關鍵性的影響。設計的重要性可從圖3看出,其中(a)為經歷了設計步驟后的效果,在軟件使用和維修階段,軟件的問題少;反之,(b)為跳過設計步驟,到了使用和維修階段,軟件問題成堆,到了不可收拾的地步;谶@種情況,應強調:軟件設計未完成,不得轉入軟件編碼階段。

良好的軟件設計與所采用的軟件設計方法、設計工具和設計準則有關。軟件設計方法主要有面向數據流的設計、面向對象的設計和面向數據的設計方法等。這些方法均有其優缺點和不同的應用領域。目前,大多數嵌入式的實時控制軟件使用的是面向數據流的設計方法。該方法的目標是以一種全局的軟件觀點和體系結構設計的角度派生出程序結構。
面向數據流的設計又稱為結構化設計。它強調模塊化、層次化和自頂向下等設計思想。這些思想的根本目的是對復雜問題的解決采用一個簡化過程以獲得滿意的答案。通過這種簡化,縱有千頭萬緒也能理得清清楚楚。一個設計準則是要將復雜的問題簡化,切忌將簡單的問題復雜化。好的程序設計語言,無疑對設計高質量的軟件是有益的。例如,Ada語言,與一般語言比較,它所特有的一些語言成分旨在突出軟件可靠性和安全性,便于軟件維護,便于實行程序的層次式管理和提高程序的易讀性、高效性等。
軟件可靠性設計主要將軟件的檢錯、避錯、容錯和異常處理技術灌輸到軟件設計中去,設計時應處處關心:
·控制邏輯的完整性;
·軟件與硬件、軟件與軟件界面之間的協調性;
文章來源于領測軟件測試網 http://www.kjueaiud.com/