軟考知識點梳理 物件導向方法

2022-09-02 20:33:10 字數 2679 閱讀 2224

物件導向(object-oriented,oo)方法認為,客觀世界是由各種物件組成的,任何事物都是物件,每乙個物件都有自己的運動規律和內部狀態,

都屬於某個物件類,是該物件類的乙個元素。複雜的物件可由相對簡單的各種物件以某種方式而構成,不同物件的組合及相互作用就構成了系統。

oo方法

是當前的主流開發方法,擁有很多不同的分支體系,主要包括omt(object model

technology,物件建模技術)方法、coad/yourdon方法、oose(object-oriented software

engineering,物件導向的軟體工程)方法和booch方法等,而omt、oose和booch已經統一成為uml(united

model language,統一建模語言)。

使用oo方法構造的系統具有更好的復用性,其關鍵在於建立

乙個全面、合理、統一的模型(用例模型與分析模型)。與結構化方法類似,oo方法也劃分階段,但其中的系統分析、系統設計和系統實現三個階段之間已經沒有

「縫隙」。也就是說,這三個階段的界限變得不明確,某項工作既可以在前乙個階段完成,也可以在後乙個階段完成;前乙個階段工作做得不夠細,在後乙個階段可

以補充。

oo方法使系統的描述及資訊模型的表示與客觀實體相對應,符合人們的思維習慣,有利於系統開發過程中使用者與開發人員的交流和溝通,縮短開

發週期。oo方法可以普遍適用於各類資訊系統的開發,但是,oo方法也存在明顯的不足。例如,必須依靠一定的oo技術支援,在大型專案的開發上具有一定的

侷限性,不能涉足系統分析以前的開發環節。

當前,一些大型資訊系統的開發,通常是將結構化方法和oo方法結合起來。首先,使用結構化方法進行自頂向下的整體劃分;然後,自底向上地採用oo方法進行開發。因此,結構化方法和oo方法仍是兩種在系統開發領域中相互依存的、不可替代的方法。

ooa的基本任務是運用oo方法,對問題域進行分析和理解,正確認識其中的事物及它們之間的關係,找出描述問題域和系統功能所需的類和物件,定義它們的屬性和職責,以及它們之間所形成的各種聯絡。最終產生乙個符合使用者需求,並能直接反映問題域和系統功能的ooa模型及其詳細說明。

ooa模型包括用例模型和分析模

型,用例是一種描述系統需求的方法,使用用例的方法來描述系統需求的過程就是用例建模;分析模型描述系統的基本邏輯結構,展示物件和類如何組成系統(靜態

模型),以及它們如何保持通訊,實現系統行為(動態模型)。

ood是ooa方法的延續,其基本思想包括抽象、封裝和可擴充套件性,其中可擴充套件性主要通

過繼承和多型來實現。在ood中,資料結構和在資料結構上定義的操作演算法封裝在乙個物件之中。由於現實世界中的事物都可以抽象出物件的集合,所以ood方

法是一種更接近現實世界、更自然的軟體設計方法。

ood的主要任務是對類和物件進行設計,包括類的屬性、方法,以及類與類之間的關係。ood的結

果就是設計模型。對於ood而言,在支援可維護性的同時,提高軟體的可復用性是乙個至關重要的問題,如何同時提高軟體的可維護性和可復用性,是ood需要

解決的核心問題之一。

在ood中,可維護性的復用是以設計原則為基礎的。常用的ood原則如下:

(1)單一職責原則:設計功能單一的類。本原則與結構化方法的高內聚原則是一致的。

(2)開放-封閉原則:對擴充套件開放,對修改封閉。

(3)李氏(liskov)替換原則:子類可以替換父類。

(4)依賴倒置原則:要依賴於抽象,而不是具體實現;針對介面程式設計,不要針對實現程式設計。

(5)介面隔離原則:使用多個專門的介面比使用單一的總介面要好。

(6)組合重用原則:要盡量使用組合,而不是繼承關係達到重用目的。

(7)迪公尺特(demeter)原則(最少知識法則):乙個物件應當對其他物件有盡可能少的了解。本原則與結構化方法的低耦合原則是一致的。

物件導向的三個基本特徵是:封裝、繼承、多型。

封裝,是把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。

繼承,可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件。通過繼承建立的新類稱為「子類」或「派生類」。被繼承的類稱為「基

類」、「父類」或「超類」。繼承概念的實現方式有三類:實現繼承、介面繼承和可視繼承。實現繼承是指使用基類的屬性和方法而無需額外編碼的能力;介面繼承

是指僅使用屬性和方法的名稱、但是子類必須提供實現的能力;可視繼承是指子窗體(類)使用基窗體(類)的外觀和實現**的能力。

多型,是允許將父物件設定成為和乙個或更多的他的子物件相等的技術,賦值之後,父物件就可以根據當前賦值給它的子物件的特性以不同的方式運作。實現多型有二種方式:覆蓋,過載。

物件導向系統分析和設計

面 向物件的系統分析和設計是將物件導向的方法運用到軟體工程的分析設計階段。物件導向的系統分析和設計的主要目的是完成對某個特定應用論域

domain)的分析和系統的建模。應完成的主要工作是描述系統中的物件、物件的屬性和操作、物件的動態特性、物件間的構造關係和通訊關係等,從而建立系

統的靜態結構和動態活動模型。

系統分析和設計應遵循的原則是:

1)系統開發是面向客戶的,應從客戶的角度考慮。

2)諸如系統開發生命週期之類的產品更新換代機構應該在所有的資訊系統開發專案中建立起來。

3)資訊系統開發的過程並不是乙個順序的過程,它允許步驟的重疊和倒轉等。

4)如果系統的成功可能性受到很大限制時,應取消整個專案。

5)文件材料是系統開發生命週期中重要的可遞交成果,應加以重視。

軟考知識點梳理 螺旋模型

螺旋模型是一種演化軟體開發過程模型,它兼顧了快速原型的迭代的特徵以及瀑布模型的系統化與嚴格監控。螺旋模型最大的特點在於引入了其他模型不具備的風險 分析,使軟體在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑。螺旋模型更適合大型的昂貴的系統 級的軟體...

軟考知識點梳理 綜合佈線

機房 機房是系統整合工程中伺服器和網路裝置的 家 通常分為以下 3類 智慧型建築弱電總控機房,工作包括佈線 監控 消防 計算機機房 樓宇自控等 電信間 弱電間和豎井 資料中心機房,包括企業自用資料中心 運營商託管或網際網路資料中心,大型的資料中心,可達數萬臺伺服器。機房工程 機 房工程結合了機房的環...

軟考知識點梳理 溝通原則

專案溝通的幾個原則 1 溝通內外有別 對內有分歧,對外要一致,乙個團隊要一種聲音說話。面對不同的物件甚至可以選用特定的發言人 2 非正式的溝通有利於關係的融洽 像語言環境一樣,人們的語言風格往往和他的意識裡扮演的角色有關,在正式場合,說話正規 書面 自我保護的意識也強烈一些。而在私下的場合,人們的語...