|
在這里要申明的是邏輯模型并不能完全算需求分析階段的工作,因為它包含了設(shè)計模型的概念,但是我又把它歸納了一塊到需求分析階段,原因在于邏輯模型中存在了業(yè)務(wù)對象模型和分析模型的概念。
言歸正傳,先來看用例模型。
用例模型
用例模型包含了兩部分:業(yè)務(wù)用例模型和系統(tǒng)用例模型。從字面的意義來看,確實很難分清兩者究竟在做些什么工作。因此我們要重點解釋一下。
業(yè)務(wù)用例模型的目的在于:
1. 描述企業(yè)的內(nèi)部組織結(jié)構(gòu)
2. 描述企業(yè)各部門的業(yè)務(wù)
3. 關(guān)注于角色和系統(tǒng)的交互界面
系統(tǒng)用例模型的目的在于:
1. 關(guān)注于演示對系統(tǒng)的需求
2. 拋棄部門的功能,更加細(xì)化
3. 系統(tǒng)用例模型應(yīng)該劃分子系統(tǒng)以對應(yīng)不同的功能
這二者最大不同點在于:業(yè)務(wù)用例模型僅關(guān)注于企業(yè)部門的業(yè)務(wù),而系統(tǒng)用例模型則關(guān)注于系統(tǒng)本身實現(xiàn)后的互動。
圖素
業(yè)務(wù)用例模型和系統(tǒng)用例模型有共同的圖素,但是在意義上是完全不同的
角色:
業(yè)務(wù)用例模型
系統(tǒng)用例模型
對于角色來說,業(yè)務(wù)用例模型有兩種角色的變體,分別是業(yè)務(wù)角色和業(yè)務(wù)員工。系統(tǒng)用例模型則沒有業(yè)務(wù)員工,只有業(yè)務(wù)角色。而它們的含義又是不同的。
在業(yè)務(wù)用例模型中,業(yè)務(wù)角色代表企業(yè)外的角色,業(yè)務(wù)員工代表企業(yè)內(nèi)的角色。例如對于商店來說顧客就是它的業(yè)務(wù)角色,而售貨員就是它的業(yè)務(wù)員工。
在系統(tǒng)用例模型中,業(yè)務(wù)角色代表系統(tǒng)外的角色。例如對于銷售管理系統(tǒng)來說,任何一個操作員都是業(yè)務(wù)角色,因為它不屬于系統(tǒng)內(nèi)。
用例:
業(yè)務(wù)用例模型
系統(tǒng)用例模型
對于用例來說,業(yè)務(wù)用例模型因為需要描述部門的業(yè)務(wù),因此它將使用一般用例的變體:業(yè)務(wù)用例。而系統(tǒng)用例模型則只需要使用用例的本體就可以了。二者的區(qū)別在于,業(yè)務(wù)用例的粒度很粗,它只描述部門的總體業(yè)務(wù);用例的粒度很細(xì),需要描述到系統(tǒng)中業(yè)務(wù)場景的工作。
業(yè)務(wù)用例模型工作流程
Step-1 :創(chuàng)建業(yè)務(wù)用例對象模型的包
使用包的變體“ Business Use Case Model ”:
Step-2 :創(chuàng)建用例對象的角色
創(chuàng)建業(yè)務(wù)員工和業(yè)務(wù)角色。
Step-3 :創(chuàng)建組織結(jié)構(gòu)圖
制作業(yè)務(wù)用例模型時,需要通過擴(kuò)展的關(guān)系來將各個業(yè)務(wù)員工和業(yè)務(wù)角色組織起來,形成組織結(jié)構(gòu)圖。(說明:需要通過抽象將業(yè)務(wù)員工的組織關(guān)系描述得清晰一些,而業(yè)務(wù)角色可能沒有階層的關(guān)系)
組織結(jié)構(gòu)圖的包應(yīng)該使用包的變體“ organization Unit ”:
Step4 :創(chuàng)建業(yè)務(wù)用例
使用業(yè)務(wù)用例和業(yè)務(wù)員工、業(yè)務(wù)角色來粗略的描述部門的業(yè)務(wù)工作。
系統(tǒng)用例模型工作流程
Step-1 :創(chuàng)建系統(tǒng)用例對象模型的包
直接創(chuàng)建包就可以了:
Step-2 :創(chuàng)建用例對象的角色
創(chuàng)建業(yè)務(wù)角色
Step-3 :創(chuàng)建系統(tǒng)用例
使用業(yè)務(wù)角色和系統(tǒng)用例來詳細(xì)描述系統(tǒng)的工作,業(yè)務(wù)角色對用例的關(guān)系應(yīng)該設(shè)置為“ use ”,系統(tǒng)用例之間的關(guān)系將使用“extend ”、“ include ”來描述。
系統(tǒng)用例的名字很重要,因為它將直接影響關(guān)系的描述。(在任何一個項目開展時都要對名字本身進(jìn)行約束,動賓結(jié)構(gòu),還是主動結(jié)構(gòu))
比如:有一個系統(tǒng)用例,名為“維護(hù)商品信息”,顯然如果有一個業(yè)務(wù)角色為“商品管理員”,那這個業(yè)務(wù)角色對“維護(hù)商品信息”的信息就應(yīng)該是:
而“維護(hù)商品信息”這個用例的粒度太粗,因此還需要細(xì)化它,假使,“查詢商品信息”和“更新商品信息”都和“維護(hù)商品信息”是有關(guān)系的,那么它們之間的關(guān)系就應(yīng)該使用“ extend ”、“ include ”來描述。請先看下圖:
“查詢商品信息”和“維護(hù)商品信息”是擴(kuò)展( extend )的關(guān)系,“更新商品信息”和“維護(hù)商品信息”是包含( include )的關(guān)系。
這樣的圖示說明了什么?請記住,擴(kuò)展關(guān)系是指對于被擴(kuò)展方(在這里指“維護(hù)商品信息”),擴(kuò)展方(在這里指“查詢商品信息”)是非必要實現(xiàn)的,也即沒有“查詢商品信息”,一樣可以叫做“維護(hù)商品信息”。但是相對包含關(guān)系就不一樣,“更新商品信息”對于“維護(hù)商品信息”來說是必須實現(xiàn)的一個用例,如果沒有“更新商品信息”就沒有“維護(hù)商品信息”了。此外,對于擴(kuò)展關(guān)系,還有一個條件,就是擴(kuò)展方應(yīng)該在被擴(kuò)展方用例實現(xiàn)的基礎(chǔ)上進(jìn)行的擴(kuò)展。因此對于上圖,若要表達(dá)的更清晰,則可以這樣畫:
這樣的結(jié)果,告訴了看這個用例的人一個這樣的信息:更新商品信息后可以查詢其他商品信息。
請再看一個例子:
這個用例圖告訴了我們這樣的信息:
Step-1
商品管理員首先要提取商品信息
Step-2
在提取商品信息的同時,需要獲取商品單價,這是必須完成的
Step-3
提取商品信息后可以更新商品信息和打印商品信息
Step-4
對于打印商品信息而言合計商品總量是必須完成的一個工作
從剛才的圖中我們只看到了用例的關(guān)系和系統(tǒng)角色在各個階段所做的一個大體工作,但是對于系統(tǒng)用例來說,每個用例都應(yīng)該進(jìn)行必要的描述(這點對于用例來說就是場景的描述)。
it知識庫:需求分析階段的工作(一):業(yè)務(wù)用例和系統(tǒng)用例,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。