物件導向的系統分析 三 物件導向分析基本方法

2021-08-23 15:19:11 字數 2347 閱讀 3163

ooa方法共分為五大步驟:標識物件,標識結構,標識主題,定義屬性及定義服務。下面分別作一簡要介紹。

1.標識物件

ooa中的物件實質上是類,它可定義為對資料和在其上執行操作的抽象,反映出乙個系統為現實世界的事物儲存資訊及與其發生相互作用的能力;同時它也是屬性的值以及這些屬性上專有操作的封裝。

可以用單個名詞或形容詞名詞作為物件名,當然採用問題空間的標準名稱作為物件名更好。如何定義物件來自於該領域的實踐和經驗。首先應仔細觀察問題空間,研究使用者世界,然後主動和使用者交談;可以參考一下以前ooa的成果以及別的系統的做法;手頭的些文字和資料也需仔細閱讀;最後給出乙個原型。

為尋找可能的物件,可以從以下幾個方面尋找:結構,與正在考慮的系統發生相互作用的其它系統和裝置,問題空間中應記憶的事件,系統中的人員以及操作過程、地點、組織等。最後,還需要對這些已找出的物件進行整理,去掉那些沒有必要為它儲存資訊和提供服務的物件,也不要把派生結果當作物件。

2.標識結構

結構是問題空間裡複雜事物和複雜關係的表示。這裡結構分為兩種:分類結構和組裝結構。分類結構用於刻劃問題空間的類--成員層次,它通過蒐集公共特性並把這種特性擴充到特例中來顯示現實世界事件的通用性及專用性。組裝結構刻劃乙個整體及其組成部分。

分類結構和組裝結構能使分析人員和領域專家的注意力集中在具有多個類和物件的複雜問題上。而且,使用結構能使分析人員考慮到問題的邊緣,並指示那些尚未發現的類和物件。除此之外,分類結構還具有繼承性。認定乙個分類結構時,首先認為物件具有最一般的含義,然後檢查它的各種可能的專用特性是否在問題空間和系統範圍內,是否是繼承下列的,是否在類-物件鎖考慮的範圍中.同樣的,在把物件看成是專用的,對於它的各種可能的通用特性作上述類似的檢查。分類結構最常見的形式就是泛化-特化層次了,因此在命名時要注意,以避免由於繼承而發生的衝突。

認定組裝結構時,要考慮以下因素:整體 部分、容器 內容、集體 成員。然後把乙個物件看成是整體,檢查它的各種可能的潛在部分,是否在問題空間和系統範圍內,是否僅僅有乙個狀態值(如果是的話,就在整體中加上乙個相應的屬性),是否提供的是乙個有用的問題空間內的抽象。同樣地,再把物件看成是乙個部分,對它的各種可能的整體作上述類似的考慮。

3.標識主題

4.定義屬性

屬性是描述物件或分類結構例項的資料單元。通過對抽象模型增加更多的細節,屬性明確了乙個物件的名字意味著什麼。在ooa中,對屬性的定義分為以下步驟:認定屬性,確定屬性的位置;識別例項的關聯;檢查特例;說明屬性。

認定屬性有個基本原則:首先,要確認它對相應的物件或分類結構的每乙個例項都是適用的。其次,乙個屬性即使對某種物件的例項都是適用的,也還要考慮在現實世界中它與這種事物的關係是不是最密切的。第三,認定的屬性應當是一種相對的原子概念,也就是說,不依賴於並列的其它屬性就可以被理解。

確定屬性的位置主要是針對分類結構而言,採用的是繼承的觀點,低層物件的共有屬性應在上層物件中定義,而自己只定義特有的屬性。

例項的關聯指的是問題空間中的一種對映,它反映了物件相互需要的關係,先對物件新增連線,再定義其是單重、多重以及是強制的還是任選的。

接下來應檢查一些特殊情況,如不能適用於物件所有例項的屬性,只有乙個屬性的物件;值的數目不定的屬性;適配引數,使目標系統適應不同的執行環境或要求。最後,用名字和描述說明屬性,還可以增加一定的屬性約束(如允許的取值、範圍、限制、計量單位和精度)

5.定義服務

乙個服務就是收到一條訊息之後所執行的處理。服務進一步細化了現實的抽象表示,它表明某個類的物件能提供什麼處理。

定義服務,首先是要定義每一種物件和分類結構為應用所要求的行為。其次,還要定義物件的例項之間必要的通訊,這裡,通訊的基本方式是訊息傳遞,所以定義通訊就是定義例項之間的訊息關聯。定義服務分為以下幾步:標識物件陳述、認定需要的服務、認定訊息關聯、對服務進行規格說明。

首先檢查屬性中可能的值以及系統中是否存在相應的服務,然後用物件陳述圖來描述。需要的服務分為兩類:簡單的和複雜的。簡單的包括物件的建立和物件之間的連線,訪問物件屬性的值,以及刪除物件及其連線。複雜的包括根據物件屬性值的計算類服務以及對別的系統的輸入/輸出和裝置的管理類服務。

訊息關聯是事件-響應和資料流的一種結合,每一種訊息關聯都表示著一條要發出的訊息和收到這條訊息要作出的乙個響應,它也是例項之間的一種對映關係。認定訊息關聯,首先在已經用例項關聯聯絡起來的那些例項之間增加訊息關聯。然後檢查那些需要其他例項進行的加工,考慮增加其它必要的訊息關聯。

對服務給出規格說明,重點是那些要求使外部可觀察到的行為,目的是強調可測試部分,作為將來對系統需求進行驗證,對系統進行驗收和測試的基準。因此,對於每乙個服務首先要考慮的是,它所決定的系統行為是不是外界可見的或者可測試的。

整個分析結果的規格說明在給出服務的說明後即告完成。接著,用模板和物件陳述圖,服務列表圖來描述服務和附加的約束,對於那些依賴於陳述的服務,使用服務/陳述表。

最後,匯集所有文件,它包括ooa模型、物件說明書、補充的文件、關鍵執行路徑表、附加的系統限制以及服務/陳述表。

4 物件導向建模 系統分析

系統設計的目標 把系統劃分為子系統,對系統或子系統進行分層,將子系統分配給硬體裝置 系統設計步驟如下 1.估算效能 如我們會大概估算訪問我們站點的併發請求數量,並估算我們站點可以接收的併發請求數量,推測我們的站點會不會存在效能問題 2.定製復用計畫 即討論我們需要使用哪些開源的庫,框架,模式等 3....

物件導向系統分析設計用例分析

運用staruml ea enterprise architect 完成不少於5個用例的用例圖,並為每個用例新增用例描述,用例描述模板參照教材p50.1 用例uc1 註冊賬戶 用例名稱 註冊賬戶 範圍電影票務銷售系統 級別子功能 主要參與者 使用者涉眾及其關注點 使用者 希望可以註冊成功成為該系統的...

JavaSE(三) 物件導向(1) 物件導向簡介

物件導向算是一種比較新的軟體設計的方法,在沒有物件導向之前使用的是面向過程 是針對於乙個問題解決問題,如果修改的話,則整個設計都要修改 物件導向是針對於一類問題來進行解決,某一區域性的修改不影響其他位置的變化。在物件導向中主要分為以下三個方面 ooa 物件導向分析。ood 物件導向設計,根據分析的結...