第二章 相關文獻
2.1 物件導向方法論
在軟體開發過程中,物件導向的推廣與應用,已成為新世代的軟體發展技術 之主流。物件導向(Object-Oiented,OO)的觀念起源於1967年,由挪威學者Ole-Jone Dahl所設計的Snmula67的模擬語言中首先提出物件(Object)、封裝(Encapsulation)、
4
物件是實際行為的抽象化,具有可重複使用性、屬性及操作方法,而其中屬 性是指一個具名性質,一個物件類別中可以具有不限數目的屬性,也可以不具有 屬性;其操作方法則是指由物件類別所要實行之服務或行為。使用物件導向方法 設計的理由是因為物件導向具有三大特性是封裝(Encapsulation)、繼承
(Inheritance) 、以及多型(Polymorphism)。繼承就是由基礎物件類別衍生出新的衍 生物件類別,除了基礎物件類別的私有屬性及操作,衍生物件類別擁有基礎物件 件導向方法論,最早的物件導向方法論從1986年Grady Booch[5]率先提出。之後又 出現了Coad/ Yourdon[6]、物件導向軟體工程(OOSE/ Ivar Jacobson)[7]、OMT (Object Modeling Technique)[8]、物件導向分析設計(OOAD/ Matin/ Odell)[9]等方法,在物 件導向方法論的市場上都占有一席之地。直到Rational軟體公司在1995年裡開始將
「-Booch」和「物件塑模技術」(簡稱OMT)兩方法整合在一起,並在1996年融合 了「物件導向軟體工程」(簡稱OOSE)的概念所共同產生的統一塑模語言(Unified Modeling Language, UML)[10][11][12],並於1997年11月被物件管理協會(Object
5
Man-agement Group, OMG)全數決議通過,正式採納為標準。
布希(Booch)的物件導向方法論
布希(Booch)的物件導向方法論[5]率先在1986年提出。以四種模式及六種圖示 來描述系統的動態及靜態行為,並應用微觀及宏觀二種角度來說明系統發展的程 序。微觀開發程序:
1. 找出類別與物件
2. 找出類別與物件之語意 3. 找出類別與物件之關係 4. 建置類別與物件
宏觀發展程序(如圖1):
1. 建立關鍵需求:提出概念性的雛型。
2. 建立行為模式:產生分析階段的系統功能說明、績效及資源需求。
3. 產生設計架構:產生設計階段的架構說明及一般技術決策說明。
4. 導出鍵置:產生一系列精緻化過程中可執行的軟體版本,進而探索設計 決策或分析系統雛型。
5. 管理交付產品:針對現行系統的持續維護過程中,任何的變動均應考慮 到波及面,確實維護各階段產品之一致與完整性。
圖 1. 布希物件導向方法論宏觀發展程序
OMT(Object Modeling Technique)
James Rumbaugh先生於1991年[8]所提出來。以三個明確的模型-物件模型 (Object model)、動態模型(Dynamic model)、以及功能模型(Functional model)描述系 統行為,動態及功能模型運算動作所需的資料結構是由物件模型所提供;動態模 型則描述物件的控制結構;另外,功能模型則描述那些被物件模型的「運算」及 動態模型的「動作」所呼叫的功能,而這些功能作用在物件模型定義的屬性資料 上。接下來介紹這三種模型:
物件模型(Object Model):顯示一個系統的靜態架構,包括物件本身的定義、
物件的屬性、運算以及物件與其它物件間的關係。 建立物件模型的步驟如下:
1.確認物件及類別
2.準備資料字典,以供分析時用 3.確認物件間關聯的關係
4.確認物件的屬性及連接
6
7
5.使用繼承將類別組織化及簡化 6.確定每個存取資料的路徑均存在 7.反覆及細分此模型
8.將相關類別集中成模組
動態模型(Dynamic Model):主要是要找出系統的狀態流程,各狀態的控制事 件,及各狀態所要執行的各種行為;以狀態圖表示各物件類別各種事件順序與狀
功能模型(Functional Model):表示系統的功能面,以及資料在系統內的流動與 轉換;以資料流程圖(data flow diagram)的形式呈現,其上顯示資料間的相依性,
以及從輸入到輸出的轉換步驟。建立功能模型的步驟如下:
1.確認物件間的事件
2.針對每個劇本準備一個事件追蹤 3.建立狀態圖
4.確立物件間的事件的一致性
物件導向的方法目前被廣泛的應用到各方面,像是Schwabe et al.於1995 年提 出物件導向超媒體設計方法(Object-Oriented Hypermedia Design Method,簡稱 OOHDM )[13],就是一種適用於Web 應用程式開發的建模方法,可以用來滿足開 發電子商務軟體的設計需求。
8