1,結構化範式,又稱生命周期方法論,屬於傳統方法論。
2.大多數傳統軟件開發方法采用瀑布模型。這種模式要求每個階段基於前壹階段形成的文檔完成工作。
3.當每個階段即將完成時,要求開發人員進行驗證或確認。
4.瀑布模型要求在生成軟件產品之前盡可能準確和完整地描述用戶需求。但完成這項任務相當困難。
結構化範例的優勢:
1.軟件生命周期分為四個基本階段,每個階段的任務相對獨立和簡單,便於不同人員之間的分工和合作,從而降低整個軟件開發過程的難度。
結構化範例的缺點:
1.當軟件規模巨大,或者對軟件的需求模糊或會隨時間變化時,開發的軟件往往不成功;並且仍然難以維持。
面向對象範式的四個要點:
(1)面向對象的軟件系統是由對象組成的,軟件中的任何元素都是對象,復雜的軟件對象是由簡單的軟件對象組成的。
(2)所有對象被劃分為各種對象類,每個對象定義壹組數據和壹組方法。
(3)根據子類(派生類)和父類(基類)之間的關系,幾個對象類形成壹個層次系統(類級別)。如果在派生類中重新描述了某些功能,派生類中的這些功能將服從新的描述,也就是說,低級功能將屏蔽同名的高級功能。
(4)對象只能通過傳遞消息來相互通信。?
面向對象範例的主要優勢:
(1)根據人類使用的思維方法綜合考慮軟件開發過程的各個階段;
(2)軟件生命周期各階段使用的方法和技術具有高度連續性;
(3)軟件開發各階段的有機集成有利於系統的穩定性。
擴展數據:
軟件開發階段
1計劃
對要解決的問題做出壹個大致的定義,包括了解用戶的要求和現實環境,從技術、經濟和社會因素等三個方面研究和論證該軟件項目的可行性,撰寫可行性研究報告,討論解決問題的方法,並估計可用資源(如計算機硬件、系統軟件、人力等)的成本。)、可用收益和開發進度,並制定實施計劃以完成開發任務。
2.分析
軟件需求分析是對開發什麽樣的軟件的系統分析和假設。它是壹個去粗取精、去偽存真,正確理解用戶需求,然後用軟件工程開發語言(形式功能規格說明,即需求規格說明)表達出來的過程。這個階段的基本任務是與用戶壹起確定要解決的問題,建立軟件的邏輯模型,編寫需求規格說明文檔並最終獲得用戶的認可。
需求分析的主要方法有結構化方法、數據流程圖和數據字典。這壹階段的工作是根據需求說明書的要求設計和建立相應的軟件系統架構,並將整個系統分解為若幹個子系統或模塊,並定義子系統或模塊之間的接口關系。
定義每個子系統的具體設計,編寫軟件概要設計和詳細設計規範、數據庫或數據結構設計規範以及組裝測試計劃。在任何軟件或系統開發的初始階段,都需要充分掌握用戶的需求,以便在接下來的系統開發過程中優先考慮應該實現哪些功能,采用哪些規範以及設置哪些限制。
系統工程師將基於此最終完成設計方案,然後定義後續的程序開發、系統功能和性能描述以及限制。
3.設計
軟件設計可以分為兩個階段:總體設計和詳細設計。實際上,軟件設計的主要任務是將軟件分解為模塊,模塊是指可以實現某種功能的數據和程序描述以及可以執行程序的程序單元。
它可以是壹個函數、壹個過程、壹個子程序、壹個獨立的程序和帶有程序描述的數據,或者是壹個可以組合、分解和替換的功能單元。模塊,然後是模塊設計。
概要設計是結構設計,其主要目標是給出軟件的模塊結構,並用軟件結構圖表示。詳細設計的首要任務是設計模塊的程序流程、算法和數據結構,次要任務是設計數據庫、通用方法或結構化程序設計方法。
4.編碼
軟件編碼是指將軟件設計轉換成計算機可接受的程序,即用編程語言編寫“源程序清單”。充分了解軟件開發語言、工具特性和編程風格有助於選擇開發工具並確保軟件產品的開發質量。
目前,除特殊場合外,80年代的高級語言很少用於軟件開發,取而代之的是面向對象的開發語言。而且,面向對象的開發語言和開發環境大多是集成的,這大大提高了開發速度。
5.試驗
軟件測試的目的是以較小的代價找到盡可能多的錯誤。實現這壹目標的關鍵是設計壹組優秀的測試用例(測試數據、功能和預期輸出結果構成測試用例)。如何設計壹套優秀的測試用例取決於對測試方法的理解。不同的測試方法有不同的測試用例設計方法。
兩種常用的測試方法是白盒法,白盒法對源程序進行測試,根據程序的內部邏輯結構發現軟件的編程錯誤、結構錯誤和數據錯誤。結構性錯誤包括邏輯、數據流、初始化和其他錯誤。用例設計的關鍵是用較少的用例覆蓋盡可能多的內部程序邏輯結果。
白盒法和黑盒法是基於軟件功能或軟件行為的描述,發現軟件的接口、功能和結構錯誤。接口錯誤包括內部/外部接口、資源管理、集成和系統錯誤。黑盒用例設計的關鍵也是用較少的用例覆蓋模塊的輸出和輸入接口。
6.維護
維護是指在軟件開發(分析、設計、編碼和測試)完成並交付使用後對軟件產品進行的壹些軟件工程活動。也就是說,根據軟件的運行情況,對軟件進行適當的修改,以滿足新的要求並糾正運行中發現的錯誤。編寫軟件問題報告和軟件修改報告。
如果壹個中型軟件的開發階段需要壹到兩年,那麽在投入使用後,其運行或工作時間可能會持續五到十年。那麽它的維護階段也是在運行的五到十年期間。在此期間,人們幾乎需要解決開發階段遇到的各種問題,同時還需要解決維護工作本身特有的壹些問題。
做好軟件維護工作,不僅可以排除障礙,使軟件正常工作,還可以擴展功能,提高性能,給用戶帶來明顯的經濟效益。然而,不幸的是,對軟件維護的重視往往遠遠不如對軟件開發的重視。事實上,與軟件開發相比,軟件維護的工作量和成本要大得多。
在實際的開發過程中,軟件開發並不是從第壹步到最後壹步,而是在任何階段,通常都有壹個或幾個後退步驟才能進入下壹個階段。測試過程中的問題可能需要修改設計,用戶可能會提出壹些修改需求規範的需求。
參考資料:
百度百科:軟件開發