 |
 |
在網(wǎng)際網(wǎng)絡(luò)促成全球化競爭的情況下,各種電子商務(wù)服務(wù)趨向多元化、及時性、互動性,企業(yè)對軟件開發(fā)的彈性與效率要求更勝于過去,傳統(tǒng)軟件產(chǎn)業(yè)的生產(chǎn)力受到更大的質(zhì)疑。信息系統(tǒng)不僅要能支持企業(yè)分散于各地的經(jīng)營管理,更需整合上下游供應(yīng)鏈管理,以累積營運過程的知識,并能動態(tài)地配合企業(yè)的策略,改變資料收集的方式、地點,提供必要的決策信息,因此應(yīng)用軟件系統(tǒng)因而更須具備修改彈性與快速發(fā)展的特性。 電子商務(wù)應(yīng)用軟件開發(fā)供不應(yīng)求 從企業(yè)對信息科技的投資帶來大量獲利,到網(wǎng)際網(wǎng)絡(luò)電子商務(wù)、無線通訊電子商務(wù)(Mobile Commerce),到生物科技與信息家電的興起,我們都意識到信息軟件的重要性與日俱增,但是全球軟件產(chǎn)業(yè)的生產(chǎn)力提升之技術(shù)卻是遲遲無法突破。大家對于軟件預算、時程、品質(zhì)等軟件危機的問題耳熟能詳,這些問題的成因可以歸納成軟件復雜度與生產(chǎn)力兩大問題。由于使用者得需求越來越多,系統(tǒng)模塊膨脹,彼此交互關(guān)連使得復雜度越來越高,造成后續(xù)的發(fā)展維護變得越來越困難。不能完全工程化的軟件開發(fā)方法使得軟件生產(chǎn)力一直無法提升。在全球商業(yè)競爭越來越激烈的情況下,企業(yè)必須設(shè)法降低軟件成本并提高生產(chǎn)力。對于這點,產(chǎn)學界一致認為采用對象導向技術(shù)是解決軟件危機的不二法門。 應(yīng)用軟件組件化已成為大勢所趨 以對象導向技術(shù)為基礎(chǔ)的組件式系統(tǒng)發(fā)展在相關(guān)標準形成與支持廠商逐漸增加的情況下,已經(jīng)成為一個具體可行的解決方案。組件式的對象導向系統(tǒng)發(fā)展方法不僅提供組織將大型系統(tǒng)分解成組件組合的典范,更提供組件再用的典范。軟件組件的制作是以"軟件再用"為目標,以組裝方式來建構(gòu)系統(tǒng),這種開發(fā)方式使得軟件具有彈性修改、更新及允許增減應(yīng)用功能等優(yōu)點,并使個別組件開發(fā)的復雜度降低,因此在系統(tǒng)發(fā)展過程中項目進度及成本品質(zhì)的掌控比較容易,后續(xù)維護的困難度也得以降低,可以大幅降低成本,提高生產(chǎn)力與品質(zhì)。另一方面,組件式系統(tǒng)發(fā)展方法也有利于產(chǎn)業(yè)分工,可以降低投資者進入產(chǎn)業(yè)的門檻,擴大組件市場外部性,降低成本,促進產(chǎn)業(yè)發(fā)展,因此被視為未來軟件開發(fā)的新趨勢。 組件式軟件開發(fā)技術(shù)(Component-Based Software Development)是近年來軟件產(chǎn)業(yè)最重要的技術(shù)革命,正帶動軟件產(chǎn)業(yè)由手工開發(fā)為主的原始產(chǎn)業(yè),逐漸蛻變?yōu)樽詣踊ぞ咻o助開發(fā)之成熟產(chǎn)業(yè)。軟件組件技術(shù)讓企業(yè)系統(tǒng)易于彈性組裝,系統(tǒng)開發(fā)者可依需求,采用組裝方式開發(fā)應(yīng)用系統(tǒng),隨時增減組件以調(diào)整系統(tǒng)功能,修改時亦可局限部份組件而不需牽動整個系統(tǒng),使得應(yīng)用系統(tǒng)開發(fā)及維護更為容易,客戶需求亦可快速滿足,可以有效解決傳統(tǒng)企業(yè)軟件系統(tǒng)維護困難,及版本更新時間過于冗長的問題。因此組件式系統(tǒng)發(fā)展是對付軟件危機的一種有效解決方式,勢必成為軟件產(chǎn)業(yè)的主要發(fā)展趨勢。 組件式應(yīng)用系統(tǒng)發(fā)展的成功關(guān)鍵 組件式系統(tǒng)的發(fā)展包括軟件組件的開發(fā)與組裝組件成為應(yīng)用系統(tǒng),其發(fā)展過程要著重組件的可再用與組裝彈性,為了達到可再用的目的,組件開發(fā)前的系統(tǒng)分析工作必須從領(lǐng)域分析著手,找出相同領(lǐng)域中不同的應(yīng)用間相同的部分,再進行程序的分析設(shè)計,才能確保所開發(fā)的組件能在后續(xù)系統(tǒng)發(fā)展過程中被重復使用。另一方面,為使不同開發(fā)人員所發(fā)展的軟件組件能彼此相互連結(jié)成為應(yīng)用系統(tǒng),軟件組件必須遵循標準的接口規(guī)格。在組件開始撰寫前的系統(tǒng)分析設(shè)計乃是一件相當重要的事情,它牽涉到組件再用與組件間相互連結(jié)的可能性。所以“再用”雖然是組件式系統(tǒng)發(fā)展被重視的主要因素之一,但是要了解采用組件式系統(tǒng)發(fā)展方式未必能夠達成再用的效益,除了要建立一個強調(diào)再用的機制外,組件開發(fā)之前的分析與設(shè)計是確保組件能夠再度被用的關(guān)鍵。 對象導向技術(shù)是組件式系統(tǒng)發(fā)展的基礎(chǔ)建設(shè) 具有封裝和繼承特性的對象導向技術(shù),提供系統(tǒng)發(fā)展人員在不增加復雜度的情況下擴大系統(tǒng)的方法,最適合用來發(fā)展強調(diào)再用的組件式系統(tǒng)。但是使用對象導向程序語言并不保證達成對象再用,而必須要投資再用組件的發(fā)展,以及系統(tǒng)開發(fā)的方法論,一套合適的對象導向系統(tǒng)分析設(shè)計方法是達成組件式系統(tǒng)發(fā)展的重要關(guān)鍵[6]。對象導向系統(tǒng)的分析與設(shè)計是以對象為中心,并藉由反復來回分析設(shè)計,分別從靜態(tài)的角度分析對象的抽象類別(Classes)和類別的屬性(Attributes),及動態(tài)的角度分析其內(nèi)部和其它對象類別間的動態(tài)過程,然后找出隸屬此類別的方法,其分析、設(shè)計與程序代碼撰寫之間需要銜接的間隙比傳統(tǒng)的方法小很多。采用對象導向分析設(shè)計不僅有利于程序的開發(fā),發(fā)展人員能夠在分析設(shè)計完畢后,快速獲得執(zhí)行結(jié)果的回饋,對于系統(tǒng)需求掌握之提升,與對系統(tǒng)設(shè)計的精致化有相當大的貢獻。新一代的對象導向分析設(shè)計方法強調(diào)塑模(Modeling)的觀念,分別從各種系統(tǒng)發(fā)展相關(guān)角度描繪應(yīng)用系統(tǒng)中的靜態(tài)對象結(jié)構(gòu)及其間的互動關(guān)系以及完整的系統(tǒng)架構(gòu)。組件式系統(tǒng)發(fā)展則是從對象導向分析與設(shè)計出發(fā),在組件塑模與系統(tǒng)塑模過程中,思考如何將可共享部份抽出,以利后續(xù)再用,包括組件再用與設(shè)計再用。設(shè)計再用是從類別之間的互動合作關(guān)系里做探討,找出可行并且有效率的設(shè)計方案,做為后續(xù)再用的基礎(chǔ)。組件式應(yīng)用系統(tǒng)發(fā)展的再用效益必須在分析設(shè)計階段即開始思考,對象導向式的分析設(shè)計由于強調(diào)封裝與繼承等特性,其反復來回的分析設(shè)計更有助于共享組件的抽離制作,以及良好系統(tǒng)設(shè)計方式的重復再用,堪稱為組件式應(yīng)用系統(tǒng)發(fā)展的基礎(chǔ)建設(shè)。 設(shè)計鑄型和框架是組件式系統(tǒng)發(fā)展的成功要素 軟件組件的膠合(Glue)技術(shù)是組件式系統(tǒng)發(fā)展中,除了對象導向分析設(shè)計之外的另一個重要關(guān)鍵,而框架(Framework)是這種技術(shù)的其中一種,美國ACM學會更指出應(yīng)用系統(tǒng)框架(Framework)技術(shù)將是本世紀軟件技術(shù)的核心?蚣苁且环N結(jié)合“組件再用”與“設(shè)計再用”的技術(shù),軟件開發(fā)人員用其架構(gòu)的一部份或全部來建造另一個系統(tǒng);它是一個應(yīng)用系統(tǒng)的通用骨架(Skeleton)、或是可再用的半成品(Semi-Complete)應(yīng)用系統(tǒng),被用來客制(Customize)應(yīng)用系統(tǒng)。鑄型(Patterns)是一種“設(shè)計再用”的觀念,它是框架技術(shù)的核心。鑄型是一組有良好的接口定義與相互關(guān)聯(lián)的對象的運作方式,針對某一問題特性,提供一個可再用設(shè)計。如果以對象導向的術(shù)語來說,框架是一組相互合作的類別(Classes),這些類別構(gòu)成某個領(lǐng)域的應(yīng)用軟件的再用設(shè)計?蚣軐⒁粋領(lǐng)域的應(yīng)用系統(tǒng)之設(shè)計,切分成若干個抽象類別,并定義各個類別的任務(wù)與其間的合作關(guān)系,提供新系統(tǒng)架構(gòu)設(shè)計的指引,開發(fā)者可以繼承這些類別產(chǎn)生子類別來建構(gòu)新系統(tǒng)。因此應(yīng)用系統(tǒng)框架是一群透過鑄型定義關(guān)系的軟件組件的組合。應(yīng)用系統(tǒng)框架技術(shù)與組件式發(fā)展技術(shù)結(jié)合將可以促進軟件組件與軟件設(shè)計的再用、加快軟件開發(fā)、提高軟件品質(zhì)及降低開發(fā)成本,應(yīng)該成為新一代軟件開發(fā)技術(shù)之主流。 圖一 組件式系統(tǒng)的基礎(chǔ)與發(fā)展 軟件組件在鑄型與框架的規(guī)范下才容易發(fā)揮再用效益 傳統(tǒng)的程序代碼與系統(tǒng)設(shè)計在缺乏系統(tǒng)架構(gòu)的規(guī)范下,其再用效益的發(fā)揮有一定的限制。鑄型與框架一方面規(guī)范系統(tǒng)設(shè)計,確保軟件組件與設(shè)計的再用,另一方面則累積企業(yè)發(fā)展軟件系統(tǒng)的知識。在軟件組件是由不同人員在不同時間、地點與不同項目中所發(fā)展的情況下,軟件組件能夠組合一起運作的先決條件,除了組件要遵守規(guī)定的接口標準外,組件的功能是否吻合專業(yè)領(lǐng)域公認的期望也是重要的關(guān)鍵。鑄型約束軟件組件發(fā)展人員遵守接口標準與領(lǐng)域的規(guī)范,而框架則提供事先建立可直接再用或調(diào)整重組的領(lǐng)域產(chǎn)品。兩者可以在系統(tǒng)發(fā)展的過程中同時發(fā)展,藉此可以累積相關(guān)的企業(yè)知識建立企業(yè)核心境爭力,并做為后續(xù)項目的基礎(chǔ)。企業(yè)也可以使用市場上成熟的框架產(chǎn)品,這相當于“再用”眾多企業(yè)的智能結(jié)晶,結(jié)果軟件的生產(chǎn)力與品質(zhì)也必然獲得長足的提升。因此框架提升組件式系統(tǒng)的再用層次,如果不用框架,應(yīng)用系統(tǒng)開發(fā)的再用方式是以組件及模板(Templates)為基礎(chǔ);但若使用框架,開發(fā)者的工作是決定采用哪些鑄型,以及要不要繼承哪些類別來做擴充。使用框架來發(fā)展系統(tǒng)相當于復制一套應(yīng)用系統(tǒng),使用其架構(gòu)和組件,系統(tǒng)開發(fā)者可以節(jié)省發(fā)展組件、搜尋組件與組合組件的功夫,而將心力集中于了解顧客需求、開發(fā)新組件與精致現(xiàn)有框架與鑄型,因此可以大幅提升生產(chǎn)力,并且累積所投入的努力。 推動軟件產(chǎn)業(yè)采用組件式系統(tǒng)發(fā)展 組件式系統(tǒng)發(fā)展對軟件產(chǎn)業(yè)來說是一種典范轉(zhuǎn)移(Paradigm Shift),根據(jù)學者從經(jīng)濟效益層面對業(yè)者接納新典范的顧慮包括: 能否做中學(Learning by Using) 與現(xiàn)有技術(shù)相關(guān)(Technological Interrelatedness) 具有正向的網(wǎng)絡(luò)外部性(Positive Network Externalities) 其中的第一點在此不是業(yè)者的顧慮重點,因為一般業(yè)者都會以先導項目的方式邊做邊學這項新技術(shù),而在第二點和第三點中,業(yè)者確實會因組件式系統(tǒng)發(fā)展方法中,有關(guān)對象導向系統(tǒng)技術(shù)的不熟悉,以及對框架和鑄型的使用缺乏了解產(chǎn)生退卻的心理。尤其要發(fā)揮組件式系統(tǒng)發(fā)展方法的效益,有賴于龐大的組件市場及成熟的框架產(chǎn)品做后盾,一方面可以賣出自己開發(fā)的組件,一方面買到不符自行開發(fā)成本效益的組件,也就是達到網(wǎng)絡(luò)外部性的所謂關(guān)鍵大量,才會有更多業(yè)者愿意加入這個市場。在業(yè)者大多意識到組件式系統(tǒng)發(fā)展方式重要性的情況下,政府可以藉由委托辦理教育訓練、獎勵相關(guān)產(chǎn)業(yè)環(huán)境的建立,來克服業(yè)者不愿當先入者(Pioneer)的難題,降低業(yè)者進入產(chǎn)業(yè)分工體系的進入障礙。 因此國內(nèi)軟件業(yè)者除了重視組件式系統(tǒng)發(fā)展方法外,更要及早投資掌握契機,提升自己的競爭力,政府單位可以鼓勵教育訓練及升級輔導活動來推廣其應(yīng)用,促進產(chǎn)業(yè)界對此類系統(tǒng)發(fā)展方法建立共識,激勵產(chǎn)業(yè)投資,建立分工體系,實質(zhì)提升我國軟件產(chǎn)業(yè)的競爭力。(本文作者為政大資管系副教授,轉(zhuǎn)載自第30期軟件產(chǎn)業(yè)通訊)
|
作者:曾淑峰 | 文章來源:未知 | 更新時間:2007-11-4 13:27:47
|
|
 |
 |
最新文章 |
|
|
 |