統一建模語言提供了一種表示法,通過它,我們可以獲取和說明程式設計。uml類圖描述系統中的類、它們之間的靜態關係、與類關聯的屬性和操作以及有關物件間連線的約束。
uml類圖
在uml中,類由乙個矩形來表示,並且通常分割成3部分:類名、屬性和操作。上圖說明了乙個名為libraryitem的類名。該類有兩個關聯的屬性:title和callnumber,有兩個關聯的操作:checkout和return。
在類的表示法中,屬性和操作是可選的。因此,如果需要,可以用乙個只包含類名的矩形表示乙個類。在uml的類表示法中還可以包含許多其他資訊。在uml術語中,一種用「<< >>」括起來的注釋稱為構造型(stereotype)。在類名上面可以新增<>和<>構造型,表明它表示乙個抽象類或者乙個介面。類的可視性預設為公有的,但是我們可以用花括號中的屬性字串標出非公有的類,諸如{private}。可見性也可以使用符號來表示,如:「+」表示public,「#」表示protected,「-」表示private。類中列出的屬性還可以提供幾種附加資訊。表示乙個屬性的完整語法如下:visibility name:type=default-value。例如,我們還可以這樣列出libraryitem類的title屬性:-title:string = 「借書」,它表示屬性title是乙個string型別的私有變數,預設值為借書。此外,在屬性上面可以加上構造型<>,表示它是乙個常量。同樣,操作的完整語法為:visibility name(parameter-list):return-type。類似於屬性的語法,除了操作名外的所有其他項都是可選的。可視性修飾符與屬性相同。parameter-list可以包含每個引數的名稱和型別,並且用乙個冒號隔開。return-type是返回值的型別。
uml關係
上圖表示從libraryitem類派生的兩個類。繼承用乙個從子類指向父類的空心箭頭表示。該例子說明book類和video類繼承libraryitem類的所有屬性和操作,但是它們還可以用自己的屬性擴充套件定義。注意,在本例中,除了父類中提供的那些操作,兩個子類都沒有任何新增的操作。
上圖表示的是關聯關係,它表示類的例項之間的關係。關聯關係通過兩個類之間的實線指出,並且在任何一邊可以用關係的基數進行加註。本例表示乙個librarycustomer和乙個libraryitem之間的關聯。基數「0...*」表示「0個或者多個」,在配合中表示任何乙個圖書館顧客可以借閱0本或者多本書,並且任何一本圖書可以被多個顧客借閱。乙個關聯的基數可以表示關係,諸如乙個確切的數字或者某個特定的範圍。例如,如果乙個顧客只允許借閱4本書,則可以由基數」0...5「指出。
上圖表示聚合關係,這是指乙個類在本質上至少部分地由其他類構成的情況。如上圖所示,擴充套件前面的圖書館示例,以表示coursematerials類由book、coursenotes和video類構成。聚合關係用聚焦端上的空心菱形表示。
上圖表示乙個類使用另乙個類的概念。這種概念的例項包括,老師使用黑板、司機使用汽車或者圖書管理員使用計算機。圖中說明了這種關係,表示librarycustomer可能使用computer。使用這種關係由帶有空心箭頭的虛線表示,並且通常加註關係的說明。
UML統一建模語言
1 什麼是建模?任何事情都要先想清楚了再做,軟體開發更是如此!軟體開發過程不可能一上來就盲目寫 寫 之前必須搞清楚下面一些問題 要做什麼?做成什麼樣?怎麼去做?2 建模的原則 1 選擇建立什麼樣的模型對如何發現和解決問題具有重要的影響 2 每個模型有多種表達方式。使用者的身份和使用的原因是評判模型好...
UML統一建模語言
uml全稱是 unified modeling language又稱統一建模語言或標準建模語言。是乙個支援模型化和軟體系統開發的圖形化語言,為軟體開發的所有階段提供模型化和視覺化支援,包括由需求分析到規格,到構造和配置。它是一種語言,語言就是用來描述一件事物的。我們了解一下軟體開發的歷史,才明白為什...
UML 統一建模語言
泛化 generalization 是一種繼承關係,表示一般與特殊的關係,指定了子類如何特化父類的所有特徵和行為。用帶三角箭頭的實線,箭頭指向父類。實現 realization 是一種實現關係,類與介面之間的實現關係 表示類是介面所有特徵和行為的實現。用帶三角箭頭的虛線表示,箭頭指向父類。關聯 as...