|
在後面章節將談論
UML
怎麼建立系統之前,先將注意力集中在企業環繞系統上的企業塑模。在這個章節,我們將檢驗企業本身,與它交互影響的實體,在它裡面的工作流程,以便於在設計系統之前,真正去了解企業的環境。然後我們確信系統可以工作很好,而且適合此獨特企業的唯一目標。
我們首先將介紹系統塑模的概念,然後討論一些你會想要做企業塑模的理由。並非每件專案都須要系統塑模,但在許多情況下,企業塑模會增加很多的好處。我們將討論這些情況。
然後我們會進入系統塑模裡特別的單元。這些單元有「企業參與者」、「企業使用案例」和「企業工作者」。我們將個別的討論這些項目,並教你如何使用「Rose」來塑造他們。
企業塑模介紹
企業塑模主要用來了解企業。在企業塑模的過程中,你可以檢視企業的組織架構,著眼於公司內部的角色及其間如何互動。同時你可以檢視企業的工作流程,了解企業的主要行程,知道企業是如何工作,有何效用,何處是瓶頸。同時你也可以檢視企業的外在實体,如何與企業互動,及其含意為何。
簡而言之,你嘗試去了解何者在企業內部,何者在企業外部,以及內外彼此如何進行對話。使用
UML,你可以將這些資訊紀錄在企業模型裡。
為何要企業塑模?
有很多原因讓我們要做企業塑模,包括獲得對企業及其軟體系統的了解,幫助企業流程再造成果,建立有效的訓練工具,詳述如下:
了解組織願景
即使你不是在建構軟體系統,你也可用企業塑模來了解並紀錄你的組織在做什麼。這是一種絕妙的方法,用來發展你的組織願景宣言;運用企業塑模的圖型,可以幫助你了解外界要從你的組織那邊獲得什麼,同時了解組織要如何完成此目標。企業塑模不祗適用在組織層,在組織中特別的部門,也可經由企業塑模來發展該部門自己的章程及任務陳述。
企業流程再造
企業塑模在企業流程再造方面也很有幫助。在企業塑模過程中有一個重要產物(artifact)就是工作流程圖(workflow
diagram),此圖描述組織內獨特工作流程。它展現個體所參與的過程,過程內的步驟,和參與此過程的企業實體。企業流程再造團隊可以根據紀錄現行過程的工作流程圖開始,然後他們可分析此圖來找出企業工作流程中無效率,及有問題的地方。例如,他們可能發現到有部份文件的確認,是從分析人員至管理者,送回分析人員後,增加一些資訊再送回管理者。此過程可以改善為由分析人員事前先把所有需要的資訊完全填妥,再送到管理者。這祗是一個例子說明如何用工作流程圖來分析。
企業流程再造團隊也可用此工作流程圖來分析未來可能的工作流程,經由設計一些潛在的程序,團隊更能從正反面來觀察並討論每一種流程,然後選擇一個最適合組織的新流程。
訓練
無論是剛發展的新流程,還是一個剛加入團隊的新成員,企業塑模的成果,可成為很好的訓練工具。工作流程圖解釋出誰參與這個過程,此流程的步驟是如何,它的產物是什麼。任何團隊成員都可以重新瀏覽這些圖示,去了解他們要如何配合此企業流程,了解什麼產物是他們負責要做的,或要接受的,誰是他們要去溝通的。這些簡單的圖型,透過清楚陳述在工作流程中每個人要負的責任,可以解除組織裡一大堆頭痛的問題。這些幫助可確保每個人對於企業流程及角色有共同的了解。
軟體解決方案時的環境
當然,我們大多數人是用
UML
來建構軟體。在這種情況,企業塑模可以幫助我們了解我們要建構的系統環境。雖然聽起來微不足道,但它對專案的成敗有很大的影響。如果我們不了解此企業,我們會對軟體應該做什麼,及軟體如何被企業團體來使用做出錯誤的假設。
當建構軟體的時候,“世界環繞著系統”是一個需要慎重考慮的事。(譯註:意思是說,系統所接觸的環境是很複雜,像世界般遼闊,無法樣樣了解,事事洞悉)過去幾年,當公司用
UML
而不做企業塑模,其中被引起關注的事,是沒辦法了解系統是如何去配合企業的環境。
加入企業塑模,藉由開發團隊觀察企業本身,企業的工作流程,及了解新系統對於工作流程的自動化部份有何幫助,以解決此過程中的缺口。
我需要做企業塑模嗎?
對於這個問題,如沒有靠那些天才心理學家的幫助,我無法給你一個適切的答案,但我可以給你一些指引:
如果在下列情況下,你可能需要企業塑模:
如果在下列情況下,你可能不需要企業塑模:
-
你完全了解企業的組織架構、目標、企業願景,以及關係人(stakeholders)。
-
你正建構的軟體,僅是組織的一小部份在使用,而且不會影響其他的商業部門。
-
組織內的工作流程相當容易,而且可用文件來表達清楚。
-
最簡單的理由是沒有時間。現實一點來說:並不是所有專案都有足夠地時間做完整的企業分析。但要小心!不要讓缺少時間成為藉口。如果你確信企業塑模對專案的成功很有幫助,那你要設法克服此時間因素。
在反覆式開發流程中做企業塑模
在反覆式開發流程中,團隊要經過多次的步驟和時段,每個時段專注在業務或系統中不同的部份。反覆式開發環境中有兩種方法來做企業塑模,首先,你可以在事先完全做好企業塑模,然後再反覆進行分析、設計、編程、測試、配置等步驟。另一種方法,你在每次反覆階段包含企業塑模。我們將會對每種方法的正面負面做一些討論,然而讓我們先來討論,在開發的生命週期裡,什麼地方使企業塑模跟其他步驟產生關係。
下面是開發軟體時的典型步驟(注意並不是所有的步驟都在此開發生命週期裡):
-
企業塑模
-
企業使用案例圖
-
活動圖〈工作流程〉
-
分析階段的類別圖(企業實體)
-
系統使用案例塑模
-
分析
-
使用案例的事件流程
-
輔助規格說明書
-
分析階段時的循序圖及合作圖
-
分析階段時的類別圖
-
設計
-
設計階段時的循序圖及合作圖
-
設計階段時的類別圖
-
狀態圖(需要時才做)
-
元件圖
-
配置圖
-
編寫程式碼
-
測試
-
配置
正如你所見,企業塑模是開發過程的第一步。不管你是用反覆式開發流程或瀑布式開發流程,企業塑模總是首要步驟。這個理由在於企業塑模啟動專案其他部份的環境,當你在系統設計的整個階段,企業塑模可以幫助你記住,為什麼你要建造此系統。

事先就完全做好企業塑模,此不同於反覆方式,好處是可以讓你在開始規範此系統範圍時,就完全了解企業流程。這樣,你可以決定從流程中最需要自動化的部份,和對組織最有效益的部份開始做起。這足可導致有能力去建造出一個極有助於組織成效的系統。
這種方式不利的地方是,如果專案有時間上的限制時,它就顯得不切實際。不幸的是,它可能導致完全放棄做企業塑模。你的客戶或終端使用者可能想盡快取得此系統,可能沒耐心等待你先做企業分析。

另外一種選擇,你可在反覆階段完成企業塑模。這樣的好處可以讓你研究企業組織,而不會廷遲軟體系統的開發。當然,這樣做你會冒著不了解公司的風險,就建造一個不能完全符合需要的軟體系統。或者,你可能會在後面的階段,發現一個先前並不知道的企業流程,而它對此系統有很大影響。這些型態的風險通常可以運用企業塑模的方法來控制,但仍會有系統崩潰的風險。 |