A. 什麼是面向對象的軟體開發方法
結構化系統開發方法主要特點:
(一)自頂向下整體性的分析與設計和自底向上逐步實施的系統開發過程。即在系統分析與設計時要從整體全局考慮,要自頂向下地工作(從全局到局部,從領導到普通管理者)。而在系統實現時,則要根據設計的要求先編制一個個具體的功能模塊,然後自底向上逐步實現整個系統。
(二)用戶至上。用戶對系統開發的成敗是至關重要的,故在系統開發過程中要面向用戶,充分了解用戶的需求和願望。
(三)深入調查研究。即強調在設計系統之前,深入實際單位,詳細地調查研究,努力弄清實際業務處理過程的每一個細節,然後分析研究,制定出科學合理的新系統設計方案。
(四)嚴格區分工作階段。把整個系統開發過程劃分為若干個工作階段,每個階段都有其明確的任務和目標。在實際開發過程中要求嚴格按照劃分的工作階段,一步步地展開工作,如遇到較小、較簡單的問題,可跳過某些步驟,但不可打亂或顛倒之。
(五)充分預料可能發生的變化。系統開發是一項耗費人力、財力、物力且周期很長的工作,一旦周圍環境(組織的內、外部環境、信息處理模式、用戶需求等等)發生變化,都會直接影響到系統的開發工作,所以結構化開發方法強調在系統調查和分析時對將來可能發生的變化給予充分的重視,強調所設計的系統對環境的變化具有一定的適應能力。
( 六)開發過程工程化。要求開發過程的每一步都按工程標准規范化,文檔資料標准化。
B. 軟體開發方法總結
在軟體開發的過程中,軟體開發方法是關繫到軟體開發成敗的重要因素。 軟體開發方法就是軟體開發所遵循的辦法和步驟,以保證所得到的運行系統和支持的文檔滿足質量要求,下面為大家分享了軟體開發方法,一起來看看吧!
1 結構化開發方法
結構指系統內各組成要素之間的相互聯系、相互作用的框架。結構化開發方法強調系統結構的合理性以及所開發的軟體的結構的合理性,主要是面向數據流的,因此也被稱為面向功能的軟體開發方法或面向數據流的軟體開發方法。結構化技術包括結構化分析、結構化設計和結構化程序設計三方面內容。
1.1 結構化分析的步驟
結構化分析是一種模型的確立活動,就是使用獨有的符號,來確立描繪信息(數據和控制)流和內容的模型,劃分系統的功能和行為,以及其他為確立模型不可缺少的描述。其基本步驟是:
(1)構造數據流模型:根據用戶當前需求,在創建實體—關系圖的基礎上,依據數據流圖構造數據流模型。
(2)構建控制流模型:一些應用系統除了要求用數據流建模外,通過構造控制流圖(CFD),構建控制流模型。
(3)生成數據字典:對所有數據元素的輸入、輸出、存儲結構,甚至是中間計算結果進行有組織的列表。目前一般採用CASE的「結構化分析和設計工具」來完成。
(4)生成可選方案,建立需求規約:確定各種方案的成本和風險等級,據此對各種方案進行分析,然後從中選擇一種方案,建立完整的需求規約。
1.2 結構化設計步驟
結構化設計是採用最佳的可能方法設計系統的各個組成部分以及各成分之間的內部聯系的技術,目的在於提出滿足系統需求的最佳軟體的結構,完成軟體層次圖或軟體結構圖。其基本步驟如下:
(1)研究、分析和審查數據流圖。從軟體的需求規格說明中弄清數據流加工的過程。
(2)然後根據數據流圖決定問題的類型。數據處理問題有兩種典型的類型:變換型和事務型。針對兩種不同的'類型分別進行分析處理。(3)由數據流圖推導出系統的初始結構圖。也就是把數據流圖映射到軟體模塊結構,設計出模塊結構的上層。
(4)利用一些試探性原則來改進系統的初始結構圖,直到得到符合要求的結構圖為止。即在數據流圖的基礎上逐步分解高層模塊,設計中下層模塊,並對軟體模塊結構進行優化,最終得到更為合理的軟體結構。
(5)描述模塊介面。
(6)修改和補充數據詞典。
(6)制定測試計劃。
結構化設計可以將用數據流圖表示的信息轉換成程序結構的設計描述。
2 模塊化開發方法
模塊化程序設計方法就是把一個待開發的軟體系統分解成若干可單獨命名和編址的較為簡單的部分,這些可單獨命名和編址的部分稱為模塊。每個模塊分別獨立地開發、測試,最後再組裝出整個軟體系統。這種方法不僅可以將軟體系統開發的復雜性在分解過程中降低,便於修改、維護,而且還容易實現同一個系統不同部分的並行開發,從而提高了軟體的生產效率。
一般,將用一個名字就可調用的一段程序稱為「模塊」。在考慮模塊化時,將模塊定義為多大較合適,模塊設計規則應如何制定成為關鍵,下面五條標准可供參考:
(1)模塊可分解性:如果一種設計方法提供了將問題分解成子問題的系統化機制,它就能降低整個系統的復雜性,從而實現一種有效的模塊化解決方案。
(2)模塊可組裝性:如果一種設計方法使現存的設計模塊能夠被組裝成新系統,它就能提供一種不用一切從頭開始的模塊化解決方案。
(3)模塊可理解性:如果一個模塊可以作為一個獨立的單位被理解,那麼它就易於構造和修改。(4)模塊連續性:如果對系統需求的微小修改只導致對單個模塊而不是對整個系統的修改,則修改引起的副作用就會被最小化。
一般來說,對模塊採用耦合和內聚兩個准則進行度量。如模塊內部具有高內聚和模塊間低耦合,那這樣的模塊就具有獨立性,模塊設計得比較好。
3 面向對象開發方法
面向對象開發方法是以面向對象程序設計語言作為基礎的,其核心思想是利用面向對象的概念和方法為軟體需求建立模型,進行系統設計,採用面向對象程序設計語言進行系統實現,對建成的系統進行面向對象的測試和維護。
如果一個軟體系統是使用這樣4個概念設計和實現的,則可以認為這個軟體系統是面向對象的。其基本要點可以概括為:
(1)數據的抽象,即類與子類的概念及相互關系。任何客觀的事物和實體都是對象,復雜對象可以由簡單對象組成
(2)數據及對它的操作的一體化,即封裝的概念和方法。具有相同數據和操作的對象可歸並為一個類,具有封裝性,形成一個包裝;對象是類的一個實例;一個類可以產生很多對象。
(3)屬性與操作由父類向子類傳遞,即繼承的概念與方法。類可以派生出子類,繼承能避免共同行為的重復。
(4)客觀事物之間的相互關系用統一的、消息傳遞的方法來描述。
目前廣泛使用的面向對象開發方法包括Booch方法、Rumbaugh方法、Coad和Yourdon方法、Jacobson方法、Wirfs-Brock方法和統一建模方法等。