2010-07-17

關貿網路淬煉CASE工具價值,軟體工程品質效率雙飛揚

1996年,財政部和民間股東共同出資十五億元設立關貿網路股份有限公司(以下簡稱關貿),以加強通關自動化服務,並積極開拓網路資源,迄今已成為一家全方位的加值網路服務業者。目前該公司擁有四萬多家客戶,業務範圍包含通關網路服務、電子商務服務、全球運籌服務、政府專案服務、電子報稅服務及RFID應用服務等。

關貿已通過CMMI Level 3資訊軟體工程品質的認證,對專案開發過程有一定的規範和要求,也早在七八年前,就採用Sybase PowerDesinger這種CASE工具。但當時技術人員對物件模型的概念並不成熟,運用的深度有限。直到2005年,因為生力軍的加入,讓工具應用的思維有了大翻新。

擁有十多年PowerDesinger使用經驗、現任系統開發部軟體工程技術顧問邱明昇,是帶領關貿翻新CASE新思維的關鍵人物。他針對技術人員對物件模型的熟練問題,想方設法以實例發掘PowerDesinger的應用價值,也設計出各種附加程式補強工具本質的不足。這種換位思考的成果,不但顯著提升關貿軟體工程的開發品質與效率,還進一步把自主開發的PowerDesinger附加程式商品化,以「PowerDoc」為名對外銷售。


從文件產生切入,擷取更新資料輕鬆達成

文件,是資訊系統專案溝通的最佳管道。邱明昇先從基礎的文件產生著手,示範PowerDesinger的用法。例如,開發資訊系統要從描述客戶需求為起點,做物件模型時會追溯這些需求表的執行狀況。因為所有CASE工具的需求狀況追溯表都是二維,關貿為了能多層次檢視,在PowerDesinger增加了一些屬性,以即時產生Excel表格以利逐層觀看。

關貿也增加PowerDesinger的使用便利性。例如,在物件模型當中的Use Case圖形,只要點圖按右鈕,就能觀看物件內的所有定義的格式資訊。從此,文件製作不再是苦事,需要時就能輕鬆產出,技術人員因而能把心力和時間,花在探索業主的需求和構思解決方案。

目前關貿已運用PowerDesinger搭配PowerDoc,執行了多個大型資訊系統。例如,海關的通關文件管理系統、全球運籌服務平台、離島免稅系統、食品公司的流通採購系統、大型賣場的電子發票,以及物流管理業者的倉儲自動化系統等。甚至因應政府部門重大資訊改造工程,關貿在前置作業(如客戶需求訪談、系統分析等),也以PowerDesinger做為主要開發工具。

兩大獨創應用:原型介面和測試路徑

在訓練PowerDesinger技術人員的過程中,邱明昇觀察到,表面上技術人員對工具操作不熟悉是問題,但是實際上,對物件導向的觀念不足才是讓他們難以下手的主因。例如,一個軟體工程有很多階段都會使用到Use Case圖形,重點是哪個階段使用?該怎麼用?用到甚麼程度?

他表示:「所有CASE工具都一樣,要用得好,需要高手在旁指導,但前提是你要有想法。我常比喻PowerDesinger就像一台跑車,你要會駕駛,車子才能馳騁萬里,否則只是擺在車庫生灰塵。於是,我們給技術人員一個新方向:對資訊系統,要先有想法,再找用法。」

在這種思維下,關貿從逆向角度來發掘PD的用途,以期讓軟體工程的開發流程更順暢,而自行開發原型介面和做測試路徑分析等就是二個成功的實例。

由於PowerDesinger沒有使用者介面的功能,關貿就做了一組原型介面,用以便利記錄客戶需求的陳述,提高軟體開發效率。這些原型能協助使用者方便確認客戶需求,並在PowerDesigner 裡輕鬆引用企業規則資訊。

另一項更驚豔的作品則是軟體測試模型。關貿擺脫傳統百般刁難的測試做法,以PowerDesinger的活動架構(activity diagram)定義每個功能的接續關係,從中產生路徑圖,並在路徑途中設定一些檢查規則。因為定義了每個功能的各種用法,測試時就能依據用途的路徑逐一檢測,把測試由點擴展為面,更縝密周詳。

