經濟日報 2001年3月21日
UML 軟件開發工具 有助快速發展電貿基建
最近我們參加了中文大學OPEN COMPONENT
FOUNDATION的展覽及研討會, 與會的資訊科技開發人員如系統工程師、 系統拓展員或項目經理對統一建模工具(UNIFIED
MODELING LANGUAGE - UML )都很感興趣。 理由是不少軟件開發機構當中包括公司內部的電腦或資訊科技部,
對於利用一套統一而系統化的軟件建模工具的需求是非常殷切。
究竟UML如何幫助軟件系統拓展人員建構一個較複雜的電子商貿軟件應用系統?
傳統的軟件系統開發, 一般利用流程圖或VISUAL繪圖系統架構。 由於沒有一套特定的工具, 公司與公司之間往往利用不同的建模工具,
更甚的是即使於同一家機構, 各軟件開發員利用不同的工具, 因此這樣往往只有一兩個開發員知道或了解一個系統的架構;
若其中一員離開之後, 系統的維修及改良就沒有保障。再者, 現在的電子商貿講求不同機構的協作(COLLABORATION),
若沒有一套統一而開放的工具, 不同的電子商貿部分就難以協作。
下圖展示一個用UML繒劃的典型多層次(N-TIER)電子商貿系統應用圖。
傳統的系統架構, 著重應用與數據伺服器。 多層次架構幫助應用軟件的健壯性(ROBUSTNESS), 由於很多電子商貿系統不能預知交通流量,
若沒有中間系統(MIDDLE TIER),就會造成系統不能承擔用戶之應用需求。

其實, 若要善用UML, 最好就對物件為本軟件開發(OBJECT-ORIENTED
PROGRAMING)有所認識, 物件為本軟件開發主要針對把主要的軟件系統部份分為不同的物件(OBJECT)或種類(CLASS),
例如在建構電子商貿應用系統, 我們會把購物車(SHOPPING CART)又或者用戶視為實際的物件, 在建構多層次架構(N-TIER)時,
軟件開發員便把不同的物件放在不同的層次, 方便開發員能更形像化地把軟件系統更具體地呈現。 若果用流程化軟件系統設計,
軟件系統設計員會由項目的源代碼(SOURCE CODE)建構開始, 種類之間的關係亦是用源代碼來開始建模,
在很多時候, 軟件系統設計員較難將種類之相互關係視像化地建構。
建模工具的類圖(CLASS DIAGRAMS),
令到軟件中的種類可從其他的種類包(PACKAGES)或類列表(LIST OF CLASSES)中選擇放入類。
類圖能夠清晰地把不同種類(CLASS)的界面、關係、功能顯示, 建模時亦可更具體化, 更有邏輯地分析種類的特性。
類圖是UML中軟件設計員最常用的圖形之一。
另外, 正如圖中的典型電子商貿系統架構, 由於利用形像顯示, 所以即使商務分析員(BUSINESS ANALYST)亦可以利用協作圖(COLLABORATION
DIAGRAMS)及順序圖(SEQUENCE DIAGRAMS)在同一個語言環境下理解軟件發展的進程, 從而在意見參與或建構上直接把不同種類的互動關係,
及更形像化地把一個正在運行的系統運作, 有效地以圖像顯示出來。 至於有關UML其他圖像的有關用途會在下次再加闡釋。
撰文: 吳志成
ARCOTECT建衡科技有限公司首席建構師
編輯: 文耀