2. 選擇開發方法
軟件開發方法對軟件的可靠性也有重要影響。
目前的軟件開發方法主要有Parnas方法、Yourdon方法、面向數據結構的Jackson方法和Warnier方法、PSL/PSA方法、原型化方法、面向對象方法、可視化方法、ICASE方法、瑞理開發方法等,其他還有BSP方法、CSF方法等。這里特別要提一下的是Parnas方法。
Parnas方法是最早的軟件開發方法,是Parnas 在1972年提出來的,基本思想是在概要設計時預先估計未來可能發生變化,提出了信息隱藏的原則以提高軟件的可靠性和可維護性。
在設計中要求先列出將來可能要變化的因素,在劃分模塊時將一些可能發生變化的因素隱含在某個模塊的內部,使其他模塊與此無關,這樣就提高了軟件的可維護性,避免了錯誤的蔓延,也就提高了軟件的可靠性。還提出了提高可靠性的措施:
(1)考慮到硬件有可能出故障,接近硬件的模塊要對硬件行為進行檢查,及時發現錯誤。
(2)考慮到操作人員有可能失誤,輸入模塊對輸入數據進行合法性檢查,是否合法、越權,及時糾錯。
(3)考慮到軟件本身有可能失誤,加強模塊間檢查,防止錯誤蔓延。
對瑞理方法可能許多人還不熟悉,這里簡要介紹一下。
瑞理(Rational)模式是美國瑞理軟件工程公司發展出來的,其模式是:
面向對象;
螺旋式上升;
管理與控制;
高度自動化;
以管理觀點和技術觀點把軟件生命周期劃分為起始、規劃、建構、轉移、進化五個階段,也可把這五個階段歸并為研究時期(起始和規劃)和生產時期(建構和轉移),最后是維護時期(進化),特別適合對高風險部分及變動需求的處理。
在以上的眾多方法中,可視化方法主要用于與圖形有關的應用,目前的可視化開發工具只能提供用戶界面的可視化開發,對一些不需要復雜圖形界面的應用不必使用這種方法;ICASE 技術還沒有完全成熟,所以可視在方法和ICASE方法最多只能用作輔助方法。面向數據結構的方法、PSL/PSA方法及原型化方法只適合于中小型系統的開發。
面向對象的方法便于軟件復雜性控制,有利于生產率的提高,符合人類的思維習慣,能自然地表達現實世界的實體和問題,具有一種自然的模型化能力,達到從問題空間到解空間的較為直接自然的映射。
在面向對象的方法中,由于大量使用具有高可靠性的庫,其可靠性也就有了保證,用面向對象的方法也利于實現軟件重用。
所以建議采用面向對象的方法,借鑒Parnas和瑞理模式的思想,在開發過程中再結合使用其他方法,吸取其它方法的優點。
3.軟件重用
最大限度地重用現有的成熟軟件,不僅能縮短開發周期,提高開發效率,也能提高軟件的可維護性和可靠性。因為現有的成熟軟件,已經過嚴格的運行檢測,大量的錯誤已在開發、運行和維護過程中排除,應該是比較可靠的。在項目規劃開始階段就要把軟件重用列入工作中不可缺少的一部分,作為提高可靠性的一種必要手段。
軟件重用不僅僅是指軟件本身,也可以是軟件的開發思想方法、文檔,甚至環境、數據等,包括三個方面內容的重用:
(1)開發過程重用,指開發規范、各種開發方法、工具和標準等。
(2)軟件構件重用,指文檔、程序和數據等。
(3)知識重用,如相關領域專業知識的重用。
文章來源于領測軟件測試網 http://www.kjueaiud.com/