coad和yourdon的方法是建立在資訊模型化技術、物件導向的程式設計和知識庫系統的基礎之上的,方法分為物件導向的分析(ooa)和物件導向的設計(ood)。我們在這裡先討論coad和yourdon物件導向的分析,在下一節中再討論物件導向的設計。
coad和yourdon認為物件導向的分析主要應該考慮:乙個與特定應用有關的物件,物件與物件在結構和相互作用上的關係。在物件導向的分析中,需要建立分析模型來描述系統的功能。
ooa的任務
物件導向的分析需要完成兩個任務:
●形式的說明所面對的應用問題,最終成為軟體系統基本構成的物件,以及系統所必須遵從的、由應用環境所決定的規則和約束。
●明確地規定構成系統的物件如何協同工作,完成指定的功能。
通過物件導向的分析建立的系統模型是以概念為中心的,因此稱為概念模型。概念模型由一組相關的類組成。物件導向的分析可以自頂向下地逐層分解建立系統模型,也可以自底向上地從已經定義的類出發,逐步構造新的類。
概念模型構造和評審的順序由五個層次構成:類和物件層、屬性層、服務層、結構層、主題層。這五個層次不是構成軟體系統的層次,而是分析過程中的層次,也可以說是問題的不同側面,每個層次的工作都為系統的規格說明增加了乙個組成部分。當五個層次的工作全部完成時,物件導向的分析的任務也就完成了。
ooa的步驟
物件導向的分析通常按照下面的步驟進行:
(1).標識物件和類。可以從應用領域開始,逐步確定形成整個應用的基礎的類和物件。這個步驟要通過分析領域中目標系統的責任、調查系統的環境,從而確定對系統有用的類和物件。
(2).標識結構。典型的結構有兩種,一般--特殊結構和整體--部分結構。一般--特殊結構表示一般類是基類,特殊類是派生類;整體--部分結構表示聚合,由屬於不同類的成員聚合成為新的類。
(3).標識屬性。物件所儲存的資訊稱為它的屬性。類的屬性所描述的是狀態資訊,在類的某個例項中屬性的值表示該物件的狀態值。對於每個物件,我們都需要找出在目標系統中物件所需要的屬性,而後將屬性安排到適當的位置,找出例項連線,最後進行檢查。對每個屬性應該給出描述,由屬性的名字和屬性的描述來確定,並指定對該屬性存在哪些特殊的限制(如唯讀、屬性值限定於某個範圍之內等)。
(4).標識服務。物件收到訊息後執行的操作稱為物件提供的服務,它描述了系統需要執行的處理和功能。定義服務的目的在於定義物件的行為和物件之間的通訊。其具體步驟包括標識物件狀態、標識必要的服務、標識訊息連線和對服務的描述。可以用和流圖類似的圖形來指明服務。
(5).標識主題。對於包含大量類和物件的概念模型往往難以掌握,標識主題則對模型進行劃分,給出模型的整體框架,劃分出層次結構。但是coad和yourdon並沒有提出如何標識主題的具體建議。在標識主題時,可以採取先識別主題,而後對主題進行改進和細化,最後將主題加入到分析模型當中步驟進行。主題是乙個與應用相關的,而不是人為任意引出的概念,主題層的工作有助於分析的結果。
python 物件導向 python是物件導向嗎
python是一種物件導向 解釋型計算機程式語言,由guido van rossum於1989年底發明,第乙個公開發行版發行於1991年,python 源 同樣遵循 gpl gnu general public license 協議。python語法簡潔而清晰,具有豐富和強大的類庫。但實際上面向過程...
Oracle定義包和過程,返回結果集(物件導向)
create or replace package pk wt istype mytype is ref cursor 定義乙個變數 procedure p wt mycs out mytype 宣告乙個過程 end create or replace package body pk wt ispr...
C 物件導向 9 物件模型和this指標
本篇來學習物件模型和this指標,物件模型主要是了解物件的儲存模型。在c 中,類內的成員變數和成員函式是分開儲存的,只有非靜態成員變數才是屬於類的物件上,其他都和類存在不同記憶體區域。1.乙個類的空物件占用記憶體是多大位元組 這裡我們先寫乙個 通過sizeof 函式來列印乙個空的類物件占用記憶體是多...