軟考下午題--UML建模練習(一)


例:希賽教育公司決定開發一個管理所有客戶信息的交互式網絡系統。系統的功能如下:

(1)瀏覽客戶信息:任何使用Internet的網絡用戶都可以瀏覽電話公司所有的客戶信息(包括 姓名、住址、電話號碼等)。

(2)登錄:電話公司授予每個客戶一個帳號。擁有授權帳號的客戶,可以使用系統提供的頁面 設置個人密碼,並使用該帳號和密碼向系統注冊。

(3)修改個人信息:客戶向系統注冊后,可以發送電子郵件或者使用系統提供的頁面,對個人 信息進行修改。

(4)刪除客戶信息:只有公司的管理人員才能刪除不再接受公司服務的客戶的信息。 系統采用面向對象方法進行開發,在開發過程中認定出的類如表2-4所示。

表2-4 開發過程中認定出的類

 

【問題1】

在需求分析階段,采用UML的用例圖描述系統功能需求,如圖2-20所示。請指出圖中的A、B、 C和D分別是哪個用例?

 

 

【問題2】

在UML中,重復度定義了某個類的一個實例可以與另一個類的多少個實例相關聯。通常把它寫 成一個表示取值范圍的表達式或者一個具體的值。例如,圖2-21中的類InternetClient和 CustomerList,InternetClient端的“0..*”表示:一個CustomerList的實例可以與0個或多個 InternetClient的實例相關聯;CustomerList端的“1”表示:一個InternetClient的實例只能與一個 CustomerList的實例相關。

請指出圖2-21中(1)到(4)處的重復度分別為多少?

 

【問題3】
類通常不會單獨存在,因此當對系統建模時,不僅要識別出類,還必須對類之間的相互關系建 模。在面向對象建模中,提供了四種關系:依賴(dependency)、概括(generalization)、關聯 (association)和聚集(aggregation)。請分別說明這四種關系的含義,並說明關聯和聚集之間的主要區別。

 解析:

【問題一】

A:瀏覽客戶信息     B:修改個人信息    C:登錄      D:刪除客戶信息

題目說明中提到了系統有4個功能:瀏覽客戶信息、登錄、修改個人信息、刪除客戶信息。這也就是4個用例,現在只需把它們對號入座即 可。根據題目說明可以知道,任何使用Internet的網絡用戶都可以瀏覽電話公司所有的客戶信息,在 圖2-20中符合這一條件的只有A了,所以A應填“瀏覽客戶信息”。又因為只有公司的管理人員才能 刪除不再接受公司服務的客戶的信息,所以D應填“刪除客戶信息”。
剩下就只有“登錄”和“修改個人信息”兩個用例了,B和C考查的是這2個用例之間的關系。根 據“<<include>>”可知,這里是包含關系。根據常識我們知道,在修改個人信息之前需要登錄, 因此,“修改個人信息”包含“登錄”表,即B應填“修改個人信息”,C應填“登錄”。

【問題二】

在UML中,重復度又稱多重性,多重性表示為一個整數范圍n..m,整數n定義所連接的最少對 象的數目,而m則為最多對象數(當不知道確切的最大數時,最大數用*號表示)。最常見的多重性 有0..1、0..*、1..1和1..*。 

因為一個CustomerList的實例可以與0個或多個Customer的實例相關聯;而一個Customer的 實例只能與一個CustomerList的實例相關。所以(1)應填“1”,(2)應填“0..*”。因為 Customer是CompanyCustomer相應的詳細信息,所以(3)和(4)都應該填寫“0..1”。

【問題三】

依賴:一個A的變化引起另一個類的變化。

關聯:是類和類之間最常見的關系。即一個類的對象和另外一個類有聯系。

聚合:表示整體和部分之間的關系。

聚集是一種特殊的關聯,它表示整體/部分關系。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM