時間:2023-05-22 10:07:14
緒論:在尋找寫作靈感嗎?愛發(fā)表網(wǎng)為您精選了8篇軟件開發(fā)與定制,愿這些內(nèi)容能夠啟迪您的思維,激發(fā)您的創(chuàng)作熱情,歡迎您的閱讀與分享!
1.引言
外壓容器失穩(wěn)教學(xué)實驗是將容器在外壓作用下造成失穩(wěn)變形的一種典型實驗,具有操作簡單、結(jié)果直觀等特點,故長期被作為過程裝備與控制工程專業(yè)開設(shè)專業(yè)實驗課的必選實驗。由于早期實驗測試程序是基于VB6.0開發(fā)的,一直以來存在兩個顯著的缺點:一是功能拓展性較差,測試數(shù)據(jù)和參量有限;二是兼容性不好,目前無法應(yīng)用于Win7,Win8及64位系統(tǒng)。為此,筆者針對傳統(tǒng)驗證型外壓容器失穩(wěn)實驗的不足,采用大型工程軟件MATLAB開發(fā)外壓容器穩(wěn)定性實驗測試程序和控制系統(tǒng),便于監(jiān)控外壓容器穩(wěn)定性,確保實驗過程的安全性。
2.外壓容器失穩(wěn)理論及外壓容器實驗測試系統(tǒng)介紹
2.1外壓容器及其穩(wěn)定性說明
在外壓作用下,筒體突然失去原有形狀的現(xiàn)象稱為彈性失穩(wěn)。容器發(fā)生彈性失穩(wěn)將使容器不能維持正常操作,造成容器失效。外壓圓筒在失穩(wěn)以前,筒壁內(nèi)只有單純的壓縮應(yīng)力。在失穩(wěn)時,由于突然的變形,在筒壁內(nèi)生了以彎曲應(yīng)力為主的附加應(yīng)力,而且這種變形和附加應(yīng)力一直迅速發(fā)展到筒體被壓癟或發(fā)生褶縐為止。所以外壓容器的失穩(wěn),實際上是容器筒壁內(nèi)的應(yīng)力狀態(tài)由單純的壓應(yīng)力平衡躍變?yōu)橹饕軓澢鷳?yīng)力的新平衡。
容器的失穩(wěn)形式有整體失穩(wěn)和局部失穩(wěn)兩種。本實驗測試系統(tǒng)研究的是實驗試件整體失穩(wěn)的情況,整體失穩(wěn)根據(jù)失穩(wěn)方向分為側(cè)向失穩(wěn)和軸向失穩(wěn)兩種[1]。
容器由于均勻側(cè)向外壓引起的失穩(wěn)叫做側(cè)向失穩(wěn)。側(cè)向失穩(wěn)時殼體橫斷面由原來的圓形被壓癟而呈現(xiàn)波形,其波形數(shù)可以等于兩個、三個、四個。軸向外壓則引起容器軸向失穩(wěn),變形為徑線由直線變?yōu)榍€。
2.2外壓容器實驗及測試系統(tǒng)說明
外壓容器失穩(wěn)實驗是將容器在外壓作用下造成失穩(wěn)變形的一種教學(xué)實驗,也是壓力容器失效破壞的一個典型教學(xué)演示實例,它具有操作簡單、結(jié)果直觀等特點,被作為過程裝備與控制工程專業(yè)開設(shè)專業(yè)實驗課的首選實驗。國內(nèi)高校如浙江大學(xué)、南京工業(yè)大學(xué)等一直致力于穩(wěn)定性測試裝置的研究和開發(fā)。
3.基于MATLAB軟件開發(fā)外壓容器穩(wěn)定性實驗控制系統(tǒng)
3.1MATLAB軟件簡介
MATLAB是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,它將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計以及必須進行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言的編輯模式,代表了當今國際科學(xué)計算軟件的先進水平。
3.2基于MATLAB軟件開發(fā)實驗系統(tǒng)
以下為初始界面的源代碼
functionvarargout = untitled1(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @untitled1_OpeningFcn, ...
'gui_OutputFcn', @untitled1_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
ifnargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function untitled1_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
functionvarargout = untitled1_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
4.總結(jié)
應(yīng)用先進工程計算軟件MATLAB實現(xiàn)外壓容器穩(wěn)定性實驗測試程序的開發(fā),為外壓容器失穩(wěn)實驗提供了更加良好的測試環(huán)境,也為相關(guān)教學(xué)提供了一個更加便捷的工具。同時本研究克服外壓容器穩(wěn)定性傳統(tǒng)實驗測試系統(tǒng)兼容性和功能拓展性不好等問題,使得系統(tǒng)控制方面更為完善。由于筆者水平和時間有限,因此開發(fā)的實驗系統(tǒng)仍有不足之處,希望在今后的研究中逐步克服,以期為過程裝備與控制工程專業(yè)教學(xué)盡綿薄之力。
“軟件危機”問題日益嚴重,主要表現(xiàn)在:軟件開發(fā)效率低,開發(fā)周期長,開發(fā)成本高,可維護性和適應(yīng)性差,不能很好地滿足用戶個性化和頻繁的業(yè)務(wù)變化的需求.而日益激烈的市場競爭和經(jīng)濟全球化,賦予軟件工程以新的特征:有效率有效用地滿足用戶個性化需求的定制化,快速響應(yīng)和適應(yīng)市場及業(yè)務(wù)的變化,以及低成本高收益等.
在軟件行業(yè),大多數(shù)開發(fā)單位還處于手工勞動階段,軟件開發(fā)活動是針對單一用戶的具體需求,面向單個產(chǎn)品來組織的.近年來,產(chǎn)業(yè)界將“軟件作坊”轉(zhuǎn)變?yōu)椤败浖S”的呼聲越來越高,試圖將軟件開發(fā)作為一種生產(chǎn)制造過程,像在生產(chǎn)線上生產(chǎn)物質(zhì)產(chǎn)品一樣,大規(guī)模生產(chǎn)軟件產(chǎn)品.但目前的現(xiàn)狀并沒有達到期望的目標,當軟件開發(fā)項目比較大時,軟件危機依然存在,其中一個主要的原因是,認識一個系統(tǒng)的過程和方法同用于分析、設(shè)計和實現(xiàn)一個系統(tǒng)的過程和方法不一致,對軟件開發(fā)過程的認識不夠明確,同時,也缺乏合理和實用的軟件過程模型.為了解決軟件開發(fā)過程中的瓶頸問題,提高軟件業(yè)的競爭力,人們提出一些旨在促進軟件工程化的開發(fā)思想和方法,如軟件復(fù)用、過程重組面向?qū)ο蟮能浖こ袒跇?gòu)件的軟件工程和領(lǐng)域工程等.本文在這些軟件工程方法的基礎(chǔ)上,提出面向大規(guī)模定制的軟件開發(fā)模式(softwaredevelop?mentformasscustomization,SDMC),將大規(guī)模標準化軟件開發(fā)與面向單個用戶定制開發(fā)有機結(jié)合起來,既滿足用戶的個性化需求,又達到規(guī)模經(jīng)濟的效益.
2面向大規(guī)模定制的軟件開發(fā)模式
1970年,托夫勒在其《FutureShock)(未來的沖擊)一書中提出了一種以類似于標準化或大規(guī)模生產(chǎn)的成本和時間,提供滿足用戶特定需求的產(chǎn)品和服務(wù)的生產(chǎn)方式的設(shè)想.1987年,StanDavis在《FuturePerfec)(未來的理想生產(chǎn)方式)一書中首次將這種生產(chǎn)方式稱為“masscustomization”,即大規(guī)模定制生產(chǎn),簡稱mc.這種能滿足用戶的真正需求而又不犧牲效益和成本的新的生產(chǎn)方式目前在制造業(yè)得到了較快的發(fā)展,并作為一種有效的競爭手段逐漸被企業(yè)所采納.簡單地說,大規(guī)模定制是以大規(guī)模的生產(chǎn)成本和時間滿足用戶的個性化需求,其基本思想是:將個性化定制產(chǎn)品的生產(chǎn)問題通過產(chǎn)品重組和過程重組轉(zhuǎn)化為或部分轉(zhuǎn)化為批量生產(chǎn)問題.
與物質(zhì)產(chǎn)品相比較,軟件產(chǎn)品的生命周期更短,受市場和客戶需求變化的影響更大,特別是領(lǐng)域應(yīng)用軟件,每個企業(yè)的產(chǎn)品結(jié)構(gòu)、規(guī)模大小和管理方式都不一樣,業(yè)務(wù)流程也各不相同,而且隨著市場的變化,企業(yè)重組和持續(xù)業(yè)務(wù)過程改善,都造成業(yè)務(wù)過程的動態(tài)不穩(wěn)定.這要求軟件產(chǎn)品不僅在開發(fā)過程中要滿足多樣化的業(yè)務(wù)需要,而且在企業(yè)應(yīng)用過程中,要能動態(tài)適應(yīng)不斷變化的業(yè)務(wù)過程.因此,軟件產(chǎn)品應(yīng)比物質(zhì)產(chǎn)品更具有柔性和可定制性.根據(jù)不同軟件產(chǎn)品的特點,存在兩種軟件開發(fā)形式,如圖1所示.
①標準成品軟件(off~the~shelf)開發(fā).面向較大規(guī)模的客戶群,開發(fā)和銷售成本低,相對價格便宜,交貨迅速,但滿足用戶特殊需求的集成和修改費用高.
②單個軟件定向開發(fā)(one^ff).完全按用戶需求組織開發(fā),能貼近用戶需求,但開發(fā)費用高,周期長,而且可維護、可升級性差.面向大規(guī)模定制的軟件開發(fā)模式是以上兩種開發(fā)方式優(yōu)點的結(jié)合,既可以快速響應(yīng)個性化客戶需求,又可以實現(xiàn)標準軟件開發(fā)的效率和成本.
如圖2所示,SDMC除繼承領(lǐng)域工程和基于構(gòu)件的軟件工程方法的特點外,還將并行工程的思想融于產(chǎn)品開發(fā)過程中.SDMC改變了傳統(tǒng)的面向單個軟件的開發(fā)方法,是對某一領(lǐng)域現(xiàn)在和未來市場、整體和細分市場以及相應(yīng)的用戶群體進行分析,開發(fā)出對該領(lǐng)域現(xiàn)存和潛在用戶均有良好適應(yīng)性和定制性的系列產(chǎn)品,即面向產(chǎn)品族開發(fā),以實現(xiàn)范圍經(jīng)濟與規(guī)模經(jīng)濟的結(jié)合.可重用構(gòu)件是實現(xiàn)SDMC的基石.采用基于構(gòu)件的開發(fā)方法,可以將一個復(fù)雜的軟件產(chǎn)品分成多個構(gòu)件的集合,相當于將復(fù)雜的單一問題簡單化,因此更便于軟件的管理、維護和升級.理論上,構(gòu)件是與具體產(chǎn)品無關(guān)的相互獨立的單元,可以在廣泛范圍內(nèi)共享和重用,是解決大規(guī)模軟件工程問題的有效方法.構(gòu)件可以外購,還可以外協(xié)構(gòu)造,這樣可以充分利用外部資源,縮短開發(fā)周期.
SDMC運用并行工程的思想,集成地、并行地開發(fā)軟件產(chǎn)品和過程,從軟件開發(fā)的開始就充分考慮軟件生命周期中所有因素,包括時間、成本、質(zhì)量和用戶需求等.
綜上所述,SDMC繼承和發(fā)揚了領(lǐng)域工程、基于構(gòu)件的軟件工程和并行工程的思想和方法,在系統(tǒng)方法指導(dǎo)下,用全局優(yōu)化的觀念,充分利用內(nèi)外部資源,以大規(guī)模生產(chǎn)軟件的效益,開發(fā)滿足用戶個性化需求的軟件產(chǎn)品.其目標是:
①縮短產(chǎn)品開發(fā)周期,以實現(xiàn)快速響應(yīng);
②提高開發(fā)規(guī)模,降低開發(fā)成本,以實現(xiàn)規(guī)模經(jīng)濟;
③滿足用戶個性化需求,以實現(xiàn)范圍經(jīng)濟.
3面向大規(guī)模定制的軟件開發(fā)過程
傳統(tǒng)的軟件開發(fā)過程模型是針對單個產(chǎn)品開發(fā)而提出的,將軟件開發(fā)過程分成需求分析、設(shè)計、編碼、測試和交付等串行的幾個階段.文獻分別給出了面向重用的過程模型.文獻[7]將制造業(yè)的產(chǎn)品生產(chǎn)過程分為新產(chǎn)品形成過程和訂單產(chǎn)品制造過程.本文根據(jù)SDMC的目標和特點,給出如圖3所示的面向大規(guī)模定制的軟件開發(fā)過程模型.與制造業(yè)一樣,將軟件開發(fā)過程分為面向市場的新產(chǎn)品開發(fā)和面向用戶的定制兩個循環(huán).
圖3面向大規(guī)模定制的軟件開發(fā)過程模型
面向市場的新產(chǎn)品開發(fā)是根據(jù)市場的現(xiàn)在和未來需求收集信息,運用相關(guān)知識構(gòu)造某一應(yīng)用領(lǐng)域問題的解決方案,開發(fā)新的產(chǎn)品.新產(chǎn)品開發(fā)不是面向單個產(chǎn)品,而是面向產(chǎn)品族,建立面向產(chǎn)品族的領(lǐng)域框架和可重用構(gòu)件,并在過程設(shè)計環(huán)節(jié),設(shè)計以領(lǐng)域框架和構(gòu)件為基型的軟件定制過程,為定制具體應(yīng)用系統(tǒng)打下基礎(chǔ).這一循環(huán),所需時間相對較長,稱之為慢循環(huán).面向用戶的定制過程是根據(jù)用戶的具體需求,在新產(chǎn)品開發(fā)過程中形成的面向產(chǎn)品族的領(lǐng)域框架和定制過程的基礎(chǔ)上,利用已有構(gòu)件,進行配置設(shè)計和定制開發(fā),形成滿足客戶個性化需求的軟件產(chǎn)品.這一過程在客觀上必須是一個快循環(huán),以快速響應(yīng)用戶需求,稱之為快循環(huán).
SDMC主張軟件開發(fā)單位通過業(yè)務(wù)過程重組,將軟件開發(fā)的兩個循環(huán)相互分離:新產(chǎn)品開發(fā)部門負責面向市場的新產(chǎn)品開發(fā),同時為軟件定制準備基型;定制部門利用可變型的基型,按訂單定制,快速滿足用戶的個性化需求.兩個循環(huán)相輔相成,能否完善結(jié)合的關(guān)鍵是可定制的領(lǐng)域框架和可重用的構(gòu)件.每個循環(huán)均強調(diào)并行,并適時將演化模型[1]融入并行開發(fā)和定制過程中.
一般說來,軟件開發(fā)單位對兩個循環(huán)都應(yīng)重視.新產(chǎn)品開發(fā)循環(huán)具有創(chuàng)新性,將給開發(fā)單位帶來創(chuàng)新的產(chǎn)品,增強競爭優(yōu)勢.定制循環(huán)雖然不會有重大創(chuàng)新,但其優(yōu)勢是在“快”上,能快速響應(yīng)用戶的個性化需求.
4面向大規(guī)模定制的軟件產(chǎn)品族
可定制的產(chǎn)品族模型是實現(xiàn)SDMC的關(guān)鍵.因此,SDMC重點在于研究建立合理的產(chǎn)品族結(jié)構(gòu)的軟件設(shè)計方法,不再每次只設(shè)計一個產(chǎn)品,而是同時完成一組產(chǎn)品的設(shè)計,即對整個產(chǎn)品族進行綜合設(shè)計,從而可以挖掘出產(chǎn)品族中的相似性信息,設(shè)計出面向產(chǎn)品族的可定制的領(lǐng)域框架和可重用構(gòu)件.并利用并行工程的觀點,以時間、成本用戶滿意度為目標,集成地并行地設(shè)計產(chǎn)品族及定制過程,同時盡可能考慮到影響軟件定制過程的約束條件和條件約束下的軟件配置機制.
軟件產(chǎn)品族是利用共享資源構(gòu)造的某一具體領(lǐng)域軟件產(chǎn)品的集合,是一系列相似產(chǎn)品的統(tǒng)一表達.軟件產(chǎn)品族對具體領(lǐng)域的相似問題進行歸類,用相似的解決方案來解決,并試圖覆蓋同一業(yè)務(wù)領(lǐng)域的所有現(xiàn)實或潛在需求.面向大規(guī)模定制的軟件產(chǎn)品族體系結(jié)構(gòu)如圖4所示.
軟件產(chǎn)品族由領(lǐng)域框架、構(gòu)件、定制過程和定制機制等部分組成.按照從用戶需求到軟件產(chǎn)品形成,在業(yè)務(wù)定義、技術(shù)方案和物理實現(xiàn)3個層面上建立領(lǐng)域框架模型和構(gòu)件模型,層與層之間存在映射關(guān)系,右邊層次的模型是左邊層次的模型的變換,這樣從左到右,形成一種生成、推導(dǎo)和約束關(guān)系.
(1)業(yè)務(wù)模型.是根據(jù)用戶和市場需求,對業(yè)務(wù)對象、業(yè)務(wù)過程、業(yè)務(wù)服務(wù)和業(yè)務(wù)規(guī)則進行形式化描義莫型.在軟件產(chǎn)品族體系結(jié)構(gòu)中,業(yè)務(wù)層面上描述的領(lǐng)域框架和構(gòu)件,分別稱為領(lǐng)域框架業(yè)務(wù)模型和構(gòu)件業(yè)務(wù)模型.
(2) 技術(shù)模型.是對適應(yīng)業(yè)務(wù)模型的應(yīng)用系統(tǒng)技術(shù)解決方案的一致性描述.在軟件產(chǎn)品族體系結(jié)構(gòu)中,技術(shù)層面上描述的領(lǐng)域框架和構(gòu)件,分別稱為領(lǐng)域框架技術(shù)模型和構(gòu)件技術(shù)模型.
(3) 實現(xiàn)模型.是對實現(xiàn)技術(shù)模型的物理系統(tǒng)的一致性描述.在軟件產(chǎn)品族體系結(jié)構(gòu)中,技術(shù)層面上描述的領(lǐng)域框架和構(gòu)件,分別稱為領(lǐng)域框架技術(shù)模型和構(gòu)件技術(shù)模型.
(4) 領(lǐng)域框架.是針對某一具體領(lǐng)域,包括構(gòu)件及構(gòu)件之間相互關(guān)系和約束規(guī)則,可定制、可擴展領(lǐng)域通用的軟件產(chǎn)品族架構(gòu).
(5) 構(gòu)件.是在定義好的體系結(jié)構(gòu)相關(guān)環(huán)境中具有明確功能的獨立的、可替代、可重用的系統(tǒng)組成部分.
(6) 定制過程.針對具體的開發(fā)環(huán)境所制定的,個性化定制具體應(yīng)用系統(tǒng)的規(guī)程,包括與應(yīng)用系統(tǒng)實現(xiàn)過程相關(guān)的規(guī)范、工具及相關(guān)文檔.
(7) 定制機制.包括約束條件^配置機制以及業(yè)務(wù)模型技術(shù)模型和實現(xiàn)模型之間的映射關(guān)系.約束條件是約束應(yīng)用系統(tǒng)定制的環(huán)境因素和對定制過程的考慮,配置機制是條件約束下的對領(lǐng)域框架實例化和對構(gòu)件進行配置的規(guī)則和推理機制.
基于產(chǎn)品族的軟件開發(fā)目標是提高產(chǎn)品族中的構(gòu)件的通用性,從總體上降低開發(fā)成本,縮短交貨期.對現(xiàn)有客戶需求的理解和對未來需求的預(yù)測,及對客戶群需求的系統(tǒng)分析,是產(chǎn)品族規(guī)劃的關(guān)鍵,而產(chǎn)品族規(guī)劃又是面向產(chǎn)品族軟件開發(fā)的重要環(huán)節(jié).
5面向大規(guī)模定制軟件開發(fā)的產(chǎn)品集成過程模型
傳統(tǒng)的軟件開發(fā)方法強調(diào)軟件實現(xiàn)技術(shù),而忽略了對軟件開發(fā)過程的規(guī)范和管理.近年來,軟件開發(fā)過程越來越受到產(chǎn)業(yè)界和學(xué)術(shù)界的重視,如CMM(能力成熟度模型)就旨在顯著提高軟件開發(fā)過程管理能力[8].本文在制造業(yè)面向大規(guī)模定制的集成產(chǎn)品和過程模型基礎(chǔ)上,結(jié)合軟件產(chǎn)品的特點,給出了如圖5所示的面向大規(guī)模定制軟件開發(fā)的產(chǎn)品集成過程模型.
如圖5所示,面向大規(guī)模定制軟件開發(fā)的產(chǎn)品集成過程模型呈二維結(jié)構(gòu).時間維描述的是從客戶訂單到產(chǎn)品交付的過程,即軟件開發(fā)過程(包括新產(chǎn)空間維描述的是將不同產(chǎn)品的相似部分進行歸類處理,以增加軟件開發(fā)規(guī)模,可采用產(chǎn)品模型(包括領(lǐng)域框架模型構(gòu)件模型和應(yīng)用系統(tǒng)模型)來描述.
SDMC在時間維優(yōu)化的關(guān)鍵是有效地將定制分離點(customizationdecouplingpoint,CDP)后移.CDP是軟件開發(fā)過程中由與訂單無關(guān)的、面向市場的預(yù)測型大規(guī)模開發(fā)轉(zhuǎn)向面向用戶的定制的轉(zhuǎn)換點.推遲CDP可以減少由于用戶訂單特殊需求而進行定制在時間和資源上的開銷.最理想的作法是在交貨點定制,即接到用戶訂單后,及時在用戶現(xiàn)場根據(jù)用戶需求完成產(chǎn)品開發(fā)和交付.實現(xiàn)CDP后移,需要準確預(yù)測市場需求,構(gòu)建好可定制的領(lǐng)域框架,預(yù)制足夠的可重用構(gòu)件,為產(chǎn)品定制做好充分的準備.時間維優(yōu)化可以顯著提高開發(fā)效率.
SDMC在空間維優(yōu)化的關(guān)鍵在于如何通過相似性原理和標準化技術(shù)有效擴大構(gòu)件和框架的優(yōu)化范圍并提高它們的可重用性.在軟件行業(yè),大約65%的開發(fā)成本花費在重復(fù)系統(tǒng)開發(fā)上.對不同應(yīng)用系統(tǒng)進行分解,可以發(fā)現(xiàn)存在大量相似性,可以對這些相似性內(nèi)容進行歸類,形成領(lǐng)域內(nèi)或領(lǐng)域間共享的
6面向大規(guī)模定制的敏捷軟件開發(fā)組織
根據(jù)SDMC的二維優(yōu)化模型,顯然在一個地區(qū)或行業(yè)推廣實施大規(guī)模定制軟件要比僅在一個開發(fā)單位實施可以取得更好的效果.大規(guī)模定制軟件的最佳的模式應(yīng)是在全球范圍進行推廣實施.事實上,軟件行業(yè)的全球化和專業(yè)化分工也正在促使大規(guī)模定制軟件開發(fā)擴展到全球范圍.如何組織廣泛范圍內(nèi)的軟件大規(guī)模定制?本文主張將敏捷制造思想應(yīng)用到軟件開發(fā)中,建立面向大規(guī)模定制的敏捷軟件開發(fā)組織.
敏捷制造是為實現(xiàn)企業(yè)生產(chǎn)制造的敏捷性,采用現(xiàn)代通信手段,通過快速配置各種資源,以有效和協(xié)同的方式響應(yīng)用戶需求的一種企業(yè)發(fā)展戰(zhàn)略.虛擬組織是實現(xiàn)敏捷制造的重要組織手段.虛擬組織是一些相互獨立的開發(fā)單位通過信息技術(shù)(例如互連網(wǎng))連接的暫時性的開發(fā)單位網(wǎng)絡(luò),這些開發(fā)單位在軟件開發(fā)過程中貢獻出自己的核心能力,以實現(xiàn)技能利潤共享和成本風險共擔,迎合和把握快速變化的市場機遇.
充的動態(tài)組織.根據(jù)產(chǎn)品族設(shè)計中規(guī)劃好的領(lǐng)域框架和構(gòu)件,進行工作任務(wù)分解(分解為不同類型的構(gòu)件),按照各個公司或公司內(nèi)某些部門的核心業(yè)務(wù)能力,動態(tài)組合資源、技術(shù)和人員最佳配置的虛擬組織.虛擬組織成員接受工作任務(wù)后,按照各種合作形式(如供應(yīng)鏈式、策略聯(lián)盟式、合資經(jīng)營式轉(zhuǎn)包加工式和虛擬合作式等[13])進行合作,在基于Internet的敏捷開發(fā)環(huán)境下,共享資源和技術(shù),完成各自的工作任務(wù)(完成構(gòu)件開發(fā)).根據(jù)客戶訂單要求,將領(lǐng)域框架實例化形成滿足訂單要求的應(yīng)用系統(tǒng)框架,并如圖6所示,虛擬組織是可重構(gòu)、可重用和可擴對虛擬組織成員提供的構(gòu)件進行裝配,最終形成滿足用戶需求的應(yīng)用系統(tǒng).
7結(jié)論
【關(guān)鍵詞】大規(guī)模 定制軟件 敏捷開發(fā) 研究
如今應(yīng)當說是一個高科技時代,人們的生活似乎被各種各樣的高新科技所包圍,無論是我們習以為常的網(wǎng)購還是離我們看似遙遠的全自動化生產(chǎn)線無不顯露著科技的風尚。人類已經(jīng)進入了一個智能化的時代,因而各種專業(yè)化的軟件需求量也就越來越大,每個不同的企業(yè)或者部門對于軟件的需求也是不同的,定制軟件看似容易實際上其操作起來難度是極大的,而針對定制軟件開發(fā)最好的開發(fā)手段就應(yīng)當說敏捷開發(fā),這是一種將一個定制軟件拆分成數(shù)個乃是數(shù)十個甚至成百上千個小項目進行軟件開發(fā)的方式,其尤其適用于大規(guī)模定制軟件的開發(fā)。
1 大規(guī)模定制軟件的必要性
首先我們要對大規(guī)模定制的定義進行明確,大規(guī)模定制指的是大規(guī)模定制是指對定制的產(chǎn)品和服務(wù)進行個別的大規(guī)模生產(chǎn),這種生產(chǎn)模式是把大規(guī)模生產(chǎn)與定制生產(chǎn)的優(yōu)勢有機地結(jié)合起來,這種生產(chǎn)方式一方面不會由于個性化定制而讓企業(yè)的利益受到影響,另一方面也不會由于大規(guī)模的生產(chǎn)而忽視了軟件定制的個性化,應(yīng)當說這一種雙贏的生產(chǎn)方式。對于企業(yè)而言其采用大規(guī)模定制能夠在最大程度上降低生產(chǎn)成本而保證產(chǎn)品質(zhì)量,對于客戶而言其能夠以較低的價格而獲得質(zhì)量優(yōu)良且具有個性化定制色彩的產(chǎn)品,因此這是雙方都樂見其成的。從大趨勢來看大規(guī)模定制已經(jīng)是大勢所趨,同樣也是工業(yè)3.0-的重要組成部分,因此我們必須對其給予一定的重視。
2 敏捷開發(fā)
大規(guī)模定制的_是一種極為有效的生產(chǎn)方式,不過這種大規(guī)模軟件定制想要真正的實現(xiàn)是需要一定前提的,這個前提就是采用更加有效的產(chǎn)方式從而完全實現(xiàn)產(chǎn)品大規(guī)模生產(chǎn)與個性化定制并存。這個方式就是敏捷開發(fā),敏捷開發(fā)將一個軟件的開發(fā)轉(zhuǎn)化為了數(shù)個乃至數(shù)十個不同的小項目,每一個項目都負責了軟件的一部分,有的負責的可能是軟件的界面,有的則負責開發(fā)軟件的菜單,有的則負責軟件的核心運算公式,在這數(shù)十個項目全部完成后再將其整合起來就成為一個大型的成品軟件。例如同樣是財務(wù)軟件,可能企業(yè)需要側(cè)重的是利潤、庫存等方面,而機關(guān)事業(yè)單位所需要的更多的是收入與支出的合理性,兩者的需求不同因此不可能使用同一種軟件,但是除了側(cè)重之外其他的部分缺失完全相同的,因此如果采用傳統(tǒng)的軟件開發(fā)方式則必然需要反復(fù)開發(fā)兩套軟件來滿足不同客戶的需求,而敏捷開發(fā)只需要開發(fā)一套軟件,而對于二者不同的需求只需要在開發(fā)其個性化部分就能夠在降低開發(fā)成本的同時滿足用戶的個性化定制需求應(yīng)當說這是解決大規(guī)模定制軟件開發(fā)的最好方式。
3 敏捷開發(fā)的各個階段
敏捷開發(fā)雖然對于大規(guī)模定制軟件十分有利但是其真正操作起來卻需要諸多方面的配合才能夠真正實現(xiàn)敏捷開發(fā),因此我們應(yīng)當對敏捷開發(fā)的各個關(guān)鍵環(huán)節(jié)進行了解。
3.1 敏捷開發(fā)的起始階段
敏捷開發(fā)與傳統(tǒng)的軟件開發(fā)不同,傳統(tǒng)的軟件開發(fā)幾乎只需要開發(fā)部門一個部門在了解客戶需求后進行軟件的開發(fā),而敏捷開發(fā)則不然其在軟件開發(fā)的前期就需要企業(yè)當中不同部門的人員進行配合其中包括了軟件設(shè)計師、程序編寫員、營銷人員、財務(wù)人員,而在企業(yè)外部其還需要客戶的配合,這樣做能夠使得其各方面的問題能夠在開發(fā)初期就被提出從而被解決,使得軟件的基本框架被完全確定只有這樣才能在軟件開發(fā)過程中采用模塊化的方式進行開發(fā)。
3.2 敏捷開發(fā)的開發(fā)階段
在對客戶意圖以及軟件設(shè)計師進行了充分溝通并確定了軟件方案之后,就需要將軟件拆分成數(shù)個乃至數(shù)十個小型開發(fā)項目,這些開發(fā)項目有些是軟件的基礎(chǔ)有些則是客戶個性化定制部分,首先來說基礎(chǔ)開發(fā)部分,其必須注重這部分程序的通用性,即其不能單純地只能應(yīng)用在一款軟件上而是應(yīng)當能夠被未來多種不同的軟件進行利用,這些通用程序一般包括了軟件的數(shù)據(jù)輸出、輸入、導(dǎo)入導(dǎo)出程序以及各類軟件的菜單和工具欄等等,只有確保了基礎(chǔ)程序的通用性才能夠成為大規(guī)模定制軟件的開發(fā)基礎(chǔ)。另一部分則是個性化定制部分,在這一部分最為注重的應(yīng)當是充分滿足客戶對于軟件的個性化需求。
3.3 敏捷開發(fā)的完成階段
敏捷開發(fā)其本身實際上就是講程序分為了多個不同的模塊,在最終的完成階段則是需要編程人員將開發(fā)完成的各類模塊化程序進行匯總和有效地連接和融合從而使得其成為一個個不同的軟件,這種模式與傳統(tǒng)一氣呵成的開發(fā)模式不同,其開發(fā)方式更加靈活便捷,許多軟件模塊都是通用的只需要在通用模塊的基礎(chǔ)上將個性化模塊進行開發(fā)并且融入到整個軟件當中就能夠徹底完成個性化定制的軟件。
4 結(jié)束語
大規(guī)模軟件定制是時展的需要,其在軟件開發(fā)領(lǐng)域的應(yīng)用能夠在最大程度上降低軟件開發(fā)的成本并且提高軟件開發(fā)的效率應(yīng)當說這是極為可喜的事情,不過我們必須清楚地意識到大規(guī)模軟件定制其本身必須是一敏捷開發(fā)為前提的,因此我們必須對敏捷開發(fā)這種軟件開發(fā)模式進行深入的研究從而使得我們能夠更好的掌握這種開發(fā)方式來支持大規(guī)模軟件定制。
參考文獻
[1]羅昱.淺談大規(guī)模定制的軟件開發(fā)模式[J].電子制作,2013(14):72-72.
[2]田清.軟件敏捷開發(fā)過程Scrum中的缺陷管理方法研究及應(yīng)用[D].重慶大學(xué),2010.
關(guān)鍵詞:產(chǎn)品化;定制化;軟件;優(yōu)劣勢
1 產(chǎn)品化與定制化軟件綜述
產(chǎn)品化軟件和定制化軟件在流程電子化方面,尤其是管理支撐類流程方面存在一定程度的重疊,但兩者的定位不管是從產(chǎn)品的體系架構(gòu),或者是在實施方法論等方面還是存在很大的差異。從更好地滿足客戶的核心業(yè)務(wù)需求的角度出發(fā),相較于傳統(tǒng)的產(chǎn)品化軟件,定制化軟件在滿足企業(yè)核心業(yè)務(wù)流程管理方面是具有明顯優(yōu)勢的。但是隨著產(chǎn)品化軟件的不斷發(fā)展和完善,對于數(shù)據(jù)處理要求不是很高,業(yè)務(wù)邏輯相對簡單的系統(tǒng)來說,產(chǎn)品化軟件已經(jīng)逐漸體現(xiàn)出它的優(yōu)勢。目前,主流的產(chǎn)品化平臺軟件中的一個核心功能應(yīng)用在于流程管理,從專業(yè)角度來看,產(chǎn)品化平臺軟件已經(jīng)含有流程管理的功能模型,并已經(jīng)完全含有項目化平臺軟件的核心功能,例如表單建模、流程引擎、權(quán)限模型等核心功能點。
2 產(chǎn)品化軟件與定制化軟件優(yōu)劣勢分析對比
2.1 用戶體驗和頁面友好性方面的對比
定制化開發(fā)軟件隨著使用年限的不斷增加,軟件開發(fā)技術(shù)的不斷發(fā)展,導(dǎo)致系統(tǒng)兼容性、UI可用性和易用性不斷下降,隨著計算機操作系統(tǒng)、瀏覽器軟件和OFFICE等辦公軟件的更新?lián)Q代,經(jīng)常發(fā)生按鈕功能不正常,系統(tǒng)頁面顯示不正常等問題。大多數(shù)企業(yè)員工信息技術(shù)水平有限,很難自行對瀏覽器和操作系統(tǒng)進行兼容性調(diào)整和設(shè)置,從而降低了日常的工作效率,也加大了信息化部門的工作量。而產(chǎn)品化軟件方面則不存在以上問題,由于產(chǎn)品版本迭代速度較快,能夠做到持續(xù)改進,所以能很好的適應(yīng)其周邊軟件的不斷升級更新,系統(tǒng)頁面友好美觀,與日常辦公軟件能夠良好銜接,基本上不會發(fā)生由于系統(tǒng)兼容性而導(dǎo)致系統(tǒng)功能不正常的問題。
2.2 系統(tǒng)功能、開發(fā)周期與開發(fā)成本方面
產(chǎn)品化軟件其優(yōu)點在于能夠滿足客戶絕大部分通用的需求,且建設(shè)費用相對較低。由于事前已經(jīng)有較為成熟的產(chǎn)品化功能模塊,從而能夠在需求分析階段結(jié)束后直接進入系統(tǒng)的搭建與測試階段,省略了傳統(tǒng)軟件開發(fā)生命周期中基本設(shè)計、詳細設(shè)計、代碼編寫這幾個最為耗時費力的工程段,能夠做到快速搭建、快速部署、快速上線,大大加快了項目實施進度。由于有產(chǎn)品化功能模塊和可視化系統(tǒng)搭建平臺的存在,整個項目實施過程中不需要程序代碼的編寫,所以幾乎不需要有很強技術(shù)功底的開發(fā)人員的參與其中,從而也降低了整個項目建設(shè)的人力成本。相對于業(yè)務(wù)簡單通用,變化小,成熟性的公司,這種產(chǎn)品化軟件的性能價格比還是很有吸引力的。
定制化軟件方面,軟件自身完全可以按照客戶的需求來定制,能夠做到量身定制,在客戶一些細節(jié)需求的對應(yīng)上較為靈活。但定制化軟件的建設(shè)實施工作由于是從零開始,從無到有,所以需要經(jīng)歷完整的軟件開發(fā)生命周期,相對于產(chǎn)品化軟件來說開發(fā)周期長,對系統(tǒng)建設(shè)人員的技術(shù)水平要求較高。另外定制化軟件實施的成功必須建立在兩個前提條件下,一是客戶有一套清晰成熟的管理方法,能夠非常明確系統(tǒng)的提出自身的業(yè)務(wù)需求;二是供應(yīng)商擁有一批既熟悉業(yè)務(wù),又熟悉軟件開發(fā)技術(shù),而且要具有豐富的開發(fā)經(jīng)驗的業(yè)務(wù)技術(shù)專家。這兩個條件缺一不可,項目實施的成功與否,周期長短,所實現(xiàn)功能與顧客需求的差異性,都取決于這兩個方面。而作為在市場上被廣泛接受的成熟的產(chǎn)品化軟件來說,在一定程度上是為企業(yè)提供了一套管理的思路、管理方法的模板與建議,企業(yè)可以去主動地適應(yīng)產(chǎn)品,把產(chǎn)品的設(shè)計理念、管理流程應(yīng)用到企業(yè)自身的日常管理中。所以對于管理思路不是很清晰企業(yè),購買產(chǎn)品化軟件不僅是購買了一套軟件更是購買了一套較為成熟的管理方法論,也是對成熟先進管理方法的一次學(xué)習和浸潤。
3 系統(tǒng)維護方面的對比
3.1 新增、變更需求對應(yīng)方面
對于定制化軟件來說只要發(fā)生新增需求或者變更需求都必然需要通過修改代碼的方式去應(yīng)對,代碼的修改和增加即會產(chǎn)生相應(yīng)的開發(fā)工作量,則需按工作量付給供應(yīng)商相應(yīng)的開發(fā)費用。
而產(chǎn)品化軟件由于采用可視化、配置化的系統(tǒng)搭建平臺實現(xiàn)業(yè)務(wù)需求的理念,在流程的調(diào)整變更與新增、表單內(nèi)容的調(diào)整變更、頁面布局的調(diào)整變更等方面,全都可以通過系統(tǒng)管理員在可視化管理平臺上自行調(diào)整,不需要通過修改增加代碼的方式去實現(xiàn),所以節(jié)省了很大一部分由需求變更所產(chǎn)生的開發(fā)費用。只有通過后臺配置不能實現(xiàn)的新增、變更需求,才需要與供應(yīng)商溝通進行定制化開發(fā)并產(chǎn)生相應(yīng)的費用。另外,進入維護階段后只需支付供應(yīng)商一定數(shù)量的電話服務(wù)費用,不需要供應(yīng)商提供專員在客戶現(xiàn)場進行維護工作。
綜上所述,產(chǎn)品化軟件后期可以根據(jù)業(yè)務(wù)流程變化靈活調(diào)整,經(jīng)過培訓(xùn)的企業(yè)信息化人員可自主完成,無需依賴廠商,基本不產(chǎn)生系統(tǒng)升級開發(fā)費用,與定制化軟件相比大大節(jié)省了系統(tǒng)維護成本。
3.2 系統(tǒng)維護方式與服務(wù)響應(yīng)時間方面
定制化軟件維護方式的優(yōu)勢在于由于開發(fā)人員在長期客戶的現(xiàn)場服務(wù),且對系統(tǒng)架構(gòu)和源代碼以及公司業(yè)務(wù)相關(guān)業(yè)務(wù)較為熟悉所以響應(yīng)速度較為迅速。但隨著定制化軟件使用年限的增加,維護人員的流動不可避免,所以會造成代碼的健壯性與可讀性不斷下降,導(dǎo)致只有專門的對系統(tǒng)極為熟悉的供應(yīng)商開發(fā)人員才能對系統(tǒng)進行維護工作。通常的項目化軟件維護周期中,隨著系統(tǒng)上線時間的增加,系統(tǒng)運行越發(fā)穩(wěn)定,項目團隊從維護成本上考慮通常會逐年遞減系統(tǒng)維護人員,甚至最后整個系統(tǒng)的維護工作只有一個維護人員擔當完成,如果維護人員較為單一,倘若此時人員發(fā)生變動,新的維護人員很難在短時間內(nèi)理解系統(tǒng)實現(xiàn)方式以及所有源代碼,很難在短期內(nèi)開展相關(guān)維護工作,從而使系統(tǒng)維護工作出現(xiàn)空窗期,這對系統(tǒng)的穩(wěn)定運行可能造成較大的影響。
產(chǎn)品化軟件的維護方式通常采用由單位系統(tǒng)管理員結(jié)合供應(yīng)商客呼叫中心的維護方式,由于產(chǎn)品化軟件通過可視化配置平臺實現(xiàn)系統(tǒng)功能的程度很高,所以單位系統(tǒng)管理員作為維護工作中的主要角色,承擔了90%左右的維護工作。只有在發(fā)生系統(tǒng)BUG和通過系統(tǒng)管理員配置不能實現(xiàn),需要定制化開發(fā)的時候才需要供應(yīng)商相關(guān)團隊的配合。但由于供應(yīng)商團隊在現(xiàn)場沒有開發(fā)維護人員,且產(chǎn)品化軟件在定制化開發(fā)方面受到諸多限制,所以在響應(yīng)時間上的表現(xiàn)明顯不如定制化開發(fā)軟件。此外,產(chǎn)品化軟件背后有專業(yè)、穩(wěn)定、龐大的團隊在對各模塊的代碼進行維護,所以在代碼維護方面較為穩(wěn)定,代碼版本管理方面也較為規(guī)范,人員的流動基本不會對代碼的維護造成影響,從而能夠有效降低由源代碼管理問題以及人員流動問題引發(fā)的系統(tǒng)運維風險。
云計算、大數(shù)據(jù)、移動化和社交化趨勢的發(fā)展給軟件開發(fā)企業(yè)帶來的最大挑戰(zhàn)是什么?ThoughtWorks中國區(qū)總經(jīng)理張松表示:“我們不提供公有云平臺,而是專注于讓傳統(tǒng)企業(yè)更好地使用云計算。”傳統(tǒng)企業(yè)通常擁有龐大的IT系統(tǒng),而且存在了幾十年。在面對新的業(yè)務(wù)需求時,如何繼續(xù)發(fā)揮原有IT系統(tǒng)的優(yōu)勢,面對不同類型的應(yīng)用,更充分地利用云計算,實現(xiàn)更快、更安全的應(yīng)用部署是用戶和軟件開發(fā)企業(yè)都必須面對的嚴峻挑戰(zhàn)。
“我們要幫助企業(yè)設(shè)計一套新的架構(gòu),讓它更適合云的環(huán)境?!睆埶膳e例說,“我們通過Microservice可以將傳統(tǒng)企業(yè)的業(yè)務(wù)分割成不同的服務(wù)模塊,這些模塊可以獨立開發(fā),并部署和運行在云平臺上。這是我們推薦的一種新的架構(gòu)模式?!?/p>
在澳大利亞和美國,ThoughtWorks是亞馬遜AWS的重要合作伙伴,并且通過了亞馬遜AWS的金牌認證。如果有用戶想將應(yīng)用遷移到亞馬遜AWS的云平臺上,ThoughtWorks可以提供相應(yīng)的遷移服務(wù)。
作為高端軟件定制開發(fā)企業(yè),ThoughtWorks一直根據(jù)用戶的實際需求提供定制化的軟件開發(fā)服務(wù)。經(jīng)過多年的積累,ThoughtWorks不僅在金融、零售等諸多領(lǐng)域擁有了大量客戶和實踐經(jīng)驗,而且對這些行業(yè)客戶的需求也有了深入了解。ThoughtWorks完全可以對以往的產(chǎn)品開發(fā)經(jīng)驗進行總結(jié),推出自有品牌的針對某些行業(yè)或特定應(yīng)用場景的解決方案。
張松表示,ThoughtWorks已經(jīng)開始進行這方面的嘗試?!拔覀円呀?jīng)推出了一個云計算的平臺ScaleWorks,它可以運行在第三方的公有云平臺之上,能夠幫助客戶在企業(yè)環(huán)境中更好地使用云計算和其他企業(yè)級虛擬化平臺,比如VMware或微軟的云計算平臺?!盨caleWorks的好處是可以隱藏企業(yè)應(yīng)用開發(fā)中的復(fù)雜性,讓用戶更容易使用,同時可以實現(xiàn)企業(yè)軟件在、部署和開發(fā)測試等環(huán)節(jié)的管理自動化,減少開發(fā)和測試的工作量。
雖然ThoughtWorks已經(jīng)推出了像ScaleWorks 這樣的可以大規(guī)模商用的產(chǎn)品,但是ThoughtWorks并沒有像其他IT公司那樣急于進行大規(guī)模的商業(yè)推廣。
張松表示:“我們現(xiàn)在的做法是選擇一些我們認為具有創(chuàng)新精神的客戶來試用這個產(chǎn)品,在得到反饋并對產(chǎn)品進一步優(yōu)化之后,再對產(chǎn)品進行大規(guī)模的商業(yè)推廣。目前,已經(jīng)有兩三家客戶在試用ScaleWorks。我們公司內(nèi)部也在全面使用這套系統(tǒng)。”
一、軟件外包發(fā)展現(xiàn)狀
在轉(zhuǎn)換培養(yǎng)模式之前,我們做了大量前期調(diào)查,分析了全球軟件外包未來發(fā)展的態(tài)勢和中國軟件外包的發(fā)展趨勢,并通過大量企業(yè)調(diào)研仔細研究了軟件外包人才數(shù)量和技能的需求情況。
(1)軟件外包發(fā)展狀況
圖1展示了未來幾年全球軟件外包市場的發(fā)展情況,可以很清楚地看出,在未來幾年中軟件外包將持續(xù)穩(wěn)定增長。圖2顯示了我國軟件外包市場占全球市場的比例,可以看出我國軟件外包市場規(guī)模在逐步擴大,占全球市場的比例不斷增長。未來我國的軟件外包將發(fā)展良好。
(2)軟件外包人才需求情況
軟件外包規(guī)模擴大帶來的直接問題就是人員緊缺。針對這一點我們也作了認真分析。首先是人才數(shù)量分析,圖3顯示了未來幾年內(nèi)該領(lǐng)域?qū)θ瞬艛?shù)量的需求情況。
其次是人才結(jié)構(gòu)分析,圖4顯示了軟件外包人才需求結(jié)構(gòu)。
目前中國從事軟件外包的人員50000余人,未來幾年內(nèi),人員需求量將會快速增長,到2009年,需要近25萬人,其中初級人才的需求量巨大,近17萬人;中高端人才需求也在急劇上升。
當前軟件外包人才的主要來源有以下四個方面:普通高校的軟件及相關(guān)專業(yè)培養(yǎng);35所示范性軟件學(xué)院;中國計算機等級考試;中國IT培訓(xùn)與教育。但多數(shù)學(xué)生畢業(yè)后并不能立即勝任外包軟件的開發(fā)工作。企業(yè)對外包人才除了最基本的技能要求外,還要求此類人才能充滿激情,勇于面對壓力;認真敬業(yè),有責任感;有細致入微、精益求精的工作態(tài)度;具有扎實的理論功底和良好的外語溝通能力;具有快速學(xué)習能力與團隊合作能力。這些能力培養(yǎng)在傳統(tǒng)教育中是很難完成的。
鑒于當前軟件外包人才培養(yǎng)過程中存在的這些問題,我校提出了一套全新的問題解決方案――軟件外包人才定制培養(yǎng)。
二、軟件外包人才定制培養(yǎng)模式
綜合以上分析,我校將軟件外包人才培養(yǎng)定位在初級人才這個巨大人才缺口上。我校提出的完整外包人才定制培養(yǎng)模式是:首先,由軟件外包企業(yè)向我校發(fā)出培養(yǎng)需求,包括人才素質(zhì)需求和人才數(shù)量需求;其次,我校從各系選拔出適合該職業(yè)的學(xué)生組成定制班,選拔方式為筆試和面試;第三,按照企業(yè)需求制定相應(yīng)教學(xué)計劃展開定制人才培養(yǎng)工作;第四,在學(xué)生畢業(yè)前再次根據(jù)企業(yè)當前需要進行檢驗和選拔,選取優(yōu)秀者和符合要求者進入軟件外包企業(yè)工作。
該模式提出之初,我校一直和東軟合作,為其提供定制人才,具體培養(yǎng)過程見圖5。
我校在該流程的控制上嚴格把關(guān),由企業(yè)出題、面試學(xué)生,選拔出符合企業(yè)需求的人員組成定制班;企業(yè)參與制定教學(xué)計劃的全過程,校企雙方經(jīng)過討論制定出符合軟件外包企業(yè)需求的教學(xué)計劃;在教學(xué)過程中我校嚴格遵照該教學(xué)計劃完成教學(xué)任務(wù),保證人才培養(yǎng)的質(zhì)量;在學(xué)生畢業(yè)前,企業(yè)還要進行一輪測試和選拔,從中選擇切實符合企業(yè)需求的人才。
三、人才定制培養(yǎng)模式效果
我校從2004年開始運營這套軟件外包企業(yè)人才定制培養(yǎng)模式,共培養(yǎng)該類人才579人。這些人才除進入定制企業(yè)外,也受到了其他軟件企業(yè)的歡迎,就業(yè)率達到了100%。以東軟集團為例,定制培養(yǎng)的新員工占整體招聘的8%,但定制培養(yǎng)的優(yōu)秀新員工占整體優(yōu)秀新員工的15%。這些學(xué)生的企業(yè)導(dǎo)師認為定制培養(yǎng)的效果很好,對企業(yè)幫助很大。
定制培養(yǎng)出的學(xué)生技術(shù)能力強、實踐能力強,與傳統(tǒng)培養(yǎng)模式下的學(xué)生相比,在各方面都具有很大優(yōu)勢,在就業(yè)過程中是企業(yè)優(yōu)先選擇的對象。
那如何改進這種情況?
無論是大型還是小型軟件開發(fā)商都要融入軟件開發(fā)的全球競爭,那么就需要引進先進的國際標準規(guī)范(如ISO 9000、CMMI),通過評估認證來規(guī)范軟件開發(fā)過程管理。而同時在軟件開發(fā)這個充滿創(chuàng)意的領(lǐng)域,運用系統(tǒng)組織的思維、先進靈動的工具服務(wù)于過程管理,提高開發(fā)效率,也是企業(yè)發(fā)展過程中不可小瞧的力量。
案例:
高級電子表格軟件的開發(fā)商RxLaser公司運用TechExcel的跟蹤工具DevTrack,通過自動操作和控制軟件開發(fā)及客戶自定義過程,實現(xiàn)持續(xù)成長,提高產(chǎn)品質(zhì)量,贏得客戶的滿意,是個具體而有借鑒意義的嘗試。
開發(fā)規(guī)模增大帶來的混亂
位于美國加利福尼亞州布瑞亞市的RxLaser公司作為高級電子表格軟件的開發(fā)商,其軟件產(chǎn)品通過一個服務(wù)器平臺與客戶使用的軟件集成,支持打印、傳真、收發(fā)電子郵件、EDI和數(shù)據(jù)存檔,并可以按照每個用戶的需要進行全方位定制。
過去的十年,眾多公司用傳真或電子郵件替代了點陣打印表格,不必再花費56美分郵寄一個發(fā)票的復(fù)印件,節(jié)約了大量成本。RxLaser公司將這種進步移植到電子表格上,成為業(yè)界領(lǐng)先者。
但成功和快速增長也帶來了許多新的挑戰(zhàn),他們必須解決這些問題以保持其領(lǐng)先地位。他們曾使用過一個內(nèi)部開發(fā)系統(tǒng)來跟蹤所有的開發(fā)和定制化項目。隨著業(yè)務(wù)量的快速增長,系統(tǒng)不堪重負。他們的客戶數(shù)量在三年間從700多家增長到6000多家,如果沒有一個可靠的跟蹤解決方案,公司業(yè)務(wù)將處于危險之中。
“我們不能應(yīng)對日常事務(wù)?!惫究偛昧_伯特說:“形勢已經(jīng)不在控制中了。當我們拿到一份文件的時候,我們不知道這份單子已經(jīng)擱置了多久,我們原本打算如何實施。我們的業(yè)務(wù)增長得太快了,而越來越多的客戶感到不滿意。我們只有兩種選擇:要么尋找合適的跟蹤系統(tǒng),要么被淘汰出局?!?/p>
精準問題跟蹤避免重復(fù)作業(yè)
RxLaser公司的開發(fā)團隊迅速評估和比較了市場上的許多跟蹤工具。大約兩周后,羅伯特發(fā)現(xiàn)他的所有員工都選用DevTrack?!懊總€人都很喜歡它,因為它快速輕松地滿足了所有人的需求?!绷_伯特說:“我的員工要求我購買它,他們甚至告訴我,如果我不這么做,他們就不能工作?!?/p>
現(xiàn)在,公司將其用于兩個業(yè)務(wù)領(lǐng)域:開發(fā)團隊和定制化編程,提高了軟件開發(fā)的效率。開發(fā)團隊負責運行、維護和管理電子表格軟件系統(tǒng),定制化團隊則針對客戶的具體細節(jié)要求編寫對應(yīng)的表格。
羅伯特認為,在任何軟件開發(fā)項目中提高效率的關(guān)鍵,都是通過精確跟蹤項目的每一部份來避免重復(fù)性工作。當把一個完整軟件分解成許多程序片段,并把這些片段分配給不同的開發(fā)人員時,每個人的工作會有與其他人工作重疊的傾向。
而DevTrack就能使每個開發(fā)人員在任何時間都能清楚知道其他人在做些什么。當一些人完成一子項目,他們可以輕松地看到這個子項目和其它子項目如何連接,然后把這些片段無重疊地連接起來,避免了許多重復(fù)性工作。此外,管理者還可以看到每一個程序員在開發(fā)什么功能,這使得他們可以輕松地管理和跟蹤整個項目。
“編寫代碼時,重復(fù)性的工作使公司既費時又費錢,并且不能按時交付?!绷_伯特說:“重復(fù)是研發(fā)工作的最大破壞者。我們的產(chǎn)品需要多人參與,并要在規(guī)定日期前完成,如果我們不能按時完成,將損失數(shù)目可觀的收入和機會,這是時間管理的問題,而DevTrack為我們很好地解決了這個問題。”
多人合作開發(fā),項目很容易失去控制。每個人都在處理項目中相同部分的不同片段,這很容易讓人產(chǎn)生混淆,很快他們就會發(fā)現(xiàn)不知道對方在做些什么。DevTrack協(xié)調(diào)團隊工作,在任何時候都可以把一項編程工作轉(zhuǎn)交他人。
延伸應(yīng)用于內(nèi)部溝通和客戶服務(wù)
現(xiàn)在,RxLaser公司用DevTrack來制定工作進度,協(xié)調(diào)服務(wù)器產(chǎn)品的功能添加、缺陷修復(fù)以及功能增強工作。羅伯特介紹,DevTrack使整個修改工作的管理和協(xié)調(diào)非常容易,比如有一個開發(fā)人員負責項目中很大一塊工作,利用DevTrack,他的上級就能準確地知道他當前的工作內(nèi)容和時間限制,而其他人也都可以看到他每天的工作進程。
最初,RxLaser公司用它做問題跟蹤,由于簡單易用,后來被用來做工序跟蹤??蛻舭惭b電子表格軟件過程相當緊張,一旦有新客戶登錄,他們就會為客戶發(fā)出標準表格,以基于客戶獨特的需要進行調(diào)整。經(jīng)過相關(guān)人員設(shè)計調(diào)整和客戶授權(quán)確認,該調(diào)整就發(fā)送給定制化編程部門,程序員采用修訂過的標準,并將變化集成到用戶自定義的表格,最后的產(chǎn)品再次發(fā)送給客戶,等待最終的認可和安裝。整個客戶安裝過程利用DevTrack管理和跟蹤工作流和狀態(tài),程序員能準確地知道過去3-4個月里的工作,并能在停止的地方準確地重新啟動。
羅伯特說:“使用DevTrack的最大收益,就是RxLaser的行業(yè)領(lǐng)先地位得以保持。除了幫助我們跟蹤客戶的優(yōu)先級和需求,我們還可以使用它來管理設(shè)計員、程序員和客戶之間的日常內(nèi)部活動,管理并記錄設(shè)計人員、編程人員以及客戶間的日常交流,這樣每個人都可以在任何時候知道問題的進展,并將其繼續(xù)推進。生病的或是其他部門的員工也可以通過其中的記錄,清楚地知道他下一步要為客戶做什么,以及客戶什么時候需要這些服務(wù)。”
研究視點一:跟蹤工具的行業(yè)應(yīng)用
工欲善其事,必先利其器。軟件開發(fā)廠商也是一樣,要做到高效的軟件開發(fā)和過程管理,必須選擇運用靈活先進的開發(fā)管理工具。早在30年前大師弗雷德里克?布魯克斯就曾形象地論述說系統(tǒng)開發(fā)工作就像一個焦油坑,無論是大型、小型,龐雜、精干的開發(fā)團隊都在其中掙扎,沒有誰能掙脫束縛。這種情況到現(xiàn)在也還是如此――很少有軟件項目滿足目標、進度和預(yù)算的要求。做軟件開發(fā)項目delay是正常的,這已是圈內(nèi)人士的共識。
眾所周知,對于傳統(tǒng)制造企業(yè),其流程和現(xiàn)場管理提高生產(chǎn)效率至關(guān)重要,在此基礎(chǔ)上產(chǎn)生的JIT生產(chǎn)管理方式堪稱一代經(jīng)典。同樣道理,對于人們看不見的產(chǎn)品――軟件的設(shè)計開發(fā)過程來說,也是一樣需要有方法、有工具來幫助實現(xiàn)提高其對應(yīng)的生產(chǎn)效率。
作為問題跟蹤功能實現(xiàn)的產(chǎn)品,目前市場上已經(jīng)有幾家或單獨成品,或鑲嵌在平臺之內(nèi)實現(xiàn)該功能(如TechExcel的DevTrack和IBM Rational的Clear Quest等)。TechExcel的DevTrack贏得RxLaser信賴的關(guān)鍵,是它通過對項目中的每一個任務(wù)或細節(jié)的精確跟蹤,并借助可輕松配置的智能化工作流,使項目參與者能夠清楚地知道并執(zhí)行自己的工作,避免了重復(fù)勞動,增強了團隊溝通,提高了開發(fā)效率。
在國外,整體信息化水平相對比較高,所以IT以外的行業(yè)的軟件開發(fā)和項目管理也是很愿意用工具管理實現(xiàn)的。圖一是DevTrack全球用戶行業(yè)分布圖,可以看得出軟件廠商是其主要客戶,但同時政府機關(guān)也在用其做流程管理,教育機構(gòu)也可以買它做實驗室的項目管理。
研究視點二:工具的集成
單打獨斗的工具成不了氣候,平臺化的系列工具軟件是其作用最大化的有效途徑。DevTrack是TechExcel DevSuite產(chǎn)品系列中的一部分,該系列圍繞知識核心,無縫集成了從設(shè)計規(guī)劃到產(chǎn)品所需的所有ALM軟件,幫助數(shù)以千計像RxLaser一樣行業(yè)領(lǐng)先的企業(yè)實現(xiàn)了科學(xué)、愉悅、成熟的開發(fā)管理。廠商選擇、運用適合自己的集成工具實現(xiàn)開發(fā)過程管理。根據(jù)發(fā)展歷史和客戶需求以及市場環(huán)境的不同,軟件開發(fā)商的運用工具管理的模式也不同,下面以測試驅(qū)動的缺陷跟蹤管理、規(guī)劃驅(qū)動的項目管理、需求驅(qū)動的產(chǎn)品開發(fā)管理三種模式為例來闡述。
測試驅(qū)動缺陷跟蹤管理模式:某全球領(lǐng)先的軟件企業(yè)有超過3000多個程序員和測試員在使用DevSuite中的DevTrack和DevTest模塊來分別跟蹤編程缺陷和管理測試過程。測試團隊可以建立各種測試模版并為各個和構(gòu)建制訂測試計劃和項目,測試過程中所發(fā)現(xiàn)的缺陷能直接建立新的缺陷任務(wù),開發(fā)團隊解決的缺陷將進行新一輪的測試,如此往復(fù)直至完成。這種模式改善了大型開發(fā)團隊和測試團隊間的配合和溝通,確保每個缺陷得到有效的處理。但是項目管理層和設(shè)計人員卻不能通過這樣的模式來主動監(jiān)控和指導(dǎo)項目的進展,只能根據(jù)測試結(jié)果做出被動的反應(yīng)。
規(guī)劃驅(qū)動項目管理模式:某大型的美國游戲企業(yè)通過使用DevSuite中的DevPlan和DevTrack模塊組合來改善管理監(jiān)控。這個模式中的DevTrack包括一個管理層工作項目和多個下屬的開發(fā)組工作項目。項目經(jīng)理用DevPlan來細分和規(guī)劃項目,并與DevTrack中的管理層工作項目相連。而管理層工作項目中的每個功能或缺陷任務(wù)又與開發(fā)組工作項目中的多個工作任務(wù)相聯(lián)系。這樣,一個項目經(jīng)理的每個工作任務(wù)都被細分并分派給多個程序員或小組,從而使他能有效確保按計劃實施項目。這種模式能有效管理控制開發(fā)過程、周期、預(yù)算和人員,但是子任務(wù)的變化和新功能的增加給整個過程的效率帶來挑戰(zhàn)。
需求驅(qū)動產(chǎn)品開發(fā)管理模式:有些企業(yè)進一步要求把需求管理也納入DevSuite系統(tǒng),以提高整個應(yīng)用生命周期的管理效率。DevSpec就是管理需求制訂并整合項目規(guī)劃和實施的模塊。使用它,產(chǎn)品經(jīng)理能夠規(guī)劃各個產(chǎn)品版本的功能要求并管理設(shè)計文檔,以確保實施團隊充分理解設(shè)計團隊的概念產(chǎn)品,減少不必要的重復(fù)和廢工,最終產(chǎn)生理想的實際產(chǎn)品。
這些模式其實難分優(yōu)劣,實際運用效果取決于企業(yè)自身的開發(fā)環(huán)境和實施力度,是否選擇了適合自己的模式和工具并恰當?shù)剡\用。同類企業(yè)在不同階段可以運用不同模式,而不同企業(yè)也可以統(tǒng)一模式,運用得當能幫助企業(yè)提高30%左右的開發(fā)效率。
研究視點三:本土軟件廠商如何做
目前國內(nèi)軟件開發(fā)整體來講應(yīng)該說還處于初級階段,總體來看規(guī)模小、數(shù)量多、專業(yè)化程度低是目前國內(nèi)軟件開發(fā)商的特點。
關(guān)鍵詞:信息化 軟件項目管理
中圖分類號:TP391 文獻標識碼:A 文章編號:1007-9416(2012)05-0250-01
1、引言
在國家提倡“兩化融合”的大環(huán)境下,眾多生產(chǎn)制造企業(yè)為提升自身競爭能力、擴展發(fā)展空間,不斷加強信息化方面人力和資金的投入,利用現(xiàn)代信息技術(shù)對自身信息資源進行深化開發(fā)。生產(chǎn)制造企業(yè)的軟件項目是具有針對性的定制需求軟件項目,不論是合作開發(fā)還是整體外包,往往存在著技術(shù)、人才等方面的不足,特別是軟件項目管理的不足使企業(yè)無法完全有效利用軟件系統(tǒng)的功能和消化吸收軟件在設(shè)計和應(yīng)用上的知識體系,容易出現(xiàn)需求無法控制、功能重復(fù)開發(fā)、應(yīng)用效率低、運維和移植成本高等實際困難。
2、企業(yè)軟件項目技術(shù)管理中遇到的問題
2.1 軟件需求定義模糊
軟件需求是整個軟件項目最關(guān)鍵的一個輸入,軟件需求具有模糊性、不確定性、變化性和主觀性的特點。軟件需求的提供人員普遍缺少軟件需求的必要知識,提出的需求定義不充分、不全面、不準確,導(dǎo)致在系統(tǒng)測試和運行階段會出現(xiàn)大量的需求變更,影響系統(tǒng)設(shè)計結(jié)構(gòu),造成補丁摞補丁的軟件程序。
2.2 項目參與者溝通強度不足
溝通不足常常是企業(yè)軟件項目成功的最大的威脅。軟件需求提出者在項目建設(shè)初期對信息化理念了解不深,表達不夠深入,提出的功能需求浮于日常工作表面。而企業(yè)軟件開發(fā)人員或外包商因為對業(yè)務(wù)了解不夠深刻,沒有有效的項目溝通計劃,無法充分考慮業(yè)務(wù)需求,不能對軟件系統(tǒng)給出規(guī)劃建議或細節(jié),造成項目需求的余量規(guī)劃準備空間不足。
2.3 定制帶來的軟件自身內(nèi)在的高復(fù)雜度
對于企業(yè)定制軟件的開發(fā),由于生產(chǎn)業(yè)務(wù)自身的復(fù)雜度,導(dǎo)致了定制軟件的復(fù)雜度,特別是業(yè)務(wù)的組合,造成系統(tǒng)間和模塊之間耦合度較高。
2.4 文檔資料缺失,知識無法有效繼承
在軟件項目中,相對于項目進度和軟件開發(fā),項目成員不太注重知識的收集和積累,僅能提供項目主要文檔資料,而這些資料往往沒有跟隨軟件變更進行及時更新。導(dǎo)致系統(tǒng)的使用、維護知識僅為少數(shù)開發(fā)和參與者掌握,無法將個人的隱形知識轉(zhuǎn)化為共享的顯性知識,給系統(tǒng)的后續(xù)升級、維護造成很大困難。
3、在企業(yè)軟件項目管理過程中的經(jīng)驗
企業(yè)的定制軟件項目是用有限的資源、有限的時間根據(jù)特定的業(yè)務(wù)部門需求,優(yōu)選各種技術(shù)和產(chǎn)品進行設(shè)計開發(fā),將各個分離的“信息孤島”連接成為一個完整、可靠和有效的整體,并使之能彼此協(xié)調(diào)工作達到整體優(yōu)化目的的工作。一個良好的企業(yè)項目軟件,成熟優(yōu)秀的軟件項目管理是必不可少的。在軟件項目建設(shè)和全生命周期中,如要減少上述問題的發(fā)生,企業(yè)可以做好以下幾個方面:
3.1 強化軟件項目需求控制
在軟件項目管理范圍內(nèi),需求控制和管理是其中重要的一環(huán),特別是對于針對企業(yè)自身生產(chǎn)經(jīng)營流程所定制的軟件系統(tǒng),需求貫穿了項目的整個生命周期。從企業(yè)走上ERP信息化道路之后,隨著員工對系統(tǒng)了解不斷加深和企業(yè)自身管理水平提升,很多因素都可能使軟件系統(tǒng)的需求不斷變化。如果不能有效處理需求變更,勢必會很大程度上增加開發(fā)和運維的壓力。
3.2 加強需求相關(guān)方參與項目的深度
不僅是在軟件項目初期需求收集和概要設(shè)計中,在整個軟件項目的生命周期內(nèi)都必須強調(diào)項目需求相關(guān)方即業(yè)務(wù)部門的參與。由于軟件系統(tǒng)實施將改變企業(yè)員工的工作方式,因此,業(yè)務(wù)部門的管理者和將來的使用者必須在項目策劃階段就能了解系統(tǒng)應(yīng)用對其工作方式帶來的影響,他們必須制定相應(yīng)的政策、流程等以準備應(yīng)對這個即將到來的變動。目前部分ERP項目之所以失敗,重要的一個原因是人們誤認為ERP項目僅是一個信息系統(tǒng)項目,該項目帶來的僅僅是一個信息產(chǎn)品。其實,ERP項目帶來的是一新的運營方式,如果企業(yè)在沒有做相應(yīng)調(diào)整的情況下強行引入ERP,業(yè)務(wù)流程重組不到位,將會使企業(yè)運行的混亂速度加快。事實表明,促使軟件項目成功的最重要的要素莫過于需求相關(guān)方的全過程參與。
3.3 培養(yǎng)企業(yè)內(nèi)復(fù)合型人才,擴展項目管理知識領(lǐng)域
企業(yè)定制軟件項目需要掌握項目管理技術(shù)、熟悉企業(yè)流程并對了解軟件開發(fā)關(guān)鍵技術(shù)的人員作為項目的管理者,首先要擴展企業(yè)內(nèi)部軟件項目管理人員的知識面,一個高效的項目管理者來說至少要能理解和使用五方面的知識領(lǐng)域:
(1)項目管理知識體系;(2)應(yīng)用領(lǐng)域的知識和標準;(3)項目環(huán)境知識;(4)通用管理知識技能(采購、合同、后勤、人事管理、安全等);(5)管理軟技能(處理人際關(guān)系技能)。
3.4 將項目溝通上升到技術(shù)和管理層次
由于企業(yè)內(nèi)軟件從業(yè)人員較年輕,缺乏一些溝通、社交等方面的軟技能,習慣使用專業(yè)術(shù)語,更擅長跟機器打交道,所以在項目建設(shè)中會出現(xiàn)溝通不充分的情況。軟件項目溝通管理是軟件項目管理中的一個重要組成部分,可以使軟件人員和業(yè)務(wù)人員有效的建立彼此相互了解的關(guān)系,并且能通過溝通的行為和過程達成共識,可確保及時、正確的產(chǎn)生、收集、分發(fā)、存儲和最終處理項目信息。
軟件項目溝通管理包含三個主要內(nèi)容:(1)編制溝通計劃,確定哪些人是項目干系人(項目干系人是指積極參與項目,或利益會受項目執(zhí)行結(jié)果正面或負面影響的個體),分析他們對實施項目的影響程度。根據(jù)干系人信息需求的匯總進行溝通需求分析,對不同層次的項目干系人制定不同的溝通計劃。(2)以合適的方式向項目人員分發(fā)信息,一個企業(yè)的各個項目應(yīng)該采取統(tǒng)一格式模板記錄信息以及進行傳遞,有助于信息格式標準化,降低溝通成本。(3)對項目溝通過程進行管理,改善軟件人員溝通的軟技巧,努力做到溝通內(nèi)外有別,對外一致,一個團隊要一種聲音說話,采用對方能夠接受的溝通風格,注重非正式環(huán)境下溝通所獲得的信息,建立高效的會議方案,明確團隊內(nèi)部思考方式等工作。
4、結(jié)語
軟件項目管理的發(fā)展像任何其他學(xué)科的發(fā)展一樣,其成長和發(fā)展需要有一個相對漫長的過程,而且是永無止盡的。只有不斷提升軟件項目管理成熟度,使企業(yè)軟件項目管理向多元化、專業(yè)化發(fā)展,才能取得項目的成功,最大的滿足企業(yè)自身向整體信息化轉(zhuǎn)型的需求。
參考文獻