利用『原型樣式』快速發展軟體

「所有具優良結構的物件導向軟體架構,其內部都充滿樣式(patterns)」,Grady Booch這句話乃是提供本人寫這篇輕鬆談的動機。其實,在各種行業中,製作複雜系統時樣式往往扮演重要的角色,由樣式所建構的軟體具有彈性、模組化、可重用以及易解的特性,軟體系統如具有這些特性則不旦能夠符合需求,而且能夠輕鬆反應需求變更,我想這種軟體應該就是品質好的軟體。樣式有許多類型,如分析樣式(analysis patterns),架構樣式(architectural patterns),設計樣式(design patterns),程式樣式(idioms),或「原型樣式」(archetype patterns)等等。本文所要談的是,原在『漫談「模式驅動架構」(二)』中所設計的MDA過程(CIM->PIM->PSM->Code),我們將利用原型樣式改變成為:

選用業務原型樣式->產生PIM->自動化轉換成PSM->自動化產生程式

CIM則成為選用適當原型樣式的指引,這個過程的重點在於PIM的產生,適應原型樣式產生的PIM比一般標準的物件導向分析與設計(OO analysis & design)快速而且簡單,符合敏捷精神。本文約略來談談利用「原型樣式」快速發展軟體。

何謂原型(archetype)?有多種定義,這裡所談的原型是指「一種原始的(primordial)事物或環境,這些事物或環境前後一貫地重覆發生,而且被認為具有普遍性的觀念或狀況」,如果這些事物或環境是指業務範疇與業務軟體系統,則稱為「業務原型」(business archetypes),業務原型之間的合作(collaborations)則稱為「業務原型樣式」。Jim Arlow與Ila Neustadt提供9種業務原型樣式,包括:PartyPartyRelationshipCRMProductInventoryOrderQuantityMoney,以及Rule等業務原型樣式,這些原型樣式皆重覆發生在業務範疇之內,你/妳可以現用或經修改這些原型樣式來建構分析模式,這種技術稱為 「元件基塑模」(component-based modeling)。我們利用經修改的Order原型樣式發展Order Processing System範例,這個範例登載在Journal of Software Engineering Studies Vol. 2, No. 1, March 2007, Section 6,為節省部落格篇幅不在這裡重述,有興趣的讀者可觀看軟體工程學會網頁:

http://jses.seat.org.tw/index.php/jses/articale/view/34/22

有關樣式,一般人比較熟悉的可能是架構樣式與設計樣式,光看這篇報導也許不太容易了解所謂原型樣式以及其應用,讀者如果具備物件導向知識可參考:Jim Arlow and Ila Neustadt, Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML, Addison-Wesley, 2004。我個人認為利用原型樣式產生PIM,迅速而且簡單,可以縮短發展過程並且保證品質,因此提供讀者這篇輕鬆談參考,希望因此對這種「另類」發展軟體應用系統方法產生興趣。

留言

這個網誌中的熱門文章

CRC cards - 非正規物件導向發展技術

CMMI是什麼?

談談OCP