1. 程式人生 > >幾種典型的面向物件開發方法總結

幾種典型的面向物件開發方法總結

1.      Booch方法

Booch方法所採用的物件模型要素是:封裝、模組化、層次型別、併發。重要的概念模型是類和物件、類和物件的特徵、類和物件之間的關係。使用的圖形文件包括六種:類圖、物件圖、狀態轉換圖、互動圖、模組圖和程序圖。

Booch方法的開發過程:

(1)      在給定的抽象層次上識別類和物件。

(2)      識別這些物件和類的語義。

(3)      識別這些類和物件之間的關係。

(4)      實現類和物件。

2.      Coad 方法

Coad方法主要由面向物件分析和麵向物件設計構成。他強調的是OOA(面向物件分析)和OOD(面向物件設計)採用完全一致的概念和表示法,使分析和設計之間不需要表示法的轉換。

Coad方法主要包括兩個大過程:OOA和OOD

(1).      OOA(面向物件分析)

面向物件分析中跟Booch方法一樣首先要在給定的抽象層次上發現類和物件。第二步在類和物件的基礎上識別類的層次結構、識別整體與部分之間的關係結構。第三步就是主題劃分,通過主題劃分來將整個大系統分解為若干主題的子系統。第四步定義屬性,即定義物件的資料或狀態資訊。第五步定義服務,所謂服務就是物件的具體行為。

(2).      OOD

OOD的設計模型在面向物件的分析的5個層次基礎上由4個部件組成:問題域部件、人機互動部件、任務管理部件、資料管理部件

問題域部件設計即瞭解開發系統的應用領域,即在客觀世界中由該系統處理的業務範圍,在此基礎之上對面向物件分析的5各層次不斷完善。

人機互動部件即對人機互動介面的設計。

任務管理部件設計即明確劃分任務的型別,並把任務分配到硬體或軟體上去。

資料管理部件即各種資料儲存的設計,通常有檔案系統和資料庫管理系統兩類儲存模式。

3. OMT方法

  OMT方法提供了3種模型來描述系統:物件模型、動態模型和功能模型

  物件模型描述物件的靜態結構和他們之間的關係,靜態模型的建立提供了系統靜態功能的描述。

 動態模型描述系統隨時間變化的變化及行為。

  功能模型主要描述系統內部資料值的變換。

         OMT方法的四個階段:                                  

(1)      分析

分析階段建立問題域,分析物件模型、動態模型、功能模型的結構組成。

(2)      系統設計

跟Coad設計方法的主題劃分相似將系統分解為若干子系統。

(3)      物件設計

基於分析的3中模型結構完成物件設計、建立動態模型、建立功能模型。

(4)      實現

將設計轉化為程式設計,實現系統。

相關推薦

典型面向物件開發方法總結

1.      Booch方法 Booch方法所採用的物件模型要素是:封裝、模組化、層次型別、併發。重要的概念模型是類和物件、類和物件的特徵、類和物件之間的關係。使用的圖形文件包括六種:類圖、物件圖、

典型面向物件開發方法

