2、畫出能正確表示下面敘述的類圖(括號內(nèi)為類名)。 “一個雇員(Employee)最多由一
- 教育綜合
- 2024-01-30 12:59:59
包含有異常類的類圖如何畫?
類圖用于描述系統(tǒng)中所包含的類以及它們之間的相互關系,幫助人們簡化對系統(tǒng)的理解,它是系統(tǒng)分析和設計階段的重要產(chǎn)物,也是系統(tǒng)編碼和測試的重要模型依據(jù)。
1. 類
類(Class)封裝了數(shù)據(jù)和行為,是面向?qū)ο蟮闹匾M成部分,它是具有相同屬性、操作、關系的對象集合的總稱。在系統(tǒng)中,每個類都具有一定的職責,職責指的是類要完成什么樣的功能,要承擔什么樣的義務。一個類可以有多種職責,設計得好的類一般只有一種職責。在定義類的時候,將類的職責分解成為類的屬性和操作(即方法)。類的屬性即類的數(shù)據(jù)職責,類的操作即類的行為職責。設計類是面向?qū)ο笤O計中最重要的組成部分,也是最復雜和最耗時的部分。
在軟件系統(tǒng)運行時,類將被實例化成對象(Object),對象對應于某個具體的事物,是類的實例(Instance)。
類圖(Class Diagram)使用出現(xiàn)在系統(tǒng)中的不同類來描述系統(tǒng)的靜態(tài)結構,它用來描述不同的類以及它們之間的關系。
類圖(Class Diagram)使用出現(xiàn)在系統(tǒng)中的不同類來描述系統(tǒng)的靜態(tài)結構,它用來描述不同的類以及它們之間的關系。
在系統(tǒng)分析與設計階段,類通??梢苑譃槿N,分別是實體類(Entity Class)、控制類(Control Class)和邊界類(Boundary Class),下面對這三種類加以簡要說明:
(1) 實體類:實體類對應系統(tǒng)需求中的每個實體,它們通常需要保存在永久存儲體中,一般使用數(shù)據(jù)庫表或文件來記錄,實體類既包括存儲和傳遞數(shù)據(jù)的類,還包括操作數(shù)據(jù)的類。實體類來源于需求說明中的名詞,如學生、商品等。
(2) 控制類:控制類用于體現(xiàn)應用程序的執(zhí)行邏輯,提供相應的業(yè)務操作,將控制類抽象出來可以降低界面和數(shù)據(jù)庫之間的耦合度??刂祁愐话闶怯蓜淤e結構的短語(動詞+名詞)轉(zhuǎn)化來的名詞,如增加商品對應有一個商品增加類,注冊對應有一個用戶注冊類等
(3) 邊界類:邊界類用于對外部用戶與系統(tǒng)之間的交互對象進行抽象,主要包括界面類,如對話框、窗口、菜單等。
在面向?qū)ο蠓治龊驮O計的初級階段,通常首先識別出實體類,繪制初始類圖,此時的類圖也可稱為領域模型,包括實體類及其它們之間的相互關系。
2. 類的UML圖示
在UML中,類使用包含類名、屬性和操作且?guī)в蟹指艟€的長方形來表示,如定義一個Employee類,它包含屬性name、age和email,以及操作modifyInfo(),在UML類圖中該類如圖1所示:
請點擊輸入圖片描述
圖1 類的UML圖示
圖1對應的Java代碼片段如下:
public class Employee {
private String name;
private int age;
private String email;
public void modifyInfo() {
......
}
}
在UML類圖中,類一般由三部分組成:
(1) 第一部分是類名:每個類都必須有一個名字,類名是一個字符串。
(2) 第二部分是類的屬性(Attributes):屬性是指類的性質(zhì),即類的成員變量。一個類可以有任意多個屬性,也可以沒有屬性
UML規(guī)定屬性的表示方式為:
可見性 名稱:類型 [ = 缺省值 ]
其中:
“可見性”表示該屬性對于類外的元素而言是否可見,包括公有(public)、私有(private)和受保護(protected)三種,在類圖中分別用符號+、-和#表示。
“名稱”表示屬性名,用一個字符串表示。
“類型”表示屬性的數(shù)據(jù)類型,可以是基本數(shù)據(jù)類型,也可以是用戶自定義類型。
“缺省值”是一個可選項,即屬性的初始值。