例:希賽教育公司決定開發一個管理所有客戶信息的交互式網絡系統。系統的功能如下:
(1)瀏覽客戶信息:任何使用Internet的網絡用戶都可以瀏覽電話公司所有的客戶信息(包括 姓名、住址、電話號碼等)。
(2)登錄:電話公司授予每個客戶一個帳號。擁有授權帳號的客戶,可以使用系統提供的頁面 設置個人密碼,並使用該帳號和密碼向系統注冊。
(3)修改個人信息:客戶向系統注冊后,可以發送電子郵件或者使用系統提供的頁面,對個人 信息進行修改。
(4)刪除客戶信息:只有公司的管理人員才能刪除不再接受公司服務的客戶的信息。 系統采用面向對象方法進行開發,在開發過程中認定出的類如表2-4所示。
【問題1】
在需求分析階段,采用UML的用例圖描述系統功能需求,如圖2-20所示。請指出圖中的A、B、 C和D分別是哪個用例?
在UML中,重復度定義了某個類的一個實例可以與另一個類的多少個實例相關聯。通常把它寫 成一個表示取值范圍的表達式或者一個具體的值。例如,圖2-21中的類InternetClient和 CustomerList,InternetClient端的“0..*”表示:一個CustomerList的實例可以與0個或多個 InternetClient的實例相關聯;CustomerList端的“1”表示:一個InternetClient的實例只能與一個 CustomerList的實例相關。
請指出圖2-21中(1)到(4)處的重復度分別為多少?
解析:
【問題一】
A:瀏覽客戶信息 B:修改個人信息 C:登錄 D:刪除客戶信息
【問題二】
因為一個CustomerList的實例可以與0個或多個Customer的實例相關聯;而一個Customer的 實例只能與一個CustomerList的實例相關。所以(1)應填“1”,(2)應填“0..*”。因為 Customer是CompanyCustomer相應的詳細信息,所以(3)和(4)都應該填寫“0..1”。
【問題三】
依賴:一個A的變化引起另一個類的變化。
關聯:是類和類之間最常見的關系。即一個類的對象和另外一個類有聯系。
聚合:表示整體和部分之間的關系。