


這的做法和數據流圖相似,我們先觀察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