「這種規律的測試方式,能依據預先定義的步驟優先性逐步執行,並明確達成想要驗證的目標。」邱明昇表示:「特別是非功能需求絕不能嘴上說說,要確實寫下來。例如,客戶要求系統功能要好用。什麼是好用,是五分鐘學得會?還是一小時能上手。所有需求都要具體陳述,設計後才能有效驗證。而這項措施確實提升了我們的軟體測試品質。」

資料一致、減少重工,開發品質大躍升

此外,關貿也運用PowerDesinger記錄一套大型資訊系統的軟體工程是如何控管品質。有鑑於長期以來,軟體開發計畫往往偏重開發而輕忽分析和設計,總是簡略對客戶需求訪談後,就開始天馬行空寫起程式。這種做法一旦到後期發現問題,就很難收場。

於是,關貿運用PowerDesinger搭配自家的方法學,在軟體工程的每個階段確實控制品質,以減輕最後的風險。從客戶需求訪談一路往下發展,每個層級要做到什麼程度,都有明確的規範。這樣一來,資訊能有一致性,也因為PowerDesinger的物件能重複使用,而降低開發的成本。

例如,在客戶需求訪談時收集了一些商業規則,到了系統分析時要再度提到,卻不見得找得到。更糟的是,當系統設計要再複製一次時,如果這類資訊有所更新,因為缺乏自動關聯的機制,就無法確實把資料全數更新,而產生前後不一的情況。但PowerDesinger就沒這問題。它會從一開始把這些會重複使用的資料,抽離出來設成變數,到了系統分析或系統設計時就能自動引用,即使有所更新,也會一次到位完成。

PowerDesigner列入績效考核,經驗透過產學傳授

歸結多年運用PowerDesinger的經驗,邱明昇表示:「從事資訊系統的開發,要先有自己的定見,要判斷採用哪種方法學。如果這個方法學在PowerDesinger既有功能仍有不足的話,該如何予以擴充,畢竟沒有一套CASE工具能應付所有情況。我們會繼續採用PowerDesinger的主因之一,就是看中它的開放擴充性。我們寫出來的外部程式都能輕鬆掛回,補強不足,讓這套CASE工具越用越好用。」

因為本身對PowerDesinger的使用經驗越來越豐富,關貿也著手把這套方法論規範委外合作廠商使用,以期讓整個資訊系統開發的品質趨向一致。另一方面,關貿也計畫在日後的資訊系統專案驗收時,能交付業主「模組」而非傳統的文件。這個模組包含所有軟體系統開發的檔案,設計流程、方法學都納入其中,並有完整的發展指引手冊;倘若客戶想做修改,將比傳統文件方式更容易處理。

為了進一步發揮單一CASE工具的綜效,關貿自今年起把「使用PowerDesinger的能力」列入軟體技術人員的績效評鑑指標,透過密集的內部訓練培養能力,並將在2011年起全面實施專案系統採用PowerDesinger開發的公司政策。此外,關貿目前也著手規劃要把PowerDesinger寶貴的開發經驗設計成教材,透過產學合作模式,傳授給大專院校的資管老師,讓學子們能盡早掌握優質CASE工具的構想和運用。

-----PROFILE-----
商業挑戰:提升技術人員對物件模型的掌握度,增強軟體工程的開發品質和效率。 Sybase方案:PowerDesigner 應用成效:從基礎面,改善文件產出效率和資訊檢視

完整性;在進階面,以原型介面便利確認客戶需求,提高軟體測試品質。

-----TESTIMONIAL-----
「從事資訊系統的開發,要先有自己的定見,選對方法學,工具有不足處,能設法補強。PowerDesinger會持續受到我們重用的原因之一,就是它的開放擴充性。我們寫出來的外部程式能輕鬆掛回,補強不足,讓這套CASE工具越用越好用。」

─關貿網路(股)品保課專案管理師邱明昇