第4章 面向?qū)ο笙到y(tǒng)分析實例_第1頁
第4章 面向?qū)ο笙到y(tǒng)分析實例_第2頁
第4章 面向?qū)ο笙到y(tǒng)分析實例_第3頁
第4章 面向?qū)ο笙到y(tǒng)分析實例_第4頁
第4章 面向?qū)ο笙到y(tǒng)分析實例_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

14.3面向?qū)ο蟮南到y(tǒng)分析實例以酒店管理中系統(tǒng)中的訂房系統(tǒng)為例,說明面向?qū)ο蠓治龅慕7椒ê完P鍵步驟4.3.1類圖建模要點類圖(classdiagram)用來表達系統(tǒng)內(nèi)部的靜態(tài)結(jié)構(staticstructure)。(1)分析師不能自己隨意定義類,必須尋找領域術語做為類名稱。例如:房間—真正住進去,特定房號的房間。房型—顧客在訂房時,通常是預訂某個房型的房間。(2)領域概念非常多,分析師應用“事務模式”構建類圖的原型,然后再進行擴展,完善。(3)仔細考慮屬性/操作的可見性(4)類的關聯(lián)和組合關系24.3面向?qū)ο蟮南到y(tǒng)分析實例4.3.2運用“事務模式”建立類圖

“事務”一詞在不同的領域中有不同的解釋,在信息系統(tǒng)與數(shù)據(jù)庫相關的領域中,事務(transaction)是并發(fā)控制的基本單位。它是一個操作序列,這些操作要么都執(zhí)行,要么都不執(zhí)行,它是一個不可分割的工作單位。在面向?qū)ο蟮姆治鲞^程中,系統(tǒng)的靜態(tài)結(jié)構往往以各種事務為中心。找出與事務相關的事務明細(TransactionLineItem)、涉眾(Participant)、地點(Place)、物品(Item),就可以快速構建系統(tǒng)的類圖原型。34.3面向?qū)ο蟮南到y(tǒng)分析實例(1)事務與人、地、物事務模式強調(diào)以事務(transaction)對象為中心,串起與事務有關的其他對象,如事務明細、涉眾、地點、物品。其一般結(jié)構如下:系統(tǒng)中“必須記錄的事件”都是我們的侯選事務。44.3面向?qū)ο蟮南到y(tǒng)分析實例運用事務模式,我們可以很快得出酒店訂房系統(tǒng)的初始類圖:54.3面向?qū)ο蟮南到y(tǒng)分析實例(2)物品與特定物品事務涉及的物品概念可以細分為兩種:一種是具體的、特定的物品,另一種是針對同種類特定物品的描述和分類。在事務模式中,將這兩個概念稱為“特定物品(SpecificItem)”和“物品(Item)”,通過尋找特定物品和物品,類圖可進一步完善:64.3面向?qū)ο蟮南到y(tǒng)分析實例通過尋找特定物品和物品,酒店訂房系統(tǒng)的類圖可進一步完善:由于目前還無法確定圖中“房間-訂房明細”以及“房間-訂房”這兩條關聯(lián),因此分析師在此加上“未確定”注釋。注釋(comment)74.3面向?qū)ο蟮南到y(tǒng)分析實例“房間-訂房明細”以及“房間-訂房”這兩條關聯(lián),可能都不是單純的一對多關聯(lián),有可能是如下的多對多的關聯(lián),還需詳細討論。84.3面向?qū)ο蟮南到y(tǒng)分析實例(3)后續(xù)事務

事務本身含有時間因素,因此事務之后可能有后續(xù)事務(subsquentTransaction),思考一下,訂房成功之后,后續(xù)會發(fā)生哪些必須記錄的重要事件?94.3面向?qū)ο蟮南到y(tǒng)分析實例后續(xù)事務—入住104.3面向?qū)ο蟮南到y(tǒng)分析實例可以通過對業(yè)務規(guī)則的限定,對類圖進行簡化,對關聯(lián)進行調(diào)整。例如:酒店方經(jīng)過討論認為,一次訂房可以同時訂多個房間,但是只能限定是同一個預定日期。如果這個會員要預訂多個日期的話,必須拆成多個訂房事務。114.3面向?qū)ο蟮南到y(tǒng)分析實例

