注冊  登錄退出
服務熱線

029-68224489

軟件開發方法的歷史及發展

發布時間:2013-01-05 作者:admin

       軟件工程的目標在給定成本、 進度的前提下,開發出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用、可適應性、可 移植性、可追蹤性和可互操作性并且滿足用戶需求的軟件產品。追求這些目標有助于提高軟件產品的質量和開發效率,減少維護的困難。

(1)可修改性(modifiablity)。容許對系統進行修改而不增加原系統的復雜性。它支持軟件的調試與維護,是一個難以達到的目標。

(2)有效性(efficiency)。軟件系統能最有效地利用計算機的時間資源和空間資源。 各種計算機軟件無不將系統的時/空開銷作為衡量 軟件質量的一項重要技術指標。很多場合,在追求時間有效性和空間有效性方面會發生矛盾,這時不得不犧牲時間 效率換取空間有效性或 犧牲空間效率換取時間有效性。時/空折衷是經常出現的。有經驗的軟件設計人員會巧妙地利用折衷概念,在具體的物理環境中實現用戶的 需求和自己的設計。

(3)可靠性(reliability)。能防止因概念、設計和結構等方面的不完善造成的軟件 系統失效,具有挽回因操作不當造成軟件系統失效 的能力。對于實時嵌入式計算機系統,可靠性是一個非常重要的目標。因 為軟件要實時地控制一個物理過程,如宇宙飛船的導航、核電站 的運行,等等。如果可靠 性得不到保證,一旦出現問題可能是災難性的,后果將不堪設想。因此在軟件開發、編碼和測試過程中,必須將 可靠性放在重要地位。

(4)可理解性(understandability)。系統具有清晰的結構,能直接反映問題 的需求??衫斫庑杂兄诳刂栖浖到y的復雜性,并支持 軟件的維護、移植或重用。

(5)可維護性(maintainability)。軟件產品交付用戶使用后,能夠對它進行修 改,以便改正潛伏的錯誤,改進性能和其他屬性,使軟 件產品適應環境的變化,等等。由于軟件是邏輯產品,只要用戶 需要,它可以無限期的使用下去,因此軟件維護是不可避免的。軟件維護 費用在軟件開發費用中占有很大的比重??删S護性是軟件工程中一項十分重要的目標。軟件 的可理解性和可修改性有利于軟件的可維護性 。

(6)可重用性(reusebility)。概念或功能相對獨立的一個或一組相關模塊定義為一 個軟部件。軟部件可以在多種場合應用的程度稱為 部件的可重用性??芍赜玫能洸考械目梢圆患有薷闹苯邮褂?,有的需要修改后再用??芍赜密洸考哂星逦? 結構和注解,應具有正 確的編碼和較低的時/空開銷。各種可重用軟部件還可以按照某種規則存放在軟部件庫中,供軟件工程師選用??芍赜眯杂兄谔岣哕浖a 品的質 量和開發效率、有助于降低軟件的開發和維護費用。從更廣泛的意義上理解,軟件工程的可重用性還應該包括:應用項目的重用, 規格說明(也稱為規約)的重用, 設計的重用,概念和方法的重用,等等。一般來說,重用的層次越高,帶來的效益也就越大。

(7)可適應性(adaptability)。軟件在不同的系統約束條件下,使用戶需求得到滿 足的難易程度。適應性強的軟件應采用廣為流行的 程序設計語言編碼,在廣為流行的操作系統環境中運行,采用標 準的術語和格式書寫文 檔。適應性強的軟件較容易推廣使用。

(8)可移植性(portability)。軟件從一個計算機系統或環境搬到 另一個計算機系統或環境的難易程度。為了獲得比較高的可移植性, 在軟件設計過程中通常采用通用的程序設計語言和運 行環境支撐。對依賴于計算機系統的低級(物理)特征部分,如編譯系統的目標代碼 生成,應相對獨立、集中。這樣,與處理機無關的部分就可以移植到其他系統上使 用??梢浦残灾С周浖目芍赜眯院涂蛇m應性。

(9)可追蹤性(tracebility)。根據軟件需求對軟件設計、程序進行正向追蹤,或根 據程序、軟件設計對軟件需求進行逆向追蹤的能力 。軟件可追蹤性依賴于軟件開發各個階段文檔和程序的完整性、一致性和可理解性。降低系統的復雜性會提高軟件 的可追蹤性。軟件在測 試或維護過程中或程序在執行期間出現問題時,應記錄程序事件或有關模塊中的全部或部分指令現場,以便分析、追蹤產生問題的因果關 系。

(10)可互操作性(interoperability)。多個軟件元素相互通信并協同完成任 務的能力。為了實現可互操作性,軟件開發通常要遵循某 種標準,支持折衷標準的環境將為軟件元素之間的可互操作提供便利??苫ゲ僮餍栽诜植加嬎悱h境下尤為重 要。 為了達到上述的目標,自從計算機誕生以來的60多年,無數的計算機工程師在努力改進開法方法和軟件開發語言,下表列出了幾代開發方 法的對比:

  • 序號

    開法方法

    開始時間

    比上一代的優點

    和下一代比的缺點

    代表性產品

    1

    面向機器

    1946

    用機器動作的方法去解決問題

    上述工程

    機器語言,二進制指令。匯編語言

    2

    面向過程

    容易編寫

    數據和代碼分離

    c,pascal,fortran

    COBOL,basic等

    3

    面向對象

    60年代末

    數據和代碼集中

    C++,java

    4

    面向模型

    2004

    能完成全部軟件工程目標

    MDA

 

客服熱線: 029-68224489
聯系我們 | 關于賽斐 | 團隊博客
Copyright ? 西安賽斐軟件科技有限公司版權所有,未經授權,嚴禁非法復制或鏡像 | 陜ICP備11007392號-1
推薦1024x768的分辨率,IE6+,firefox,Google Chrome,opera或者使用其內核的瀏覽器顯示效果更佳!
丰满少妇被猛烈进入高清播放视频,五个闺蜜的疯狂互换春雨医生,正在播放美人秘书の忧郁