3 物件導向方法學

2021-05-04 09:24:33 字數 2991 閱讀 1203

ø

物件與類

物件是指一組屬性以及這組屬性上的專用操作封裝體

類是一組具有相同屬性和相同操作的物件的集合。ø繼承

繼承是在某個類的層次關聯中不同的類共享屬性和操作的一種機制;

乙個子類只有唯一的乙個父類,這種繼承稱為單一繼承。乙個子類有多個父類,可以從多個父類中繼承特性,這種繼承稱為多重繼承。ø訊息

訊息是物件間通訊的手段、乙個物件通過向另一物件傳送訊息來請求其服務;

乙個訊息通常包括接收物件名、呼叫的操作名和適當的引數(如有必要)。

ø多型性和動態繫結

多型是指類中具有相似功能的不同函式是用同一名稱來實現,從而可以使用相同的呼叫方式來呼叫這些具有不同功能的同名函式。

多型分為過載多型(過載多型);強制多型;包含多型:通過虛函式來實現;引數多型。(前兩個被稱為專用多型,後兩者被稱為通用多型)

多型有分為編譯時多型(靜態繫結),執行時的多型(動態繫結)。ø類庫

類庫是一種預先定義的程式庫,它以程式模組的形式,按照類層次結構把一組類的定義和實現組織在一起。

ø類屬類

如c++

模板類。

乙個類屬類並不是一種真正的類型別;

類屬類必須經過例項化後才能成為可建立物件例項的類型別;

類屬類的例項化是指用某一資料型別替代類屬類的型別引數。

ø訪問指明符:

private

、protected

、public ø

繼承的限定:

private

、protected

、public ø

ooa和

ood方法(

oose)1.

ooa模型由

5個層次(主題層、物件類層、結構層、屬性層和服務層)和

5個活動(標識物件類、標識結構、定義主題、定義屬性和定義服務)組成。

2.ood

模型由4

個部分組成,分別是設計問題域部分、設計人機互動部分、設計任務管理部分和設計資料管理部分。

øbooch

方法1.

標識類和物件

2.確定他們的含義

3.標識他們之間的關係

4.說明每乙個類的介面(介面)和實現

øomt

方法1.

物件模型

2.動態模型

3.功能模型

øuml

是乙個通用的視覺化建模語言,用於對軟體進行描述、視覺化管理、構造和建立軟體系統製品的文件;

øuml

包括概念的語義,表示法和說明,提供了靜態、動態、系統環境及組織結構的模型。

øuml

適用於各種軟體開發方法、軟體生命週期的各個階段、各種應用領域以及各種開發工具。

øuml

標準沒有定義一種標準的開發過程,但它適用於迭代式的開發過程。

ø構造塊

1.建模元素:結構元素、行業元素、分組元素、註解元素;

2.關係:關聯、依賴、泛化關係、實現關係等;

3.圖:

9種圖。類圖、構件圖、部署圖;物件圖、用例圖、協作圖、狀態圖等;包圖。

ø公共機制

1.規格說明(詳細說明)

2.修飾

3.公共分類(通用劃分):類元(抽象)與實體(實際);介面與實現。

4.擴充套件機制ø規則

為建模元素、關係和圖命名

ø包含關係:

include = use ,

抽象用例

ø擴充套件關係:主用例與輔助用例

關係圖例

簡單活**

帶泳道的活**、ø

尋找類名詞動詞法

ø確定類之間的關聯

ø為類新增職責(屬性和方法)

ø域模型的詳細度

ø用例的獲取

執行者需要系統執行的主要任務是什麼?

執行者需要在系統中建立、儲存、修改、刪除和讀取資料麼?

執行者需要告知系統突然發生的外部變動麼?

系統的所有特性是否可被已經識別的用例實現?

執行者是否要執行系統的啟動和關閉?

用例獲取的結束條件:

1)使用者不能想出更動的用例;

2)使用者提出的新的用例可以通過已經獲取的用例相關的功能需求來實現;

3)使用者新提出的需求涉及到具體的實現細節,可由有限的簡單操作完成,其相應的用例粒度太小;

4)使用者提出的需求涉及到系統將來的特性,超出了當前的系統範圍。

ø識別執行者

誰直接使用系統;

誰負責系統的維護工作?

系統使用的外部硬體。

要與本系統交換資訊的其他系統。

誰將提供、使用、刪除資訊?

誰將使用這個功能?

誰對某一特定需求感興趣?

誰負責系統某一方面的維護工作?

系統外部的資源是什麼?

那些外部系統需要與系統的這一部分互動?

ø合併需求獲得用例

將特徵分配給相應的執行者;

進行合併操作。

ø繪製成用例圖

ø細化用例描述

用例名稱;

簡要說明;

事件流;

非功能要求;

前置條件;

後置條件;

擴充套件點;

優先順序(用滿意度描述

1-5)。

ø使用者需求的用例模型

從所有的用例中識別出表達抽象行為的抽象用例,在基用例與這些抽象用例之間運用用例的包含、擴充套件和泛化關係建立聯絡。

在具有公共特性的執行者之間建立建立執行者的泛化關係。

ø功能需求的獲取

1)選擇乙個具有最高優先順序用例

2)場景分析

3)用例分解

4)用例判定

5)對剩餘的用例,重複(2)

-(4)步

ø非功能需求的獲取

非功能需求:易操作性、可靠性、可維護性、業務規則、各種法規、制度等。

非功能需求不能由用例分析得到。相反,其中一些非功能需求會對用例的實現具有制約作用。

物件導向方法學引論

面對物件方法學的出發點和基本原則,是盡可能模擬人類習慣的思維方式,使開發軟體的方法與過程盡可能接近人類認識世界解決問題的方法與過程,也就是使描述問題的問題域與實現解法的求解域在結構上盡可能一致。客觀世界的問題都是由客觀世界中的實體及實體相互間的關係構成的。人們把客觀世界中的實體抽象為問題域中的物件。...

軟體危機,傳統方法學和物件導向方法學

傳統方法學 物件導向方法學 在計算機軟體開發和維護過程中,所產生的一系列嚴重的問題,通常導致開發效率降低,開發質量下降1 軟體需求快速增長,增加了軟體開發和維護的難度。2 當前技術水平有限,對已有需要維護的軟體產品無法維護。隨著軟體危機的產生,傳統方法學和物件導向方法學應運而生 使得軟體開發和維護的...

軟體工程 物件導向方法學

question 組合語言編寫程式,高階語言的結構化程式設計和物件導向程式設計之間的比較 根本目標 實現工業化,自動化,批量生成 組合語言,接近機器語言 面對物件 物件 類 繼承 計算機處理實體物件 面對物件方法 這裡的物件是指,資料以及可以加工這些資料之上的操作所構成的統一體。結構化的方法 通過物...