UML讀書筆記(1)

2021-04-12 11:39:05 字數 1945 閱讀 3017

uml的定義(unified modeling language)統一建模語言。

在系統的開發過程中,最關鍵的一點是要用一種系統分析員,客戶,程式設計師和其他系統開發所涉及到的人員能夠理解和達成一致的方式來組織系統的設計過程,uml就提供了這種組織方式。

uml的組成包括類圖,物件圖,用例圖,狀態圖,順序圖,活**,協作圖,構件圖,部署圖等。uml2.0還包括組成結構圖,互動縱覽圖,計時圖,包圖等。

類是具有相同屬性和操作的一組物件集。繼承就是類繼承了其他類的屬性和操作。物件是乙個種類的例項(屬性,操作和起來稱為特徵)。抽象就是過濾掉物件的一部分特性和操作只剩下你需要的屬性和操作。不同的類具有相同的操作,但是在每個類都能知道自己的操作如何執行這就叫多型性。封裝就是當乙個物件執行自己的操作時對外界隱藏操作細節。但是類要提供乙個方法讓我們能操作這些被封裝的操作就是介面。物件之間的協作是通過相互傳送訊息實現的。物件經常要和其他物件發生關聯。關聯可以具有多種形式。乙個類的物件可能和多個其他物件發生關聯。聚集是關聯的一種。聚集物件有部分物件組成。組成又是一種特殊的聚集。在乙個組成的物件中,部分物件只能作為物件的一部分和組成物件同時存在。屬性是類的乙個特性,操作是指類能夠做的事情。有一種操作能在操作完成以後返回值,就是函式。

類的職責是描述了類能做什麼——也就是類的屬性和操作能完成什麼任務。約束是指類所要滿足的乙個或者是多個的約束。uml的類圖示是由乙個矩形表示。類名字,屬性,操作和職責都在區域中有各字的方框。可以用構造型來組織屬性的型別和操作名列表。可以使用類的省略表示法,表示出類的一部分屬性和操作。類的表達是領域知識中的詞彙。與客戶或者是領域中的專家交談可以發現一些類 模型中的名詞和可能成為操作的動詞。

當類在概念上有連線關係時,類之間的連線叫在關聯。關聯方向用乙個實心的三角箭頭來顯示。乙個類可能和自己發生關聯,這樣就叫自身關聯。當乙個類的物件可以充當多種角色的時候,自身關聯就可能發生。繼承(泛化)乙個類(孩子類,子類)可以繼承另乙個類(父類或超類)的屬性和操作。沒有父類的類被稱為基類或根類。沒有子類的類沒稱為葉類。如果乙個類有多個父類,這樣的繼承叫多繼承。不提供例項物件的類被稱為抽象類。乙個類使用了另乙個類。這關係叫依賴。乙個類可以繼承其他類的屬性和操作。繼承了屬性和操作的類叫做子類。被繼承的類叫父類或超類。通過在初步類模型尋找不同類的共同屬性和操作可以發現類之間的繼承關係。繼承的表示法是從子類畫一條帶空心三角箭頭的連線指向父類。在依賴關係中乙個類使用了另乙個類。依賴最通常的用法是用來說明某個類操作的型構使用類另乙個類的定義。依賴關係用從依賴類到被依賴類的帶箭頭的虛線表示。

乙個類有時有幾個部分類組成。這種特殊的型別關係叫聚集。組成是強型別的聚集。聚集中的每個部分只能屬於乙個整體。不同的類都通過乙個介面接收訊息,也就是執行乙個操作的請求。介面是描述類的部分行為的一組操作。它也是乙個類提供給另乙個類的一組操作。

這裡重點舉個類說明介面和類的區別。每次你使用洗衣機的時候,你不必把他拆開來檢視裡面的電路。以便能夠啟動他並設定時間引數。你也不用把手伸到水管中去開啟進水或者停止進水。相反你只需要乙個控制柄就可以是洗衣機執行這些操作。控制柄就是洗衣機的介面。從某種意義上講,控制柄的操作是抽象的。關閉或切斷電源也好,順時針或逆時針旋轉也好,如果不和某種事物聯絡起來,它們並不能完成任何有價值的事情。在這個例子中這些操作和洗衣機聯絡起來。這就好象洗衣機通過將控制柄的操作轉換為和洗衣服相關的操作。而使這些操作變的有意義。在uml術語中,我們說洗衣機保證了它的部分行為能夠「實現」控制柄的行為,因此,乙個類和它的介面之間的關係叫實現。實現是類和介面之間的乙個關聯,介面是可供其他類使用的乙個操作集。介面用沒有屬性的類表示。介面中的所以操作都是公有的。作用域是屬性和操作的又乙個重要特徵。在例項作用域下,乙個類的每個物件都有自己各自的屬性和操作。可以認為用例是系統的一組使用場景。每個場景描述了乙個事件的序列。每個序列是由乙個人,另乙個系統,一台硬體裝置或者是某段時間的流逝所引發的。這些發起事件序列的實體叫做參與者。事件序列的結果是由發起這個序列的參與者或者另乙個參與者對系統的某種形式所引起的。用例可以被復用。一種方式(「包含」)是將乙個用例中的步驟作為另乙個用例步驟序列的一部分。另一種方式(「擴充套件」)是通過對現有用例增加新的步驟來建立新的用例。  

UML精粹讀書筆記(1)

我決定每次讀一下書,還是來說說一些想法的好。漫畫就先算了吧,等我把火影補完再說吧。如果什麼時候我的主站建好了的話,我會在我自己的主站上去更新。今天終於把這本書的簡體中文版搞到手了,有幾個小插曲 1.這本書是盜版的,從 買的。就是那種圖書館影印出來的書,我發現乙個有意思的點是,影印的書都會把封皮做乙個...

UML精粹讀書筆記(2)

現在大概是以一次看一章,每週看一章的速度來進行的,工作日自己太懶,沒有花時間去思考和行動。這次看的是第二章,開發過程。作者講了很多,但是基本都是以乙個開發人員的視角來描述的。我很詫異的是,感覺很多國外開發人員寫的開發流程的書。你是感覺不到產品經理和設計師的存在的。需求分析是由需求分析人員完成的。這一...

讀書筆記 1

從我第一次看到windows就對它那花花綠綠的外表所吸引,大學兩年過來,時間又讓我從另乙個角度重新認識的了這些美麗的。本學期開始圖形程式設計的學習,探索windows圖形系統,並對gdi api,directdraw api進行學習。之所以寫部落格,第 一 是想勉勵自己不斷學習,讓大家監督 第 二 ...