1、 兩者基本思想的比較
1.1結構化方法的基本思想
結構化方法是一種傳統的軟件開發方法,它是由結構化分析、結構化設計和結構化程序設計三部分有機組合而成的。結構化設計方法是以自頂向下,逐步求精,模塊化為基點,以模塊化,抽象,逐層分解求精,信息隱蔽化局部化和保持模塊獨立為准則的設計軟件的數據架構和模塊架構的方法學。它的要點是是把一個復雜問題的求解過程分階段進行,而且這種分解是自頂向下,逐層分解,使得每個階段處理的問題都控制在人們容易理解和處理的范圍內。
結構化方法的基本思想主要體現在三個方面。
(1)自頂向下,逐步求精:把程序看成是一個逐步演化的過程。把一個系統與程序看成是一層一層的。例如:戶籍管理系統可以划分為:戶籍遷入遷出,人員遷入遷出,戶籍注銷,人員注銷等幾個子系統,而每個子系統又划分為接收用戶信息,實施處理,提供返回信息等等部分。
(2)模塊化:即將幾個系統分成幾個模塊,每個模塊實現特定的功能,最終整個系統由這些模塊組成。模塊跟模塊之間通過接口傳遞信息,模塊最重要的特點就是獨立性,模塊之間還有上下層的關系,上層模塊調用下層模塊來實現一些功能。
(3)語句結構化:順序結構、分支結構、循環結構,都是常用的語句結構。
結構化分析方法的實質是着眼於數據流,自頂向下,逐層分解,建立系統的處理流程,以數據流圖和數據字典為主要工具,建立系統的邏輯模型。
結構化分析的步驟如下:
(1)通過對用戶的調查,以軟件的需求為線索,獲得當前系統的具體模型
(2)去掉具體模型中非本質因素,抽象出當前系統的邏輯模型
(3)根據計算機的特點分析當前系統與目標系統的差別,建立目標系統的邏輯模型
(4)完善目標系統並補充細節,寫出目標系統的軟件需求規格說明
(5)評審直到確認完全符合用戶對軟件的需求
結構化設計方法給出一組幫助設計人員在模塊層次上區分設計質量的原理與技術。它通常與結構化分析方法銜接起來使用,以數據流圖為基礎得到軟件的模塊結構。SD方法尤其適用於變換型結構和事務型結構的目標系統。在設計過程中,它從整個程序的結構出發,利用模塊結構圖表述程序模塊之間的關系。結構化設計的步驟如下:
①評審和細化數據流圖;
②確定數據流圖的類型;
③把數據流圖映射到軟件模塊結構,設計出模塊結構的上層;
④基於數據流圖逐步分解高層模塊,設計中下層模塊;
⑤對模塊結構進行優化,得到更為合理的軟件結構;
⑥描述模塊接口。
1.2面向對象方法的基本思想
面向對象技術:面向對象技術包括面向對象分析、面向對象設計及面向對象程序設計三部分內容。
OOP是在結構化程序設計的基礎上,於80年代初涌現的一種程序設計方法,但其真正顯示力量和被產業界所重視還是最近幾年的事。封裝是整個OOP方法的基礎,主要用於在數據段外圍構造保護層,以限制外界變化的影響,所有的數據訪問都由保護層內的過程間接處理。應用程序員不必再按照將程序設計語言逐句拼裝的方式來構造整個軟件,只需組合、重用由系統程序員開發、可供他人用來裝配的軟件集成塊即可。例如,VB是一種面向對象的程序設計語言,與傳統DOS下的Basic最大的差別在於它運用了面向對象的概念。VB建立了一個事件驅動的環境,供用戶直接調用。程序設計人員只要專心數據的運算處理,其余諸如Windows應用程序下所見的滾動條、按鈕、下拉式菜單和對話框等,都已經有對象供用戶進行調用,而且每個對象又都有許多事件、屬性和方法,供用戶填入適當值或程序碼,從而形成一個應用程序。
2、主要特點的比較
2、1結構化分析方法的特點
(1)面向用戶,用戶自始至終參與系統的分析工作;
(2)強調調查工作的重要性;
(3)對管理業務中的各種數據進行分解;
(4)采用了層次分解的系統思想;
(5)用圖形工具來分析和構建新方案。
2、2面向對象分析方法的特點
(1)強調系統開發的整體性和全局性
(2)側重於數據轉換的過程而不是數據本身
(3)系統的開發周期長
(4)封裝性
(5)繼承性
(6)多態性
(7)易維護性
3.如何選擇適合的開發方法
(1)結構化方法最為成熟,對於預先制定需求的系統開發,非常有效。對於需求模糊或者隨時間變化的系統開發,不太適應。
從提高程序的重用性和可維護性的角度看,面向對象方法有較好的應用前景.
形式化方法對於安全性要求很高的系統,比較適用。
但面向對象程序設計方法的基礎仍然是結構化程序設計
(2)因為成本問題和技術變更,所以形式化方法在實際應用中受到限制。
(3)SOFL方法集成了結構化方法,面向對象方法,和形式化方法於一體,
在需求分析和規格說明階段采用結構化方法,在設計和實現階段采用面向對象方法。