欢迎来到天天文库
浏览记录
ID:20053143
大小:145.50 KB
页数:16页
时间:2018-10-08
《第14章物件导向设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、軟體工程第14章物件導向設計學習目標瞭解如何以能夠管理自己狀態和運算動作的互動物件來進行軟體設計知道一般物件導向設計程序中的重要活動瞭解用來記錄物件導向設計的各種模型瞭解如何以UML語言來描述這些模型物件導向物件導向系統是由一群互動式物件所組成,這些物件可以維護自己的狀態,並且能夠提供針對這些狀態對應的運算動作。(ReferencetoFig.14-1)物件導向分析:主要是開發應用領域的物件導向模型。模型中的物件是反映與待解決問題相關的實體與運算動作。物件導向設計:主要是開發軟體系統的物件導向模型來實作找出的需求。物件導向設計中的物件與問題的解決方案具有關聯性。物件導向程式設計:使用物件導向
2、程式語言來實現軟體的設計。例如Java就是一種物件導向程式語言,它提供構件(construct)來定義物件類別,並且提供一個執行期間系統(run-timesystem)從這些類別來建立物件。14.1物件和物件類別物件(object)和物件導向(object-oriented)這兩個術語被應用在各種不同類型的實體、設計方法、系統和程式語言上。ReferencetoP.14-514.1物件和物件類別在UML中,物件類別是表示成一個有名稱的矩形,此矩形被分為2個部分。(ReferencetoFig.14-2)當隸屬於某個物件類別的物件和其他物件存在某種關係(relationship)時,這些關係可
3、以利用物件類別之間的關聯性(association)來定義。關聯性是很常見的關係,經常用在UML中,用來表示物件的某個屬性是個被關聯的物件,或是該物件的方法實作必須依賴這個關聯物件。一般化的階層架構關聯性的模型並行物件在概念上,當某個物件要向其他物件提出服務要求時,它會傳送出一個「服務請求」(servicerequest)的訊息給提供服務的物件,提出請求的物件應該不用等待該服務執行完成。因此,物件互動的一般模型應該允許物件以平行的行程來並行的(concurrently)執行。這些物件可能在同一台電腦上執行,或是在不同機器上當作分散式物件來執行。14.2物件導向設計的程序這裡使用的物件導向設計
4、程序分成下列幾個階段:瞭解與定義系統所使用的環境和模型設計系統架構辨識系統內的主要物件開發設計模型指定物件介面ReferencetoP.14-11,Fig.14-6,Fig.14-7系統環境模型與系統使用模型系統環境(systemcontext)與系統使用模型代表2個互補的模型,這是用來描述系統與它的環境之間的關係:系統環境是一個靜態模型,用來描述環境中的其他系統(如類別,使用案例)。系統環境模型可以用關聯性來表示,參考Fig.14-4,14-7,14-8系統使用模型是一個動態模型,用來描述系統實際上如何與它的環境互動,參考Fig.14-13。架構設計一旦軟體系統和系統環境之間的互動設計好之
5、後,便可以使用這些資訊當作設計系統架構的基礎。ReferencetoP.14-15物件識別辨識物件類別有下列幾種不同方式:對系統的自然語言描述進行文法分析。其中物件和屬性是名詞,運算動作或服務則是動詞(Abbott,1983)。以應用領域中的有形實體(事物,如飛機)、角色(如經理人)、事件(如請求)、互動(如會議)、位置(如辦公室)和組織單位(如公司)等來識別(ShlaerandMellor,1988;CoadandYourdon,1990;Wirfs-Brock,etal.,1990)。根據設計人員對系統整體行為的初步瞭解,以行為學的方法來識別。系統的各個不同部份會有不同的行為,經過分析與
6、理解之後,可以得知這些行為的起始者和參與者。扮演重要角色的參與者會被識別為物件(RubinandGoldberg,1992)。使用情境分析法,針對系統的各種使用情境輪流進行辨識與分析。在分析每個情境時,負責分析的人員必須識別出必要的物件、屬性和運算動作。ReferencetoFig.14-11設計模型設計模型可以展示出系統中的物件或物件類別,以及這些實體之間的不同關係。設計模型的本質就是設計,它們可以當成系統需求和系統實作之間的橋樑,因為這些模型之間的需求可能會有衝突。這些模型必須是抽象的,如此一來一些不必要的細節才不會遮蓋它們與系統需求之間的關係。不過,另一方面它們還是必須提供夠詳細的資料
7、,讓程式設計人員可以進行實作上的決定。要描述一個物件導向設計通常需要產生下列2種設計模型:靜態模型:以系統的物件類別和它們的關係來描述系統的靜態結構。在此階段可能會記錄的重要關係包括一般化關係(generalisationrelationship)、使用與被使用關係(uses/used-byrelationship)以及組合關係(compositionrelationship)。動態模型:是描述系統的動態結構
此文档下载收益归作者所有