酒店方還規(guī)定一次入住事件對應一個房間。假如會員預訂了120/201兩個房間的話,這次訂房就會對應到兩個入住事件。在這樣的規(guī)定下,也就不再需要入住明細了,因此類圖修改如下:124.3面向?qū)ο蟮南到y(tǒng)分析實例(4)參與者與涉眾涉眾是一種身份、角色,在這個角色背后有一個真正的參與者(actor)?!皡⑴c者-涉眾”之間的關系就像“演員-角色”之間的關系一樣。加入了“參與者-涉眾”的類圖模型如下:134.3面向?qū)ο蟮南到y(tǒng)分析實例酒店預訂系統(tǒng)中加入了“參與者-涉眾”的類圖模型如下:144.3面向?qū)ο蟮南到y(tǒng)分析實例綜和上面的分析,得出酒店訂房系統(tǒng)的類圖如下:154.3面向?qū)ο蟮南到y(tǒng)分析實例結(jié)合其他UML模型,進一步完善類圖。164.3面向?qū)ο蟮南到y(tǒng)分析實例例如在用例圖中完善了“會員登錄”用例描述后,可以立即更新類圖。用例會員登錄啟動者會員支持者主要流程會員輸入電子郵件和密碼。系統(tǒng)確認會員身分之后,出現(xiàn)歡迎信息。替代流程數(shù)據(jù)不完整:客戶端提醒會員填入數(shù)據(jù),直到數(shù)據(jù)完整才傳送到服務器端。驗證失?。豪鄯e5次登錄失敗,即鎖定,并出現(xiàn)請會員主動聯(lián)系系統(tǒng)管理員的信息。企業(yè)規(guī)則BR1:以會員電子郵件做為會員代號。BR2:會員累積5次登錄失敗,即鎖定該會員賬號。只要登錄成功,則失敗次數(shù)歸零。BR3:一個人只能申請一個會員身份。議題與其他由于,一個人只能申請一個會員身份,所以將類圖中的個人與會員合并為一。174.3面向?qū)ο蟮南到y(tǒng)分析實例更新類圖:184.3面向?qū)ο蟮南到y(tǒng)分析實例用例訂房啟動者會員支持者酒店經(jīng)營者主要流程會員挑選一家酒店。系統(tǒng)顯示出這家酒店所有的房型名稱、床型、空房數(shù)和房價。會員挑選預定的房型、房間數(shù)以及預訂日期。系統(tǒng)減少可預訂的空房數(shù),并且新增一條訂房事務。系統(tǒng)顯示出事務代號、訂金與總價。系統(tǒng)提醒會員需要48小時內(nèi)支付預訂金。系統(tǒng)發(fā)送訂房通知給酒店經(jīng)營者和會員。完善“訂房”用例描述194.3面向?qū)ο蟮南到y(tǒng)分析實例完善“訂房”用例描述替代流程SR1:畫面上要標記出必須填寫的字段,并且在客戶端先檢驗字段,并且提醒用戶填寫完整數(shù)據(jù),直到必填字段完整之后,才會回送到服務器端。企業(yè)規(guī)則BR4:訂房事務序號的編碼規(guī)則為“預訂yyyyMMdd0001”,每日以流水號0001起始,每日流水號最大到9999。BR5:訂金=總價×0.1。BR6:會員需在事務成立后,48小時內(nèi)支付預訂金。議題與其他編寫“系統(tǒng)規(guī)則”(SystemRule,SR),做為整個訂房系統(tǒng)都必須遵守的規(guī)則。企業(yè)規(guī)則和系統(tǒng)規(guī)則將集中管理,用例描述中僅片面記錄規(guī)則初次出現(xiàn)的時刻。204.3面向?qū)ο蟮南到y(tǒng)分析實例更新類圖(訂房)214.3面向?qū)ο蟮南到y(tǒng)分析實例4.3.3運用序列圖(時序圖)整合用例圖和類圖

