軟考下午第三題-用例圖和類圖


 

 

 

 

 

 這的做法和數據流圖相似,我們先觀察3-1這個用例圖,我們先尋找A1、A2、A3這三個外部實體,

首先我們看到A1與創建訂單和收貨確認用例有關聯,我們去說明(1)和說明(6)中尋找和外部實體相關的語句

,"創建訂單。顧客(Customer)在線創建訂單(Order)"、"當訂單處理人員收到簽收過的運貨單后,會和顧客進行一次再確認。"

這倆者都與外部實體顧客有關聯,所以我們可以推斷出A1就是外部實體 顧客

 

而A2和收貨確認、處理訂單有聯系,我們可以繼續從說明中尋找,

"當訂單處理人員收到簽收過的運貨單后,會和顧客進行一次再確認。"

"訂單處理人員接收來自系統的訂單;根據訂單內容,安排配貨,制定 送貨計划。"

這倆個用例說明中都有訂單處理人員的存在,所以A2實體應該為訂單處理人員

 

而A3與送貨用例有關聯

"派送人員將貨物送到顧客指定的收貨地址。"

而顧客已經為A1實體了,還剩一個派送人員實體與送貨用例有關聯,所以我們可以推斷

A3為派送人員.

 

還剩填補用例U1-U2,

我們可以先將圖中已經有的用例從范圍中去掉

用例有:創建訂單、提交訂單、處理訂單、派單、送貨、收貨、收貨確認

去掉已有的用例剩下的是:派單、收貨.

  "派單。訂單處理人員將己配好貨的訂單轉交給派送人員。"

  派單與訂單處理人員和派送人員有關聯,所以可以判斷U2是派單用例

  "派送人員將貨物送到顧客指定的收貨地址。當顧客收貨時,需要在 運貨單(delivery slip)上簽收。簽收后的運貨單最終需交還給訂單處理人員。"

  收貨用例與顧客、訂單處理人員、派送人員都有關聯,所以我們可以判斷U1是收貨用例

 

A1:顧客 A2:訂單處理人員 A3:派送人員

U1:收貨 U2:派單

 

 首先我們先看向填補類名C1~C3,這里還要求使用說明中給出的英文詞匯,所以我們可以知道,這里的類名必定是只有說明中給出英文詞匯的,

我們可以先將給出英文詞匯的列出來,然后再去掉圖中已有的類名,再根據關系逐一選擇

  顧客(Customer)訂單(Order)商品(Product)數量 (quantities)姓名(name)收貨地址(address)付款方式(form of payment)

  訂單量(volume)名稱(Name)造價(cost price)售價(sale price) 包裝體積(cubic volume)發貨日期(delivery date)

  限時發送要求(Delivery Time Window)運貨單(delivery slip)

 剩下:

  顧客(Customer)訂單(Order)商品(Product)付款方式(form of payment)

  訂單量(volume)名稱(Name)造價(cost price)售價(sale price) 包裝體積(cubic volume)發貨日期(delivery date)

  限時發送要求(Delivery Time Window)運貨單(delivery slip)

 

C1:觀看他的屬性只有name和address,我們可以看到只有顧客實體同時並且只擁有name和address屬性,所以我們可以暫時推斷C1為Customer類

C3:他的屬性只有name,並且和C2有聚合,即C3是C2的一部分,並且C3可以離開C2單獨存在,並且他們的關系之中還有額外添加"Order Product Quantity",

屬性有QUantity(數量),所以我們可以推斷出來C1和C3是訂單和商品.

  Customer類與Order類,一個顧客同時能關聯多個訂單,而一個訂單同時只能關聯一個顧客,所以(1)是1,(2)是*

  Order類與Product類之間有聚合關系,一個訂單能夠關聯多個(至少1個)商品,而一個商品能同時關聯多個(最少0個)訂單(即一個商品被多個人購買,生成多個訂單),所以(3)是*   (4)是1..*

(1)1

(2)*

(3)*

(4)1..*

 

 

 這題我們需要先觀察說明中對它們的描述

  "還必須 記錄每種商品的名稱(Name)、造價(cost price)、售價(sale price)以及單件商品的包 裝體積(cubic volume)。" 

所以Product類中的屬性除了name還需要有costprice、sale price、cubic volume

 "在提交訂單時,顧客需要提供其姓名(name)、 收貨地址(address)、以及付款方式(form of payment)(預付卡、信用卡或者現金)。為 了制定送貨計划以及安排送貨車輛,系統必須確定訂單量(volume)"

  顧客的姓名和收貨地址不需要在Order類中,因為Order類已經與Customer類關聯了,所以Order類中的屬性還需要有form of payment、volume.

"處理訂單。訂單處理人員接收來自系統的訂單;根據訂單內容,安排配貨,制定 送貨計划。在送貨計划中不僅要指明發貨日期(delivery date),還要記錄每個訂單的限時 發送要求(Delivery Time Window)。"

  還需要有delivery date屬性,這的Delivery Time Window 已經將它抽象為類了,所以不需要作為Oder的屬性.

 

 

C2:form of payment、volume、delivery date

C3:cost price、sale price、cubic volume

 


免責聲明!

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



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