結構化開發方法 物件導向開發方法

2022-08-31 08:45:08 字數 1360 閱讀 1450

結構化開發方法和物件導向開發方法之比較:

結構化方法是一種基於如下概念的開發策略,即乙個系統應該被劃分為兩個部分:資料和功能,且資料和加工資料的功能是分離的。而物件導向方法解決問題的思路是從現實世界中的客觀物件(如人或事物)出發,盡量運用人類的思維方式(如抽象和分類)來構造軟體系統。物件導向開發方法不是把系統定義為兩個分離的部分(資料和功能),而是把它們定義為一組正在互動的物件。物件可以完成一些事情(就是說它們有功能),它們也知道一些事情(就是說它們有資料)。這使得軟體開發者能更有效地思考問題,並以其他人也能看懂的方式把自己的認識表達出來。

以乙個圖書借閱管理系統的設計為例。如果採用結構化方法,我們將設計資料庫表結構,以及訪問這些資料的程式,如下圖所示。資料庫中存放有圖書管理員、讀者和圖書的資訊,也有讀者借閱資訊,預約資訊等。程式可以運算元據庫,讓圖書管理員登記讀者的借閱情況,讓讀者檢視圖書的預約資訊、自己的借閱資訊,等等。

結構化開發方法和物件導向開發方法的比較(左結構化右物件導向)

現在以一種物件導向的觀點來重新考慮圖書借閱管理系統。在現實世界中,有學生、老師、圖書管理員、圖書,所有這些人和物都將被當成物件來考慮。學生知道一些事情(他們有自己的姓名、學號、班級和**號碼等)也可以完成一些事情(如借閱圖書、預約圖書、退還圖書、瀏覽圖書資訊等)。老師也知道一些事情,同樣也能完成一些事情。從系統的觀點來看,圖書也知道一些事情,也能完成一些事情。要實現這樣的系統,可以一定一組類。類是相似物件的通用表示,是建立物件的模板。這些類包括功能(程式)和資料,它們將和其他類一起,構成我們的應用。系統執行時,將以這些類為模板建立若干物件,這些物件相互互動,實現系統的功能。

物件導向與面向過程程式設計的不同點:

面向過程的程式設計方法將客觀事物中本質上密切相關、相互依賴的資料和對資料的操作相互分離,這種實質上的依賴與形式上的分離使得大型程式既難以編寫,也難以除錯、修改和維護,**的可重用性和共享性差。

而物件導向程式設計方法是一種以物件為基礎,以事件或訊息來驅動物件執行相應處理的程式設計方法。它將資料及對資料的操作封裝在一起,作為乙個相互依存、不可分離的整體——物件;它採用資料抽象和資訊隱蔽技術,將這個整體抽象成一種新的資料型別——類。類中的大多數資料,只能通過本類方法進行操作和處理。物件導向程式設計以資料為中心而不是以功能為中心來描述系統,因而非常適合於大型應用程式與系統程式的開發。

在程式結構上,物件導向程式與面向過程程式也有很大的不同。面向過程的程式主要由順序結構、選擇結構和迴圈結構組成,程式的基本單位是函式,程式的執行順序也是確定的。而物件導向程式由類的定義和類的使用兩部分組成,程式的基本單位是類,在主程式內定義物件,並確定物件之間訊息的傳遞規律,程式中的所有操作都是通過向物件傳送訊息來實現的,物件接到訊息後,通過訊息處理函式完成相應的操作。

結構化開發方法與物件導向開發方法之比較

1 結構化方法 結構化方法起源於1960 1980年代。隨著當時軟體工程業的發展,軟體規模逐步擴大。而傳統的以功能和資料為中心的開發方法已經無法適用於大型系統的開發,由此結構化方法運用而生。結構化方法是結構化分析 sa 結構化設計 sd 和結構化程式設計技術 sp 的組合。1.1 結構化分析 結構化...

物件導向開發方法概述

軟體開發都會經歷以下生命週期。1 軟體分析 分析問題領域,了解使用者的需求。2 軟體設計 確定軟體的總體架構,把整個系統劃分成大大小小的多個子系統,設計每個子系統的具體結構。3 軟體編碼 用選定的程式語言來編寫程式 實現在設計階段勾畫出來的軟體藍圖。4 軟體測試 測試軟體是否能實現特定的功能,以及測...

物件導向開發方法總結

1 物件導向的系統分析 物件導向的系統分析 ooa 對問題進行功能分析,提出待解決的問題。對於管理生活費統來說,在這一階段要深入了公司的工作習慣,業務範圍及業務流程,並建立相應的概念模型,物件導向的分析結果直接約束設計過程及產品功能。此階段的主要工作是給出系統層次結構 主題層 結構層 類和物件層 屬...