首頁(yè) > 優(yōu)秀范文 > 軟件開(kāi)發(fā)與定制
時(shí)間:2023-08-06 09:02:37
序論:速發(fā)表網(wǎng)結(jié)合其深厚的文秘經(jīng)驗(yàn),特別為您篩選了11篇軟件開(kāi)發(fā)與定制范文。如果您需要更多原創(chuàng)資料,歡迎隨時(shí)與我們的客服老師聯(lián)系,希望您能從中汲取靈感和知識(shí)!
隨著企業(yè)的不斷發(fā)展,信息資產(chǎn)的不斷壯大,標(biāo)準(zhǔn)而統(tǒng)一的管理方式越來(lái)越得到重視。在終端維護(hù)的領(lǐng)域中,為減少環(huán)境的復(fù)雜度,降低信息系統(tǒng)推廣成本,提高管理和維護(hù)效率,終端標(biāo)準(zhǔn)化配置是必要的。然而在維護(hù)這些標(biāo)準(zhǔn)化配置的過(guò)程中,很多操作都是重復(fù)的,耗時(shí)的?!督K端軟件安裝一鍵定置工具》(以下簡(jiǎn)稱《軟件》)以應(yīng)用軟件自動(dòng)腳本配置為核心,實(shí)現(xiàn)多應(yīng)用軟件的統(tǒng)一配置、一鍵打包、自動(dòng)安裝的功能,從而提高終端軟件維護(hù)效率,減免人為操作的煩瑣和錯(cuò)誤。
2.設(shè)計(jì)原理
桌面應(yīng)用軟件的安裝操作以事件驅(qū)動(dòng)為原理,即通過(guò)鼠標(biāo)點(diǎn)擊、鍵盤(pán)敲擊等事件來(lái)觸發(fā)軟件下一步動(dòng)作,要想實(shí)現(xiàn)應(yīng)用軟件的自動(dòng)安裝則必須按照一定的順序在既定的時(shí)機(jī)對(duì)應(yīng)用軟件上的組件(控件)發(fā)送特定的事件,從而驅(qū)動(dòng)軟件完成一系列動(dòng)作,實(shí)現(xiàn)對(duì)目標(biāo)軟件進(jìn)行一系列操作的定義我們稱之為腳本錄制。將我們需要的操作錄制成腳本,可以實(shí)現(xiàn)自動(dòng)、準(zhǔn)確、重復(fù)的操作,提高執(zhí)行效率。
腳本錄制在軟件測(cè)試中廣泛被應(yīng)用,本軟件基于腳本錄制的原理,通過(guò)Hook技術(shù)獲取應(yīng)用窗體控件信息,通過(guò)本軟件提供的功能先控件發(fā)送特定事件,完成安裝腳本的錄制。最后通過(guò)對(duì)錄制好的軟件進(jìn)行管理,實(shí)現(xiàn)多應(yīng)用軟件安裝腳本組合,最終導(dǎo)出完整的執(zhí)行腳本。
本軟件錄制的腳本符合autoit腳本標(biāo)準(zhǔn),通過(guò)autoit工具將腳本和源安裝文件統(tǒng)一打包成可執(zhí)行文件,實(shí)現(xiàn)終端軟件安裝一鍵定置。
3.主要特點(diǎn)
(1)、兼容性好,《軟件》定置的軟件可以在不同的windows桌面環(huán)境自動(dòng)運(yùn)行。
(2)、配置簡(jiǎn)易,只要理解自動(dòng)安裝的工作原理,就可以簡(jiǎn)單方便的配置軟件自安裝腳本。
(3)、擴(kuò)展性強(qiáng),《軟件》提供了基本的自動(dòng)配置操作,同時(shí)也集成了自定義操作的輸入,只要熟悉autoit腳本就可以做出更為復(fù)雜的定置執(zhí)行包。
4.具體功能
《軟件》包含了如下幾個(gè)功能模塊:自安裝腳本錄制、自安裝腳本管理和腳本編譯模塊。模塊具體功能如下:
(1)、自安裝腳本錄制:該模塊提供了制作應(yīng)用軟件自安裝腳本的功能,通過(guò)鉤子技術(shù)實(shí)現(xiàn)對(duì)應(yīng)用軟件句柄信息的獲取,然后再通過(guò)界面完成軟件安裝配置,最后通過(guò)流的方式叫腳本獨(dú)立保存在文件中。
(2)、自安裝腳本管理:該模塊提供對(duì)錄制腳本刪除、打包導(dǎo)出錄制腳本功能。
(3)、腳本編譯模塊:該模塊實(shí)現(xiàn)了對(duì)導(dǎo)出的自安裝腳本的封包工作,最終輸出一鍵自安裝包。
5.主要操作模塊
5.1錄制自安裝腳本
用戶通過(guò)系統(tǒng)主界面進(jìn)入到“創(chuàng)建自動(dòng)安裝腳本”界面,此時(shí)程序會(huì)在系統(tǒng)注冊(cè)鍵盤(pán)和鼠標(biāo)的鉤子程序。選擇要錄制的文件,點(diǎn)擊“運(yùn)行程序”按鈕,開(kāi)始自安裝腳本的錄制。應(yīng)用軟件啟動(dòng)后,根據(jù)界面提示組合鍵“ctrl+s”啟動(dòng)鼠標(biāo)鉤子,此時(shí)用鼠標(biāo)點(diǎn)擊應(yīng)用軟件,激活應(yīng)用軟件窗口,然后再按組合鍵 “ctrl+c”停止鼠標(biāo)鉤子,程序?qū)⒉东@到應(yīng)用軟件的句柄。通過(guò)該句柄我們可以獲取到應(yīng)用軟件的組件信息,如圖1所示:
圖1
有了應(yīng)用軟件的控件信息后,我們?cè)谕ㄟ^(guò)程序提供更多操作選項(xiàng)操作應(yīng)用程序上的控件。如點(diǎn)擊“確定”按鈕,如圖2所示:
圖2
自動(dòng)安裝腳本是一種類似BASIC腳本語(yǔ)言,它運(yùn)行于AutoIt環(huán)境。只要我們初步了解autoit的運(yùn)行原理和簡(jiǎn)單的語(yǔ)法規(guī)則,我們就可以做出復(fù)雜的而統(tǒng)一的自動(dòng)操作。完成對(duì)應(yīng)用軟件的控件操作后,點(diǎn)擊“保存”按鈕,系統(tǒng)將錄制腳本和應(yīng)用軟件信息以流對(duì)象的方式保存到硬盤(pán)上。然后我們?cè)偻ㄟ^(guò)自安裝腳本管理模塊去管理這些流對(duì)象。
5.2自安裝腳本管理
《軟件》在啟動(dòng)后,會(huì)從特定的目錄下將錄制好的自安裝腳本對(duì)象讀取到內(nèi)存顯示到界面,我們可以對(duì)這些腳本對(duì)象進(jìn)行刪除、打包等操作。選擇需要打包的文件,添加到“打包文件”列表,然后點(diǎn)擊“導(dǎo)出腳本”按鈕,彈出“導(dǎo)出自動(dòng)安裝腳本文件”界面,如圖3所示。通過(guò)該功能可以實(shí)現(xiàn)多應(yīng)用軟件的自安裝腳本打包。
圖3
5.3腳本編譯模塊
有了打包好的腳本文件后,我們就可以編譯我們需要的自動(dòng)安裝可執(zhí)行文件了。編譯這些文件需要autoit環(huán)境,為此我們需要安裝autoit-v3-setup.exe(免費(fèi)軟件)。右鍵腳本文件,選擇編譯,得到自安裝可執(zhí)行文件,如圖4:
圖4
6.軟件應(yīng)用
根據(jù)目前終端維護(hù)的需要,使用該系統(tǒng)定置出一款通用配置多應(yīng)用安裝包,輸出腳本文件如下:
圖5
最后編譯成自安裝文件,將安裝文件一并封裝:
1.引言
外壓容器失穩(wěn)教學(xué)實(shí)驗(yàn)是將容器在外壓作用下造成失穩(wěn)變形的一種典型實(shí)驗(yàn),具有操作簡(jiǎn)單、結(jié)果直觀等特點(diǎn),故長(zhǎng)期被作為過(guò)程裝備與控制工程專業(yè)開(kāi)設(shè)專業(yè)實(shí)驗(yàn)課的必選實(shí)驗(yàn)。由于早期實(shí)驗(yàn)測(cè)試程序是基于VB6.0開(kāi)發(fā)的,一直以來(lái)存在兩個(gè)顯著的缺點(diǎn):一是功能拓展性較差,測(cè)試數(shù)據(jù)和參量有限;二是兼容性不好,目前無(wú)法應(yīng)用于Win7,Win8及64位系統(tǒng)。為此,筆者針對(duì)傳統(tǒng)驗(yàn)證型外壓容器失穩(wěn)實(shí)驗(yàn)的不足,采用大型工程軟件MATLAB開(kāi)發(fā)外壓容器穩(wěn)定性實(shí)驗(yàn)測(cè)試程序和控制系統(tǒng),便于監(jiān)控外壓容器穩(wěn)定性,確保實(shí)驗(yàn)過(guò)程的安全性。
2.外壓容器失穩(wěn)理論及外壓容器實(shí)驗(yàn)測(cè)試系統(tǒng)介紹
2.1外壓容器及其穩(wěn)定性說(shuō)明
在外壓作用下,筒體突然失去原有形狀的現(xiàn)象稱為彈性失穩(wěn)。容器發(fā)生彈性失穩(wěn)將使容器不能維持正常操作,造成容器失效。外壓圓筒在失穩(wěn)以前,筒壁內(nèi)只有單純的壓縮應(yīng)力。在失穩(wěn)時(shí),由于突然的變形,在筒壁內(nèi)生了以彎曲應(yīng)力為主的附加應(yīng)力,而且這種變形和附加應(yīng)力一直迅速發(fā)展到筒體被壓癟或發(fā)生褶縐為止。所以外壓容器的失穩(wěn),實(shí)際上是容器筒壁內(nèi)的應(yīng)力狀態(tài)由單純的壓應(yīng)力平衡躍變?yōu)橹饕軓澢鷳?yīng)力的新平衡。
容器的失穩(wěn)形式有整體失穩(wěn)和局部失穩(wěn)兩種。本實(shí)驗(yàn)測(cè)試系統(tǒng)研究的是實(shí)驗(yàn)試件整體失穩(wěn)的情況,整體失穩(wěn)根據(jù)失穩(wěn)方向分為側(cè)向失穩(wěn)和軸向失穩(wěn)兩種[1]。
容器由于均勻側(cè)向外壓引起的失穩(wěn)叫做側(cè)向失穩(wěn)。側(cè)向失穩(wěn)時(shí)殼體橫斷面由原來(lái)的圓形被壓癟而呈現(xiàn)波形,其波形數(shù)可以等于兩個(gè)、三個(gè)、四個(gè)。軸向外壓則引起容器軸向失穩(wěn),變形為徑線由直線變?yōu)榍€。
2.2外壓容器實(shí)驗(yàn)及測(cè)試系統(tǒng)說(shuō)明
外壓容器失穩(wěn)實(shí)驗(yàn)是將容器在外壓作用下造成失穩(wěn)變形的一種教學(xué)實(shí)驗(yàn),也是壓力容器失效破壞的一個(gè)典型教學(xué)演示實(shí)例,它具有操作簡(jiǎn)單、結(jié)果直觀等特點(diǎn),被作為過(guò)程裝備與控制工程專業(yè)開(kāi)設(shè)專業(yè)實(shí)驗(yàn)課的首選實(shí)驗(yàn)。國(guó)內(nèi)高校如浙江大學(xué)、南京工業(yè)大學(xué)等一直致力于穩(wěn)定性測(cè)試裝置的研究和開(kāi)發(fā)。
3.基于MATLAB軟件開(kāi)發(fā)外壓容器穩(wěn)定性實(shí)驗(yàn)控制系統(tǒng)
3.1MATLAB軟件簡(jiǎn)介
MATLAB是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語(yǔ)言的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。
3.2基于MATLAB軟件開(kāi)發(fā)實(shí)驗(yàn)系統(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é)
1.建立領(lǐng)域特征的模型
1.1GIS應(yīng)用軟件開(kāi)發(fā)領(lǐng)域中建模的方式。在本研究中,主要是通過(guò)對(duì)領(lǐng)域工程中的理論知識(shí)進(jìn)行研究,以面向特征領(lǐng)域工程的方法對(duì)特定領(lǐng)域邊界進(jìn)行確定,并且在此基礎(chǔ)上對(duì)具體的信息源進(jìn)行有效的識(shí)別,其具體的操作方法如下:首先,領(lǐng)域邊界模型主要是根據(jù)領(lǐng)域結(jié)構(gòu)圖以及數(shù)據(jù)流程圖表示方式來(lái)建立的。其次,在獲取特征的時(shí)候,通常會(huì)采用需求聚類聯(lián)合人工分析的方式來(lái)獲取。再次,通常會(huì)采用FORM方式的特征模型來(lái)建立特征模型中元模型。另外,對(duì)其特征模型的檢驗(yàn)主要采用fmp工具來(lái)檢驗(yàn)[1]。
1.2GIS應(yīng)用軟件開(kāi)發(fā)建模的流程。在領(lǐng)域邊界模型中包括領(lǐng)域結(jié)構(gòu)圖與領(lǐng)域數(shù)據(jù)流程圖,這些圖形需要通過(guò)信息源進(jìn)行分析,在GIS應(yīng)用軟件開(kāi)發(fā)建模的過(guò)程中,其主要步驟與流程如圖1所示。
圖1GIS應(yīng)用軟件建模流程圖
2.定制特定應(yīng)用特征模型
2.1特征模型定制的基本原理。在特征模型定制的過(guò)程中,需要對(duì)其原理進(jìn)行明確,以便為GIS應(yīng)用軟件的開(kāi)發(fā)提供基礎(chǔ)與前提條件。在特征模型的定制中,其主要原理是從領(lǐng)域特征模型逐漸向應(yīng)用特征模型的定制流程,病按照提舉的應(yīng)用特定需求對(duì)該模型的變化特征進(jìn)行適當(dāng)?shù)慕壎ɑ騽h除,以便得到適當(dāng)?shù)膽?yīng)用系統(tǒng)需求。在特征模型中,其特征根據(jù)變化性分析可以將其分為變化性特征與共性特征兩個(gè)方面。在特定額領(lǐng)域中,應(yīng)用系統(tǒng)基本都存在的特征即共性特征,否則為變化性特征。共性特征主要是度領(lǐng)域的共性進(jìn)行反映,其領(lǐng)域中的核心組成部分。而變化性特征是對(duì)領(lǐng)域中具有的變化進(jìn)行提現(xiàn),是以共性特征為基礎(chǔ)的,兩者不能對(duì)立存在。在特征模型定制的過(guò)程中國(guó),共性特征是不可刪除的部分,其定制的核心問(wèn)題是對(duì)變化性特征進(jìn)行判斷與綁定。另外,按照領(lǐng)域征的可選擇以及相互之間的關(guān)系進(jìn)行分類,可以將其分為可選特征、強(qiáng)制性特征以及可替換特征。其中可選特征指的是由無(wú)到有的可供選擇的特征;強(qiáng)制性特征是必備的特征,主要體現(xiàn)出領(lǐng)域中的核心與特點(diǎn),是其基礎(chǔ)結(jié)構(gòu);可替換特征指的是至少有一個(gè)被選中的特征,不同系統(tǒng)中對(duì)統(tǒng)一特點(diǎn)具有不同的處理方式。此外,根據(jù)特征的內(nèi)容可以將其分為領(lǐng)域技術(shù)類、實(shí)現(xiàn)技術(shù)了、操作環(huán)境了以及功能類特征[2]。
2.2特征模型定制的基本原則。在特征模型定制的時(shí)候,需要對(duì)其基本原則進(jìn)行分析,其原則主要包括在符合領(lǐng)域特征模型中,在特征之間約束的前提下對(duì)領(lǐng)域特征模型進(jìn)行適當(dāng)?shù)牟脺p,以便更好的滿足特定應(yīng)用的序曲。但是,由于該模型中相應(yīng)的形式化基礎(chǔ)比較缺乏,針對(duì)該模型的檢驗(yàn)需要依靠其他邏輯方法,包括一階邏輯、命題邏輯方法等。在建立模型的時(shí)候,需要通過(guò)特征間的關(guān)系進(jìn)行分析,以便建立特征間的約束關(guān)系,同時(shí),還需要借助輸血命題邏輯演算方式對(duì)約束關(guān)系進(jìn)行監(jiān)控,以便更好的為領(lǐng)域特征模型的制定提供依據(jù)。
2.3特征模型定制的方式。在根據(jù)特征模型中的各種約束進(jìn)行分析,并且在建立追蹤性領(lǐng)域特征模型之后,需要根據(jù)相關(guān)需求,對(duì)領(lǐng)域特征模型中的操作流程進(jìn)行適當(dāng)?shù)募舨茫员惬@取適當(dāng)?shù)哪P?。但是在?shí)際制定的過(guò)程中,需要對(duì)剪裁的結(jié)果進(jìn)行適當(dāng)?shù)臄U(kuò)充。通過(guò)將反復(fù)機(jī)制引入其中,對(duì)特殊情況的需求進(jìn)行不斷的更新與改進(jìn),將這些新的特征逐漸加入到應(yīng)用模型當(dāng)中,以便對(duì)該模型進(jìn)行有效的開(kāi)發(fā)與利用。
3.特定應(yīng)用特征模型的實(shí)現(xiàn)方式
3.1特定應(yīng)用特征模型的概念構(gòu)件映射。在模型中,要想對(duì)需求急性有效的表達(dá),需要通過(guò)特征來(lái)完成,只有將需求特征轉(zhuǎn)換成為主流的編程技術(shù)能顧識(shí)別的構(gòu)件來(lái)達(dá)到目的。在實(shí)現(xiàn)的途徑中,將特征映射成為構(gòu)件hi急需要解決的問(wèn)題,其關(guān)系到領(lǐng)域工程的工作效率。在傳統(tǒng)軟件開(kāi)發(fā)的時(shí)候,對(duì)象轉(zhuǎn)換主要是根據(jù)系統(tǒng)分析人員的工作經(jīng)驗(yàn)以及思考方式來(lái)完成的。如果在對(duì)象轉(zhuǎn)換的過(guò)程中,能夠及時(shí)發(fā)現(xiàn)存在的否中映射原則,就能夠有效的縮短軟件開(kāi)發(fā)的時(shí)間,促進(jìn)軟件生產(chǎn)質(zhì)量的提高。其中FORM方法征轉(zhuǎn)換構(gòu)建屬于一種一對(duì)一的映射關(guān)系,通過(guò)學(xué)者的研究發(fā)現(xiàn),在此基礎(chǔ)上可以提出多對(duì)一或一對(duì)多的映射關(guān)系[3]。
3.2GIS概念構(gòu)件的實(shí)現(xiàn)。在GIS組件概念的實(shí)踐過(guò)程中,由于其具有一定的復(fù)雜性,需要對(duì)其進(jìn)行細(xì)致的研究。同時(shí),為了有效的提高該軟件開(kāi)發(fā)的質(zhì)量與效率,以便減少排不必要的勞動(dòng)力,需要在基于構(gòu)件的軟件開(kāi)發(fā)技術(shù)中對(duì)GIS軟件技術(shù)進(jìn)行有效的開(kāi)發(fā)。在其中大粒度構(gòu)件與某個(gè)特定的領(lǐng)域具有密切的聯(lián)系,即存在一定的領(lǐng)域相關(guān)性,同時(shí),其復(fù)用率較高,通過(guò)對(duì)進(jìn)行全面的研究分析,GIS組件轉(zhuǎn)化成對(duì)象模型的具體方式如下:首先,需要對(duì)其基礎(chǔ)設(shè)置構(gòu)件進(jìn)行挖掘。其次,需要借助設(shè)計(jì)模型以及相關(guān)的理論知識(shí),實(shí)現(xiàn)概念構(gòu)件模型。
4.總結(jié)
隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展,在信息技術(shù)與計(jì)算機(jī)技術(shù)高速發(fā)展的前提下,GIS應(yīng)用軟件開(kāi)發(fā)變得尤為重要,其在各個(gè)領(lǐng)域中的應(yīng)用也隨之?dāng)U大。通過(guò)對(duì)GIS軟甲進(jìn)行有效的開(kāi)發(fā),確保其開(kāi)發(fā)的產(chǎn)品更加符合特定領(lǐng)域的需求。通過(guò)對(duì)其進(jìn)行開(kāi)發(fā)與利用,可以確保開(kāi)發(fā)的產(chǎn)品具有擴(kuò)展性與可維護(hù)性的特點(diǎn),更好的適應(yīng)社會(huì)的發(fā)展需求。(作者單位:江西現(xiàn)代職業(yè)技術(shù)學(xué)院)
參考文獻(xiàn):
從2004年8月成立時(shí)的不足30人,到如今的500人,以及預(yù)計(jì)年底的800人規(guī)模,神州數(shù)碼西安軟件開(kāi)發(fā)中心在兩年的時(shí)間里獲得了幾何級(jí)數(shù)的成長(zhǎng)。
“西安軟件開(kāi)發(fā)中心的建設(shè),標(biāo)志著神州數(shù)碼正式擺脫了軟件定制化開(kāi)發(fā)的傳統(tǒng)模式,邁向國(guó)際通行的規(guī)?;⒁?guī)范化的基地化開(kāi)發(fā)新階段。通過(guò)基地化開(kāi)發(fā),軟件開(kāi)發(fā)成本降低,軟件價(jià)值獲得極大的提升,公司業(yè)績(jī)也獲得了成倍的增長(zhǎng)。”潘東說(shuō)。
目前,國(guó)內(nèi)絕大多數(shù)應(yīng)用軟件廠商仍在沿用在客戶現(xiàn)場(chǎng)開(kāi)發(fā)的定制化開(kāi)發(fā)模式,缺乏規(guī)?;l(fā)展的能力,也缺少國(guó)際通行的規(guī)范的軟件研發(fā)管理流程,這嚴(yán)重阻礙了中國(guó)軟件業(yè)的未來(lái)發(fā)展。
“目前國(guó)內(nèi)很多軟件企業(yè)的項(xiàng)目按計(jì)劃完成率不到70%,其中全球軟件開(kāi)發(fā)項(xiàng)目中只有16%能按計(jì)劃完成?!?/p>
早在2002年,中國(guó)人民銀行支付科技司司長(zhǎng)陳靜就表示,銀行業(yè)大型計(jì)算機(jī)系統(tǒng)和應(yīng)用集成系統(tǒng)面臨著全面的改造,而國(guó)內(nèi)的IT企業(yè)鮮有能承擔(dān)起金額在5000萬(wàn)人民幣以上的系統(tǒng)的改造任務(wù)。
此外,專門(mén)為某一客戶開(kāi)發(fā)的軟件系統(tǒng),服務(wù)商需要從這個(gè)客戶那里收回全部的開(kāi)發(fā)成本,因此往往造成項(xiàng)目開(kāi)發(fā)費(fèi)用的居高不下,使服務(wù)商和客戶均承受著巨大的壓力。試想,一個(gè)上千萬(wàn)元的大型項(xiàng)目完全采用定制模式開(kāi)發(fā),系統(tǒng)的質(zhì)量姑且不論,只系統(tǒng)開(kāi)發(fā)所耗費(fèi)的時(shí)間,又有幾家軟件公司承受得起呢?這樣的大型項(xiàng)目,客戶怎能不慎之又慎。
2004年8月,神州數(shù)碼在西安建設(shè)超大型軟件開(kāi)發(fā)基地,并同步建立了規(guī)范的軟件開(kāi)發(fā)過(guò)程、嚴(yán)格的質(zhì)量管理體系、高效的員工培訓(xùn)體系和優(yōu)良的軟件開(kāi)發(fā)集成環(huán)境?;貙?duì)銀行客戶項(xiàng)目、內(nèi)部研發(fā)項(xiàng)目以及國(guó)外集成產(chǎn)品進(jìn)行集中開(kāi)發(fā),同時(shí)還配套建立了提供專業(yè)測(cè)試服務(wù)的測(cè)試中心和IT外包的運(yùn)維中心。
目前,神州數(shù)碼西安軟件開(kāi)發(fā)中心已經(jīng)通過(guò)了CMMI 3級(jí)認(rèn)證,并采用國(guó)際標(biāo)準(zhǔn)的軟件工廠式集約管理,不僅軟件的開(kāi)發(fā)時(shí)間被成倍乃至幾十倍地縮短,而且,由于建立了優(yōu)良的集成開(kāi)發(fā)環(huán)境,配備了先進(jìn)的測(cè)試工具和質(zhì)量管理體系,開(kāi)發(fā)出的軟件系統(tǒng)的穩(wěn)定性和質(zhì)量也得到了很大提高。
開(kāi)發(fā)中心執(zhí)行“3P項(xiàng)目管理體系”,覆蓋了Project(項(xiàng)目)、 Procedure( 過(guò)程)和People(人員)三個(gè)管理層次,將“按預(yù)期交付”的目標(biāo)自上而下貫徹到參與項(xiàng)目的每個(gè)人。
1 產(chǎn)品化與定制化軟件綜述
產(chǎn)品化軟件和定制化軟件在流程電子化方面,尤其是管理支撐類流程方面存在一定程度的重疊,但兩者的定位不管是從產(chǎn)品的體系架構(gòu),或者是在實(shí)施方法論等方面還是存在很大的差異。從更好地滿足客戶的核心業(yè)務(wù)需求的角度出發(fā),相較于傳統(tǒng)的產(chǎn)品化軟件,定制化軟件在滿足企業(yè)核心業(yè)務(wù)流程管理方面是具有明顯優(yōu)勢(shì)的。但是隨著產(chǎn)品化軟件的不斷發(fā)展和完善,對(duì)于數(shù)據(jù)處理要求不是很高,業(yè)務(wù)邏輯相對(duì)簡(jiǎn)單的系統(tǒng)來(lái)說(shuō),產(chǎn)品化軟件已經(jīng)逐漸體現(xiàn)出它的優(yōu)勢(shì)。目前,主流的產(chǎn)品化平臺(tái)軟件中的一個(gè)核心功能應(yīng)用在于流程管理,從專業(yè)角度來(lái)看,產(chǎn)品化平臺(tái)軟件已經(jīng)含有流程管理的功能模型,并已經(jīng)完全含有項(xiàng)目化平臺(tái)軟件的核心功能,例如表單建模、流程引擎、權(quán)限模型等核心功能點(diǎn)。
2 產(chǎn)品化軟件與定制化軟件優(yōu)劣勢(shì)分析對(duì)比
2.1 用戶體驗(yàn)和頁(yè)面友好性方面的對(duì)比
定制化開(kāi)發(fā)軟件隨著使用年限的不斷增加,軟件開(kāi)發(fā)技術(shù)的不斷發(fā)展,導(dǎo)致系統(tǒng)兼容性、UI可用性和易用性不斷下降,隨著計(jì)算機(jī)操作系統(tǒng)、瀏覽器軟件和OFFICE等辦公軟件的更新?lián)Q代,經(jīng)常發(fā)生按鈕功能不正常,系統(tǒng)頁(yè)面顯示不正常等問(wèn)題。大多數(shù)企業(yè)員工信息技術(shù)水平有限,很難自行對(duì)瀏覽器和操作系統(tǒng)進(jìn)行兼容性調(diào)整和設(shè)置,從而降低了日常的工作效率,也加大了信息化部門(mén)的工作量。而產(chǎn)品化軟件方面則不存在以上問(wèn)題,由于產(chǎn)品版本迭代速度較快,能夠做到持續(xù)改進(jìn),所以能很好的適應(yīng)其周邊軟件的不斷升級(jí)更新,系統(tǒng)頁(yè)面友好美觀,與日常辦公軟件能夠良好銜接,基本上不會(huì)發(fā)生由于系統(tǒng)兼容性而導(dǎo)致系統(tǒng)功能不正常的問(wèn)題。
2.2 系統(tǒng)功能、開(kāi)發(fā)周期與開(kāi)發(fā)成本方面
產(chǎn)品化軟件其優(yōu)點(diǎn)在于能夠滿足客戶絕大部分通用的需求,且建設(shè)費(fèi)用相對(duì)較低。由于事前已經(jīng)有較為成熟的產(chǎn)品化功能模塊,從而能夠在需求分析階段結(jié)束后直接進(jìn)入系統(tǒng)的搭建與測(cè)試階段,省略了傳統(tǒng)軟件開(kāi)發(fā)生命周期中基本設(shè)計(jì)、詳細(xì)設(shè)計(jì)、代碼編寫(xiě)這幾個(gè)最為耗時(shí)費(fèi)力的工程段,能夠做到快速搭建、快速部署、快速上線,大大加快了項(xiàng)目實(shí)施進(jìn)度。由于有產(chǎn)品化功能模塊和可視化系統(tǒng)搭建平臺(tái)的存在,整個(gè)項(xiàng)目實(shí)施過(guò)程中不需要程序代碼的編寫(xiě),所以幾乎不需要有很強(qiáng)技術(shù)功底的開(kāi)發(fā)人員的參與其中,從而也降低了整個(gè)項(xiàng)目建設(shè)的人力成本。相對(duì)于業(yè)務(wù)簡(jiǎn)單通用,變化小,成熟性的公司,這種產(chǎn)品化軟件的性能價(jià)格比還是很有吸引力的。
定制化軟件方面,軟件自身完全可以按照客戶的需求來(lái)定制,能夠做到量身定制,在客戶一些細(xì)節(jié)需求的對(duì)應(yīng)上較為靈活。但定制化軟件的建設(shè)實(shí)施工作由于是從零開(kāi)始,從無(wú)到有,所以需要經(jīng)歷完整的軟件開(kāi)發(fā)生命周期,相對(duì)于產(chǎn)品化軟件來(lái)說(shuō)開(kāi)發(fā)周期長(zhǎng),對(duì)系統(tǒng)建設(shè)人員的技術(shù)水平要求較高。另外定制化軟件實(shí)施的成功必須建立在兩個(gè)前提條件下,一是客戶有一套清晰成熟的管理方法,能夠非常明確系統(tǒng)的提出自身的業(yè)務(wù)需求;二是供應(yīng)商擁有一批既熟悉業(yè)務(wù),又熟悉軟件開(kāi)發(fā)技術(shù),而且要具有豐富的開(kāi)發(fā)經(jīng)驗(yàn)的業(yè)務(wù)技術(shù)專家。這兩個(gè)條件缺一不可,項(xiàng)目實(shí)施的成功與否,周期長(zhǎng)短,所實(shí)現(xiàn)功能與顧客需求的差異性,都取決于這兩個(gè)方面。而作為在市場(chǎng)上被廣泛接受的成熟的產(chǎn)品化軟件來(lái)說(shuō),在一定程度上是為企業(yè)提供了一套管理的思路、管理方法的模板與建議,企業(yè)可以去主動(dòng)地適應(yīng)產(chǎn)品,把產(chǎn)品的設(shè)計(jì)理念、管理流程應(yīng)用到企業(yè)自身的日常管理中。所以對(duì)于管理思路不是很清晰企業(yè),購(gòu)買(mǎi)產(chǎn)品化軟件不僅是購(gòu)買(mǎi)了一套軟件更是購(gòu)買(mǎi)了一套較為成熟的管理方法論,也是對(duì)成熟先進(jìn)管理方法的一次學(xué)習(xí)和浸潤(rùn)。
3 系統(tǒng)維護(hù)方面的對(duì)比
3.1 新增、變更需求對(duì)應(yīng)方面
對(duì)于定制化軟件來(lái)說(shuō)只要發(fā)生新增需求或者變更需求都必然需要通過(guò)修改代碼的方式去應(yīng)對(duì),代碼的修改和增加即會(huì)產(chǎn)生相應(yīng)的開(kāi)發(fā)工作量,則需按工作量付給供應(yīng)商相應(yīng)的開(kāi)發(fā)費(fèi)用。
而產(chǎn)品化軟件由于采用可視化、配置化的系統(tǒng)搭建平臺(tái)實(shí)現(xiàn)業(yè)務(wù)需求的理念,在流程的調(diào)整變更與新增、表單內(nèi)容的調(diào)整變更、頁(yè)面布局的調(diào)整變更等方面,全都可以通過(guò)系統(tǒng)管理員在可視化管理平臺(tái)上自行調(diào)整,不需要通過(guò)修改增加代碼的方式去實(shí)現(xiàn),所以節(jié)省了很大一部分由需求變更所產(chǎn)生的開(kāi)發(fā)費(fèi)用。只有通過(guò)后臺(tái)配置不能實(shí)現(xiàn)的新增、變更需求,才需要與供應(yīng)商溝通進(jìn)行定制化開(kāi)發(fā)并產(chǎn)生相應(yīng)的費(fèi)用。另外,進(jìn)入維護(hù)階段后只需支付供應(yīng)商一定數(shù)量的電話服務(wù)費(fèi)用,不需要供應(yīng)商提供專員在客戶現(xiàn)場(chǎng)進(jìn)行維護(hù)工作。
綜上所述,產(chǎn)品化軟件后期可以根據(jù)業(yè)務(wù)流程變化靈活調(diào)整,經(jīng)過(guò)培訓(xùn)的企業(yè)信息化人員可自主完成,無(wú)需依賴廠商,基本不產(chǎn)生系統(tǒng)升級(jí)開(kāi)發(fā)費(fèi)用,與定制化軟件相比大大節(jié)省了系統(tǒng)維護(hù)成本。
3.2 系統(tǒng)維護(hù)方式與服務(wù)響應(yīng)時(shí)間方面
定制化軟件維護(hù)方式的優(yōu)勢(shì)在于由于開(kāi)發(fā)人員在長(zhǎng)期客戶的現(xiàn)場(chǎng)服務(wù),且對(duì)系統(tǒng)架構(gòu)和源代碼以及公司業(yè)務(wù)相關(guān)業(yè)務(wù)較為熟悉所以響應(yīng)速度較為迅速。但隨著定制化軟件使用年限的增加,維護(hù)人員的流動(dòng)不可避免,所以會(huì)造成代碼的健壯性與可讀性不斷下降,導(dǎo)致只有專門(mén)的對(duì)系統(tǒng)極為熟悉的供應(yīng)商開(kāi)發(fā)人員才能對(duì)系統(tǒng)進(jìn)行維護(hù)工作。通常的項(xiàng)目化軟件維護(hù)周期中,隨著系統(tǒng)上線時(shí)間的增加,系統(tǒng)運(yùn)行越發(fā)穩(wěn)定,項(xiàng)目團(tuán)隊(duì)從維護(hù)成本上考慮通常會(huì)逐年遞減系統(tǒng)維護(hù)人員,甚至最后整個(gè)系統(tǒng)的維護(hù)工作只有一個(gè)維護(hù)人員擔(dān)當(dāng)完成,如果維護(hù)人員較為單一,倘若此時(shí)人員發(fā)生變動(dòng),新的維護(hù)人員很難在短時(shí)間內(nèi)理解系統(tǒng)實(shí)現(xiàn)方式以及所有源代碼,很難在短期內(nèi)開(kāi)展相關(guān)維護(hù)工作,從而使系統(tǒng)維護(hù)工作出現(xiàn)空窗期,這對(duì)系統(tǒng)的穩(wěn)定運(yùn)行可能造成較大的影響。
從傳統(tǒng)軟件分類
到四級(jí)開(kāi)發(fā)模式
從軟件開(kāi)發(fā)商的角度看,傳統(tǒng)的軟件包括兩類: 一類是針對(duì)企業(yè)業(yè)務(wù)需求定制的軟件系統(tǒng),另一類是通用的商品化軟件產(chǎn)品。
定制軟件這種方式的優(yōu)點(diǎn)是能最大程度地從企業(yè)實(shí)際業(yè)務(wù)管理需要出發(fā),開(kāi)發(fā)出適合本企業(yè)個(gè)性特點(diǎn)的管理軟件系統(tǒng); 缺點(diǎn)是開(kāi)發(fā)費(fèi)用高、實(shí)施周期長(zhǎng),并且由于軟件沒(méi)有經(jīng)過(guò)長(zhǎng)時(shí)間的運(yùn)行使用,存在可靠性、穩(wěn)定性不足等風(fēng)險(xiǎn),為此企業(yè)不得不配備一個(gè)技術(shù)過(guò)硬的團(tuán)隊(duì)隨時(shí)維護(hù)軟件,這對(duì)企業(yè)的信息化管理部門(mén)提出了更高的要求。另外,在這類定制開(kāi)發(fā)的項(xiàng)目中,往往會(huì)出現(xiàn)編碼不規(guī)范、技術(shù)文檔管理混亂等現(xiàn)象,當(dāng)軟件需要再改造的時(shí)候,技術(shù)人員很可能讀不懂原始代碼,又無(wú)從可查,造成企業(yè)信息化投資的浪費(fèi)。
商品化軟件的優(yōu)點(diǎn)是在開(kāi)發(fā)過(guò)程中融合了優(yōu)秀的業(yè)內(nèi)管理經(jīng)驗(yàn),并且隨著市場(chǎng)的應(yīng)用成熟度提升與積累,軟件不斷優(yōu)化、升級(jí)、換代。但是,這類軟件無(wú)法解決企業(yè)的個(gè)性化業(yè)務(wù)需求。每個(gè)企業(yè)的管理模式、運(yùn)營(yíng)模式都不可能完全復(fù)制,正如每個(gè)企業(yè)的業(yè)務(wù)流程都不盡相同一樣。因此,不同的企業(yè)對(duì)管理軟件的應(yīng)用需求是不同的。這種需求的不同既可以體現(xiàn)在不同的行業(yè)上,如醫(yī)藥流通企業(yè)選擇業(yè)務(wù)管理系統(tǒng)時(shí)對(duì)GSP管理模塊會(huì)重點(diǎn)考察; 需求的不同也體現(xiàn)在行業(yè)內(nèi)部,如大中小不同規(guī)模的同行業(yè)企業(yè)對(duì)管理軟件的需求就會(huì)存在很大差異。更值得關(guān)注的是,企業(yè)在應(yīng)對(duì)激烈的市場(chǎng)競(jìng)爭(zhēng)時(shí),其經(jīng)營(yíng)也在不斷變化,這就使得企業(yè)的管理軟件要具備隨需應(yīng)變的能力,而商品化軟件對(duì)這方面的響應(yīng)明顯要遲鈍得多。
顯然,不管是定制軟件還是商品化軟件,都有無(wú)法跨越的鴻溝。因此,業(yè)內(nèi)一些專家一直都在探索一條介于定制軟件和商品化軟件之間的模式,比如平臺(tái)化軟件的提出、比如SOA架構(gòu)的引入。但是,具體以何種模式讓軟件開(kāi)發(fā)商與企業(yè)共同參與其中并沒(méi)有標(biāo)準(zhǔn)。筆者所在的時(shí)空軟件經(jīng)過(guò)十余年的探索,積累了一套四級(jí)開(kāi)發(fā)模式。這種模式可以兼顧軟件成熟穩(wěn)定與滿足企業(yè)個(gè)性化需求的雙重需要,并在幾千家企業(yè)中得到成功實(shí)踐。
從通用的基礎(chǔ)平臺(tái)到形成行業(yè)解決方案的四級(jí)開(kāi)發(fā)過(guò)程
四級(jí)開(kāi)發(fā)模式解析
四級(jí)開(kāi)發(fā)模式是指在軟件基礎(chǔ)平臺(tái)公共化的基礎(chǔ)上滿足企業(yè)個(gè)性化需要,適應(yīng)企業(yè)功能擴(kuò)展需求的一種方案。具體如下:
第一級(jí),基礎(chǔ)技術(shù)平臺(tái)開(kāi)發(fā)。軟件開(kāi)發(fā)商技術(shù)研發(fā)部門(mén)完成管理軟件的底層技術(shù)架構(gòu),涉及開(kāi)發(fā)語(yǔ)言、操作系統(tǒng)、數(shù)據(jù)庫(kù)等。在這一級(jí),就要在開(kāi)發(fā)團(tuán)隊(duì)中植入“用較少開(kāi)發(fā)資源適應(yīng)最多客戶”的思想,既要搭建一個(gè)公共性的平臺(tái),也要設(shè)計(jì)開(kāi)發(fā)一系列的平臺(tái)工具,使開(kāi)發(fā)簡(jiǎn)單化、普遍化。簡(jiǎn)單化就要求平臺(tái)工具易學(xué)易用,普遍化則要求不僅軟件公司的技術(shù)人員用得好,還要使軟件用戶的技術(shù)人員會(huì)用、用得好。
第二級(jí),行業(yè)級(jí)解決方案研發(fā)。軟件開(kāi)發(fā)商集合行業(yè)專家、信息化專家針對(duì)不同行業(yè)的特點(diǎn)應(yīng)用基礎(chǔ)技術(shù)平臺(tái)提供的工具形成行業(yè)級(jí)通用解決方案,這是管理軟件的基本模型。在這一級(jí),會(huì)設(shè)計(jì)出很多可復(fù)用的功能顆粒,最后根據(jù)不同用戶的需要,整合顆粒就可實(shí)現(xiàn)基本需求。這里的“顆?!庇写笥行?也就是說(shuō),功能顆粒既可以是單一功能,也可是一組功能的集合,具體視功能的關(guān)聯(lián)性而定。例如,管理軟件中組成業(yè)務(wù)流程的最細(xì)小功能有很多種,我們把它叫做服務(wù)顆粒,通過(guò)這些服務(wù)顆粒的不同組合就可以實(shí)現(xiàn)流程的個(gè)性化,例如采購(gòu)管理由采購(gòu)決策、采購(gòu)計(jì)劃等功能組成,這些可以看成是粗的功能顆粒,然后采購(gòu)計(jì)劃又有更多的細(xì)小功能,這些就是最底層的細(xì)顆粒。這些顆粒在軟件中的具體體現(xiàn)可以是業(yè)務(wù)報(bào)表、應(yīng)用表單、各類方案等,但不管如何展現(xiàn),這些顆粒都應(yīng)該是數(shù)據(jù)化的。數(shù)據(jù)化的概念就是這些服務(wù)顆粒存儲(chǔ)在數(shù)據(jù)庫(kù)中,而非編程語(yǔ)言開(kāi)發(fā)。各個(gè)服務(wù)顆粒都是獨(dú)立的,這樣有利于新增功能擴(kuò)展。在應(yīng)用部署時(shí),可以將不同的服務(wù)顆粒整合,提高程序的伸縮性和擴(kuò)展性。
第三級(jí),服務(wù)商項(xiàng)目化。針對(duì)企業(yè)個(gè)性化管理需要,結(jié)合企業(yè)未來(lái)發(fā)展規(guī)劃,項(xiàng)目的實(shí)施團(tuán)隊(duì)在行業(yè)級(jí)解決方案基礎(chǔ)上,應(yīng)用基礎(chǔ)技術(shù)平臺(tái)提供的規(guī)范工具實(shí)現(xiàn)項(xiàng)目需求。在這一環(huán)節(jié),一般是由軟件開(kāi)發(fā)商的實(shí)施團(tuán)隊(duì)(或其授權(quán)的有資質(zhì)的實(shí)施團(tuán)隊(duì))與企業(yè)的信息化部門(mén)共同完成。這一點(diǎn)很重要,首先只有企業(yè)的員工才能更深刻理解企業(yè)的管理需求,其次也只有企業(yè)的員工能將業(yè)務(wù)性的語(yǔ)言轉(zhuǎn)化成技術(shù)性的語(yǔ)言傳遞給軟件實(shí)施的乙方,幫助乙方理解企業(yè)的管理特點(diǎn)、存在哪些管理瓶頸。在乙方深刻理解的基礎(chǔ)上項(xiàng)目化會(huì)更成功,也才能真正通過(guò)軟件工具實(shí)現(xiàn)提升整個(gè)企業(yè)的管理水平的目標(biāo)。同時(shí),共同參與的過(guò)程也是知識(shí)轉(zhuǎn)移的過(guò)程。
第四級(jí),用戶個(gè)性化。服務(wù)商項(xiàng)目化后,管理軟件就可在企業(yè)內(nèi)正常運(yùn)轉(zhuǎn)。但是,企業(yè)是動(dòng)態(tài)發(fā)展的。這時(shí)需要管理軟件也能迅速地“動(dòng)”起來(lái),以滿足企業(yè)管理過(guò)程中“變化”的需求,比如流程的修改、功能的修改等。這些“變化”可通過(guò)參數(shù)設(shè)置實(shí)現(xiàn),比如為滿足不同用戶需求而設(shè)計(jì)的開(kāi)關(guān),類似業(yè)務(wù)流程中是否走某流程的選擇; 也可以在不改變程序的基礎(chǔ)上通過(guò)修改打印格式、報(bào)表格式、資料屬性、權(quán)限設(shè)置等進(jìn)行個(gè)性化設(shè)置; 還可以借助基礎(chǔ)技術(shù)平臺(tái)提供的開(kāi)發(fā)工具對(duì)軟件程序進(jìn)行修改(當(dāng)然,這是基于一定準(zhǔn)則的)。只要基于開(kāi)發(fā)標(biāo)準(zhǔn),軟件開(kāi)發(fā)人員、實(shí)施技術(shù)人員甚至客戶本身的技術(shù)力量都可以整合進(jìn)來(lái),而且能夠在現(xiàn)有基礎(chǔ)上進(jìn)行有創(chuàng)新性的工作。
四級(jí)開(kāi)發(fā)模式中,第一級(jí)和第二級(jí)需要在軟件開(kāi)發(fā)商內(nèi)部完成,面向客戶輸出的是具有行業(yè)特性的基本產(chǎn)品模型; 第三級(jí)的項(xiàng)目化成果是向客戶輸出的可運(yùn)行的軟件系統(tǒng),一般甲乙雙方會(huì)在《技術(shù)服務(wù)協(xié)議》中就項(xiàng)目范圍進(jìn)行約定; 第四級(jí)是軟件系統(tǒng)的靈活性、適應(yīng)性、開(kāi)放性、重用性的集中體現(xiàn)階段。
值得提醒的是,四級(jí)開(kāi)發(fā)模式的成功應(yīng)用既是軟件開(kāi)發(fā)商不斷積累行業(yè)經(jīng)驗(yàn)的過(guò)程和行業(yè)解決方案優(yōu)化的過(guò)程,也是用戶建設(shè)適合企業(yè)個(gè)性化需求的信息化建設(shè)過(guò)程。因此,需要甲乙雙方的共同參與、共同努力,才能真正實(shí)現(xiàn)管理軟件的價(jià)值。
案 例
四級(jí)開(kāi)發(fā)模式在同仁堂中藥調(diào)劑軟件中的實(shí)踐
對(duì)很多人來(lái)說(shuō),“藥店調(diào)劑部”是一個(gè)很陌生的名字,實(shí)際上中藥調(diào)劑就是指按照醫(yī)師處方所開(kāi)列的中藥藥方,準(zhǔn)確地為患者配制藥劑的操作技術(shù)。中藥調(diào)劑通常包括審方、計(jì)價(jià)、調(diào)配、復(fù)核、包裝、發(fā)藥等六個(gè)環(huán)節(jié)。因此在制作工藝、管理過(guò)程方面相比西藥管理有很多不同之處,而且更為復(fù)雜和繁瑣。在中藥調(diào)劑方面,同仁堂計(jì)劃把醫(yī)館和藥店作為一體進(jìn)行統(tǒng)一管理,把醫(yī)館的診斷、開(kāi)方等業(yè)務(wù)一并納入藥店的業(yè)務(wù)流程,與藥店的收款、付藥一體化管理。為此,同仁堂需要建立一個(gè)中藥調(diào)劑管理信息平臺(tái),將數(shù)百年的調(diào)劑經(jīng)驗(yàn)、知識(shí)、流程數(shù)字化,內(nèi)置到調(diào)劑信息管理系統(tǒng)中。
而通過(guò)時(shí)空KSOA平臺(tái),同仁堂藥店建立了涵蓋調(diào)劑收方、審方、劃價(jià)、調(diào)劑、加工、復(fù)核、發(fā)藥的信息化流程,其中包括常用藥材400多種、非常用藥材1000多種以及這些藥材規(guī)格、等級(jí)、別名、處方、腳注、古方、茶方、用法用量、配伍禁忌等。
KSOA平臺(tái)是以技術(shù)平臺(tái)為基礎(chǔ),提供大量的開(kāi)發(fā)工具供各子系統(tǒng)應(yīng)用,其子系統(tǒng)包括供應(yīng)鏈管理系統(tǒng)、連鎖管理系統(tǒng)、電子商務(wù)系統(tǒng)、POS同步收款系統(tǒng)、財(cái)務(wù)管理系統(tǒng)、質(zhì)量管理系統(tǒng)、人力資源管理系統(tǒng)、協(xié)同辦公系統(tǒng)、在線門(mén)店管理系統(tǒng)等。KSOA將業(yè)務(wù)流程和崗位職能相結(jié)合,搭建企業(yè)的采購(gòu)、倉(cāng)儲(chǔ)配送、銷售、財(cái)務(wù)結(jié)算、賬務(wù)處理、績(jī)效考核、對(duì)外協(xié)同等功能框架,滿足企業(yè)自上而下的縱向管理需求,橫向的業(yè)務(wù)、財(cái)務(wù)、人力資源、協(xié)同辦公等應(yīng)用,為企業(yè)提供一個(gè)最大的應(yīng)用空間。
同仁堂中藥調(diào)劑管理信息平臺(tái)項(xiàng)目就是在KSOA平臺(tái)提供的基礎(chǔ)的行業(yè)解決方案基礎(chǔ)上實(shí)現(xiàn)的。
如何將這三類服務(wù)系統(tǒng)化、觀念化、流程化,實(shí)現(xiàn)統(tǒng)一規(guī)劃、科學(xué)管理、提高服務(wù)質(zhì)量,是現(xiàn)階段高校信息化建設(shè)成功實(shí)現(xiàn)的原則和標(biāo)準(zhǔn)。
二、數(shù)字化校園中云計(jì)算提供的三大服務(wù)
(一)提供基礎(chǔ)設(shè)施服務(wù)
在數(shù)字化校園中,各類應(yīng)用的提供都依托于硬件設(shè)施,包括服務(wù)器的分配、虛擬機(jī)的設(shè)置、存儲(chǔ)空間的利用、數(shù)據(jù)庫(kù)的使用、網(wǎng)絡(luò)設(shè)備的搭建及機(jī)房的統(tǒng)一管理(安全、供電、溫濕度等)。學(xué)院中教學(xué)部門(mén)、行政部門(mén)及教輔部門(mén)都有各自的軟件應(yīng)用,這些部門(mén)必須有基礎(chǔ)設(shè)施來(lái)提供支撐,它們統(tǒng)一由學(xué)院云計(jì)算中心來(lái)提供這些基礎(chǔ)服務(wù),避免資源浪費(fèi),實(shí)現(xiàn)集中管理,資源共享。
(二)提供平臺(tái)的服務(wù)
服務(wù)平臺(tái)指各種業(yè)務(wù)運(yùn)行所需的支撐系統(tǒng),它包括操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)及網(wǎng)絡(luò)系統(tǒng)等,校園云計(jì)算可為用戶提供以下的服務(wù):1、服務(wù)器/虛擬機(jī)的IP地址、用戶名和密碼等;2、數(shù)據(jù)庫(kù)空間的大小、用戶登錄和連接的方式等;3、網(wǎng)絡(luò)的VLAN的定義和劃分等;4、用戶操作系統(tǒng)類型的選擇、數(shù)據(jù)庫(kù)系統(tǒng)類型的確定等;5、為高端用戶提供各類軟件開(kāi)發(fā)平臺(tái)。這一類服務(wù)也叫中間層服務(wù),它是硬件和可見(jiàn)的應(yīng)用之間的中間橋梁,是系統(tǒng)軟硬結(jié)合重要的組成部分,也是云計(jì)算服務(wù)的關(guān)鍵節(jié)點(diǎn)。
(三)提供軟件的服務(wù)
數(shù)字化校園是以計(jì)算機(jī)和網(wǎng)絡(luò)為基礎(chǔ)展開(kāi)校園各項(xiàng)工作的一種環(huán)境架構(gòu),數(shù)字化校園中的各項(xiàng)活動(dòng)的進(jìn)行、信息通信的暢通,都是各類軟件的正常運(yùn)行的結(jié)果,因此為校園中廣大用戶提供優(yōu)質(zhì)、便捷的軟件服務(wù)是校園云計(jì)算的重要工作,這種軟件服務(wù)包括:1、各類教學(xué)、辦公用軟件;2、安全防護(hù)軟件;3、各部門(mén)專門(mén)類的軟件(財(cái)務(wù)系統(tǒng)等);4、學(xué)院統(tǒng)一門(mén)戶網(wǎng)站、數(shù)字資源管理系統(tǒng)等。在當(dāng)今互聯(lián)網(wǎng)+時(shí)代下,根據(jù)用戶需求實(shí)現(xiàn)個(gè)性化定制,智能推送對(duì)軟件的服務(wù)理念提出了新的特色和要求。
三、云計(jì)算服務(wù)模式在高校應(yīng)用中的優(yōu)勢(shì)
(一)提供統(tǒng)一管理的基礎(chǔ)設(shè)施服務(wù)在應(yīng)用中的優(yōu)勢(shì)
服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)設(shè)備的統(tǒng)一購(gòu)置,集中管理維護(hù),專業(yè)人員專門(mén)管理,避免盲目投資,減少硬件的重復(fù)采購(gòu),節(jié)省了人力物力。服務(wù)器、存儲(chǔ)云計(jì)算化后,采用虛擬技術(shù)、磁盤(pán)陣列技術(shù),實(shí)現(xiàn)了系統(tǒng)的整合與集成,大大提高了基礎(chǔ)設(shè)施的利用率,更亦實(shí)現(xiàn)資源的共建共享。
校園云計(jì)算中心對(duì)基礎(chǔ)設(shè)施集中管理,為各系部提供硬件方面的服務(wù),各部門(mén)作為申請(qǐng)人,通過(guò)申請(qǐng)流程,實(shí)現(xiàn)服務(wù)器和存儲(chǔ)的“租用”服務(wù),作為使用者的申請(qǐng)部門(mén),只需關(guān)心要“租用”的服務(wù)是什么硬件即可,與硬件的原理、價(jià)錢(qián)、安裝、維護(hù)、調(diào)試及硬件設(shè)備存放位置均無(wú)關(guān)。通過(guò)這種服務(wù)模式,實(shí)現(xiàn)了工作的細(xì)化,各司其職、各取所需,提高了工作效率,增大了協(xié)同辦公的能力,發(fā)揮了團(tuán)隊(duì)的作用。
基礎(chǔ)設(shè)施機(jī)房的建設(shè)比較苛刻,資金投入也比較大。環(huán)境要求、電力要求、安全要求都要達(dá)到一定的標(biāo)準(zhǔn),這樣才能保證服務(wù)器、存儲(chǔ)正常運(yùn)行。校園云計(jì)算中心負(fù)責(zé)這些基礎(chǔ)設(shè)施的規(guī)劃、建設(shè)和管理,消除了各部門(mén)重復(fù)建設(shè)、設(shè)備冗余、信息孤島的狀況。這種服務(wù)方式不僅降低了學(xué)院運(yùn)行成本,也體現(xiàn)了學(xué)院統(tǒng)籌規(guī)劃、加強(qiáng)服務(wù)的理念。
(二)為各種應(yīng)用搭建平臺(tái)的服務(wù)體現(xiàn)了信息化工作的專業(yè)特色
1、應(yīng)用軟件所需支撐平臺(tái)的統(tǒng)一建設(shè)與管理
各部門(mén)的網(wǎng)站、應(yīng)用的建設(shè),需要操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)的支持。這些系統(tǒng)類型、版本的選擇、安裝、調(diào)試都不是非專業(yè)人員所能及的工作,將此類工作轉(zhuǎn)化為云計(jì)算中心提供的服務(wù),能大大減輕用戶的負(fù)擔(dān),使用者只關(guān)心平臺(tái)的類型和功能即可。
2、提供安全、可靠及靈活的軟件開(kāi)發(fā)平臺(tái)服務(wù)
軟件開(kāi)發(fā)平臺(tái)作為服務(wù)提供給用戶,可以為那些有軟件開(kāi)發(fā)能力的部門(mén)提供自主軟件開(kāi)發(fā)的條件,實(shí)現(xiàn)各自的軟件定制,擴(kuò)展某些應(yīng)用的功能。云計(jì)算服務(wù)中心將用戶所需的開(kāi)發(fā)平臺(tái)部署在虛擬服務(wù)器中,實(shí)時(shí)更新、升級(jí),監(jiān)控平臺(tái)的運(yùn)行情況,保證開(kāi)發(fā)平臺(tái)的正常使用。
(三)以個(gè)性化定制為理念、以推送為手段的軟件服務(wù)是互聯(lián)網(wǎng)+時(shí)代下的創(chuàng)新模式
1、校園云桌面的應(yīng)用很好地體現(xiàn)了個(gè)性化定制的服務(wù)理念
根據(jù)各部門(mén)、各用戶的需求,其客戶端的操作系統(tǒng)(XP、WIN7/8/10等)將量身定制,不同應(yīng)用的用戶可任意選擇,不同專業(yè)、不同課程所需的教學(xué)軟件將實(shí)時(shí)推送到其選擇的操作系統(tǒng)中,實(shí)現(xiàn)“即選即用、即推即見(jiàn)”的辦公與教學(xué)效果。例如:公共多媒體教室教學(xué)用計(jì)算機(jī)桌面隨課程表的變化,會(huì)被推送出不一樣桌面系統(tǒng),供不同時(shí)間段的教師和學(xué)生使用。
2、云辦公、云維護(hù)策略的實(shí)施極大地提高了教師的工作效率
無(wú)論是大型還是小型軟件開(kāi)發(fā)商都要融入軟件開(kāi)發(fā)的全球競(jìng)爭(zhēng),那么就需要引進(jìn)先進(jìn)的國(guó)際標(biāo)準(zhǔn)規(guī)范(如ISO 9000、CMMI),通過(guò)評(píng)估認(rèn)證來(lái)規(guī)范軟件開(kāi)發(fā)過(guò)程管理。而同時(shí)在軟件開(kāi)發(fā)這個(gè)充滿創(chuàng)意的領(lǐng)域,運(yùn)用系統(tǒng)組織的思維、先進(jìn)靈動(dòng)的工具服務(wù)于過(guò)程管理,提高開(kāi)發(fā)效率,也是企業(yè)發(fā)展過(guò)程中不可小瞧的力量。
案例:
高級(jí)電子表格軟件的開(kāi)發(fā)商RxLaser公司運(yùn)用TechExcel的跟蹤工具DevTrack,通過(guò)自動(dòng)操作和控制軟件開(kāi)發(fā)及客戶自定義過(guò)程,實(shí)現(xiàn)持續(xù)成長(zhǎng),提高產(chǎn)品質(zhì)量,贏得客戶的滿意,是個(gè)具體而有借鑒意義的嘗試。
開(kāi)發(fā)規(guī)模增大帶來(lái)的混亂
位于美國(guó)加利福尼亞州布瑞亞市的RxLaser公司作為高級(jí)電子表格軟件的開(kāi)發(fā)商,其軟件產(chǎn)品通過(guò)一個(gè)服務(wù)器平臺(tái)與客戶使用的軟件集成,支持打印、傳真、收發(fā)電子郵件、EDI和數(shù)據(jù)存檔,并可以按照每個(gè)用戶的需要進(jìn)行全方位定制。
過(guò)去的十年,眾多公司用傳真或電子郵件替代了點(diǎn)陣打印表格,不必再花費(fèi)56美分郵寄一個(gè)發(fā)票的復(fù)印件,節(jié)約了大量成本。RxLaser公司將這種進(jìn)步移植到電子表格上,成為業(yè)界領(lǐng)先者。
但成功和快速增長(zhǎng)也帶來(lái)了許多新的挑戰(zhàn),他們必須解決這些問(wèn)題以保持其領(lǐng)先地位。他們?cè)褂眠^(guò)一個(gè)內(nèi)部開(kāi)發(fā)系統(tǒng)來(lái)跟蹤所有的開(kāi)發(fā)和定制化項(xiàng)目。隨著業(yè)務(wù)量的快速增長(zhǎng),系統(tǒng)不堪重負(fù)。他們的客戶數(shù)量在三年間從700多家增長(zhǎng)到6000多家,如果沒(méi)有一個(gè)可靠的跟蹤解決方案,公司業(yè)務(wù)將處于危險(xiǎn)之中。
“我們不能應(yīng)對(duì)日常事務(wù)?!惫究偛昧_伯特說(shuō):“形勢(shì)已經(jīng)不在控制中了。當(dāng)我們拿到一份文件的時(shí)候,我們不知道這份單子已經(jīng)擱置了多久,我們?cè)敬蛩闳绾螌?shí)施。我們的業(yè)務(wù)增長(zhǎng)得太快了,而越來(lái)越多的客戶感到不滿意。我們只有兩種選擇:要么尋找合適的跟蹤系統(tǒng),要么被淘汰出局。”
精準(zhǔn)問(wèn)題跟蹤避免重復(fù)作業(yè)
RxLaser公司的開(kāi)發(fā)團(tuán)隊(duì)迅速評(píng)估和比較了市場(chǎng)上的許多跟蹤工具。大約兩周后,羅伯特發(fā)現(xiàn)他的所有員工都選用DevTrack。“每個(gè)人都很喜歡它,因?yàn)樗焖佥p松地滿足了所有人的需求?!绷_伯特說(shuō):“我的員工要求我購(gòu)買(mǎi)它,他們甚至告訴我,如果我不這么做,他們就不能工作?!?/p>
現(xiàn)在,公司將其用于兩個(gè)業(yè)務(wù)領(lǐng)域:開(kāi)發(fā)團(tuán)隊(duì)和定制化編程,提高了軟件開(kāi)發(fā)的效率。開(kāi)發(fā)團(tuán)隊(duì)負(fù)責(zé)運(yùn)行、維護(hù)和管理電子表格軟件系統(tǒng),定制化團(tuán)隊(duì)則針對(duì)客戶的具體細(xì)節(jié)要求編寫(xiě)對(duì)應(yīng)的表格。
羅伯特認(rèn)為,在任何軟件開(kāi)發(fā)項(xiàng)目中提高效率的關(guān)鍵,都是通過(guò)精確跟蹤項(xiàng)目的每一部份來(lái)避免重復(fù)性工作。當(dāng)把一個(gè)完整軟件分解成許多程序片段,并把這些片段分配給不同的開(kāi)發(fā)人員時(shí),每個(gè)人的工作會(huì)有與其他人工作重疊的傾向。
而DevTrack就能使每個(gè)開(kāi)發(fā)人員在任何時(shí)間都能清楚知道其他人在做些什么。當(dāng)一些人完成一子項(xiàng)目,他們可以輕松地看到這個(gè)子項(xiàng)目和其它子項(xiàng)目如何連接,然后把這些片段無(wú)重疊地連接起來(lái),避免了許多重復(fù)性工作。此外,管理者還可以看到每一個(gè)程序員在開(kāi)發(fā)什么功能,這使得他們可以輕松地管理和跟蹤整個(gè)項(xiàng)目。
“編寫(xiě)代碼時(shí),重復(fù)性的工作使公司既費(fèi)時(shí)又費(fèi)錢(qián),并且不能按時(shí)交付?!绷_伯特說(shuō):“重復(fù)是研發(fā)工作的最大破壞者。我們的產(chǎn)品需要多人參與,并要在規(guī)定日期前完成,如果我們不能按時(shí)完成,將損失數(shù)目可觀的收入和機(jī)會(huì),這是時(shí)間管理的問(wèn)題,而DevTrack為我們很好地解決了這個(gè)問(wèn)題?!?/p>
多人合作開(kāi)發(fā),項(xiàng)目很容易失去控制。每個(gè)人都在處理項(xiàng)目中相同部分的不同片段,這很容易讓人產(chǎn)生混淆,很快他們就會(huì)發(fā)現(xiàn)不知道對(duì)方在做些什么。DevTrack協(xié)調(diào)團(tuán)隊(duì)工作,在任何時(shí)候都可以把一項(xiàng)編程工作轉(zhuǎn)交他人。
延伸應(yīng)用于內(nèi)部溝通和客戶服務(wù)
現(xiàn)在,RxLaser公司用DevTrack來(lái)制定工作進(jìn)度,協(xié)調(diào)服務(wù)器產(chǎn)品的功能添加、缺陷修復(fù)以及功能增強(qiáng)工作。羅伯特介紹,DevTrack使整個(gè)修改工作的管理和協(xié)調(diào)非常容易,比如有一個(gè)開(kāi)發(fā)人員負(fù)責(zé)項(xiàng)目中很大一塊工作,利用DevTrack,他的上級(jí)就能準(zhǔn)確地知道他當(dāng)前的工作內(nèi)容和時(shí)間限制,而其他人也都可以看到他每天的工作進(jìn)程。
最初,RxLaser公司用它做問(wèn)題跟蹤,由于簡(jiǎn)單易用,后來(lái)被用來(lái)做工序跟蹤。客戶安裝電子表格軟件過(guò)程相當(dāng)緊張,一旦有新客戶登錄,他們就會(huì)為客戶發(fā)出標(biāo)準(zhǔn)表格,以基于客戶獨(dú)特的需要進(jìn)行調(diào)整。經(jīng)過(guò)相關(guān)人員設(shè)計(jì)調(diào)整和客戶授權(quán)確認(rèn),該調(diào)整就發(fā)送給定制化編程部門(mén),程序員采用修訂過(guò)的標(biāo)準(zhǔn),并將變化集成到用戶自定義的表格,最后的產(chǎn)品再次發(fā)送給客戶,等待最終的認(rèn)可和安裝。整個(gè)客戶安裝過(guò)程利用DevTrack管理和跟蹤工作流和狀態(tài),程序員能準(zhǔn)確地知道過(guò)去3-4個(gè)月里的工作,并能在停止的地方準(zhǔn)確地重新啟動(dòng)。
羅伯特說(shuō):“使用DevTrack的最大收益,就是RxLaser的行業(yè)領(lǐng)先地位得以保持。除了幫助我們跟蹤客戶的優(yōu)先級(jí)和需求,我們還可以使用它來(lái)管理設(shè)計(jì)員、程序員和客戶之間的日常內(nèi)部活動(dòng),管理并記錄設(shè)計(jì)人員、編程人員以及客戶間的日常交流,這樣每個(gè)人都可以在任何時(shí)候知道問(wèn)題的進(jìn)展,并將其繼續(xù)推進(jìn)。生病的或是其他部門(mén)的員工也可以通過(guò)其中的記錄,清楚地知道他下一步要為客戶做什么,以及客戶什么時(shí)候需要這些服務(wù)?!?/p>
研究視點(diǎn)一:跟蹤工具的行業(yè)應(yīng)用
工欲善其事,必先利其器。軟件開(kāi)發(fā)廠商也是一樣,要做到高效的軟件開(kāi)發(fā)和過(guò)程管理,必須選擇運(yùn)用靈活先進(jìn)的開(kāi)發(fā)管理工具。早在30年前大師弗雷德里克?布魯克斯就曾形象地論述說(shuō)系統(tǒng)開(kāi)發(fā)工作就像一個(gè)焦油坑,無(wú)論是大型、小型,龐雜、精干的開(kāi)發(fā)團(tuán)隊(duì)都在其中掙扎,沒(méi)有誰(shuí)能掙脫束縛。這種情況到現(xiàn)在也還是如此――很少有軟件項(xiàng)目滿足目標(biāo)、進(jìn)度和預(yù)算的要求。做軟件開(kāi)發(fā)項(xiàng)目delay是正常的,這已是圈內(nèi)人士的共識(shí)。
眾所周知,對(duì)于傳統(tǒng)制造企業(yè),其流程和現(xiàn)場(chǎng)管理提高生產(chǎn)效率至關(guān)重要,在此基礎(chǔ)上產(chǎn)生的JIT生產(chǎn)管理方式堪稱一代經(jīng)典。同樣道理,對(duì)于人們看不見(jiàn)的產(chǎn)品――軟件的設(shè)計(jì)開(kāi)發(fā)過(guò)程來(lái)說(shuō),也是一樣需要有方法、有工具來(lái)幫助實(shí)現(xiàn)提高其對(duì)應(yīng)的生產(chǎn)效率。
作為問(wèn)題跟蹤功能實(shí)現(xiàn)的產(chǎn)品,目前市場(chǎng)上已經(jīng)有幾家或單獨(dú)成品,或鑲嵌在平臺(tái)之內(nèi)實(shí)現(xiàn)該功能(如TechExcel的DevTrack和IBM Rational的Clear Quest等)。TechExcel的DevTrack贏得RxLaser信賴的關(guān)鍵,是它通過(guò)對(duì)項(xiàng)目中的每一個(gè)任務(wù)或細(xì)節(jié)的精確跟蹤,并借助可輕松配置的智能化工作流,使項(xiàng)目參與者能夠清楚地知道并執(zhí)行自己的工作,避免了重復(fù)勞動(dòng),增強(qiáng)了團(tuán)隊(duì)溝通,提高了開(kāi)發(fā)效率。
在國(guó)外,整體信息化水平相對(duì)比較高,所以IT以外的行業(yè)的軟件開(kāi)發(fā)和項(xiàng)目管理也是很愿意用工具管理實(shí)現(xiàn)的。圖一是DevTrack全球用戶行業(yè)分布圖,可以看得出軟件廠商是其主要客戶,但同時(shí)政府機(jī)關(guān)也在用其做流程管理,教育機(jī)構(gòu)也可以買(mǎi)它做實(shí)驗(yàn)室的項(xiàng)目管理。
研究視點(diǎn)二:工具的集成
單打獨(dú)斗的工具成不了氣候,平臺(tái)化的系列工具軟件是其作用最大化的有效途徑。DevTrack是TechExcel DevSuite產(chǎn)品系列中的一部分,該系列圍繞知識(shí)核心,無(wú)縫集成了從設(shè)計(jì)規(guī)劃到產(chǎn)品所需的所有ALM軟件,幫助數(shù)以千計(jì)像RxLaser一樣行業(yè)領(lǐng)先的企業(yè)實(shí)現(xiàn)了科學(xué)、愉悅、成熟的開(kāi)發(fā)管理。廠商選擇、運(yùn)用適合自己的集成工具實(shí)現(xiàn)開(kāi)發(fā)過(guò)程管理。根據(jù)發(fā)展歷史和客戶需求以及市場(chǎng)環(huán)境的不同,軟件開(kāi)發(fā)商的運(yùn)用工具管理的模式也不同,下面以測(cè)試驅(qū)動(dòng)的缺陷跟蹤管理、規(guī)劃驅(qū)動(dòng)的項(xiàng)目管理、需求驅(qū)動(dòng)的產(chǎn)品開(kāi)發(fā)管理三種模式為例來(lái)闡述。
測(cè)試驅(qū)動(dòng)缺陷跟蹤管理模式:某全球領(lǐng)先的軟件企業(yè)有超過(guò)3000多個(gè)程序員和測(cè)試員在使用DevSuite中的DevTrack和DevTest模塊來(lái)分別跟蹤編程缺陷和管理測(cè)試過(guò)程。測(cè)試團(tuán)隊(duì)可以建立各種測(cè)試模版并為各個(gè)和構(gòu)建制訂測(cè)試計(jì)劃和項(xiàng)目,測(cè)試過(guò)程中所發(fā)現(xiàn)的缺陷能直接建立新的缺陷任務(wù),開(kāi)發(fā)團(tuán)隊(duì)解決的缺陷將進(jìn)行新一輪的測(cè)試,如此往復(fù)直至完成。這種模式改善了大型開(kāi)發(fā)團(tuán)隊(duì)和測(cè)試團(tuán)隊(duì)間的配合和溝通,確保每個(gè)缺陷得到有效的處理。但是項(xiàng)目管理層和設(shè)計(jì)人員卻不能通過(guò)這樣的模式來(lái)主動(dòng)監(jiān)控和指導(dǎo)項(xiàng)目的進(jìn)展,只能根據(jù)測(cè)試結(jié)果做出被動(dòng)的反應(yīng)。
規(guī)劃驅(qū)動(dòng)項(xiàng)目管理模式:某大型的美國(guó)游戲企業(yè)通過(guò)使用DevSuite中的DevPlan和DevTrack模塊組合來(lái)改善管理監(jiān)控。這個(gè)模式中的DevTrack包括一個(gè)管理層工作項(xiàng)目和多個(gè)下屬的開(kāi)發(fā)組工作項(xiàng)目。項(xiàng)目經(jīng)理用DevPlan來(lái)細(xì)分和規(guī)劃項(xiàng)目,并與DevTrack中的管理層工作項(xiàng)目相連。而管理層工作項(xiàng)目中的每個(gè)功能或缺陷任務(wù)又與開(kāi)發(fā)組工作項(xiàng)目中的多個(gè)工作任務(wù)相聯(lián)系。這樣,一個(gè)項(xiàng)目經(jīng)理的每個(gè)工作任務(wù)都被細(xì)分并分派給多個(gè)程序員或小組,從而使他能有效確保按計(jì)劃實(shí)施項(xiàng)目。這種模式能有效管理控制開(kāi)發(fā)過(guò)程、周期、預(yù)算和人員,但是子任務(wù)的變化和新功能的增加給整個(gè)過(guò)程的效率帶來(lái)挑戰(zhàn)。
需求驅(qū)動(dòng)產(chǎn)品開(kāi)發(fā)管理模式:有些企業(yè)進(jìn)一步要求把需求管理也納入DevSuite系統(tǒng),以提高整個(gè)應(yīng)用生命周期的管理效率。DevSpec就是管理需求制訂并整合項(xiàng)目規(guī)劃和實(shí)施的模塊。使用它,產(chǎn)品經(jīng)理能夠規(guī)劃各個(gè)產(chǎn)品版本的功能要求并管理設(shè)計(jì)文檔,以確保實(shí)施團(tuán)隊(duì)充分理解設(shè)計(jì)團(tuán)隊(duì)的概念產(chǎn)品,減少不必要的重復(fù)和廢工,最終產(chǎn)生理想的實(shí)際產(chǎn)品。
這些模式其實(shí)難分優(yōu)劣,實(shí)際運(yùn)用效果取決于企業(yè)自身的開(kāi)發(fā)環(huán)境和實(shí)施力度,是否選擇了適合自己的模式和工具并恰當(dāng)?shù)剡\(yùn)用。同類企業(yè)在不同階段可以運(yùn)用不同模式,而不同企業(yè)也可以統(tǒng)一模式,運(yùn)用得當(dāng)能幫助企業(yè)提高30%左右的開(kāi)發(fā)效率。
研究視點(diǎn)三:本土軟件廠商如何做
基于軟件構(gòu)件的軟件開(kāi)發(fā)過(guò)程,主要是在利用構(gòu)件模型,對(duì)于構(gòu)件庫(kù)中的軟件構(gòu)件進(jìn)行復(fù)制,然后再以組成的形式使其在軟件中完成信息交換,從而得到實(shí)際的應(yīng)用。但是對(duì)于構(gòu)件技術(shù)的應(yīng)用,也要具備一定的要素,同時(shí)開(kāi)發(fā)的形式,以及構(gòu)件的模型應(yīng)用也不盡相同,對(duì)此針對(duì)于這幾方面進(jìn)行有效的分析,最后梳理出基于軟件構(gòu)件的開(kāi)發(fā)流程,對(duì)以后的軟件開(kāi)發(fā)研究有所幫助。
1構(gòu)件定義
構(gòu)件主要指軟件系統(tǒng)中的單個(gè)元素,自身具備獨(dú)立、可替換、滿足功能和多次使用的特征;也是軟件重復(fù)使用時(shí),可以的準(zhǔn)確被識(shí)別的軟件實(shí)體,對(duì)此借助軟件的獨(dú)立和可重復(fù)使用的功能形式,構(gòu)件完全被用來(lái)進(jìn)行軟件研發(fā),使其外界的訪問(wèn),可以利用構(gòu)件提供的指定接口進(jìn)行信息交換;構(gòu)件之間會(huì)通過(guò)標(biāo)準(zhǔn)的接口進(jìn)行信息轉(zhuǎn)換,從而更好的保證軟件開(kāi)發(fā)的質(zhì)量。同時(shí)基于構(gòu)件軟件開(kāi)發(fā),也應(yīng)當(dāng)具備應(yīng)用程序是由構(gòu)件組裝,提供獨(dú)立服務(wù),以及通用構(gòu)件設(shè)施和服務(wù)等相關(guān)的要素。
2軟件開(kāi)發(fā)形式
基于軟件構(gòu)件的軟件開(kāi)發(fā)流程,主要體現(xiàn)在構(gòu)件定制、構(gòu)件獨(dú)立以及接口統(tǒng)一幾方面,其中構(gòu)件定制,主要是指基于軟件構(gòu)件的軟件開(kāi)發(fā),利用到構(gòu)件或是面向構(gòu)件,都是事前明確功能和編制好的,同時(shí)軟件對(duì)于構(gòu)件不同功能的需求,也可以通過(guò)構(gòu)件版本的選擇,從而實(shí)現(xiàn)功能拓展的目的。其中構(gòu)件獨(dú)立,主要是指將構(gòu)件進(jìn)行分解,這樣就可以有效的避免構(gòu)件難以維護(hù)的情況出現(xiàn)。其中接口通過(guò)統(tǒng)一,主要是指軟件要想實(shí)現(xiàn)跨平臺(tái)的交互,可以通過(guò)指定的接口,從而有效的突破硬件設(shè)備,以及空間等方面的限制。
3構(gòu)建模型分析
因?yàn)榛谲浖?gòu)件的軟件開(kāi)發(fā),是在理想構(gòu)件模型基礎(chǔ)之上進(jìn)行操作的,對(duì)此對(duì)于目前常用的幾種構(gòu)件模型分析,是非常有必要的;其理想的構(gòu)件模型如下圖所示:目前常用的構(gòu)件模型,主要包括OMG組織、SUN、Microsoft方面;其中OMG組織中的CORBA[1],是基于開(kāi)放平臺(tái)制定的對(duì)象體系,同時(shí)其分布計(jì)算技術(shù)們,更是多種廠商所支持的技術(shù);自身具有支持性高、語(yǔ)言開(kāi)發(fā)、系統(tǒng)平立,以及模型完整、效率高的特點(diǎn)。其中SUN中Java2技術(shù),具有語(yǔ)言開(kāi)發(fā)、以及滿足不同的業(yè)務(wù)需求、簡(jiǎn)化構(gòu)件服務(wù)器繁瑣,以及應(yīng)用廣泛的特點(diǎn)。其中Microsoft中COM構(gòu)件模型,實(shí)現(xiàn)了模型之間的相互操作,同時(shí)自身也是標(biāo)準(zhǔn)的構(gòu)件接口,有效的用遠(yuǎn)程技術(shù),使其構(gòu)件技術(shù)被廣泛的應(yīng)用。
4基于軟件構(gòu)件的軟件開(kāi)發(fā)流程研究
基于軟件構(gòu)件的軟件開(kāi)發(fā)流程,主要包括整體框架設(shè)計(jì)、構(gòu)件庫(kù)建立、獲取構(gòu)件、構(gòu)件調(diào)整以及重組安裝等過(guò)程。
4.1整體框架設(shè)計(jì)
對(duì)于其整體框架設(shè)計(jì),首先要對(duì)于業(yè)務(wù)需求進(jìn)行有效的分析,然后找出與將要設(shè)計(jì)的軟件功能需求的共性,然后將功能構(gòu)件從系統(tǒng)中進(jìn)行分解,最戶將開(kāi)發(fā)軟件系統(tǒng)構(gòu)件化。
4.2構(gòu)件庫(kù)建立
構(gòu)件庫(kù)建立是為了使構(gòu)件更好的符合軟件開(kāi)發(fā)需求,從而將構(gòu)件進(jìn)行統(tǒng)一管理,同時(shí)構(gòu)件庫(kù)對(duì)于軟件的重復(fù)使用,起到支持、描述、分類、保存等作用;從而更好的保證軟件開(kāi)發(fā)的效率。
4.3獲取構(gòu)件
需求分析后的構(gòu)件,會(huì)將滿足應(yīng)用環(huán)境的構(gòu)件選取出來(lái),并進(jìn)行適當(dāng)?shù)男薷?,最后使其組裝到將要開(kāi)發(fā)的軟件系統(tǒng)中。其中構(gòu)件的獲取,可以通過(guò)發(fā)現(xiàn)階段、評(píng)估階段,利用以往開(kāi)發(fā)過(guò)的構(gòu)件,按照系統(tǒng)開(kāi)發(fā)的需求進(jìn)行選取,或是利用當(dāng)前開(kāi)發(fā)的系統(tǒng)功能模式,對(duì)于構(gòu)件進(jìn)行開(kāi)發(fā)和獲取,再就是利用購(gòu)買(mǎi)、利用網(wǎng)絡(luò)資源進(jìn)行構(gòu)件獲取。
4.4構(gòu)件調(diào)整
當(dāng)構(gòu)件獲取后,為了是獲取的構(gòu)件更加的滿足系統(tǒng)開(kāi)發(fā)的功能需求,使其符合設(shè)計(jì)規(guī)則,對(duì)此需要對(duì)于構(gòu)件的功能,進(jìn)行一系列的調(diào)整;調(diào)整的形式分為白盒法、黑盒法以及灰盒法,其中白盒法的主要形式,是通過(guò)對(duì)于構(gòu)件源碼的修改,使其構(gòu)件之間的沖突降低,但是對(duì)于源碼的調(diào)整會(huì)影響其使用特性,給后期維護(hù)造成影響,對(duì)此進(jìn)行有效的維護(hù)是非常有必要的。其中黑盒法以及灰盒法,是將源碼進(jìn)行保留,提供構(gòu)建的擴(kuò)展機(jī)制,或是提供可編接口。
4.5構(gòu)件的組裝
構(gòu)件庫(kù)中的構(gòu)件按照應(yīng)用環(huán)境進(jìn)行調(diào)整,然后將構(gòu)件的端口進(jìn)行相互連接,或者將構(gòu)件與開(kāi)發(fā)軟件元素進(jìn)行連接,使其更好的進(jìn)行軟件開(kāi)發(fā);每個(gè)構(gòu)件的作用發(fā)揮,是在與群體構(gòu)件組合之后發(fā)揮功能的;對(duì)此在進(jìn)行系統(tǒng)研發(fā)時(shí)要將單個(gè)構(gòu)件進(jìn)行整合,利用可以容納不同性質(zhì)構(gòu)件的框架進(jìn)行管理;同時(shí)對(duì)于構(gòu)件的安裝,可將通用性、功能性強(qiáng)的構(gòu)件,布置在中央數(shù)據(jù)服務(wù)器上;最后進(jìn)行粘接代碼的編制的工作。
5總結(jié)
綜上所述,發(fā)現(xiàn)軟件開(kāi)發(fā)是一項(xiàng)復(fù)雜且繁瑣的過(guò)程,相關(guān)設(shè)計(jì)人員不僅要掌握軟件構(gòu)件的基本性能,還要做好軟件開(kāi)發(fā)需求調(diào)研分析,工作任務(wù)繁重并且頭緒雜亂。本文對(duì)基于軟件構(gòu)件的軟件開(kāi)發(fā)的流程進(jìn)行梳理,開(kāi)發(fā)人員可以參照整體框架設(shè)計(jì)、構(gòu)件庫(kù)建立、獲取構(gòu)件、構(gòu)件調(diào)整以及重組安裝等步驟進(jìn)行標(biāo)準(zhǔn)化實(shí)施,一方面可以減輕開(kāi)發(fā)人員繁雜的工作量,另一方面也能夠更好的保證軟件開(kāi)發(fā)的質(zhì)量和效率,希望對(duì)軟件開(kāi)發(fā)者有所幫助。
參考文獻(xiàn)
[1]田容雨.基于軟件構(gòu)件技術(shù)的Web系統(tǒng)開(kāi)發(fā)平臺(tái)的研究[D].山東大學(xué),2011.
[2]葉偉.構(gòu)件化軟件開(kāi)發(fā)及系統(tǒng)測(cè)試技術(shù)探究[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2012,03:176-177.
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2008)30-0738-02
The Application and Research of Embedded SOPC
QU Xiao-ping,GAO Ning
(Information Science and Technology College, Jiujiang University, Jiujiang 332005,China)
Abstract: Since the raditional means can not meet the current application requirements of embedded systems, a new development method for SOPC is discussed. A complete analysis and research of SOPC with embedded IP hardcor/softcore, which is based on FPGA, is carried out, and the development flow of embedded SOPC is systematically decribed, as well as the critical questions during hardware/software development is discussed in detail. Finally the full development progress of embedded SOPC is explained in detail with an LED as an example.
Key words: embedded; system on chip; SOPC; NIOS II Core
1 引言
隨著信息化技術(shù)的發(fā)展和數(shù)字化產(chǎn)品的普及,大規(guī)模集成電路技術(shù)的進(jìn)步和制造工藝水平的提高,以計(jì)算機(jī)技術(shù)、芯片技術(shù)和軟件技術(shù)為核心的嵌入式系統(tǒng)開(kāi)發(fā)變得日益復(fù)雜。傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法已經(jīng)不能適應(yīng)當(dāng)前嵌入式系統(tǒng)的單片容量大、功能多、體積小、設(shè)計(jì)便利等需求。本文主要闡述一種全新的、靈活的、高效的嵌入式系統(tǒng)設(shè)計(jì)方法SOPC(System On Progranmable Chip,可編程的片上系統(tǒng)),它是基于FPGA解決方案的SOC,它將處理器、存儲(chǔ)器、I/O口、LVDS、CDR等系統(tǒng)設(shè)計(jì)需要的功能模塊集成到一個(gè)可編程的器件上,構(gòu)成一個(gè)可編程的片上系統(tǒng)。
2 嵌入式SOPC概述
SOPC(System On Progranmable Chip,可編程的片上系統(tǒng))是Altera公司提出的一種靈活高效的SOC的解決方案,它是PLD和ASIC技術(shù)融合的結(jié)果,目前,0.13um的ASIC產(chǎn)品制造價(jià)格仍然相當(dāng)昂貴,而集成了硬核和軟核CPU、DSP、存儲(chǔ)器、I/O設(shè)備和可編程邏輯的SOPC芯片在應(yīng)用靈活性上和價(jià)格上有相當(dāng)大的優(yōu)勢(shì)?,F(xiàn)今,普遍認(rèn)為SOPC是基于FPGA解決方案的SOC,與ASIC的SOC解決方案相比,SOPC系統(tǒng)及其開(kāi)發(fā)技術(shù)具有更多的特色,構(gòu)成SOPC的方案也有多種途徑。
2.1 基于FPAG嵌入IP硬核的SOPC系統(tǒng)的優(yōu)點(diǎn)[2]
基于FPGA嵌入IP硬核的SOPC系統(tǒng)是指在FPGA中預(yù)先移入處理器。目前最常用的嵌入式處理器大多是采用含有ARM32位知識(shí)產(chǎn)權(quán)處理器核的器件。為了達(dá)到通用性,必須為常規(guī)的嵌入式處理器集成諸多通用和專用的接口,但這樣無(wú)疑會(huì)增加芯片的成本和功耗。如果將ARM或其他處理器核以硬核方式植入FPGA中,利用FPGA中的可編程邏輯資源,可按照系統(tǒng)功能需求來(lái)添加接口功能模塊,這樣既能實(shí)現(xiàn)目標(biāo)系統(tǒng)的功能,又能降低系統(tǒng)的成本和功耗。這樣就能使得FPGA靈活的硬件設(shè)計(jì)與處理器的強(qiáng)大軟件功能有機(jī)的結(jié)合在一起,高率的實(shí)現(xiàn)SOPC系統(tǒng)。
2.2 基于FPGA嵌入IP硬核的SOPC系統(tǒng)缺點(diǎn)[2,3]
將IP硬核直接植入FPGA的解決方案存在以下幾種不足:
1)由于此類硬核多來(lái)自第三方公司,F(xiàn)PGA廠商通常無(wú)法直接控制其知識(shí)產(chǎn)權(quán)費(fèi)用,從而導(dǎo)致FPGA器件價(jià)格相對(duì)偏高。2)由于硬核是預(yù)先植入的,設(shè)計(jì)者無(wú)法根據(jù)實(shí)際需要改變處理器的結(jié)構(gòu),如總線規(guī)模、接口方式、指令形式、更不可能將FPGA邏輯資源構(gòu)成的硬件模塊以指令的形式嵌入硬件加速模塊。3)無(wú)法根據(jù)實(shí)際設(shè)計(jì)需要在同一FPGA中集成多個(gè)處理器。4)無(wú)法根據(jù)需要裁減處理器硬件資源以降低FPGA成本。5)只能在特定的FPGA中使用硬核嵌入式處理器。
2.3 基于FPGA嵌入IP軟核的SOPC系統(tǒng)
為了解決基于FPGA嵌入IP硬核的SOPC系統(tǒng)存在的問(wèn)題。人們?cè)O(shè)計(jì)了基于FPGA嵌入IP軟核的SOPC系統(tǒng)。目前最具有代表性的軟核處理器Altera公司的NIOSII核。
3 嵌入式SOPC應(yīng)用開(kāi)發(fā)
3.1 嵌入式SOPC應(yīng)用開(kāi)發(fā)流程簡(jiǎn)介[3]
1)分析系統(tǒng)需求。2)建立Quartus II工程,建立頂層圖*.bdf。3)打開(kāi)SOPC Builder定義和生成系統(tǒng)(使用NIOSII內(nèi)核&標(biāo)準(zhǔn)外設(shè)和定制指令&定制外設(shè)邏輯)。說(shuō)明:(4.1-4.7)硬件開(kāi)發(fā)4.1)集成SOPC生成的系統(tǒng)到Quartus II工程(自定義的功能模塊和Altera的LPM模塊)。4.2)連接各功能模塊。4.3)選擇FPGA型號(hào),并進(jìn)行管腳分配。4.5)進(jìn)行編譯選項(xiàng)設(shè)置。4.6)編譯硬件系統(tǒng)生成配置文件.sof。4.7)下載配置文件到到FPGA器件。說(shuō)明:(5.1-5.4)軟件開(kāi)發(fā)。
5.1)使用NIOSII IDE開(kāi)發(fā)軟件(硬件抽象層(HAL)&外設(shè)驅(qū)動(dòng)程序和用戶C/C++應(yīng)用程序代碼和定制的庫(kù))。
5.2)設(shè)置軟件運(yùn)行硬件環(huán)境屬性。
5.3)編譯軟件生成可執(zhí)行文件.elf。
5.4)在IDE中使用ISS運(yùn)行/調(diào)式軟件。
6)在目標(biāo)板上下載可執(zhí)行軟件到NIOS II系統(tǒng)。
7)在目標(biāo)板上運(yùn)行/調(diào)試軟件。
8)調(diào)式好的硬件和軟件。
9)使用IDE編程工具燒寫(xiě)配置文件和軟件代碼。
3.2 硬件開(kāi)發(fā)[2,4]
硬件開(kāi)發(fā)使用Quartus II和SOPC Builder。硬件設(shè)計(jì)過(guò)程如下:
首先,使用SOPC Builder軟件從NIOS II處理器內(nèi)核和NIOS II開(kāi)發(fā)套件提供的外設(shè)列表中選取合適的CPU、存儲(chǔ)器以及各外部器件并定制和配置它們的功能,分配外設(shè)地址及中斷號(hào);設(shè)定復(fù)位地址;最后生成系統(tǒng)。用戶也可以添加用戶自身的定制指令邏輯到NIOS II內(nèi)核以加速CPU性能,或添加用戶外設(shè)以減輕CPU的任務(wù)。
其次,使用SOPC Builder生成NIOS II 系統(tǒng)后,將其集成到整個(gè)QuartusII工程中??梢栽赒uartusII工程中加入NIOS II 以外的邏輯,大多數(shù)的SOPC設(shè)計(jì)都包括NIOS II系統(tǒng)以外的邏輯,這也是SOPC系統(tǒng)的優(yōu)勢(shì)所在。用戶可以集成自身的定制的硬件模塊到SOPC設(shè)計(jì),或集成從Altera或第3方IP供應(yīng)商中得到的其它現(xiàn)成知識(shí)產(chǎn)權(quán)設(shè)計(jì)模塊。
再次,使用QuartusII軟件來(lái)選取具體的Altera FPGA器件型號(hào);然后為NIOS II系統(tǒng)上的各I/O口分配管腳,另外,還要根據(jù)要求進(jìn)行硬件編譯選項(xiàng)或時(shí)序約束的設(shè)置;最后編譯QuartusII工程,在編譯過(guò)程中QuartusII將對(duì)SOPC Builder生成系統(tǒng)的HDL設(shè)計(jì)文件進(jìn)行布局布線,從HDL源文件綜合生成一個(gè)合適目標(biāo)器件的網(wǎng)絡(luò)表,生成FPGA配置文件。
最后,使用QuartusII編程器和Altera下載電纜將配置文件(用戶定制的NIOS II 處理器系統(tǒng)的硬件設(shè)計(jì))下載到目標(biāo)板上。當(dāng)校驗(yàn)完當(dāng)前硬件設(shè)計(jì)后,可將新的配置文件下載到目標(biāo)板的非易失存儲(chǔ)器中。下載萬(wàn)硬件配置文件后,軟件開(kāi)發(fā)者就可以將此目標(biāo)板作為軟件開(kāi)發(fā)的初期硬件平臺(tái)進(jìn)行軟件功能的開(kāi)發(fā)驗(yàn)證了。
3.3 軟件開(kāi)發(fā)[2,4]
軟件開(kāi)發(fā)使用NIOS II IDE,它是一個(gè)基于Eclipse IED架構(gòu)的集成開(kāi)發(fā)環(huán)境,它包括:
GUN開(kāi)發(fā)工具(標(biāo)準(zhǔn)的GCC編譯器,連接器,匯編器和Makefile工具等);
基于GDB的調(diào)試器,包括軟件仿真和硬件調(diào)試;
提供用戶一個(gè)硬件抽象層;
提供嵌入式操作系統(tǒng)MicroC/OS-II和LwTCP/IP協(xié)議的支持;
提供幫助用戶快似入門(mén)的軟件模板;
提供Flash下載支持;
使用NIOSII IDE,可完成NIOSII處理器系統(tǒng)的所有軟件開(kāi)發(fā)任務(wù)。使用SOPC Builder 生成系統(tǒng)后,可以直接使用NIOSII IDE開(kāi)始設(shè)計(jì)C/C++應(yīng)用程序代碼。Altera提供外設(shè)驅(qū)動(dòng)程序和硬件抽象層(HAL),使用戶能夠快速的編寫(xiě)與低級(jí)硬件細(xì)節(jié)無(wú)關(guān)的NIOSII程序。除了應(yīng)用代碼外,用戶還可以在NIOSII IDE工程中設(shè)計(jì)和重新使用定制庫(kù)。
用戶在沒(méi)有目標(biāo)板的情況下,可以通過(guò)NIOSII指令集仿真器(ISS)運(yùn)行和調(diào)試代碼。ISS可以仿真處理器、存儲(chǔ)器、stdin/stdout/stderr流,使用戶可以檢驗(yàn)程序流和算法的正確性。
4 嵌入式SOPC的應(yīng)用實(shí)例
4.1 任務(wù)
建立一個(gè)基于NIOSII處理器的系統(tǒng)來(lái)控制一個(gè)LED燈閃爍。
4.2 開(kāi)發(fā)步驟[5]
4.3.1 分析系統(tǒng)需求
本應(yīng)用實(shí)例的開(kāi)發(fā)任務(wù)是:
1)展示可用于控制LED閃爍的簡(jiǎn)單NIOSII處理器系統(tǒng);2)利用最通用的最有效的方法來(lái)建立實(shí)際的頂制NIOSII;3)整個(gè)系統(tǒng)僅使用片內(nèi)資源,且不依賴于目標(biāo)板。
分析任務(wù)可以知道FPGA內(nèi)硬件系統(tǒng)組成應(yīng)包含:
1)帶有2KB指令高速緩存的NIOSII/S處理器核;2)帶有1KB片內(nèi)ROM存儲(chǔ)器用于存儲(chǔ)程序代碼以及程序運(yùn)行空間;3)帶有1KB片內(nèi)RAM存儲(chǔ)器用于變量存儲(chǔ)、Heap、stack;3有一位輸出I/O(PIO)來(lái)控制LED;4)系統(tǒng)識(shí)別設(shè)備(SystemID)。
說(shuō)明:由于控制LED燈閃爍的用戶程序代碼很小,所以可將代碼固化在片內(nèi)ROM來(lái)執(zhí)行,變量,堆棧燈空間使用片內(nèi)RAM,而不使用任何片外存儲(chǔ)器。使用片內(nèi)存儲(chǔ)器能獲得非常高的執(zhí)行性能。
4.3.2 使用Quartus II建立工程。
1)打開(kāi)Quartus II軟件并建立工程;2)建立頂層模塊并命名為L(zhǎng)ED.BDF 。
4.3.3 使用SOPC Builder創(chuàng)建NIOSII系統(tǒng)
1)啟動(dòng)SOPC Builder;2)指定目標(biāo)FPGA和時(shí)鐘設(shè)置;3)添加NIOSII處理器核;4)添加片內(nèi)存儲(chǔ)器;5)添加PIC;6)添加系統(tǒng)ID外觀;7)指定基地址和中斷請(qǐng)求優(yōu)先級(jí);8)設(shè)置NIOSII復(fù)位和異常地址;9)生成NIOSII系統(tǒng)。至此已經(jīng)完成了NIOSII系統(tǒng)的創(chuàng)建。
4.3.4 集成NIOSII系統(tǒng)到到Quartus II工程
1)添加NIOSII系統(tǒng)模塊到NIOSII頂層模塊;2)添加引腳和其他基本單元;3)選擇器件型號(hào);4)分配FPGA管腳;器件和管腳的其他設(shè)置。
4.3.5 設(shè)置編譯選項(xiàng)并編譯硬件系統(tǒng)(下轉(zhuǎn)第755頁(yè))
(上接第739頁(yè))
1)設(shè)置編譯選項(xiàng);2)編譯硬件系統(tǒng);3)查看編譯報(bào)告。
4.3.6 下載硬件設(shè)計(jì)到目標(biāo)FPGA
4.3.7 使用NIOSII IDE創(chuàng)建用戶程序
1)創(chuàng)建一個(gè)新的C/C++應(yīng)用工程;2)設(shè)置C/C++應(yīng)用工程系統(tǒng)屬性;3)編譯連接工程;
4.3.8 調(diào)試/運(yùn)行程序
1)在目標(biāo)硬件系統(tǒng)上運(yùn)行程序;2)在目標(biāo)板上調(diào)試程序;3)經(jīng)過(guò)重新編譯硬件系統(tǒng)后,程序?qū)⒅苯舆\(yùn)行,目標(biāo)板
上的LED將閃爍。
5 小結(jié)
本文主要介紹一種新的嵌入式設(shè)計(jì)方法即可編程的片上系統(tǒng)SOPC,通過(guò)對(duì)當(dāng)前流行的基于FPGA的IP硬核、軟核SOPC系統(tǒng)的分析與研究,拋磚引玉,給目前從事傳統(tǒng)嵌入式開(kāi)發(fā)人員指明一個(gè)方向,并快速入門(mén)提供幫助。
參考文獻(xiàn):
[1] 周立功.SOPC嵌入式系統(tǒng)基礎(chǔ)教程[M].北京航空航天大學(xué)出版社,2006,(11):30-65.
[2] 周立功.SOPC 嵌入式系統(tǒng)實(shí)驗(yàn)教程[M].北京航空航天大學(xué)出版社,2006,(11):103-124.
[3] 邵舒淵.SOPC教程[M].西安:西北工業(yè)大學(xué),2005,(3):132-156.
注:以上所有網(wǎng)站均可從課程網(wǎng)站/jpkc進(jìn)入。
教材編寫(xiě):考慮到雙語(yǔ)教學(xué)的需要,目前教學(xué)采用的是微軟出版社出版的權(quán)威原版教材:由Douglas Boling編寫(xiě)的“Programming Microsoft Windows CE .NET”, Third Edition, Microsoft Press, 2003。同時(shí),本課程主講教師編寫(xiě)的本課程配套教材和中文版電子版也已完成,包括中英文兩個(gè)版本的教材、實(shí)驗(yàn)指導(dǎo)書(shū)等都將在2006年正式出版。
主要工作業(yè)績(jī)
何宗鍵,畢業(yè)于同濟(jì)大學(xué)。國(guó)內(nèi)首批微軟Windows Embedded認(rèn)證講師。作為國(guó)內(nèi)最早開(kāi)設(shè)基于Windows CE的嵌入式系統(tǒng)課程的高校教師,在Windows CE嵌入式教學(xué)和研究領(lǐng)域已積累了相當(dāng)豐富的經(jīng)驗(yàn)。其在Windows嵌入式教學(xué)領(lǐng)域的工作和成績(jī)主要包括:
2005年6月,在微軟亞洲研究院與同濟(jì)大學(xué)聯(lián)合舉辦的“微軟Windows Embedded教學(xué)研討培訓(xùn)會(huì)”上作專題演講,介紹本課程的教學(xué)經(jīng)驗(yàn),并對(duì)與會(huì)教師進(jìn)行培訓(xùn)教學(xué)。
2005年6月,作為主要參加者之一,參與微軟亞洲研究院的“國(guó)家發(fā)改委-微軟嵌入式系統(tǒng)教學(xué)包”制作,負(fù)責(zé)Windows CE實(shí)驗(yàn)部分內(nèi)容的編寫(xiě)。
2005年9月,在微軟公司舉辦的Windows Embedded技術(shù)研討會(huì)上作關(guān)于Windows CE系統(tǒng)定制的專題講座。
2005年11月,在首屆全國(guó)Modern C++ Design & Programming大會(huì)上作關(guān)于Embedded Software技術(shù)講座。