序列圖關聯(lián)了類圖和用例圖。表示了系統(tǒng)在與參與者互動執(zhí)行某個用例期間,系統(tǒng)內(nèi)部的一組對象的順序交互情況。類圖用例圖序列圖靜態(tài)結(jié)構(系統(tǒng)內(nèi)在結(jié)構)動態(tài)行為(系統(tǒng)外在行為)動態(tài)行為(系統(tǒng)內(nèi)在行為)類參與者、用例對象(object)關聯(lián)包含、擴展消息(message)事務模式用例描述BCE模式領域概念業(yè)務流程概念與流程的關聯(lián)224.3面向?qū)ο蟮南到y(tǒng)分析實例分析師可以通過雙交叉法同步進行類圖和用例圖的分析,然后盡快通過序列圖來整合、調(diào)整三方面的圖。進一步完善系統(tǒng)分析模型。234.3面向?qū)ο蟮南到y(tǒng)分析實例(1)序列圖的要素--對象與生命線生命線(lifeline)對象(object)244.3面向?qū)ο蟮南到y(tǒng)分析實例序列圖整合了用例與類254.3面向?qū)ο蟮南到y(tǒng)分析實例(2)序列圖的要素—消息與執(zhí)行說明生命線(lifeline)消息(message)執(zhí)行說明(executionspecification)264.3面向?qū)ο蟮南到y(tǒng)分析實例(3)序列圖繪制—從BCE模式入手實體類—保存問題領域中的重要信息,封裝數(shù)據(jù)結(jié)構和數(shù)據(jù)儲存有關的變化??刂祁悺脕砜刂朴美龍?zhí)行期間的復雜運算或者業(yè)務邏輯,通常針對一個用例,就會對應生成一個控制類。邊界類—邊界類用來隔離系統(tǒng)內(nèi)外,通常負責接收并響應系統(tǒng)內(nèi)外的信息。274.3面向?qū)ο蟮南到y(tǒng)分析實例套用BCE模式繪制序列圖284.3面向?qū)ο蟮南到y(tǒng)分析實例BCE模式應用要點一個用例,可以對應生成一個控制類。參與者對象只能跟邊界對象互動。實體對象不能發(fā)送消息給邊界對象和控制對象。單純對數(shù)據(jù)表進行增刪改查的話,可以不設置控制對象,讓邊界對象直接發(fā)送消息給實體對象。294.3面向?qū)ο蟮南到y(tǒng)分析實例(4)酒店訂房系統(tǒng)—會員登錄序列圖繪制舉例用例會員登錄啟動者會員支持者主要流程會員輸入電子郵件和密碼。系統(tǒng)確認會員身分之后,出現(xiàn)歡迎消息。304.3面向?qū)ο蟮南到y(tǒng)分析實例“會員登錄”的序列圖314.3面向?qū)ο蟮南到y(tǒng)分析實例“會員登錄”用例的BCE類324.3面向?qū)ο蟮南到y(tǒng)分析實例使用BCE類圖標334.3面向?qū)ο蟮南到y(tǒng)分析實例使用一般的類圖標344.3面向?qū)ο蟮南到y(tǒng)分析實例修改“會員登錄”的主要流程用例會員登錄啟動者會員支持者主要流程會員輸入電子郵件和密碼。系統(tǒng)驗證會員身分。系統(tǒng)顯示歡迎消息。354.3面向?qū)ο蟮南到y(tǒng)分析實例(5)酒店訂房系統(tǒng)—訂房序列圖繪制舉例用例訂房啟動者會員支持者酒店經(jīng)營者主要流程會員挑選一家酒店。系統(tǒng)列出這家酒店所有的房型名稱、床型、空房數(shù)和房價。會員挑選預訂的房型、房間數(shù)以及預訂日期。系統(tǒng)減少可預訂的空房數(shù),并且新增一條訂房交易。系統(tǒng)列出交易代號、訂金與總價。系統(tǒng)提醒會員需要48小時內(nèi)支付預訂金。系統(tǒng)發(fā)送訂房通知給酒店經(jīng)營者和會員。364.3面向?qū)ο蟮南到y(tǒng)分析實例“訂房”用例有兩個參與者374.3面向?qū)ο蟮南到y(tǒng)分析實例“訂房”用例有兩個參與者384.3面向?qū)ο蟮南到y(tǒng)分析實例加上邊界對象和實體對象394.3面向?qū)ο蟮南到y(tǒng)分析實例查詢房型404.3面向?qū)ο蟮南到y(tǒng)分析實例挑選并預訂房間414.3面向?qū)ο蟮南到y(tǒng)分析實例刪掉酒店經(jīng)營者參與者42刪去了酒店經(jīng)營者的用例圖酒店訂房系統(tǒng)4.3面向?qū)ο蟮南到y(tǒng)分析實例43用例訂房啟動者會員支持者主要流程會員挑選一家酒店。系統(tǒng)列出這家酒店所有的房型名稱、床型、空房數(shù)和房價。會員挑選預訂的房型、房間數(shù)以及預訂日期。系統(tǒng)顯示出訂房總價。系統(tǒng)新增一條訂房交易。系統(tǒng)減少可預訂的空房數(shù)。系統(tǒng)發(fā)送訂房通知給酒店經(jīng)營者。系統(tǒng)發(fā)送訂房通知給會員。系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論