劉志勇
(南華大學(xué)計(jì)算機(jī)學(xué)院,衡陽 420002)
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,人們的生活水平和觀念也日新月異,旅游業(yè)得到了迅速發(fā)展,酒店越來越多。但是隨著人流量日益增多,舊的酒店管理系統(tǒng)已經(jīng)不再適用。旅客在入住酒店時(shí),需要進(jìn)行前臺(tái)登記,然后發(fā)房卡,接著在酒店進(jìn)出房間、各類消費(fèi)(含健身、保健、餐飲)等都需要進(jìn)行身份驗(yàn)證,用戶體驗(yàn)不太友善。
隨著互聯(lián)網(wǎng)的發(fā)展,人們希望利用互聯(lián)網(wǎng)來改善舊的酒店管理系統(tǒng),提出“酒店視覺AI解決方案”[1],即利用人臉識(shí)別技術(shù),使得旅客在進(jìn)行各類消費(fèi)的時(shí)候不再拘束于房卡,直接通過身份驗(yàn)證即可進(jìn)入健身房等消費(fèi)場所,打造不一樣的酒店服務(wù),提升酒店服務(wù)體驗(yàn),增強(qiáng)酒店的競爭能力。
(1)獲取系統(tǒng)參與者過程如表1所示。
表1 獲取系統(tǒng)參與者
由上可得出該系統(tǒng)存在四種參與者,如圖1所示。
圖1 “身份驗(yàn)證系統(tǒng)”參與者視圖
(2)從參與者的角度獲取用例如表2所示。
表2 從參與者的角度獲取用例
(3)由前兩步分析可得到身份驗(yàn)證系統(tǒng)的系統(tǒng)用例圖如圖2所示。
圖2 “身份驗(yàn)證系統(tǒng)”用例圖
(1)“驗(yàn)證客戶身份”用例文檔如表3所示(見下頁)。
表3 “驗(yàn)證客戶身份”用例文檔
(2)“識(shí)別身份”用例文檔如表4所示(見下頁)。
表4 “識(shí)別身份”用例文檔
2.1.1 備選構(gòu)架
●架構(gòu)需求1:由于本系統(tǒng)需要用戶與系統(tǒng)進(jìn)行交互,即所選架構(gòu)需為一種交互式軟件架構(gòu)模式;
●架構(gòu)需求2:為了有效地分離用戶界面和業(yè)務(wù)邏輯,分層策略需為三層模式。
綜上兩點(diǎn)考慮,本系統(tǒng)所選備選架構(gòu)為BC-E三層架構(gòu),如圖3所示。當(dāng)前分層架構(gòu)將為后續(xù)的用例分析提供基本結(jié)構(gòu)和指導(dǎo)規(guī)則。
圖3 “身份驗(yàn)證系統(tǒng)”備選架構(gòu)
2.1.2 關(guān)鍵抽象
對(duì)于“身份驗(yàn)證系統(tǒng)”而言,其核心業(yè)務(wù)價(jià)值在于客戶入住酒店時(shí)進(jìn)行身份驗(yàn)證和客戶進(jìn)入酒店公共服務(wù)區(qū)時(shí)進(jìn)行身份識(shí)別,因此有關(guān)客戶信息的概念即作為系統(tǒng)的關(guān)鍵抽象而存在,如圖4所示。
圖4 “身份驗(yàn)證系統(tǒng)”關(guān)鍵抽象類圖
而表5列出了關(guān)鍵抽象的簡單描述。
表5 “身份驗(yàn)證系統(tǒng)”關(guān)鍵抽象說明
(1)針對(duì)參與者和用例之間的每一個(gè)關(guān)聯(lián)關(guān)系定義一個(gè)邊界類,如圖5所示。
圖5 “身份驗(yàn)證系統(tǒng)”初始邊界類
(2)針對(duì)一個(gè)用例定義一個(gè)控制類,如圖6所示。
圖6 “身份驗(yàn)證系統(tǒng)”初始控制類
(3)按照用例流程識(shí)別實(shí)體類,從登錄用例識(shí)別出了用戶實(shí)體類,從剩余用例識(shí)別出了客戶信息實(shí)體類,如圖7所示。
圖7 “身份驗(yàn)證系統(tǒng)”初始實(shí)體類
(1)業(yè)務(wù)建模與用例建模[2]的聯(lián)系與區(qū)別
聯(lián)系:用例建模的需求可以從業(yè)務(wù)建模獲取,從業(yè)務(wù)用例模型中尋找系統(tǒng)改進(jìn)點(diǎn)結(jié)合系統(tǒng)愿景,獲取系統(tǒng)用例來表達(dá)需求。從業(yè)務(wù)用例模型中獲取系統(tǒng)需求,來構(gòu)建系統(tǒng)用例模型。
區(qū)別:業(yè)務(wù)模型描述業(yè)務(wù)現(xiàn)狀,這些業(yè)務(wù)可能存在問題,可將其作為業(yè)務(wù)待改進(jìn)的改進(jìn)點(diǎn)。用例建模正是在原來的業(yè)務(wù)上加以改進(jìn),從業(yè)務(wù)改進(jìn)點(diǎn)入手,結(jié)合項(xiàng)目愿景,導(dǎo)出系統(tǒng)需求。
業(yè)務(wù)用例常常是以白盒形式編寫,它描述了被建模的組織中的人和部門之間的交互。我們使用業(yè)務(wù)用例來說明在“現(xiàn)有”業(yè)務(wù)模型中組織如何工作。然后重構(gòu)“現(xiàn)有”的業(yè)務(wù)用例模型,讓其面向?qū)⒁5慕M織的未來設(shè)計(jì)。
而系統(tǒng)用例往往是以黑盒形式編寫,它描述了軟件系統(tǒng)之外的參與者如何與將被設(shè)計(jì)的系統(tǒng)進(jìn)行交互。系統(tǒng)用例詳細(xì)闡明了系統(tǒng)需求。系統(tǒng)用例模型的目的是從涉眾的角度說明需求,而不是設(shè)計(jì)如何滿足需求。
(2)用例(Use Case)是一種描述系統(tǒng)需求的方法,使用用例的方法來描述系統(tǒng)需求的過程就是用例建模。我們通過此次用例建模,更加深刻地理解了在用例建模中如何確定系統(tǒng)的范圍和邊界,識(shí)別參與者、用例,以及用例間的關(guān)系。
(3)用例分析是從用例模型到分析模型的過程,是需求與設(shè)計(jì)之間的橋梁。用例分析把系統(tǒng)的行為分配給分析類,讓分析類交互完成系統(tǒng)的行為。我們通過此次用例分析,對(duì)架構(gòu)和用例進(jìn)行了更深層次的分析,對(duì)用例文檔進(jìn)行了完善等,進(jìn)一步掌握了利用用例分析進(jìn)行面向?qū)ο蠓治龅幕具^程和實(shí)踐技能。