版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
UML基礎(chǔ)與建模實(shí)踐
第十三章網(wǎng)上書店
主講人:
內(nèi)容摘要領(lǐng)域建模與分析過程1用例建模與分析過程2動(dòng)態(tài)建模與分析過程3小結(jié)與習(xí)題413.1領(lǐng)域建模與分析過程在進(jìn)行領(lǐng)域分析之前,需要理解現(xiàn)實(shí)系統(tǒng)的問題域。通過訪問用戶和系統(tǒng)的領(lǐng)域?qū)<襾碚页鱿到y(tǒng)的一般需求,即通用需求。之后,可以準(zhǔn)備一個(gè)問題陳述。領(lǐng)域分析的輸出是一個(gè)描述類和它們之間關(guān)系的對象模型。對象模型由類圖、描述類及其關(guān)系的數(shù)據(jù)字典以及術(shù)語定義組成。13.1.1領(lǐng)域建模方法開發(fā)領(lǐng)域模型常采用以下步驟如下:1)準(zhǔn)備問題陳述2)使用文本分析技術(shù)識(shí)別對象和類3)開發(fā)數(shù)據(jù)字典4)識(shí)別類之間的關(guān)聯(lián)關(guān)系5)使用繼承來組織類。6)識(shí)別類和關(guān)聯(lián)類的屬性7)為可能存在的查詢驗(yàn)證訪問路徑8)多次迭代、細(xì)化、修改完善對象模型,在構(gòu)建用例模型后,修改該模型。13.1.2領(lǐng)域建模過程
1、準(zhǔn)備問題陳述 領(lǐng)域分析的目標(biāo)是尋找一個(gè)通用的對象模型,該模型應(yīng)該在所有的應(yīng)用域中都適用(在同一領(lǐng)域,存在多種應(yīng)用)。所以問題陳述應(yīng)該強(qiáng)調(diào)領(lǐng)域的通用需求,而不是個(gè)別應(yīng)用的特定需求。因此,問題描述應(yīng)該關(guān)注領(lǐng)域中對象及其關(guān)系的描述,而不是對解決方案的描述。在同一個(gè)領(lǐng)域,存在多種應(yīng)用,每個(gè)應(yīng)用的任務(wù)和執(zhí)行過程是不同的。13.1.2領(lǐng)域建模過程例如,對銀行領(lǐng)域而言,問題陳述有兩種描述方式:(1)第一種描述:一個(gè)客戶在一個(gè)銀行中可以有多個(gè)賬戶(這句話強(qiáng)調(diào)了領(lǐng)域?qū)ο蠹捌潢P(guān)系)。(2)第二種描述:一個(gè)客戶拿身份證進(jìn)入銀行,首先進(jìn)行身份驗(yàn)證,選擇賬戶方式,然后讓服務(wù)員為他開設(shè)一個(gè)銀行賬戶(這句話強(qiáng)調(diào)該領(lǐng)域的操作過程和步驟,即,解決方案)。在進(jìn)行問題陳述時(shí)應(yīng)該采用第一種描述方式,不能采用第二種方式,第二種方式強(qiáng)調(diào)的是問題解決方案。13.1.2領(lǐng)域建模過程網(wǎng)上書店的問題陳述實(shí)例: 通用公司正在開發(fā)一種網(wǎng)上書店系統(tǒng),該公司的客戶使用這個(gè)系統(tǒng)可以購買圖書并銷售他們使用過的書籍。公共用戶是該系統(tǒng)沒有注冊的客戶。 公共用戶和注冊用戶可以通過輸入關(guān)鍵字搜索書籍,關(guān)鍵字是書籍標(biāo)題、作者、新書價(jià)格和舊書的價(jià)格范圍。系統(tǒng)顯示匹配關(guān)鍵字的書籍列表。書籍列表的每項(xiàng)均由書籍標(biāo)題、作者、新書價(jià)格和舊書的價(jià)格范圍組成。用戶可以從列表中選取一本書以顯示該書更13.1.2領(lǐng)域建模過程 加詳細(xì)的信息(可用性、新書價(jià)格、舊書價(jià)格、內(nèi)容列表、作者和ISBN)。用戶還可以將該書的一個(gè)副本(新書或者舊書)添加到購物籃中。然后該用戶可以繼續(xù)搜索其他書籍。當(dāng)用戶完成搜索后,可以檢驗(yàn)購物籃中的書籍。系統(tǒng)要求用戶通過輸入電子郵件地址和賬戶口令來登錄賬戶。如果還沒有注冊,用戶這時(shí)可以注冊一新的客戶賬戶。用戶輸入電子郵件地址、家庭住址和口令。系統(tǒng)在通過郵件消息確認(rèn)創(chuàng)建新的客戶賬戶之前,要驗(yàn)證該電子郵件地址是否已經(jīng)被已有13.1.2領(lǐng)域建模過程 的客戶用。然后系統(tǒng)要求用戶選擇運(yùn)送選項(xiàng)(快遞、優(yōu)先和普通)。不同的運(yùn)送選項(xiàng)的價(jià)格不同。然后用戶可以選擇支付途徑(信用卡或者在本書店的用戶賬戶)。如果用戶選擇使用信用卡支付,用戶將輸入卡號(hào)、類型和過期時(shí)間。然后用戶將信用卡信息和支付的金額發(fā)送到外部的支付網(wǎng)關(guān)。根據(jù)選擇的書籍的價(jià)格和選中的運(yùn)送選項(xiàng)的價(jià)格相加計(jì)算支付金額。如果信用卡交易被批準(zhǔn),外部支付網(wǎng)關(guān)發(fā)送回一個(gè)批準(zhǔn)的代碼。否則,系統(tǒng)將要求用戶重新選擇支付手段并重新輸入支付信息。13.1.2領(lǐng)域建模過程 如果用戶選擇使用他的賬戶且有足夠的金額,系統(tǒng)將從客戶的賬戶中收費(fèi)。否則系統(tǒng)要求用戶重新選擇支付手段。當(dāng)完成了支付以后,系統(tǒng)將安排已訂書籍的交付。某個(gè)運(yùn)送代理商將負(fù)責(zé)已訂書籍的運(yùn)送。如果訂單涉及的是一本新書,系統(tǒng)將發(fā)送運(yùn)送請求,通知該運(yùn)送代理商從書店中收集到這本書。 同一個(gè)訂單中的新書將被一并運(yùn)送。如果訂購了舊書,系統(tǒng)將發(fā)送一個(gè)交付請求,以通知該書的出售者,同時(shí)發(fā)送一個(gè)運(yùn)送請求給書店的運(yùn)送代理商。13.1.2領(lǐng)域建模過程運(yùn)送代理商從出售者那里收集書籍并將書籍交付給購買者。來自同一個(gè)出售者的同一個(gè)訂單中的舊書將被一并運(yùn)送。在將書籍交付給購買者以后,運(yùn)送代理商將向系統(tǒng)發(fā)送一條表明運(yùn)送已經(jīng)完成的消息。在接收到這條消息之后,系統(tǒng)更新出售者的客戶帳戶,舊書價(jià)格減去服務(wù)費(fèi)用之差存入到客戶金額中。 公共用戶或者希望銷售舊書的注冊客戶可以通過搜索書籍并顯示它的信息來搜尋上面的過程,然后用戶可以將舊書貼出發(fā)售,系13.1.2領(lǐng)域建模過程 統(tǒng)將要求該用戶輸入價(jià)格和該舊書的新舊狀態(tài)。 然后系統(tǒng)進(jìn)一步要求用戶輸入電子郵件地址和客戶賬戶口令以便登錄。如果用戶沒有客戶賬戶,該用戶將按照前一段中所描述的步驟,創(chuàng)建一個(gè)新的客戶賬戶。
現(xiàn)在我們以迭代和增量的方式開發(fā)網(wǎng)上書店系統(tǒng)的對象模型。13.1.2領(lǐng)域建模過程2、識(shí)別對象和類 根據(jù)實(shí)踐經(jīng)驗(yàn),在領(lǐng)域模型中,下面類型的名詞和名詞短語一般是對象:明確的事物(如籃球場、建筑物);概念事物(如課程、模塊);事件(如測試、考試、講座);外部組織(如發(fā)布者、提供者);扮演的角色(如父親、經(jīng)理、校長);其他系統(tǒng)(如考試系統(tǒng)、課程管理系統(tǒng));表13-1給出了從網(wǎng)上書店的問題陳述中提取出來的名詞和名詞短語。表13-1問題描述中提取出來的名詞和名詞短語通用公司(概念)運(yùn)送選項(xiàng)(概念)客戶(扮演角色)支付途徑(概念)網(wǎng)上書店系統(tǒng)(其他系統(tǒng))信用卡(概念)圖書,書籍(概念)卡號(hào)(簡單值,屬性)公共用戶(扮演角色)類型(簡單值,屬性)注冊客戶(扮演角色)過期時(shí)間(簡單值,屬性)書籍標(biāo)題(簡單值,屬性)支付金額(簡單值,屬性)作者(簡單值,屬性)支付網(wǎng)關(guān)(其他系統(tǒng))新書價(jià)格范圍(簡單值,屬性)信用卡信息(簡單值,屬性)舊書價(jià)格范圍(簡單值,屬性)金額(簡單值,屬性)書籍列表(概念)代碼(簡單值,屬性)信息(書的屬性列表)運(yùn)送代理商(扮演角色)副本(等同書籍)書店(概念)購物籃(概念)訂單(概念)電子郵件地址(簡單值,屬性)出售者(扮演角色)口令(簡單值,屬性)購買者(扮演角色)賬戶(概念)價(jià)格(簡單值,屬性)家庭住址(簡單值,屬性)舊書的新舊狀態(tài)(簡單值,屬性)13.1.2領(lǐng)域建模過程刪除表13-1中被標(biāo)識(shí)為屬性的名詞和名詞短語后,得到表13-2中修訂后的候選類。表13-2中修訂后的候選類通用公司(概念)(與領(lǐng)域無關(guān))運(yùn)送選項(xiàng)(概念)客戶(扮演角色)支付途徑(概念)網(wǎng)上書店系統(tǒng)(要開發(fā)的系統(tǒng))信用卡(支付途徑的屬性)圖書,書籍(概念)支付網(wǎng)關(guān)(其他系統(tǒng))公共用戶(扮演角色)運(yùn)送代理商(扮演角色)注冊客戶(扮演角色)書店(概念)書籍列表(概念)訂單(概念)副本(等同書籍,圖書)(冗余)出售者(扮演角色)購物籃(概念)購買者(扮演角色)賬戶(概念)13.1.2領(lǐng)域建模過程刪除表13-2中的冗余類和無關(guān)類后,得到表13-3的候選類。表13-3中修訂后的候選類客戶(扮演角色)支付途徑(概念)書籍(概念)支付網(wǎng)關(guān)(其他系統(tǒng))公共用戶(扮演角色)運(yùn)送代理商(扮演角色)注冊客戶(扮演角色)書店(概念)書籍列表(概念)訂單(概念)購物籃(概念)出售者(扮演角色)賬戶(概念)購買者(扮演角色)運(yùn)送選項(xiàng)(概念)13.1.2領(lǐng)域建模過程3、開發(fā)數(shù)據(jù)字典表13-5網(wǎng)上書店系統(tǒng)的數(shù)據(jù)字典類定義公共用戶(PublicUser)沒有注冊的用戶,只能瀏覽商品。注冊用戶(RegistedUser)已注冊的用戶,可以登錄網(wǎng)上書店系統(tǒng)進(jìn)行圖書瀏覽和買賣,這個(gè)類的屬性有:用戶名,口令,電子郵件。書籍(Book)系統(tǒng)中銷售的商品,這個(gè)類的屬性有:作者,書名,價(jià)格和ISBN碼。書籍列表(BookList)按照某個(gè)關(guān)鍵字查詢的書籍進(jìn)行列表。該類有屬性:書籍標(biāo)題,作者,價(jià)格購物籃(ShoppingBusket)購買者可以將書籍添加到購物籃,也可以把書籍從購物籃中刪除,它是用來暫時(shí)保存購買者的書籍的。賬戶(Account)用戶注冊后獲得一個(gè)賬戶,該類有屬性:賬戶號(hào),郵件地址,家庭住址,口令運(yùn)送選項(xiàng)(DeliverOption)提供了三種運(yùn)送選項(xiàng):快速運(yùn)送、優(yōu)先運(yùn)送和普通運(yùn)送支付途徑(PaymentMethod)購買者可以選擇支付途徑。支付途徑分為:信用卡支付和本書店的用戶賬戶支付。13.1.2領(lǐng)域建模過程支付網(wǎng)關(guān)(PaymentGateway)支付網(wǎng)關(guān)是銀行提供給網(wǎng)上書店系統(tǒng)收取客戶費(fèi)用的接口(一個(gè)外部系統(tǒng)),用于審核支付請求,檢驗(yàn)信用卡的有效性,若信用卡交易批準(zhǔn),它將發(fā)送回一個(gè)批準(zhǔn)代碼給網(wǎng)上書店系統(tǒng)。運(yùn)送代理商(DeliverAgent)負(fù)責(zé)收集書籍和代理運(yùn)送圖書的公司書店(BookStore)管理和銷售書籍的場所。給類有一個(gè)屬性:書店編號(hào)(ID)。訂單(Order)訂單是購買者生成,訂單發(fā)送給網(wǎng)上書店系統(tǒng)處理。訂單指定了圖書名稱、價(jià)格、ISBN碼、數(shù)量和運(yùn)送方式。出售者(Bargainor)使用書店系統(tǒng)出售舊書的注冊用戶,該類有一個(gè)屬性:用戶id購買者(Purchaser)使用書店系統(tǒng)購買書籍的注冊用戶,該類有一個(gè)屬性:用戶id13.1.2領(lǐng)域建模過程由表13-5的候選對象如圖13-1所示。圖13-1候選對象13.1.2領(lǐng)域建模過程4、識(shí)別類之間的關(guān)聯(lián)關(guān)系:表13-6給出了從問題陳述中提取出來的動(dòng)詞短語以識(shí)別候選關(guān)聯(lián)關(guān)系動(dòng)詞短語關(guān)系說明一個(gè)注冊用戶可以開設(shè)一個(gè)或多個(gè)賬戶has購買者和銷售者都是注冊用戶繼承購買者購買書籍關(guān)聯(lián)購買的行為由多個(gè)步驟完成,因此不考慮這個(gè)關(guān)聯(lián)出售者銷售書籍關(guān)聯(lián)銷售的行為由多個(gè)步驟完成,因此不考慮這個(gè)關(guān)聯(lián)書籍列表由書籍標(biāo)題、作者、價(jià)格組成聚合用戶可以向購物籃中添加和刪除書籍聚合購買者可以選擇一種運(yùn)送選項(xiàng)choose13.1.2領(lǐng)域建模過程購買者可以選擇一種支付途徑choose系統(tǒng)將信用卡信息和金額發(fā)送給外部網(wǎng)關(guān),外部網(wǎng)關(guān)對信用卡進(jìn)行校驗(yàn),即,對支付途徑(信用卡支付時(shí))進(jìn)行校驗(yàn)check外部網(wǎng)關(guān)與支付途徑關(guān)聯(lián)運(yùn)送代理商從書店收集新書collect運(yùn)送代理商從出售者那里收集舊書collect運(yùn)送代理商將書籍交付給購買者deliver一個(gè)訂單由運(yùn)送選項(xiàng),支付途徑和購物籃中的書組成組合關(guān)系書籍列表由多本書組成組合關(guān)系13.1.2領(lǐng)域建模過程根據(jù)表13-6,我們識(shí)別出初步的對象模型,如圖13-2所示。圖13-2初步對象模型13.1.2領(lǐng)域建模過程5、使用繼承和重組改善對象模型圖13-2中,訂單(Order)由運(yùn)送選項(xiàng)、支付途徑和購物藍(lán)組成,而訂單由購買者創(chuàng)建的,因此,我們對以上4個(gè)類的關(guān)系進(jìn)行改善,得到如圖13-3的對象模型。13.1.2領(lǐng)域建模過程圖13-3的對象模型13.1.2領(lǐng)域建模過程圖13-3中,購買者和出銷者都是注冊用戶,它們是注冊用戶的子類;注冊用戶是公共用戶的子類;通過繼承關(guān)系,對圖13-3用繼承關(guān)系進(jìn)行改善,得到圖13-4的對象模型。圖13-4的對象模型13.1.2領(lǐng)域建模過程6、識(shí)別類的屬性 根據(jù)問題陳述,我們的得到每個(gè)對象的屬性如圖13-5所示。圖13-5展示屬性的對象模型13.1.2領(lǐng)域建模過程7、為可能的查詢驗(yàn)證訪問路徑此步省略8、迭代并細(xì)化該模型 在后面用例建模與分析過程中,對用例的事件流的文本進(jìn)行文本分析,尋找系統(tǒng)候選對象,并修改現(xiàn)有的對象模型。13.2用例建模與分析過程在面向?qū)ο蟮能浖_發(fā)過程中,我們采用用例建模來捕捉和定義用戶的需求。13.2.1用例建模方法在進(jìn)行用例分析之前,首先應(yīng)該采訪用戶、客戶,以獲取領(lǐng)域的業(yè)務(wù)組織結(jié)構(gòu)、工作流程。然后將采訪的成果總結(jié)成問題描述或者業(yè)務(wù)模型。用例建模是一個(gè)包含以下步驟的迭代和增量的過程。13.2.1用例建模方法(1)開發(fā)初始用例模型的一般步驟開發(fā)問題描述(在領(lǐng)域分析過程中已經(jīng)獲得);識(shí)別主要的參與者和用例;創(chuàng)建初始用例圖;簡要地描述用例;使用文本分析來識(shí)別/提取候選類(系統(tǒng)候選類)13.2.1用例建模方法(2)用例模型的細(xì)化包括以下步驟開發(fā)基本用例描述;在基本用例描述基礎(chǔ)上逐步求精,并通過關(guān)系《include》、《extend》和泛化關(guān)系組織用例;開發(fā)用例的場景;確定用例優(yōu)先級;13.2.2用例建模過程在前一節(jié)中,我們已經(jīng)有了問題描述(問題陳述),下一步,就是要識(shí)別參與者。
1.識(shí)別參與者 結(jié)合前面的問題陳述,我們通過回答下面的問題來尋找參與者。誰將使用系統(tǒng)的主要功能?誰支持系統(tǒng)的運(yùn)行?誰將使用系統(tǒng)的結(jié)果以及提交數(shù)據(jù)?誰將需要維護(hù)、管理和操作該系統(tǒng)?系統(tǒng)必須與什么硬件系統(tǒng)交互?系統(tǒng)必須與其他什么計(jì)算機(jī)系統(tǒng)交互?13.2.2用例建模過程 誰將使用系統(tǒng)的主要功能:公共用戶(PublicUser)、注冊用戶(RegisteredUser)、出售者(Bargainor)、購買者(Purchaser)。 誰的日常工作將需要系統(tǒng)的支持:公共用戶(PublicUser)、注冊用戶(RegisteredUser)。 誰將使用系統(tǒng)的結(jié)果以及提交數(shù)據(jù):運(yùn)送代理商(DeliverAgent)系統(tǒng)必須與其他什么系統(tǒng)交互:外部支付網(wǎng)關(guān)(PaymentGateway) 誰來維護(hù)和管理系統(tǒng):系統(tǒng)管理員(administrator) 因此主要的參與者包括:公共用戶(PublicUser)、注冊用戶(RegisteredUser)、出售者(Bargainor)、購買者(Purchaser)、系統(tǒng)管理員(Administrator)、運(yùn)送代理商(CarryAgent)、外部支付網(wǎng)關(guān)(PaymentGateway) 其中,注冊用戶包括:購買者和出售者13.2.2用例建模過程下面,對每個(gè)參與者進(jìn)行簡要的描述,如表13-7所示。表13-7參與者的簡要描述參與者任務(wù)和職能描述公共用戶公共用戶(PublicUser)通過瀏覽器搜索書籍,瀏覽書籍列表,還可以注冊為注冊用戶注冊用戶注冊用戶可以搜索書籍,登錄系統(tǒng)購買者可以搜索書籍,登錄系統(tǒng),購買書籍出售者可以搜索書籍,登錄系統(tǒng),出售舊書運(yùn)送代理商運(yùn)送代理商負(fù)責(zé)收集書籍并將書籍交付給購買者支付網(wǎng)關(guān)檢驗(yàn)用戶信用卡信息是否有效,并根據(jù)書籍價(jià)格,數(shù)量和選擇的運(yùn)送選項(xiàng),計(jì)算支付金額運(yùn)送代理商從系統(tǒng)(System)那里收到送貨單(order)后,收集書籍,把書送到購買者(buyer)那里。系統(tǒng)管理員管理書籍信息,管理用戶信息,接收訂單,生成送貨單,查看訂單狀態(tài),發(fā)送運(yùn)送請求,發(fā)送交付請求,更新出售者的帳戶。13.2.2用例建模過程2.識(shí)別用例 系統(tǒng)分析師需要記錄每個(gè)參與者描述業(yè)務(wù)活動(dòng)的場景,每個(gè)描述可能是一個(gè)候選用例。然后將這些候選用例進(jìn)行修改、分解成更小的用例,或者將幾個(gè)用例合并成一個(gè)用例。 分析師對每個(gè)參與者詢問以下問題:每個(gè)參與者要完成的主要任務(wù)是什么?系統(tǒng)要操作和處理什么數(shù)據(jù)?系統(tǒng)要解決什么問題?參與者使用本系統(tǒng)想要實(shí)現(xiàn)什么目標(biāo)?當(dāng)前系統(tǒng)主要存在什么主要問題?未來系統(tǒng)如何能夠簡化用戶的工作?13.2.2用例建模過程 然后,系統(tǒng)分析師將每個(gè)參與者回答的問題記錄下來,并整理成候選用例。通過參與者回答的問題,可以整理出以下用例,如表13-8所示。表13-8候選用例參與者用例描述用例說明公共用戶(PublicUser)搜索書籍用戶注冊注冊用戶(RegisteredUser)用戶登錄搜索書籍購買者(Purchaser)用戶登錄搜索書籍選購書籍添加購物藍(lán)選擇運(yùn)送選項(xiàng)選擇支付方式生成訂單13.2.2用例建模過程出售者(Bargainor)用戶登錄搜索書籍出售舊書運(yùn)送代理商(DeliverAgent)收集書籍該用例不屬于本系統(tǒng)發(fā)送書籍該用例不屬于本系統(tǒng)支付網(wǎng)關(guān)(PaymentGateway)計(jì)算支付金額該用例不屬于本系統(tǒng)系統(tǒng)管理員(Administrator)管理書籍管理用戶管理訂單查看訂單狀態(tài)生成送貨單運(yùn)送請求交付請求更新用戶帳戶13.2.2用例建模過程3.畫出初始用例模型 (1)公共用戶(PublicUser)圖13-6PublicUser使用的用例13.2.2用例建模過程(2)注冊用戶(RegisteredUser)圖13-7RegisteredUser使用的用例13.2.2用例建模過程(3)購買者(Purchaser)圖13-8Purchaser使用的用例13.2.2用例建模過程(4)出售者(Bargainor)圖13-9Bargainor使用的用例13.2.2用例建模過程我們合并圖13-7、圖13-8、圖13-9得到圖13-10圖13-10注冊用戶和子類的用例13.2.2用例建模過程我們合并圖13-6、圖13-10得到圖13-11圖13-11展示四種參與者的用例13.2.2用例建模過程(5)系統(tǒng)管理員(Administrator)圖13-12Administrator使用的用例13.2.2用例建模過程(4)網(wǎng)上書店的初始用例模型我們合并圖13-11、圖13-12得到網(wǎng)上書店系統(tǒng)的初始用例圖,如圖13-13所示。圖13-13網(wǎng)上書店系統(tǒng)的初始用例模型13.2.2用例建模過程支付網(wǎng)關(guān)(PaymentGateway)和運(yùn)送代理商(DeliverAgent)都是支持網(wǎng)上書店的外部參與者,支付網(wǎng)關(guān)的職責(zé)是檢驗(yàn)信用卡的有效性和計(jì)算書籍支付金額;運(yùn)送代理商是收集書籍,并將書籍交給購買者。13.2.2用例建模過程4.編寫用例概要描述(1).用戶注冊表13-9用戶注冊用例名稱用戶注冊用例IDUC-100參與者公共用戶(PublicUser)簡要描述公共用戶通過在網(wǎng)上注冊系統(tǒng),輸入唯一的用戶名和密碼成為系統(tǒng)的注冊用戶。13.2.2用例建模過程(2)搜索書籍表13-10搜索書籍用例名稱搜索書籍用例IDUC-101參與者公共用戶、注冊用戶簡要描述公共用戶和注冊用戶可以通過輸入關(guān)鍵字搜索書籍,關(guān)鍵字是書籍標(biāo)題、作者、新書價(jià)格和舊書的價(jià)格范圍。系統(tǒng)顯示匹配關(guān)鍵字的書籍列表。書籍列表的每項(xiàng)均由書籍標(biāo)題、作者、新書價(jià)格和舊書的價(jià)格范圍組成。用戶可以從列表中選取一本書以顯示該書更加詳細(xì)的信息(可用性、新書價(jià)格、舊書價(jià)格、內(nèi)容列表、作者和ISBN)。用戶還可以將該書的一個(gè)副本(新書或者舊書)添加到購物籃中。13.2.2用例建模過程(3)用戶登錄表13-11用戶登錄用例名稱用戶登錄用例IDUC-102參與者注冊用戶(RegisteredUser)簡要描述注冊用戶(RegisteredUser)輸入已注冊的用戶名和密碼登陸到本網(wǎng)站13.2.2用例建模過程(4)選購書籍表13-12選購書籍用例名稱選購書籍用例IDUC-103參與者注冊用戶簡要描述購買者(buyer)將要購買的書籍放進(jìn)購物籃中,選擇個(gè)人的付款方式和運(yùn)送方式,即購買到此為止。13.2.2用例建模過程(5)選擇運(yùn)送選項(xiàng)表13-13選擇運(yùn)送選項(xiàng)用例名稱選擇運(yùn)送選項(xiàng)用例IDUC-104參與者注冊用戶描述注冊用戶登錄系統(tǒng)后,搜索想要購買的書籍,查看書籍的信息,把想購買的書籍添加到購物欄,并且選擇運(yùn)送方式13.2.2用例建模過程(6)選擇支付方式表13-14選擇支付方式用例名稱選擇支付方式用例IDUC-105參與者注冊用戶簡要描述注冊用戶選擇運(yùn)送方式后,必須選擇支付方式,支付方式包括:信用卡支付和用戶帳戶(Account)支付。13.2.2用例建模過程(7)生成訂單表13-15生成訂單用例名稱生成訂單用例IDUC-106參與者注冊用戶描述注冊用戶選擇了運(yùn)送方式,支付方式,并向購物籃中添加了要購買的書籍后,生成用戶訂單,該訂單包括:訂單號(hào),用戶名,書號(hào),書名,數(shù)量,書籍新舊狀態(tài),運(yùn)送方式,支付方式等。13.2.2用例建模過程(8)出售舊書表13-16出售舊書用例名稱出售舊書用例IDUC-107參與者注冊用戶簡要描述如果注冊客戶有舊書要發(fā)售,系統(tǒng)將要求該用戶輸入書的價(jià)格、書的一般性狀況,這些信息將在網(wǎng)站上發(fā)布13.2.2用例建模過程(9)管理書籍表13-17管理書籍用例管理書籍用例IDUC-108參與者系統(tǒng)管理員描述系統(tǒng)管理員對庫存中的書籍信息進(jìn)行管理,比如書籍的詳細(xì)信息,數(shù)量,新購買的書籍等等。13.2.2用例建模過程(10)管理用戶表13-18管理用戶用例管理用戶用例IDUC-109參與者系統(tǒng)管理員描述系統(tǒng)管理員可以查看用戶列表,當(dāng)輸入一個(gè)注冊客戶的ID后,可以查看該注冊客戶的注冊時(shí)間,注冊電子郵件地址,家庭地址,用戶賬戶所剩余額,以往訂購書籍情況、出售書籍情況和最近訂購書籍情況等等。13.2.2用例建模過程(11)管理訂單表13-19管理訂單用例管理訂單用例IDUC-110參與者系統(tǒng)管理員描述系統(tǒng)管理員對所有購買者的訂單進(jìn)行管理,根據(jù)訂購的書籍情況,將一個(gè)訂單分拆成多個(gè)送貨單,并跟蹤訂單的執(zhí)行情況。如,是否已支付了金額,一個(gè)訂單分拆成的多個(gè)送貨單完成情況。13.2.2用例建模過程(12)查看訂單狀態(tài)表13-20查看訂單狀態(tài)用例查看訂單狀態(tài)用例IDUC-111參與者系統(tǒng)管理員描述系統(tǒng)管理員輸入注冊客戶的ID,系統(tǒng)顯示該注冊客戶的訂單狀態(tài),如,一個(gè)客戶如果有多個(gè)訂單,可以查看哪些訂單已經(jīng)交付,哪些訂單還沒有交付,一個(gè)訂單若分拆成幾個(gè)送貨單,則可以查詢送貨單的執(zhí)行情況。13.2.2用例建模過程(13)生成送貨單表13-21生成送貨單用例生成送貨單用例IDUC-112參與者系統(tǒng)管理員描述如果一個(gè)訂單中的書籍由多個(gè)書店或出售者提供,那么,系統(tǒng)管理員必須將一個(gè)訂單拆分為多個(gè)送貨單,13.2.2用例建模過程(14)運(yùn)送請求表13-22運(yùn)送請求用例運(yùn)送請求用例IDUC-113參與者系統(tǒng)管理員描述當(dāng)注冊客戶把需要購買的書籍放進(jìn)購物籃,以及選擇了運(yùn)送選項(xiàng)和支付途徑,成功支付之后,系統(tǒng)管理員將通過系統(tǒng)通知某個(gè)運(yùn)送代理商負(fù)責(zé)運(yùn)送書籍。購買者若是訂購新書,則請求運(yùn)送代理商從書店收集;若是舊書,則請求運(yùn)送代理商從出售者那里收集。13.2.2用例建模過程(15)交付請求表13-23交付請求用例交付請求用例IDUC-114參與者系統(tǒng)管理員描述如果注冊客戶訂購的是舊書籍,則系統(tǒng)管理員將通過系統(tǒng)給出售者發(fā)送交付請求:告訴出售者,將有運(yùn)送代理商從他那里收集書籍。13.2.2用例建模過程(16)更新用戶賬戶表13-24更新用戶賬戶用例更新用戶賬戶用例IDUC-115參與者系統(tǒng)管理員描述當(dāng)運(yùn)送代理商給系統(tǒng)發(fā)送消息,表明運(yùn)送已經(jīng)完成,并且,送貨單中有舊書,系統(tǒng)將更新出售者的客戶賬戶,將舊書價(jià)格減去服務(wù)費(fèi)用之差存入到出售者的賬戶中。13.2.2用例建模過程5.進(jìn)行文本分析、識(shí)別候選對象、對領(lǐng)域模型進(jìn)行修訂 我們用文本分析法,對上面的16個(gè)用例描述進(jìn)行對象識(shí)別后,發(fā)現(xiàn)“生成送貨單”用例和“運(yùn)送請求”用例描述中,出現(xiàn)了一個(gè)系統(tǒng)候選對象:送貨單(DeliverOrder)。我們應(yīng)該把這個(gè)候選對象加入到圖13-5的對象模型中,對圖13-5的模型進(jìn)行修正后,得到圖13-14的對象模型。13.2.2用例建模過程圖13-14修正后的對象模型說明:一個(gè)訂單(Order)可以拆分為多個(gè)送貨單(DeliverOrder)。13.2.2用例建模過程6.開發(fā)基本用例描述 當(dāng)完成了16個(gè)用例的編寫后,我們與購買者、出售者、運(yùn)送代理商、系統(tǒng)管理員進(jìn)行溝通后,發(fā)現(xiàn)遺漏了三個(gè)用例:查看書籍詳細(xì)信息、賬戶支付和信用卡支付。下面是這三個(gè)用例的基本描述。13.2.2用例建模過程(1)查看書籍的詳細(xì)信息表13-41查看書籍詳細(xì)信息用例名稱查看書籍詳細(xì)信息用例IDUC-116參與者注冊用戶,公共用戶簡要描述公共用戶和注冊用戶通過關(guān)鍵字搜索書籍后,系統(tǒng)顯示書籍列表,用戶可以在書籍列表中選取一本書,查看它的詳細(xì)信息前件用戶從書籍列表中選取一本書后件系統(tǒng)顯示書籍的詳細(xì)信息事件流1)進(jìn)入系統(tǒng)主頁2)按關(guān)鍵字搜索書籍3)系統(tǒng)列出書籍列表4)用戶從列表中選取一本書5)系統(tǒng)列出書籍的詳細(xì)信息13.2.2用例建模過程(2)賬戶支付表13-42賬戶支付用例賬戶支付用例IDUC-117參與者描述當(dāng)購買者選擇賬戶支付后,系統(tǒng)計(jì)算書籍費(fèi)用的總和,從用戶的賬戶中扣除這筆費(fèi)用前件購買者選擇了賬戶支付后件系統(tǒng)更新購買者賬戶事件流(1)計(jì)算購買的書籍總費(fèi)用(2)從用戶賬戶中減去書籍總費(fèi)用其他流和例外賬戶費(fèi)用不夠時(shí),提示賬戶支付失敗,要求用戶重新選擇支付方式13.2.2用例建模過程(3)信用卡支付表13-43信用卡支付用例信用卡支付用例IDUC-18參與者描述當(dāng)購買者選擇信用卡支付后,系統(tǒng)要求用戶輸入信用卡的卡號(hào),類型,過期時(shí)間,系統(tǒng)將信用卡信息,要支付的書籍金額發(fā)送給外部網(wǎng)關(guān),由銀行扣費(fèi)前件購買者選擇了信用卡支付后件通過網(wǎng)關(guān),從用戶在銀行的信用卡上扣費(fèi)事件流(1)計(jì)算購買的書籍總費(fèi)用(2)從用戶信用卡上減去書籍總費(fèi)用其他流和例外信用卡無效,或信用卡上金額不足時(shí),信用卡支付失敗,系統(tǒng)要求用戶重新選擇支付方式13.2.2用例建模過程7.逐步細(xì)化基本用例描述,并確定用例之間的關(guān)系 很明顯,“查看書籍詳細(xì)信息”是“搜索書籍”的擴(kuò)展用例;“賬戶支付”和“信用卡支付”是“選擇支付方式”的擴(kuò)展用例。13.2.2用例建模過程我們對圖13-13進(jìn)行修正,得到圖13-15的結(jié)構(gòu)化用例圖,該圖反映了用例之間的關(guān)系。圖13-15反映用例關(guān)系的用例圖13.2.2用例建模過程8.開發(fā)實(shí)例場景 用例是對一組場景共同行為的描述,場景是用例的一次具體執(zhí)行。即,場景是用例的實(shí)例。有時(shí),為了更好的理解用例,了解用例的細(xì)節(jié),我們必須為一個(gè)用例創(chuàng)建多個(gè)場景,通過場景來分析用例。場景還可以作為測試案例。13.3動(dòng)態(tài)建模與分析過程動(dòng)態(tài)模型描述實(shí)現(xiàn)用例的對象之間如何交互、參與者用例之間如何實(shí)現(xiàn)通訊,以及對象在其生命周期內(nèi)如何演變,即,對象的狀態(tài)變化。 場景建模描述了用例中的對象在某個(gè)場景中如何交互。場景是用例的一次具體執(zhí)行過程,是用例的某條執(zhí)行路徑發(fā)生的一系列動(dòng)作。
13.3.1動(dòng)態(tài)建模方法動(dòng)態(tài)建模首先從開發(fā)用例場景(我們用順序圖來描述場景)開始,第二步采用迭代和增量的方式進(jìn)行細(xì)化。在這個(gè)過程中,還有可能為那些具有復(fù)雜內(nèi)部狀態(tài)轉(zhuǎn)換的對象開發(fā)狀態(tài)圖。
13.3.1動(dòng)態(tài)建模方法在開發(fā)系統(tǒng)動(dòng)態(tài)模型過程中一般采用以下步驟。(1)開發(fā)用例場景。(2)開發(fā)系統(tǒng)級順序圖(3)開發(fā)子系統(tǒng)級順序圖(簡單系統(tǒng)可選)(4)開發(fā)子系統(tǒng)級狀態(tài)圖(簡單系統(tǒng)可選)(5)開發(fā)3層順序圖(6)開發(fā)3層協(xié)作圖(可選)(7)為每個(gè)主動(dòng)(控制)對象開發(fā)狀態(tài)圖。
13.3.2動(dòng)態(tài)建模過程在前面的用例建模實(shí)例中,完成網(wǎng)上購書是由多個(gè)用例協(xié)作來實(shí)現(xiàn)的,即由用戶登錄->搜索書籍->選購書籍->選擇運(yùn)送途徑->選擇支付方式->生成訂單->生成送貨單->運(yùn)送請求8個(gè)用例來完成購書的。在本節(jié),為了建立系統(tǒng)級順序圖,我們編寫一個(gè)粒度大的用例:購書用例。
13.3.2動(dòng)態(tài)建模過程下面是購書用例的基本描述:
表13-48購書用例描述用例名稱購書用例IDUC-200參與者購買者簡要描述購買者(buyer)登錄系統(tǒng)后,將要購買的書籍放進(jìn)購物籃中,然后,選擇運(yùn)送途徑、支付方式、生成訂單、等待代理商送貨上門。前件購買者必須有賬號(hào),或者信用卡后件創(chuàng)建的訂單保存到系統(tǒng)庫中事件流(1)購買者登陸賬戶(2)購買者搜索要購買的圖書(3)將要購買的書籍放入購物籃(4)選擇運(yùn)送方式(5)選擇支付方式,支付費(fèi)用(6)系統(tǒng)生成訂單(7)用戶確認(rèn)訂單(8)系統(tǒng)將書籍送給購買者其他和例外購買者可以在規(guī)定時(shí)間內(nèi)取消訂單非行為需求系統(tǒng)能夠并發(fā)處理來自各地的訂單13.3.2動(dòng)態(tài)建模過程1.開發(fā)用例場景 “購書”用例有多條執(zhí)行路徑,在這里,我們只為主場景編寫事件流,在編寫事件流時(shí),只關(guān)注參與者(購買者)與用例(把網(wǎng)上書店看成一個(gè)用例)交互的步驟,只描述購買者看得見得行為,參與者不可見的行為就不要描述,例如,賬戶驗(yàn)證,購買者是不可見的,就不要描述了。下面是“購書”用例的主場景的事件流。
13.3.2動(dòng)態(tài)建模過程表13-49購書用例主場景事件流事件流(1)用戶點(diǎn)擊系統(tǒng)登錄界面(2)系統(tǒng)提示用戶輸入用戶名和密碼(3)用戶輸入用戶名和密碼(4)系統(tǒng)提示用戶選擇服務(wù)(5)用戶選擇搜索書籍;(6)系統(tǒng)提示輸入關(guān)鍵字搜索書籍(7)用戶輸入關(guān)鍵字(8)系統(tǒng)列出相關(guān)書籍信息;(9)用戶將要購買的書籍副本添加到購物籃中,此步驟重復(fù)執(zhí)行,直到用戶滿意;(10)系統(tǒng)提示用戶選擇運(yùn)送選項(xiàng);(11)用戶選擇運(yùn)送選項(xiàng);(12)系統(tǒng)提示用戶選擇支付途徑;(13)用戶選擇支付途徑(信用卡支付,賬戶支付);(14)系統(tǒng)提示支付成功,并生成訂單;(15)用戶確認(rèn)訂單;(16)系統(tǒng)將書籍送給用戶13.3.2動(dòng)態(tài)建模過程表13-50參與者輸入事件-系統(tǒng)響應(yīng)事件2.開發(fā)系統(tǒng)級順序圖根據(jù)表13-49,在這里篩選出參與者輸入事件-系統(tǒng)響應(yīng)事件。如表13-50所示。
用戶輸入事件系統(tǒng)響應(yīng)事件系統(tǒng)提示用戶輸入賬號(hào)用戶輸入賬號(hào)系統(tǒng)提示用戶選擇服務(wù)用戶選擇搜索書籍系統(tǒng)提示搜索關(guān)鍵字用戶輸入關(guān)鍵字系統(tǒng)列出相關(guān)書籍用戶將書籍副本放入購物籃系統(tǒng)提示用戶選擇運(yùn)送方式用戶選擇運(yùn)送選項(xiàng)系統(tǒng)提示用戶選擇支付方式用戶選擇支付方式系統(tǒng)提示支付成功并生成訂單用戶確認(rèn)訂單系統(tǒng)將書籍送給用戶13.3.2動(dòng)態(tài)建模過程現(xiàn)在可以將表13-50
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年繁華地段辦公樓租賃協(xié)議3篇
- 2025年度大數(shù)據(jù)處理技術(shù)服務(wù)費(fèi)合同樣本3篇
- 2025年度旅游項(xiàng)目開發(fā)承包合同3篇
- 別墅庭院景觀設(shè)計(jì)施工合同
- 前臺(tái)客戶滿意度提升方案
- 招投標(biāo)行業(yè)規(guī)范講座
- 橡膠制品業(yè)自購料采購管理辦法
- 學(xué)校安保人員招聘合同樣本
- 2025年桉樹苗木出口貿(mào)易合同書3篇
- 生態(tài)農(nóng)業(yè)項(xiàng)目招投標(biāo)實(shí)習(xí)總結(jié)
- MOOC 數(shù)字邏輯電路實(shí)驗(yàn)-東南大學(xué) 中國大學(xué)慕課答案
- 齊魯名家 談方論藥智慧樹知到期末考試答案2024年
- 南京工業(yè)大學(xué)橋梁工程課程設(shè)計(jì)
- 2024年華電甘肅大基地煤電分公司招聘筆試參考題庫含答案解析
- 入團(tuán)志愿書(2016版本)(可編輯打印標(biāo)準(zhǔn)A4) (1)
- 閥門檢測報(bào)告
- 新產(chǎn)品開發(fā)流程表
- 保命未來經(jīng)0001
- 北京市養(yǎng)老機(jī)構(gòu)公建民營實(shí)施辦法(20210220135609)
- 都勻毛尖茶產(chǎn)業(yè)發(fā)展研究畢業(yè)論文
- 路基試驗(yàn)段成果總結(jié)報(bào)告
評論
0/150
提交評論