定義及分析業(yè)務流程(Business Process)是為了盡快理清系統(tǒng)范圍,以便估算開發(fā)成本及時間,可不是為了要改造業(yè)務流程,系統(tǒng)分析員千萬別誤解了此步驟之目的。所以,系統(tǒng)分析員在定義及分析業(yè)務流程時,記得挑選跟系統(tǒng)有關(guān)的業(yè)務流程。
無法確定系統(tǒng)范圍,就無法估算系統(tǒng)開發(fā)所需的成本及時間,當然整個項目也就無法全面展開。所以,系統(tǒng)分析員要盡快完成此項目,最好在一、兩周內(nèi)可以依次生成下列UML文件:
●CIM-1:定義業(yè)務流程(業(yè)務用例圖)
●CIM-2:分析業(yè)務流程(活動圖)
●CIM-3:定義系統(tǒng)范圍(系統(tǒng)用例圖)
CIM-1:
系統(tǒng)分析員經(jīng)過了CIM1~3階段之后,將定義出一堆的系統(tǒng)用例,隨后從中挑選出首批開發(fā)的系統(tǒng)用例,這才算確定了系統(tǒng)范圍,也才能夠估算開發(fā)成本及時間,并且正式進入PIM階段。
業(yè)務用例圖的主要組成元素是業(yè)務用例和業(yè)務執(zhí)行者。每一個業(yè)務用例代表一條業(yè)務流程,業(yè)務執(zhí)行者則代表位于業(yè)務組織外但會啟動或參與業(yè)務流程的人(或其它系統(tǒng))。
CIM-2:
通過CIM-1圈出了系統(tǒng)將參與的業(yè)務流程之后,針對每一個業(yè)務用例,系統(tǒng)分析員得開始分析它的工作流程,并且繪制活動圖(Activity Diagram)與業(yè)務人員取得共識。隨后到了CIM-3時,才能夠依此定義出系統(tǒng)可以協(xié)助之處,并且規(guī)劃出系統(tǒng)范圍。
選用活動圖作為分析業(yè)務流程的工具,主要是因為它能夠讓系統(tǒng)分析員聚焦在流程內(nèi)部的一連串工作。在這一連串的工作項目中,有些工作項目可能是純?nèi)斯げ僮鳎硪恍┕ぷ黜椖縿t可能有系統(tǒng)的協(xié)助。找出可信息化的工作項目,并以此定義出系統(tǒng)未來可以提供的服務項目,也就定義出初步的系統(tǒng)范圍了。
CIM-3:
經(jīng)過了CIM-1的定義業(yè)務程序以及CIM-2的分析業(yè)務流程之后,終于進入到CIM-3這場壓軸戲了。CIM-1和CIM-2的生成文件,跟CIM-3的生成文件之間,有如下的關(guān)聯(lián)性:
●CIM-1中的業(yè)務執(zhí)行者,以及CIM-2中的動作負責人,都可能成為CIM-3的系統(tǒng)執(zhí)行者(System Actor)。
●CIM-2活動圖中的每一個動作,都可能成為CIM-3的系統(tǒng)用例。
在CIM-3中,系統(tǒng)分析員將分析CIM-2生成的所有活動圖,定義出一堆的系統(tǒng)用例。隨后,待項目經(jīng)理及相關(guān)人士從中挑選一批系統(tǒng)用例,作為首期發(fā)布(Release)的系統(tǒng)用例。此外,系統(tǒng)分析員也將帶著這批選中的系統(tǒng)用例進入PIM-1,開始詳述每一個系統(tǒng)用例的詳細規(guī)格。
系統(tǒng)分析員在定義系統(tǒng)用例時,可以參考下列建議:
1、每一個系統(tǒng)用例最好只有一個啟動者。
2、系統(tǒng)用例執(zhí)行時間,如果有聯(lián)機其他系統(tǒng),將它們列為支持者。
3、遇到定時啟動的系統(tǒng)用例,可以定義一個名為“定時啟動者(Timer)”的虛擬啟動者。
啟動用例的執(zhí)行者,特稱為“啟動者”(Initiator),其余不具有啟動特質(zhì)的執(zhí)行者,可稱之為“支持者”(Support)。直接操作計算機的用戶,通常就是系統(tǒng)用例的啟動者。而且在系統(tǒng)用例執(zhí)行期間,有時會需要聯(lián)機其他系統(tǒng)以取得協(xié)助,這些聯(lián)機系統(tǒng)就是支持者。
系統(tǒng)分析員可以先從“CIM-1的業(yè)務執(zhí)行者”和“CIM-2的動作負責人”這兩處先找尋激活者。
系統(tǒng)分析員在繪制系統(tǒng)用例圖時,可以采用下列幾項常見做法:
1、采用帶箭頭關(guān)系線,讓啟動者指向用例,用例指向支持者。這樣一來,從圖上就可以明確分辨出啟動者與支持者。
2、一個用例通常只有一個啟動者,不過可能出現(xiàn)多個支持者。
3、如果有多個啟動者的情況,嘗試切割成一人一會話(One user, One Session)。
4、有時不同用戶都具有啟動用例的特性,建議在圖上繪出最重要或最主要的啟動者,基余啟動者記錄在用例敘述里,這樣可以降低圖的復雜度。