主要包括下列概念:類(class)、物件(object)、繼承(inherits)、相識(acquaintance)、通訊(communication)、激勵(stimuli)、操作(operation)、屬性(attribute)、參與者(actor)、使用事例(use case)、子系統(subsyste

軟體工程總結——傳統軟體開發方法面向物件開發方法的比較

軟體開發是一門技術,它需要相應的理論、技術、方法、手段和工具來支援。就軟體開發技術的發展而言,主要經過了結構化開發方法和麵向物件的軟體開發方法。  傳統軟體開發: 結構化開發方法:         

面向物件開發方法面向資料流的結構化開發方法有什麼不同?

(1)結構化開發方法是使用最廣泛、歷史最長的過程化開發方法。結構化開發方法產生過程的抽象,這些抽象把軟體視為 處理流,定義構成一系列步驟的演算法,每一步驟都是帶有預定義輸入和特定輸出的一個過程,把這些步驟串聯在一起可產生合理 的穩定的貫通於整個程式的控制流。這將最終導致一個很簡單的具有靜

關於常用的脫殼方法總結

最近一直在學習殼的破解,和大家分享一下幾種常用的脫殼方法 1.esp定律 使用PEID查殼,瞭解殼的屬性 載入OD,F8單步執行,注意暫存器的視窗 這個時候會發現只有ESP後面對應得資料為紅色,我們就應該知道,可以使用ESP定律了,單擊紅色的ESP右鍵會出現HW brea

面向物件開發軟體——三模型

用面向物件方法開發軟體,通常需要建立三種形式的模型:物件模型:描述系統資料結構動態模型:描述系統控制結構功能模型:描述系統功能 什麼是物件模型物件模型表示靜態的、結構化的系統的“資料”性質。物件模型是對模擬客觀世界實體的物件以及物件彼此間的關係的對映,描述了系統的靜態結構。

RabbitMQ的典型使用場景-java語言開發

RabbitMQ主頁:https://www.rabbitmq.com/ AMQP AMQP協議是一個高階抽象層訊息通訊協議,RabbitMQ是AMQP協議的實現。它主要包括以下元件: 1.Server(broker): 接受客戶端連線,實現AMQP訊息佇列和路

面向物件開發面向物件設計模式的個核心的思想和概念 -java

  面向物件方法,OO方法所具有的模組化、資訊封裝與隱蔽、抽象性、繼承性、多樣性等獨特之處,這些優異特性為研製大型軟體、提高軟體可靠性、可重用性、可擴充性和可維護性提供了有效的手段和途徑。Java主要特徵:封裝性,繼承性,多型性. >>>> 面向物件

原生js使用面向物件方法開發選項卡例項教程

本教程通過js面向物件的方法來封裝一個選項卡的例項,在例項中講解js的面向物件如何實現功能。 一般封裝好的選項卡程式,只需要一個div元素即可。其它元素都是通過json資料來生成,所以封裝好的選項卡例項,呼叫非常方便。先建立一個div元素,如下所示: <div class="tab_box" clas

NSSrting的經常使用的使用方法

from nil asc nsdata any equal bre tom zed 1.創建NSString字符串 NSString 與 char* 最大的差別就是 NSString是一個objective對象,而char* 是一個字節數組。@+" 字符串 " 這個符

典型應用對系統資源使用的特點

java 訪問量 資源 虛擬內存 數據庫應用 1)以靜態內容為主的Web應用a、小文件居多,並且讀操作頻繁,主要消耗內容 b、優化,盡量在前段使用緩存,如果訪問量較大的情況,使用cdn c、在高並發訪問時,還存在另外一個,如果網絡帶寬瓶頸,客戶訪問量大且帶寬不夠,就會阻塞網絡2)以動態內容

js中實用的跨域方法原理詳解

自身 標簽 cdc 返回 屬性和方法 插入 實用 封裝 判斷 這裏說的js跨域是指通過js在不同的域之間進行數據傳輸或通信,比如用ajax向一個不同的域請求數據,或者通過js獲取頁面中不同域的框架中(iframe)的數據。只要協議、域名、端口有任何一個不同, 都被當作是不同

死鎖跟蹤:6跟蹤死鎖的方法總結

時間 mda msd count avi filesize microsoft win int 原文地址:http://blog.csdn.net/kk185800961/article/details/42504857 方法一:Windows 性能計數器監控 命令行輸

CSS及網站開發常犯的錯誤

設計 忽略 電腦 最大 XML 需要 使用 搜索引擎 容器   CSS網頁布局開始及網站常犯的幾種錯誤,無論是策劃、設計、開發,這些錯誤都要避免!鞍山治療白癜風好的醫院www.pf0412.cn   1、導航菜單使用圖片、FLASH   導航菜單使用圖片、FLASH當然比純

求逆元的方法

int 才有 gpo log swa class ++ 要求 1-n 一, 擴展歐幾裏得 1 void exgcd(int a,int b,int &x,int &y) 2 { 3 if(b==0) 4 { 5 x

構造對象的方法

rip call har gets 創建 get post set ret 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="

做好網站建設,這友鏈添加方法必須學會

餐飲 成功率 讓其 原創 百度搜 一個 就是 競爭對手 學會 小編在之前的文章中有提到,對於做網站優化推廣來講,友鏈是效果最好最穩定的一種外鏈了。做好了友鏈,可以引流,傳遞網站權重,吸引訪客和蜘蛛到網站瀏覽,進而做好網站建設。今天小編就來介紹下幾個實打實的友鏈交換技巧。一、

Java面向物件方法

Java 方法 那麼什麼是方法呢? Java方法是語句的集合,它們在一起執行一個功能。 方法是解決一類問題的步驟的有序組合 方法包含於類或物件中 方法在程式中被建立,在其他地方被引用 方法的優點 1. 使程式變得更簡

04.面向物件——構造方法

例項化物件的同時,就為這個物件的屬性進行賦值——就是初始化 一、無參的初始化 class Person { public Person() {// 定義構造方法 System.out.println("呼叫無參的構造方法"); } } public class Example09

Java面向物件模板方法(溫習final、abstract)

 /*  * 當代碼完成優化後,就可以解決這類問題  * 這種方式就是模板方法:  *     在定義功能時,功能一部分是確定的,但有一部分是不確定的,而確定的部分在使用不確定的部分,  * 那麼這時就將不確定的部分