時(shí)間:2023-06-14 16:37:22
引言:易發(fā)表網(wǎng)憑借豐富的文秘實(shí)踐,為您精心挑選了九篇軟件開發(fā)與定制范例。如需獲取更多原創(chuàng)內(nèi)容,可隨時(shí)聯(lián)系我們的客服老師。
Abstract: This paper provides instructions on building a Man-hour quota system based on Access data base, refers to structure,piping,electrical, instrument, telecommunication, mechanical, HVAC, security, insulation, outfitting, painting, scaffolding, which combines with the characteristic of production reality of offshore engineering.
關(guān)鍵詞: 海洋工程;工時(shí)定額;Access 數(shù)據(jù)庫
Key words: offshore engineering;man-hour quota;Access data base
中圖分類號(hào):P75 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2012)21-0058-02
0 引言
任何一個(gè)企業(yè),都要按照市場經(jīng)濟(jì)規(guī)律,建立符合自身要求的成本核算體系,編制和擁有自己的工時(shí)定額,作為參與市場競爭的計(jì)價(jià)依據(jù)。同時(shí)還要確定科學(xué)的計(jì)價(jià)方法和完善的信息數(shù)據(jù)庫,并將其作為企業(yè)管理和發(fā)展的重要內(nèi)容。
蓬萊PL 19-3項(xiàng)目是中國海洋石油與康菲石油合作開發(fā)的最大的海上油田,包含六個(gè)生產(chǎn)平臺(tái)一個(gè)中心立管平臺(tái)以及“蓬勃號(hào)”FPSO,蓬萊 PL 19-3 連接調(diào)試項(xiàng)目組在對(duì)連接調(diào)試工時(shí)定額體系成功使用的基礎(chǔ)上,結(jié)合海洋工程項(xiàng)目的實(shí)際情況,開發(fā)了一套適用于海洋工程的工時(shí)定額體系,并利用Access數(shù)據(jù)庫工具開發(fā)形成了工時(shí)估算系統(tǒng)。
1 定額數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)
本定額依據(jù)現(xiàn)行的工程施工及驗(yàn)收規(guī)范、安全技術(shù)操作規(guī)程和現(xiàn)行勞動(dòng)保護(hù)法律、法規(guī)、國家設(shè)計(jì)規(guī)范、各種類型具有代表性的標(biāo)準(zhǔn)圖集、施工圖紙、企業(yè)技術(shù)與管理水平、工程施工組織方案、工程具體結(jié)構(gòu)和難易程度狀況、以及采用新工藝、新技術(shù)、新材料、新方法的情況等,根據(jù)項(xiàng)目的特殊性和技術(shù)含量等因素采用現(xiàn)場觀察測定法和類比法,進(jìn)行工時(shí)定額的編制。它具有以下幾個(gè)特點(diǎn):
1.1 包含兩個(gè)基礎(chǔ)工時(shí)定額數(shù)據(jù)庫,以滿足用戶不同的需求。包含粗估工時(shí)定額、精算工時(shí)定額兩個(gè)基礎(chǔ)工時(shí)定額數(shù)據(jù)庫,在進(jìn)行施工管理及分包、投標(biāo),車間工時(shí)管理等活動(dòng)時(shí)用戶可以根據(jù)自己的需求來選擇其中一種或兩種交叉使用,來進(jìn)行工時(shí)估算。
1.2 覆蓋專業(yè)全面,分類合理。根據(jù)海洋工程的性質(zhì),本系統(tǒng)首先按專業(yè)進(jìn)行劃分,分為結(jié)構(gòu)、配管、電氣、儀表、通訊、機(jī)械、暖通空調(diào)、安全、保溫、舾裝、涂裝、腳手架、檢驗(yàn)等專業(yè)。根據(jù)施工順序的相同性及作業(yè)要素的類似性,每個(gè)專業(yè)分為不同的作業(yè),然后每個(gè)作業(yè)分為不同的規(guī)格,從而對(duì)應(yīng)完成此項(xiàng)規(guī)格的作業(yè)需要消耗的時(shí)間。下面以精算工時(shí)定額結(jié)構(gòu)專業(yè)為例,通過框架圖(圖1)的形式對(duì)本定額數(shù)據(jù)庫結(jié)構(gòu)進(jìn)行表述。
另外,數(shù)據(jù)庫中對(duì)每一個(gè)定額數(shù)據(jù)所包括的工作步驟、程序及未包括的工作情況都有詳細(xì)的備注說明。例如精算工時(shí)定額結(jié)構(gòu)專業(yè)組對(duì)欄桿每米8.2人工時(shí)中不包含載荷試驗(yàn)部分。
1.3 海上系數(shù)的應(yīng)用。由于海上石油行業(yè)的特殊性,決定了大量的工作需要在海上完成。海上施工時(shí),由于施工條件限制增加了相應(yīng)的施工難度,故需要相應(yīng)的海上施工系數(shù)作為修正。通過對(duì)幾個(gè)平臺(tái)各專業(yè)計(jì)劃工時(shí)與實(shí)際工時(shí)的比較及分析各專業(yè)的特點(diǎn),定額中對(duì)不同的專業(yè)確定了不同的海上施工系數(shù)。所有的標(biāo)準(zhǔn)工時(shí)定額數(shù)據(jù)均以陸地的施工作為標(biāo)準(zhǔn),故陸地系數(shù)默認(rèn)為1.0。
2 工時(shí)估算系統(tǒng)計(jì)算原理
對(duì)應(yīng)兩個(gè)基礎(chǔ)工時(shí)定額數(shù)據(jù)庫,本估算系統(tǒng)包含兩種計(jì)算模式。粗估計(jì)算模式指各專業(yè)以一個(gè)或幾個(gè)關(guān)鍵要素為參數(shù)來計(jì)算整個(gè)專業(yè)工時(shí);精算計(jì)算模式指各專業(yè)按照施工的各個(gè)步驟分別計(jì)算相應(yīng)的工時(shí),從而比較準(zhǔn)確地計(jì)算整個(gè)專業(yè)工時(shí)。計(jì)算原理為:
計(jì)算工時(shí)=定額所對(duì)應(yīng)的工時(shí)*數(shù)量*施工地點(diǎn)系數(shù)*人工系數(shù)*綜合系數(shù)
人工系數(shù)是考慮人員的經(jīng)驗(yàn)和不同工機(jī)具的裝備水平應(yīng)用可以直接影響施工的效率,故需要根據(jù)施工人員的經(jīng)驗(yàn),不同經(jīng)驗(yàn)的人員配比以及不用水平機(jī)具情況等因素自主調(diào)整系數(shù)。綜合系數(shù)是考慮所有的標(biāo)準(zhǔn)工時(shí)定額估算數(shù)據(jù)均以適宜施工的氣候條件為基礎(chǔ),故需要根據(jù)施工所在區(qū)域的氣候因素(如高溫、低溫、大風(fēng)等影響施工的因素)自主調(diào)整系數(shù)。同時(shí)在考慮利潤因素時(shí),可以在投標(biāo)和分包時(shí)確定系數(shù)來實(shí)現(xiàn)。
3 工時(shí)估算系統(tǒng)軟件設(shè)計(jì)
為提高工程項(xiàng)目中查找和使用定額數(shù)據(jù)的效率,方便定額數(shù)據(jù)的維護(hù),項(xiàng)目組在工時(shí)定額數(shù)據(jù)庫的基礎(chǔ)上開發(fā)了工時(shí)估算系統(tǒng)。
“軟件危機(jī)”問題日益嚴(yán)重,主要表現(xiàn)在:軟件開發(fā)效率低,開發(fā)周期長,開發(fā)成本高,可維護(hù)性和適應(yīng)性差,不能很好地滿足用戶個(gè)性化和頻繁的業(yè)務(wù)變化的需求.而日益激烈的市場競爭和經(jīng)濟(jì)全球化,賦予軟件工程以新的特征:有效率有效用地滿足用戶個(gè)性化需求的定制化,快速響應(yīng)和適應(yīng)市場及業(yè)務(wù)的變化,以及低成本高收益等.
在軟件行業(yè),大多數(shù)開發(fā)單位還處于手工勞動(dòng)階段,軟件開發(fā)活動(dòng)是針對(duì)單一用戶的具體需求,面向單個(gè)產(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)狀并沒有達(dá)到期望的目標(biāo),當(dāng)軟件開發(fā)項(xiàng)目比較大時(shí),軟件危機(jī)依然存在,其中一個(gè)主要的原因是,認(rèn)識(shí)一個(gè)系統(tǒng)的過程和方法同用于分析、設(shè)計(jì)和實(shí)現(xiàn)一個(gè)系統(tǒng)的過程和方法不一致,對(duì)軟件開發(fā)過程的認(rèn)識(shí)不夠明確,同時(shí),也缺乏合理和實(shí)用的軟件過程模型.為了解決軟件開發(fā)過程中的瓶頸問題,提高軟件業(yè)的競爭力,人們提出一些旨在促進(jìn)軟件工程化的開發(fā)思想和方法,如軟件復(fù)用、過程重組面向?qū)ο蟮能浖こ袒跇?gòu)件的軟件工程和領(lǐng)域工程等.本文在這些軟件工程方法的基礎(chǔ)上,提出面向大規(guī)模定制的軟件開發(fā)模式(softwaredevelop?mentformasscustomization,SDMC),將大規(guī)模標(biāo)準(zhǔn)化軟件開發(fā)與面向單個(gè)用戶定制開發(fā)有機(jī)結(jié)合起來,既滿足用戶的個(gè)性化需求,又達(dá)到規(guī)模經(jīng)濟(jì)的效益.
2面向大規(guī)模定制的軟件開發(fā)模式
1970年,托夫勒在其《FutureShock)(未來的沖擊)一書中提出了一種以類似于標(biāo)準(zhǔn)化或大規(guī)模生產(chǎn)的成本和時(shí)間,提供滿足用戶特定需求的產(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)成本和時(shí)間滿足用戶的個(gè)性化需求,其基本思想是:將個(gè)性化定制產(chǎn)品的生產(chǎn)問題通過產(chǎn)品重組和過程重組轉(zhuǎn)化為或部分轉(zhuǎn)化為批量生產(chǎn)問題.
與物質(zhì)產(chǎn)品相比較,軟件產(chǎn)品的生命周期更短,受市場和客戶需求變化的影響更大,特別是領(lǐng)域應(yīng)用軟件,每個(gè)企業(yè)的產(chǎn)品結(jié)構(gòu)、規(guī)模大小和管理方式都不一樣,業(yè)務(wù)流程也各不相同,而且隨著市場的變化,企業(yè)重組和持續(xù)業(yè)務(wù)過程改善,都造成業(yè)務(wù)過程的動(dòng)態(tài)不穩(wěn)定.這要求軟件產(chǎn)品不僅在開發(fā)過程中要滿足多樣化的業(yè)務(wù)需要,而且在企業(yè)應(yīng)用過程中,要能動(dòng)態(tài)適應(yīng)不斷變化的業(yè)務(wù)過程.因此,軟件產(chǎn)品應(yīng)比物質(zhì)產(chǎn)品更具有柔性和可定制性.根據(jù)不同軟件產(chǎn)品的特點(diǎn),存在兩種軟件開發(fā)形式,如圖1所示.
①標(biāo)準(zhǔn)成品軟件(off~the~shelf)開發(fā).面向較大規(guī)模的客戶群,開發(fā)和銷售成本低,相對(duì)價(jià)格便宜,交貨迅速,但滿足用戶特殊需求的集成和修改費(fèi)用高.
②單個(gè)軟件定向開發(fā)(one^ff).完全按用戶需求組織開發(fā),能貼近用戶需求,但開發(fā)費(fèi)用高,周期長,而且可維護(hù)、可升級(jí)性差.面向大規(guī)模定制的軟件開發(fā)模式是以上兩種開發(fā)方式優(yōu)點(diǎn)的結(jié)合,既可以快速響應(yīng)個(gè)性化客戶需求,又可以實(shí)現(xiàn)標(biāo)準(zhǔn)軟件開發(fā)的效率和成本.
如圖2所示,SDMC除繼承領(lǐng)域工程和基于構(gòu)件的軟件工程方法的特點(diǎn)外,還將并行工程的思想融于產(chǎn)品開發(fā)過程中.SDMC改變了傳統(tǒng)的面向單個(gè)軟件的開發(fā)方法,是對(duì)某一領(lǐng)域現(xiàn)在和未來市場、整體和細(xì)分市場以及相應(yīng)的用戶群體進(jìn)行分析,開發(fā)出對(duì)該領(lǐng)域現(xiàn)存和潛在用戶均有良好適應(yīng)性和定制性的系列產(chǎn)品,即面向產(chǎn)品族開發(fā),以實(shí)現(xiàn)范圍經(jīng)濟(jì)與規(guī)模經(jīng)濟(jì)的結(jié)合.可重用構(gòu)件是實(shí)現(xiàn)SDMC的基石.采用基于構(gòu)件的開發(fā)方法,可以將一個(gè)復(fù)雜的軟件產(chǎn)品分成多個(gè)構(gòu)件的集合,相當(dāng)于將復(fù)雜的單一問題簡單化,因此更便于軟件的管理、維護(hù)和升級(jí).理論上,構(gòu)件是與具體產(chǎn)品無關(guān)的相互獨(dú)立的單元,可以在廣泛范圍內(nèi)共享和重用,是解決大規(guī)模軟件工程問題的有效方法.構(gòu)件可以外購,還可以外協(xié)構(gòu)造,這樣可以充分利用外部資源,縮短開發(fā)周期.
SDMC運(yùn)用并行工程的思想,集成地、并行地開發(fā)軟件產(chǎn)品和過程,從軟件開發(fā)的開始就充分考慮軟件生命周期中所有因素,包括時(shí)間、成本、質(zhì)量和用戶需求等.
綜上所述,SDMC繼承和發(fā)揚(yáng)了領(lǐng)域工程、基于構(gòu)件的軟件工程和并行工程的思想和方法,在系統(tǒng)方法指導(dǎo)下,用全局優(yōu)化的觀念,充分利用內(nèi)外部資源,以大規(guī)模生產(chǎn)軟件的效益,開發(fā)滿足用戶個(gè)性化需求的軟件產(chǎn)品.其目標(biāo)是:
①縮短產(chǎn)品開發(fā)周期,以實(shí)現(xiàn)快速響應(yīng);
②提高開發(fā)規(guī)模,降低開發(fā)成本,以實(shí)現(xiàn)規(guī)模經(jīng)濟(jì);
③滿足用戶個(gè)性化需求,以實(shí)現(xiàn)范圍經(jīng)濟(jì).
3面向大規(guī)模定制的軟件開發(fā)過程
傳統(tǒng)的軟件開發(fā)過程模型是針對(duì)單個(gè)產(chǎn)品開發(fā)而提出的,將軟件開發(fā)過程分成需求分析、設(shè)計(jì)、編碼、測試和交付等串行的幾個(gè)階段.文獻(xiàn)分別給出了面向重用的過程模型.文獻(xiàn)[7]將制造業(yè)的產(chǎn)品生產(chǎn)過程分為新產(chǎn)品形成過程和訂單產(chǎn)品制造過程.本文根據(jù)SDMC的目標(biāo)和特點(diǎn),給出如圖3所示的面向大規(guī)模定制的軟件開發(fā)過程模型.與制造業(yè)一樣,將軟件開發(fā)過程分為面向市場的新產(chǎn)品開發(fā)和面向用戶的定制兩個(gè)循環(huán).
圖3面向大規(guī)模定制的軟件開發(fā)過程模型
面向市場的新產(chǎn)品開發(fā)是根據(jù)市場的現(xiàn)在和未來需求收集信息,運(yùn)用相關(guān)知識(shí)構(gòu)造某一應(yīng)用領(lǐng)域問題的解決方案,開發(fā)新的產(chǎn)品.新產(chǎn)品開發(fā)不是面向單個(gè)產(chǎn)品,而是面向產(chǎn)品族,建立面向產(chǎn)品族的領(lǐng)域框架和可重用構(gòu)件,并在過程設(shè)計(jì)環(huán)節(jié),設(shè)計(jì)以領(lǐng)域框架和構(gòu)件為基型的軟件定制過程,為定制具體應(yīng)用系統(tǒng)打下基礎(chǔ).這一循環(huán),所需時(shí)間相對(duì)較長,稱之為慢循環(huán).面向用戶的定制過程是根據(jù)用戶的具體需求,在新產(chǎn)品開發(fā)過程中形成的面向產(chǎn)品族的領(lǐng)域框架和定制過程的基礎(chǔ)上,利用已有構(gòu)件,進(jìn)行配置設(shè)計(jì)和定制開發(fā),形成滿足客戶個(gè)性化需求的軟件產(chǎn)品.這一過程在客觀上必須是一個(gè)快循環(huán),以快速響應(yīng)用戶需求,稱之為快循環(huán).
SDMC主張軟件開發(fā)單位通過業(yè)務(wù)過程重組,將軟件開發(fā)的兩個(gè)循環(huán)相互分離:新產(chǎn)品開發(fā)部門負(fù)責(zé)面向市場的新產(chǎn)品開發(fā),同時(shí)為軟件定制準(zhǔn)備基型;定制部門利用可變型的基型,按訂單定制,快速滿足用戶的個(gè)性化需求.兩個(gè)循環(huán)相輔相成,能否完善結(jié)合的關(guān)鍵是可定制的領(lǐng)域框架和可重用的構(gòu)件.每個(gè)循環(huán)均強(qiáng)調(diào)并行,并適時(shí)將演化模型[1]融入并行開發(fā)和定制過程中.
一般說來,軟件開發(fā)單位對(duì)兩個(gè)循環(huán)都應(yīng)重視.新產(chǎn)品開發(fā)循環(huán)具有創(chuàng)新性,將給開發(fā)單位帶來創(chuàng)新的產(chǎn)品,增強(qiáng)競爭優(yōu)勢.定制循環(huán)雖然不會(huì)有重大創(chuàng)新,但其優(yōu)勢是在“快”上,能快速響應(yīng)用戶的個(gè)性化需求.
4面向大規(guī)模定制的軟件產(chǎn)品族
可定制的產(chǎn)品族模型是實(shí)現(xiàn)SDMC的關(guān)鍵.因此,SDMC重點(diǎn)在于研究建立合理的產(chǎn)品族結(jié)構(gòu)的軟件設(shè)計(jì)方法,不再每次只設(shè)計(jì)一個(gè)產(chǎn)品,而是同時(shí)完成一組產(chǎn)品的設(shè)計(jì),即對(duì)整個(gè)產(chǎn)品族進(jìn)行綜合設(shè)計(jì),從而可以挖掘出產(chǎn)品族中的相似性信息,設(shè)計(jì)出面向產(chǎn)品族的可定制的領(lǐng)域框架和可重用構(gòu)件.并利用并行工程的觀點(diǎn),以時(shí)間、成本用戶滿意度為目標(biāo),集成地并行地設(shè)計(jì)產(chǎn)品族及定制過程,同時(shí)盡可能考慮到影響軟件定制過程的約束條件和條件約束下的軟件配置機(jī)制.
軟件產(chǎn)品族是利用共享資源構(gòu)造的某一具體領(lǐng)域軟件產(chǎn)品的集合,是一系列相似產(chǎn)品的統(tǒng)一表達(dá).軟件產(chǎn)品族對(duì)具體領(lǐng)域的相似問題進(jìn)行歸類,用相似的解決方案來解決,并試圖覆蓋同一業(yè)務(wù)領(lǐng)域的所有現(xiàn)實(shí)或潛在需求.面向大規(guī)模定制的軟件產(chǎn)品族體系結(jié)構(gòu)如圖4所示.
軟件產(chǎn)品族由領(lǐng)域框架、構(gòu)件、定制過程和定制機(jī)制等部分組成.按照從用戶需求到軟件產(chǎn)品形成,在業(yè)務(wù)定義、技術(shù)方案和物理實(shí)現(xiàn)3個(gè)層面上建立領(lǐng)域框架模型和構(gòu)件模型,層與層之間存在映射關(guān)系,右邊層次的模型是左邊層次的模型的變換,這樣從左到右,形成一種生成、推導(dǎo)和約束關(guān)系.
(1)業(yè)務(wù)模型.是根據(jù)用戶和市場需求,對(duì)業(yè)務(wù)對(duì)象、業(yè)務(wù)過程、業(yè)務(wù)服務(wù)和業(yè)務(wù)規(guī)則進(jìn)行形式化描義莫型.在軟件產(chǎn)品族體系結(jié)構(gòu)中,業(yè)務(wù)層面上描述的領(lǐng)域框架和構(gòu)件,分別稱為領(lǐng)域框架業(yè)務(wù)模型和構(gòu)件業(yè)務(wù)模型.
(2) 技術(shù)模型.是對(duì)適應(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) 實(shí)現(xiàn)模型.是對(duì)實(shí)現(xiàn)技術(shù)模型的物理系統(tǒng)的一致性描述.在軟件產(chǎn)品族體系結(jié)構(gòu)中,技術(shù)層面上描述的領(lǐng)域框架和構(gòu)件,分別稱為領(lǐng)域框架技術(shù)模型和構(gòu)件技術(shù)模型.
(4) 領(lǐng)域框架.是針對(duì)某一具體領(lǐng)域,包括構(gòu)件及構(gòu)件之間相互關(guān)系和約束規(guī)則,可定制、可擴(kuò)展領(lǐng)域通用的軟件產(chǎn)品族架構(gòu).
(5) 構(gòu)件.是在定義好的體系結(jié)構(gòu)相關(guān)環(huán)境中具有明確功能的獨(dú)立的、可替代、可重用的系統(tǒng)組成部分.
(6) 定制過程.針對(duì)具體的開發(fā)環(huán)境所制定的,個(gè)性化定制具體應(yīng)用系統(tǒng)的規(guī)程,包括與應(yīng)用系統(tǒng)實(shí)現(xiàn)過程相關(guān)的規(guī)范、工具及相關(guān)文檔.
(7) 定制機(jī)制.包括約束條件^配置機(jī)制以及業(yè)務(wù)模型技術(shù)模型和實(shí)現(xiàn)模型之間的映射關(guān)系.約束條件是約束應(yīng)用系統(tǒng)定制的環(huán)境因素和對(duì)定制過程的考慮,配置機(jī)制是條件約束下的對(duì)領(lǐng)域框架實(shí)例化和對(duì)構(gòu)件進(jìn)行配置的規(guī)則和推理機(jī)制.
基于產(chǎn)品族的軟件開發(fā)目標(biāo)是提高產(chǎn)品族中的構(gòu)件的通用性,從總體上降低開發(fā)成本,縮短交貨期.對(duì)現(xiàn)有客戶需求的理解和對(duì)未來需求的預(yù)測,及對(duì)客戶群需求的系統(tǒng)分析,是產(chǎn)品族規(guī)劃的關(guān)鍵,而產(chǎn)品族規(guī)劃又是面向產(chǎn)品族軟件開發(fā)的重要環(huán)節(jié).
5面向大規(guī)模定制軟件開發(fā)的產(chǎn)品集成過程模型
傳統(tǒng)的軟件開發(fā)方法強(qiáng)調(diào)軟件實(shí)現(xiàn)技術(shù),而忽略了對(duì)軟件開發(fā)過程的規(guī)范和管理.近年來,軟件開發(fā)過程越來越受到產(chǎn)業(yè)界和學(xué)術(shù)界的重視,如CMM(能力成熟度模型)就旨在顯著提高軟件開發(fā)過程管理能力[8].本文在制造業(yè)面向大規(guī)模定制的集成產(chǎn)品和過程模型基礎(chǔ)上,結(jié)合軟件產(chǎn)品的特點(diǎn),給出了如圖5所示的面向大規(guī)模定制軟件開發(fā)的產(chǎn)品集成過程模型.
如圖5所示,面向大規(guī)模定制軟件開發(fā)的產(chǎn)品集成過程模型呈二維結(jié)構(gòu).時(shí)間維描述的是從客戶訂單到產(chǎn)品交付的過程,即軟件開發(fā)過程(包括新產(chǎn)空間維描述的是將不同產(chǎn)品的相似部分進(jìn)行歸類處理,以增加軟件開發(fā)規(guī)模,可采用產(chǎn)品模型(包括領(lǐng)域框架模型構(gòu)件模型和應(yīng)用系統(tǒng)模型)來描述.
SDMC在時(shí)間維優(yōu)化的關(guān)鍵是有效地將定制分離點(diǎn)(customizationdecouplingpoint,CDP)后移.CDP是軟件開發(fā)過程中由與訂單無關(guān)的、面向市場的預(yù)測型大規(guī)模開發(fā)轉(zhuǎn)向面向用戶的定制的轉(zhuǎn)換點(diǎn).推遲CDP可以減少由于用戶訂單特殊需求而進(jìn)行定制在時(shí)間和資源上的開銷.最理想的作法是在交貨點(diǎn)定制,即接到用戶訂單后,及時(shí)在用戶現(xiàn)場根據(jù)用戶需求完成產(chǎn)品開發(fā)和交付.實(shí)現(xiàn)CDP后移,需要準(zhǔn)確預(yù)測市場需求,構(gòu)建好可定制的領(lǐng)域框架,預(yù)制足夠的可重用構(gòu)件,為產(chǎn)品定制做好充分的準(zhǔn)備.時(shí)間維優(yōu)化可以顯著提高開發(fā)效率.
SDMC在空間維優(yōu)化的關(guān)鍵在于如何通過相似性原理和標(biāo)準(zhǔn)化技術(shù)有效擴(kuò)大構(gòu)件和框架的優(yōu)化范圍并提高它們的可重用性.在軟件行業(yè),大約65%的開發(fā)成本花費(fèi)在重復(fù)系統(tǒng)開發(fā)上.對(duì)不同應(yīng)用系統(tǒng)進(jìn)行分解,可以發(fā)現(xiàn)存在大量相似性,可以對(duì)這些相似性內(nèi)容進(jìn)行歸類,形成領(lǐng)域內(nèi)或領(lǐng)域間共享的
6面向大規(guī)模定制的敏捷軟件開發(fā)組織
根據(jù)SDMC的二維優(yōu)化模型,顯然在一個(gè)地區(qū)或行業(yè)推廣實(shí)施大規(guī)模定制軟件要比僅在一個(gè)開發(fā)單位實(shí)施可以取得更好的效果.大規(guī)模定制軟件的最佳的模式應(yīng)是在全球范圍進(jìn)行推廣實(shí)施.事實(shí)上,軟件行業(yè)的全球化和專業(yè)化分工也正在促使大規(guī)模定制軟件開發(fā)擴(kuò)展到全球范圍.如何組織廣泛范圍內(nèi)的軟件大規(guī)模定制?本文主張將敏捷制造思想應(yīng)用到軟件開發(fā)中,建立面向大規(guī)模定制的敏捷軟件開發(fā)組織.
敏捷制造是為實(shí)現(xiàn)企業(yè)生產(chǎn)制造的敏捷性,采用現(xiàn)代通信手段,通過快速配置各種資源,以有效和協(xié)同的方式響應(yīng)用戶需求的一種企業(yè)發(fā)展戰(zhàn)略.虛擬組織是實(shí)現(xiàn)敏捷制造的重要組織手段.虛擬組織是一些相互獨(dú)立的開發(fā)單位通過信息技術(shù)(例如互連網(wǎng))連接的暫時(shí)性的開發(fā)單位網(wǎng)絡(luò),這些開發(fā)單位在軟件開發(fā)過程中貢獻(xiàn)出自己的核心能力,以實(shí)現(xiàn)技能利潤共享和成本風(fēng)險(xiǎn)共擔(dān),迎合和把握快速變化的市場機(jī)遇.
充的動(dòng)態(tài)組織.根據(jù)產(chǎn)品族設(shè)計(jì)中規(guī)劃好的領(lǐng)域框架和構(gòu)件,進(jìn)行工作任務(wù)分解(分解為不同類型的構(gòu)件),按照各個(gè)公司或公司內(nèi)某些部門的核心業(yè)務(wù)能力,動(dòng)態(tài)組合資源、技術(shù)和人員最佳配置的虛擬組織.虛擬組織成員接受工作任務(wù)后,按照各種合作形式(如供應(yīng)鏈?zhǔn)健⒉呗月?lián)盟式、合資經(jīng)營式轉(zhuǎn)包加工式和虛擬合作式等[13])進(jìn)行合作,在基于Internet的敏捷開發(fā)環(huán)境下,共享資源和技術(shù),完成各自的工作任務(wù)(完成構(gòu)件開發(fā)).根據(jù)客戶訂單要求,將領(lǐng)域框架實(shí)例化形成滿足訂單要求的應(yīng)用系統(tǒng)框架,并如圖6所示,虛擬組織是可重構(gòu)、可重用和可擴(kuò)對(duì)虛擬組織成員提供的構(gòu)件進(jìn)行裝配,最終形成滿足用戶需求的應(yīng)用系統(tǒng).
7結(jié)論
關(guān)鍵詞:安全生產(chǎn);定制;產(chǎn)品化
中圖分類號(hào): TP393 文獻(xiàn)標(biāo)識(shí)碼:a DoI: 10.3969/j.issn.1003-6970.2012.02.015
The research of work safety software productization LI tian-le(Communication & Information Center of State Administration of Work Safety Beijing 100013)
【Abstract】With tens of years’ development in work safety software system, there are more and more common requirements and
processes which indicate a possibility of transformation from custom development to standard productization. the thesis points out the software productization is the trend of work safety software development by comparing customization and productionzation development based on the author’s practice.The productization development not only lower development cost ,expedites the progress to production, enhances the quality ,but also well cater to the challenge of new requirement from continuous development of work safety governance .
【Key words】work safety , customization , productization
0 引 言
在過去的三十多年的安全生產(chǎn)信息化建設(shè)中,安全生產(chǎn)領(lǐng)域的軟件開發(fā)基本是采用定制開發(fā)模式,開發(fā)成本高、周期長,風(fēng)險(xiǎn)高,已有的軟件資產(chǎn)復(fù)用性低,造成了人力、物力、時(shí)間的浪費(fèi)。目前,中國軟件市場正在逐步走向成熟,軟件企業(yè)通過開放的、全球化的競爭市場環(huán)境,學(xué)習(xí)全球最佳軟件研發(fā)流程實(shí)踐經(jīng)驗(yàn),獲得了長足的發(fā)展,正在逐步向產(chǎn)品提供商過渡。安全生產(chǎn)領(lǐng)域的軟件開發(fā)經(jīng)過多年的發(fā)展,在領(lǐng)域知識(shí)和軟件資產(chǎn)方面具有了一定的積累,隨著安全生產(chǎn)監(jiān)管監(jiān)察業(yè)務(wù)的不斷深化,軟件建設(shè)的規(guī)模也在擴(kuò)大,建設(shè)成本日益提高,軟件產(chǎn)品化已成為安全生產(chǎn)信息化發(fā)展方向。
軟件產(chǎn)品化是將安全生產(chǎn)領(lǐng)域內(nèi)的通用功能做成軟件制品,滿足安全生產(chǎn)監(jiān)管監(jiān)察業(yè)務(wù)的共性需求,通過少量的定制開發(fā)和系統(tǒng)集成滿足個(gè)性需求,實(shí)現(xiàn)軟件開發(fā)的低成本、高效率、安全生產(chǎn)領(lǐng)域知識(shí)的復(fù)用和安全生產(chǎn)監(jiān)管監(jiān)察業(yè)務(wù)管理軟件的標(biāo)準(zhǔn)化,進(jìn)一步推進(jìn)安全生產(chǎn)信息化建設(shè)。
1 基于定制模式的安全生產(chǎn)軟件開發(fā)
軟件定制開發(fā)模式主要是根據(jù)軟件的生命周期模型進(jìn)行開發(fā),其主要活動(dòng)包括需求、設(shè)計(jì)、開發(fā)、測試、驗(yàn)收。軟件研發(fā)部門和業(yè)務(wù)部門一起進(jìn)行量化、規(guī)約需求,根據(jù)雙方共同制定的需求開展實(shí)施活動(dòng),從無到有地開發(fā)軟件,最終交 付給用戶一套軟件系統(tǒng)。從本質(zhì)上說,軟件定制開發(fā)提供的是一種服務(wù),而服務(wù)所具有的無形性、不可分離性、差異性和不可存儲(chǔ)性的特點(diǎn),極易造成項(xiàng)目范圍的不確定性,這將給雙方帶來風(fēng)險(xiǎn),隨著項(xiàng)目的進(jìn)展,這種不確定性也會(huì)進(jìn)一步發(fā)展,導(dǎo)致工期延長和預(yù)算超支,造成很高的實(shí)施成本。例如:在需求分析階段,可能會(huì)存在一些疏漏,而有些疏漏對(duì)用戶而言是至關(guān)重要的,為了彌補(bǔ)疏漏,需要重新設(shè)計(jì)一些模塊,這不僅影響了系統(tǒng)的穩(wěn)定性,而且會(huì)使工期延長和預(yù)算超支。系統(tǒng)上線后,由于定制開發(fā)的固有缺陷,即用戶產(chǎn)生新的需求,這就需要繼續(xù)定制開發(fā),由于軟件沒有標(biāo)準(zhǔn)化,軟件研發(fā)部門往往要保留大量的特定的維護(hù)團(tuán)隊(duì),這必然增加了用戶的運(yùn)維成本,也降低了人力資源的使用率。
綜上所述,軟件定制開發(fā)的主要優(yōu)勢是充分滿足了用戶的個(gè)性化需求;主要缺點(diǎn)是大部分項(xiàng)目超出計(jì)劃和預(yù)算,影響軟件推廣使用的進(jìn)程,由于軟件沒有標(biāo)準(zhǔn)化,無法實(shí)現(xiàn)領(lǐng)域知識(shí)復(fù)用,成本偏高,資源浪費(fèi),隨著項(xiàng)目規(guī)模的擴(kuò)大,成本隨之?dāng)U大,另外,運(yùn)營維護(hù)也需要大量的專有人力資源。
2 基于產(chǎn)品化模式的安全生產(chǎn)軟件開發(fā)
目前,全球領(lǐng)先的軟件廠商,例如ERP領(lǐng)域的ORCAL公 司,財(cái)務(wù)軟件領(lǐng)域的用友軟件公司等,均采用產(chǎn)品化的軟件開發(fā)模式,將行業(yè)中一些實(shí)現(xiàn)了共性需求的軟件代碼分離出來,包裝成軟件組件,形成可以復(fù)用的軟件代碼資產(chǎn),避免了“重復(fù)發(fā)明輪子”,節(jié)約了人力成本,縮短了建設(shè)周期,提高了軟件系統(tǒng)的質(zhì)量,同時(shí),通過少量的定制開發(fā),又滿足了用戶的個(gè)性化需求。另外,產(chǎn)品化的軟件開發(fā)模式對(duì)用戶而言,在項(xiàng)目實(shí)施之前,通過對(duì)已有的產(chǎn)品了解,可以明確能夠?qū)崿F(xiàn)的和無法實(shí)現(xiàn)的需求,保證了項(xiàng)目實(shí)施的進(jìn)度。
隨著安全生產(chǎn)領(lǐng)域軟件建設(shè)規(guī)模的擴(kuò)大,建設(shè)成本日益提高,產(chǎn)品化開發(fā)模式成為信息化建設(shè)戰(zhàn)略轉(zhuǎn)型的方向,這意味著采用定制開發(fā)模式的軟件研發(fā)部門需要借鑒國際先進(jìn)的行業(yè)實(shí)踐,進(jìn)行戰(zhàn)略轉(zhuǎn)型,同時(shí),安全生產(chǎn)領(lǐng)域知識(shí)和軟件研發(fā)最佳實(shí)踐也為向產(chǎn)品化開發(fā)模式轉(zhuǎn)型提供了基礎(chǔ)。目前,筆者所在的軟件研發(fā)部門正通過領(lǐng)域知識(shí)和軟件資產(chǎn)方面的積累,進(jìn)行安全生產(chǎn)領(lǐng)域內(nèi)軟件產(chǎn)品研發(fā)工作,主要是分析安全生產(chǎn)領(lǐng)域的共性需求,例如:全國安全監(jiān)管監(jiān)察機(jī)構(gòu)管理、用戶管理、權(quán)限管理、標(biāo)準(zhǔn)的監(jiān)管業(yè)務(wù)流程管理等,做成軟件制品,滿足安全生產(chǎn)監(jiān)管監(jiān)察業(yè)務(wù)的共性需求。
3 產(chǎn)品化軟件開發(fā)的關(guān)鍵活動(dòng)
產(chǎn)品化開發(fā)模式主要有兩個(gè)區(qū)別于傳統(tǒng)定制開發(fā)模式的關(guān)鍵活動(dòng):產(chǎn)品需求管理和專業(yè)咨詢實(shí)施服務(wù)。
產(chǎn)品需求管理是產(chǎn)品化軟件開發(fā)成功的核心。軟件就是用戶業(yè)務(wù)需求,而軟件研發(fā)部門的核心競爭力正是體現(xiàn)在用戶需求的把握能力上。一個(gè)成功的軟件研發(fā)部門需要深入把握用戶的需求,尤其是共性的和前瞻性的需求,這對(duì)產(chǎn)品的設(shè)計(jì)至關(guān)重要,只有充分滿足用戶需求的設(shè)計(jì)才能更好地支持安全生產(chǎn)監(jiān)管監(jiān)察業(yè)務(wù)流程管理,才能讓研發(fā)出來的軟件產(chǎn)品擁有足夠的復(fù)用空間,且真正降低軟件的成本。軟件研發(fā)部門精準(zhǔn)定位用戶需求的主要來源有以下5個(gè)方面。
一是現(xiàn)有用戶的需求。和用戶的緊密溝通深深影響了軟件研發(fā)部門認(rèn)知與詮釋用戶需求的能力。在軟件系統(tǒng)投入使用后,軟件研發(fā)部門定期走訪用戶,與用戶緊密溝通,了解用戶需求,收集用戶在使用軟件產(chǎn)品過程中遇到的問題,以及對(duì)未來軟件產(chǎn)品的意見和期望,不斷總結(jié)用戶的共性需求和前瞻性需求,隨著產(chǎn)品用戶群的擴(kuò)大,了解到的共性需求也會(huì)越來越精準(zhǔn)反映行業(yè)的發(fā)展趨勢和監(jiān)管監(jiān)察部門的共性需求。
二是用戶每年的招標(biāo)書。由于筆者所在的軟件研發(fā)部門承擔(dān)著安全生產(chǎn)信息化建設(shè)的重任,每年都會(huì)收到來自安全生產(chǎn)行業(yè)內(nèi)的幾十份投標(biāo)邀請(qǐng)書,核心產(chǎn)品研發(fā)小組通過對(duì)投標(biāo)邀請(qǐng)書的分析、研究,可以把一些有共性的需求作為未來產(chǎn)品的候選功能,這些候選功能將作為新一代產(chǎn)品的實(shí)現(xiàn)目標(biāo)。
三是安全生產(chǎn)監(jiān)管監(jiān)察行業(yè)研究報(bào)告。軟件研發(fā)部門積極參與安全生產(chǎn)管理論壇、行業(yè)研討會(huì)等,準(zhǔn)確把握安全生產(chǎn)監(jiān)管監(jiān)察行業(yè)內(nèi)的最新動(dòng)向。每年核心產(chǎn)品研發(fā)小組,都會(huì)對(duì)產(chǎn)業(yè)發(fā)展趨勢、新產(chǎn)品進(jìn)行分析研究、對(duì)軟件研發(fā)部門的未來產(chǎn)品路線進(jìn)行設(shè)計(jì)、修正,保證軟件研發(fā)部門的產(chǎn)品符合行業(yè)發(fā)展趨勢。
四是組織內(nèi)部的知識(shí)共享。組織內(nèi)部的知識(shí)共享為產(chǎn)品規(guī)劃提供了很多建設(shè)性的觀點(diǎn)和思路。很多知識(shí)是存儲(chǔ)于員工的頭腦中,軟件研發(fā)部門通過有效的知識(shí)管理把員工的知識(shí)變成組織的知識(shí)。
五是國內(nèi)外同行的發(fā)展?fàn)顩r研究。軟件研發(fā)部門需要不斷融入時(shí)代主流的技術(shù),給用戶更好的體驗(yàn)。軟件研發(fā)部門和IT領(lǐng)域的主流產(chǎn)品廠商結(jié)成合作伙伴,緊跟最新的軟件、硬件技術(shù)潮流,根據(jù)行業(yè)的發(fā)展,研究最新的技術(shù),并及時(shí)挑選適當(dāng)?shù)募夹g(shù)融入產(chǎn)品,淘汰落后的技術(shù),保持軟件研發(fā)部門的產(chǎn)品在技術(shù)方面保持領(lǐng)先的地位。
軟件研發(fā)部門通過對(duì)上述渠道中獲得的需求隨時(shí)進(jìn)行分類統(tǒng)計(jì)、研究,從中找出可以作為未來新產(chǎn)品的備選需求,使新產(chǎn)品更符合用戶的需求,并且對(duì)很多潛在用戶需求也具有了一定的前瞻性,不但提高了用戶的滿意度,還降低了對(duì)新產(chǎn)品投資的不確定風(fēng)險(xiǎn),使軟件研發(fā)部門始終緊跟安全生產(chǎn)行業(yè)發(fā)展的前沿需求。
專業(yè)咨詢服務(wù)是產(chǎn)品化軟件開發(fā)模式實(shí)施成功的保障。產(chǎn)品化的軟件項(xiàng)目實(shí)施不同于定制開發(fā)的瀑布模型,主要是基于已有的軟件產(chǎn)品,通過專業(yè)咨詢服務(wù),并結(jié)合少量的定制開發(fā)實(shí)現(xiàn)用戶的需求,構(gòu)建新的應(yīng)用系統(tǒng)。軟件研發(fā)部門提供的專業(yè)咨詢服務(wù)與成熟的軟件產(chǎn)品結(jié)合,充分發(fā)揮了產(chǎn)品的效能。
專業(yè)化咨詢服務(wù)的項(xiàng)目實(shí)施生命周期包括五個(gè)階段:項(xiàng)目啟動(dòng)階段、實(shí)施規(guī)劃分析階段、設(shè)計(jì)和配置階段、解決方案驗(yàn)證階段和解決方案部署階段。通過五個(gè)階段,咨詢服務(wù)可以有效降低實(shí)施中的風(fēng)險(xiǎn)、提高項(xiàng)目進(jìn)度,保證軟件產(chǎn)品的質(zhì)量。具體如下。
項(xiàng)目啟動(dòng):項(xiàng)目實(shí)施團(tuán)隊(duì)組成項(xiàng)目組,在項(xiàng)目開始的時(shí)候,舉行該項(xiàng)目啟動(dòng)溝通會(huì)議。會(huì)議的目的在于溝通項(xiàng)目的范圍、期望的結(jié)果、定義項(xiàng)目的角色和職責(zé)。
實(shí)施規(guī)劃分析:項(xiàng)目組和用戶共同進(jìn)行用戶需求的整理、解決方案的討論和工作范圍的確認(rèn)。這部分工作成果將作為部署階段的依據(jù)。另外,培訓(xùn)部門將根據(jù)用戶實(shí)際的產(chǎn)品知識(shí),提供培訓(xùn)服務(wù)。對(duì)于產(chǎn)品本身無法滿足且涉及產(chǎn)品核心功能的業(yè)務(wù)需求,如果不能通過配置滿足這部分需求,就需要進(jìn)行產(chǎn)品的客戶化工作,對(duì)客戶化的需求進(jìn)行需求規(guī)約、確認(rèn)。
設(shè)計(jì)和配置:項(xiàng)目組進(jìn)行系統(tǒng)設(shè)計(jì),按照用戶的需求,和用戶共同進(jìn)行產(chǎn)品的配置。如果需要軟件產(chǎn)品通過客戶化提供的額外功能,軟件研發(fā)部門對(duì)這些特殊需求進(jìn)行客戶化開發(fā)。
解決方案驗(yàn)證:驗(yàn)證配置是否符合業(yè)務(wù)需求,進(jìn)行集成測試。
解決方案部署:在這個(gè)階段,實(shí)施團(tuán)隊(duì)提供軟件安裝和解決方案的最終驗(yàn)證。這些服務(wù)包括:歷史遺留數(shù)據(jù)的遷移、新 的生產(chǎn)系統(tǒng)的調(diào)試和試運(yùn)營。
在產(chǎn)品成功上線運(yùn)營之后,軟件研發(fā)部門仍需密切關(guān)注用戶運(yùn)營中的新需求,通過產(chǎn)品支持和產(chǎn)品升級(jí)來解決用戶運(yùn)營中的問題,以確保提供給用戶的解決方案發(fā)揮最好的效用。研發(fā)部門咨詢服務(wù)方法論如圖1所示。
圖1 研發(fā)部門咨詢服務(wù)方法論
4 結(jié) 論
安全生產(chǎn)領(lǐng)域的軟件研發(fā)方向是借鑒產(chǎn)品化模式的軟件開發(fā)思想,研究現(xiàn)有的應(yīng)用系統(tǒng),抽取行業(yè)內(nèi)共性的需求,同時(shí),緊跟行業(yè)的發(fā)展方向,深刻把握安全生產(chǎn)監(jiān)管監(jiān)察業(yè)務(wù)需求的變化,采用主流的IT技術(shù),研發(fā)出符合安全生產(chǎn)領(lǐng)域需要的軟件產(chǎn)品,通過產(chǎn)品化實(shí)現(xiàn)安全生產(chǎn)領(lǐng)域知識(shí)和軟件研發(fā)最佳實(shí)踐的復(fù)用,形成安全生產(chǎn)領(lǐng)域內(nèi)的專有軟件資產(chǎn),降低項(xiàng)目實(shí)施運(yùn)維成本,提高軟件質(zhì)量,加快安全生產(chǎn)信息化建設(shè)。
參考文獻(xiàn)
[1] Roger S.Pressman,軟件工程實(shí)踐者的研究方法(原書第七版),鄭人杰、馬素霞譯,機(jī)械工業(yè)出版社,2011年10月。
[2] 菲利普.科特勒等,營銷原理,盧泰宏譯,中國人民大學(xué)出版社,2009年4月:294頁。
[3] 定制軟件是明智之選嗎,。
關(guān)鍵詞:軟件成本估算;估算方法;應(yīng)用
中圖分類號(hào):TP311.52
在我國科學(xué)技術(shù)飛速發(fā)展的過程中,軟件開發(fā)是一項(xiàng)非常重要的科學(xué)技術(shù),軟件開發(fā)企業(yè)對(duì)軟件開發(fā)過程中的成本控制與開發(fā)量的估算非常看重。在上世紀(jì)60年代的時(shí)候,就已經(jīng)開始對(duì)軟件成本控制以及開發(fā)量估算等相關(guān)問題進(jìn)行了研究,但是在那個(gè)時(shí)期通常都是采用定量經(jīng)濟(jì)學(xué)的決策方法應(yīng)用到軟件評(píng)估中,這種方法雖然能夠讓決策問題變得簡單,也能夠便捷的執(zhí)行定量計(jì)劃與項(xiàng)目控制。但是這種方法在實(shí)際工程應(yīng)用中很難將軟件項(xiàng)目開發(fā)的一些客觀外部因素考慮進(jìn)去。而軟件成本估算技術(shù)卻能夠很好幫助軟件開發(fā)企業(yè)評(píng)估軟件的開發(fā)成本以及項(xiàng)目進(jìn)度,并且能將客觀外部因素考慮進(jìn)去,因此對(duì)軟件估算方法在實(shí)際工程中的應(yīng)用進(jìn)行研究有很重要的意義。
1 軟件成本估算的基本方法與步驟
1.1 軟件成本估算的基本方法。如今,軟件成本的估算方法有很多種,本文主要介紹一些最基本的估算方法。第一種是專家估算,這種方法是將整個(gè)軟件開發(fā)工作按照功能進(jìn)行分類,然后一直細(xì)分到個(gè)功能模塊,同時(shí)對(duì)軟件開發(fā)需要的具體工作進(jìn)行詳細(xì)劃分,之后就是一直細(xì)分到主要功能模塊必須的工作,最后就能夠根據(jù)經(jīng)驗(yàn)計(jì)算出各個(gè)功能模塊的開發(fā),所需要的人力以及時(shí)間。第二種是類比估算,這種方法是根據(jù)曾經(jīng)類似的項(xiàng)目作為參考,然后根據(jù)類比方法來預(yù)測正在開發(fā)項(xiàng)目的成本及其進(jìn)度。第三種是算法模型,這種軟件成本估算方法有很多種形式,比如線性模型、分析模型、復(fù)合模型以及表格模型等[1]。這種方法要先找到影響軟件開發(fā)成本的因子,并進(jìn)一步判定它對(duì)工作量產(chǎn)生的影響程度,最終得出最好的模型算法表達(dá)式,這樣就能夠?qū)浖_發(fā)成本給予準(zhǔn)確的估算,如圖1所示,為軟件成本估算的基本用例圖。
圖1 軟件成本估算用例圖
1.2 軟件成本估算的步驟。在采用軟件成本估算方法對(duì)軟件開發(fā)項(xiàng)目進(jìn)行估算的過程中主要的步驟包括如下幾個(gè)方面,首先是確定軟件的需求,建立起估算的目標(biāo),計(jì)劃好需要的數(shù)據(jù)與資源。其次就是做出詳細(xì)的估算,采用多個(gè)獨(dú)立方法對(duì)軟件項(xiàng)目進(jìn)行估算。最后就是估算的跟進(jìn)、調(diào)整以及修改等。
2 軟件成本估算在網(wǎng)絡(luò)電視系統(tǒng)中的應(yīng)用
2.1 確定軟件的需要。隨著我國網(wǎng)絡(luò)技術(shù)的發(fā)展,如今我國的網(wǎng)絡(luò)電視平臺(tái)系統(tǒng)隨著客戶與市場的需要,軟件系統(tǒng)需要不斷的進(jìn)行升級(jí)與更新,因此采用軟件成本估算方法對(duì)軟件平臺(tái)進(jìn)行成本估算,有助于相關(guān)企業(yè)更科學(xué)的掌握網(wǎng)絡(luò)電視軟件系統(tǒng)的開發(fā)工作量、人員配備等,并且能夠?yàn)樾孪到y(tǒng)的開發(fā)提供更好的建議。通常網(wǎng)絡(luò)電視系統(tǒng)需要具備的功能包括內(nèi)容管理功能、用戶管理功能、運(yùn)營計(jì)費(fèi)功能、廣告管理功能、Web服務(wù)系統(tǒng)、CDN節(jié)目分發(fā)功能、編輯功能、內(nèi)容提供商管理等相關(guān)方面的功能[2]。
2.2 軟件成本估算方法的選擇與組合。在對(duì)網(wǎng)絡(luò)電視平臺(tái)系統(tǒng)進(jìn)行軟件估算的過程中,需要根據(jù)其特點(diǎn)來選擇最適合的估算方法,一般網(wǎng)絡(luò)電視平臺(tái)系統(tǒng)在開發(fā)與維護(hù)中,都需要依靠專業(yè)人士的意見,并且其中的大部分功能模塊都需要在軟件公司提供的商業(yè)模塊中進(jìn)行選擇。因此最好是采用專家估算、算法估算與類比估算這三種估算方法,來對(duì)網(wǎng)絡(luò)電視平臺(tái)軟件開發(fā)與軟件維護(hù)的成本估算。并且為了得到更為準(zhǔn)確的估算結(jié)果,需要根據(jù)這三種估算方法的不同特點(diǎn),在不同的時(shí)期進(jìn)行估算。
2.3 軟件規(guī)模估算。在對(duì)網(wǎng)絡(luò)電視系統(tǒng)軟件的開發(fā)與維護(hù)估算中,對(duì)軟件規(guī)模的估算是一個(gè)難點(diǎn)。根據(jù)網(wǎng)絡(luò)電視平臺(tái)軟件系統(tǒng)的功能可以將其開發(fā)模式分為三種類型。第一種是直接用現(xiàn)成模塊,其中包括用戶管理、統(tǒng)計(jì)管理等。第二種是對(duì)已有商業(yè)模塊進(jìn)行改編,其中包括內(nèi)容管理功能、Web服務(wù)系統(tǒng)等。第三種是因運(yùn)營需要產(chǎn)生的新定制開發(fā),比如內(nèi)容提供管理。具體的估算過程包括新定制模塊的軟件規(guī)模確定、改編模塊的軟件規(guī)模確定這兩個(gè)方面。
2.4 工作量估算。軟件開發(fā)的工作量估算是軟件成本估算方法中最重要的工作,因?yàn)檎麄€(gè)軟件系統(tǒng)都是由同一家軟件開發(fā)公司來完成的,因此可以用同一組比例因子來代表整個(gè)軟件開發(fā)項(xiàng)目,但是在整個(gè)軟件開發(fā)中各個(gè)模塊的開發(fā)要求與特點(diǎn)都不一樣,因此必須要對(duì)每個(gè)軟件模塊進(jìn)行估算。具體的工作量估算工作主要包括以下這幾個(gè)步驟,分別是比例因子的確定、驅(qū)動(dòng)因子與工作量乘數(shù)的確定以及結(jié)果分析。其中在驅(qū)動(dòng)因子與工作量乘數(shù)的確定過程中,還包括了新定制開發(fā)軟件的工作量乘數(shù)確定、改編軟件的工作量乘數(shù)確定。而結(jié)果分析中,主要就是估算網(wǎng)絡(luò)電視平臺(tái)軟件開發(fā)的總工作量以及其開發(fā)進(jìn)度,同時(shí)還可以對(duì)新定制開發(fā)軟件的工作量與開發(fā)進(jìn)度評(píng)估結(jié)果,模塊的具體工作量乘數(shù)如表1所示。
表1 “內(nèi)容提供商管理”模塊具體的工作量乘數(shù)
驅(qū)動(dòng)因子 對(duì)應(yīng)乘數(shù) 取值因素
RELY:要求的軟件可靠性 很高 涉及內(nèi)容商經(jīng)濟(jì)結(jié)算
DATA:數(shù)據(jù)庫規(guī)模 標(biāo)稱 數(shù)據(jù)量不大,但結(jié)構(gòu)復(fù)雜
COLX:產(chǎn)品復(fù)雜性 高 考慮節(jié)目、用戶與提供商多線管理
DOCU:匹配生命周期需求 標(biāo)稱 可以參照其他模塊的通用做法
RUSE:可復(fù)用開發(fā) 高 由技術(shù)小組決定
PVOL:平臺(tái)易變性 低 平臺(tái)一旦建立,變化性不大
SITE:多點(diǎn)開發(fā) 高 有較好的交流工具
TOOL:軟件工具使用 標(biāo)稱 按通用情況考慮
SCED:要求的開發(fā)進(jìn)度 標(biāo)稱 按通用情況考慮
3 結(jié)束語
網(wǎng)絡(luò)技術(shù)是當(dāng)今發(fā)展最快的一種科學(xué)技術(shù)之一,同時(shí)軟件的開發(fā)對(duì)世界經(jīng)濟(jì)的發(fā)展起到了很大的作用,軟件開發(fā)企業(yè)要想提高其經(jīng)濟(jì)效益,取得更好的發(fā)展,就必須要有一套相適應(yīng)的軟件成本估算方法,這樣才能夠提高軟件開發(fā)的效率,并節(jié)省軟件開發(fā)的成本。通過本文的相關(guān)分析,我們可以了解到,軟件開發(fā)企業(yè)必須要根據(jù)軟件的特點(diǎn)來選擇相適應(yīng)的軟件成本估算方法,這樣才能夠準(zhǔn)確的估算出軟件開發(fā)的工作量與進(jìn)度。最后希望通過本文的研究,能夠?qū)ξ覈能浖_發(fā)企業(yè)有所幫助。
參考文獻(xiàn):
[1]Boehm BW,Abts C,Chulani S.Software development cost estimation approaches―A survey.Annals of Software Engineering,2010(10).
[2]李明樹,何梅,楊達(dá).軟件成本估算方法及應(yīng)用[J].軟件學(xué)報(bào),2009(07).
云計(jì)算、大數(shù)據(jù)、移動(dòng)化和社交化趨勢的發(fā)展給軟件開發(fā)企業(yè)帶來的最大挑戰(zhàn)是什么?ThoughtWorks中國區(qū)總經(jīng)理張松表示:“我們不提供公有云平臺(tái),而是專注于讓傳統(tǒng)企業(yè)更好地使用云計(jì)算。”傳統(tǒng)企業(yè)通常擁有龐大的IT系統(tǒng),而且存在了幾十年。在面對(duì)新的業(yè)務(wù)需求時(shí),如何繼續(xù)發(fā)揮原有IT系統(tǒng)的優(yōu)勢,面對(duì)不同類型的應(yīng)用,更充分地利用云計(jì)算,實(shí)現(xiàn)更快、更安全的應(yīng)用部署是用戶和軟件開發(fā)企業(yè)都必須面對(duì)的嚴(yán)峻挑戰(zhàn)。
“我們要幫助企業(yè)設(shè)計(jì)一套新的架構(gòu),讓它更適合云的環(huán)境。”張松舉例說,“我們通過Microservice可以將傳統(tǒng)企業(yè)的業(yè)務(wù)分割成不同的服務(wù)模塊,這些模塊可以獨(dú)立開發(fā),并部署和運(yùn)行在云平臺(tái)上。這是我們推薦的一種新的架構(gòu)模式。”
在澳大利亞和美國,ThoughtWorks是亞馬遜AWS的重要合作伙伴,并且通過了亞馬遜AWS的金牌認(rèn)證。如果有用戶想將應(yīng)用遷移到亞馬遜AWS的云平臺(tái)上,ThoughtWorks可以提供相應(yīng)的遷移服務(wù)。
作為高端軟件定制開發(fā)企業(yè),ThoughtWorks一直根據(jù)用戶的實(shí)際需求提供定制化的軟件開發(fā)服務(wù)。經(jīng)過多年的積累,ThoughtWorks不僅在金融、零售等諸多領(lǐng)域擁有了大量客戶和實(shí)踐經(jīng)驗(yàn),而且對(duì)這些行業(yè)客戶的需求也有了深入了解。ThoughtWorks完全可以對(duì)以往的產(chǎn)品開發(fā)經(jīng)驗(yàn)進(jìn)行總結(jié),推出自有品牌的針對(duì)某些行業(yè)或特定應(yīng)用場景的解決方案。
張松表示,ThoughtWorks已經(jīng)開始進(jìn)行這方面的嘗試。“我們已經(jīng)推出了一個(gè)云計(jì)算的平臺(tái)ScaleWorks,它可以運(yùn)行在第三方的公有云平臺(tái)之上,能夠幫助客戶在企業(yè)環(huán)境中更好地使用云計(jì)算和其他企業(yè)級(jí)虛擬化平臺(tái),比如VMware或微軟的云計(jì)算平臺(tái)。”ScaleWorks的好處是可以隱藏企業(yè)應(yīng)用開發(fā)中的復(fù)雜性,讓用戶更容易使用,同時(shí)可以實(shí)現(xiàn)企業(yè)軟件在、部署和開發(fā)測試等環(huán)節(jié)的管理自動(dòng)化,減少開發(fā)和測試的工作量。
雖然ThoughtWorks已經(jīng)推出了像ScaleWorks 這樣的可以大規(guī)模商用的產(chǎn)品,但是ThoughtWorks并沒有像其他IT公司那樣急于進(jìn)行大規(guī)模的商業(yè)推廣。
張松表示:“我們現(xiàn)在的做法是選擇一些我們認(rèn)為具有創(chuàng)新精神的客戶來試用這個(gè)產(chǎn)品,在得到反饋并對(duì)產(chǎn)品進(jìn)一步優(yōu)化之后,再對(duì)產(chǎn)品進(jìn)行大規(guī)模的商業(yè)推廣。目前,已經(jīng)有兩三家客戶在試用ScaleWorks。我們公司內(nèi)部也在全面使用這套系統(tǒng)。”
關(guān)鍵詞:軟件構(gòu)件;開發(fā);檢索
現(xiàn)今的軟件開發(fā)已脫離了傳統(tǒng)的手工作坊模式,更注重軟件開發(fā)效率及軟件產(chǎn)品質(zhì)量的提高。要在軟件開發(fā)中解決重復(fù)勞動(dòng)的問題,可采取軟件復(fù)用技術(shù),以不斷提高軟件開發(fā)的質(zhì)量及效率。而軟件構(gòu)件是當(dāng)前支持軟件產(chǎn)品復(fù)用的有效形式,是支持軟件復(fù)用的核心技術(shù)。不斷發(fā)展及成熟的軟件構(gòu)件技術(shù)為現(xiàn)今的軟件開發(fā)提供了新的方法,也能有效地推進(jìn)軟件生產(chǎn)方式的變革,提高軟件產(chǎn)品的質(zhì)量及軟件生產(chǎn)的效率。
1 基于構(gòu)件的軟件開發(fā)
基于構(gòu)件的軟件開發(fā)將現(xiàn)成的軟件構(gòu)件集成并構(gòu)造成一個(gè)大型得軟件系統(tǒng),此方法可以快速組裝系統(tǒng),有效降低軟件開發(fā)成本,提高軟件系統(tǒng)的可維護(hù)性及靈活性,降低系統(tǒng)的維護(hù)費(fèi)用。與傳統(tǒng)的軟件系統(tǒng)開發(fā)注重開發(fā),而忽略可復(fù)用構(gòu)件的存在這一做法不同,基于構(gòu)件的軟件系統(tǒng)開發(fā)更注重如何獲得己經(jīng)存在的構(gòu)件,而不是開發(fā),組裝和集成現(xiàn)有的構(gòu)件是基于構(gòu)件的軟件系統(tǒng)開發(fā)的主要著眼點(diǎn)。基于構(gòu)件的軟件系統(tǒng)開發(fā)的過程如下:(1)檢索構(gòu)件:檢索構(gòu)件的過程包括如何根據(jù)描述構(gòu)件、創(chuàng)建構(gòu)件庫。領(lǐng)域工程師開發(fā)出新的應(yīng)用構(gòu)件,并用文檔加以描述。通過領(lǐng)域分析、自行開發(fā)、逆向工程或者商業(yè)購買等途徑來獲得所需要的構(gòu)件。(2)選擇構(gòu)件:從構(gòu)件庫中選擇合適的構(gòu)件,并驗(yàn)證構(gòu)件的功能、接口等。(3)適配構(gòu)件:修改或者定制所選擇的構(gòu)件來滿足新的應(yīng)用環(huán)境的系統(tǒng)需求,以便能與其他構(gòu)件進(jìn)行集成。(4)組合構(gòu)件:將不同的構(gòu)件集成和組裝在一起。
2 檢索構(gòu)件
檢索構(gòu)件指的是從大量的構(gòu)件所構(gòu)成的構(gòu)件庫中找出合適的構(gòu)件。目前互聯(lián)網(wǎng)上有許多專門的構(gòu)件庫,各個(gè)Web站點(diǎn)上也提供了構(gòu)件的鏈接,但是不同的構(gòu)件庫有不同的組織和訪問方式,從而造成了對(duì)各構(gòu)件庫中的構(gòu)件訪問困難,并且Web站點(diǎn)上鏈接的構(gòu)件也無法用傳統(tǒng)的檢索引擎檢索到。只有將網(wǎng)絡(luò)上的構(gòu)件資源加以利用到構(gòu)件系統(tǒng)的開發(fā)中,才能實(shí)現(xiàn)縮短軟件開發(fā)周期,提高軟件質(zhì)量的目的。現(xiàn)今人們對(duì)軟件需求愈加體現(xiàn)了個(gè)性化、多樣性的特點(diǎn),以往的多種功能單一軟件包方式無法滿足用戶的需求,因此在基于構(gòu)件的軟件開發(fā)研究中,應(yīng)在允許用戶選擇服務(wù)組合的基礎(chǔ)上,允許在構(gòu)件級(jí)別上對(duì)單一的服務(wù)進(jìn)行功能集和界面等的定制,在服務(wù)定制的粒度上應(yīng)該更細(xì),也應(yīng)該更具靈活性。基于構(gòu)件的軟件開發(fā)成功依賴于構(gòu)件分類和檢索技術(shù)。由于構(gòu)件的信息量比較豐富,相互之間也缺乏很多相似性,構(gòu)件之間缺乏有意義的聯(lián)系,這給構(gòu)件的分類帶來了很多困難。目前有很多構(gòu)件分類檢索方法,從構(gòu)件表示出發(fā)可分為人工智能方法、超文本方法和信息科學(xué)方法三類。而根據(jù)復(fù)雜度和檢索效果的不同可以分為基于文本的、基于詞法描述字的和基于規(guī)約的編碼和檢索。
3 適配構(gòu)件
適配構(gòu)件是從泛化的構(gòu)件來創(chuàng)建特定應(yīng)用的構(gòu)件,主要采用以下方法:部分實(shí)現(xiàn):構(gòu)件只實(shí)現(xiàn)一部分功能或行為,其他部分僅提供接口。不如在面向?qū)ο蟮能浖_發(fā)中,通常會(huì)有一部分抽象方法留給用戶來實(shí)現(xiàn)。重載:構(gòu)建提供了缺省的實(shí)現(xiàn),用戶在具體應(yīng)用時(shí)可以重載這些行為。但是要求開發(fā)構(gòu)件的程序語言支持重載機(jī)制,比如c++,Java。插件:通過編寫插件的形式為粗粒度的構(gòu)件添加新的功能,插件在構(gòu)件總注冊(cè)其提供的服務(wù),構(gòu)件需要使用該服務(wù)時(shí)調(diào)用該插件。各個(gè)構(gòu)件在生產(chǎn)時(shí)是為了滿足不同的需求,并基于對(duì)環(huán)境的不同假設(shè),因此構(gòu)件在用于新系統(tǒng)時(shí)經(jīng)常要進(jìn)行剪裁。構(gòu)件剪裁必須基于構(gòu)件之間的沖突最小化原則,消除體系結(jié)構(gòu)的不匹配同題。針對(duì)不同的構(gòu)件類型,可以采取不同的剪裁策略。
4 組裝構(gòu)件
作為是軟件系統(tǒng)的基本組成成分,構(gòu)件通過契約式接口指明對(duì)語境的依賴,可以實(shí)現(xiàn)獨(dú)立部署。構(gòu)件組裝的本質(zhì)是在構(gòu)件之間建立關(guān)聯(lián)。構(gòu)件之間的組裝關(guān)系由組裝邏輯描述,組裝邏輯規(guī)定了中各個(gè)構(gòu)件之間的作用形式和構(gòu)件在運(yùn)行期間的通信機(jī)制。根據(jù)其特征來劃分,構(gòu)建組裝方法可分為黑盒組裝方法,白盒組裝方法,灰盒組裝方法,三類組裝方法的劃分依據(jù)是構(gòu)件組裝時(shí)對(duì)構(gòu)件內(nèi)部細(xì)節(jié)的了解程度。其中,黑盒組裝無需對(duì)構(gòu)件實(shí)現(xiàn)細(xì)節(jié)有任何了解,也不需要對(duì)其進(jìn)行配置和修改,這對(duì)構(gòu)件的要求高,實(shí)現(xiàn)難度大,白盒組裝要求將構(gòu)件的所有細(xì)節(jié)都展現(xiàn)出來,讓復(fù)用者理解后再進(jìn)行組裝,并可對(duì)構(gòu)件按應(yīng)用的需要進(jìn)行修改,從構(gòu)件的復(fù)用角度分析,白盒組裝的存在只能是局部的和暫時(shí)的。一個(gè)可以隨意修改的軟件構(gòu)件并不是真正意義上的可復(fù)用產(chǎn)品,因?yàn)榕逡粋€(gè)構(gòu)件并對(duì)其進(jìn)行合適的修改代價(jià)會(huì)很高,其安全性可靠性得不到保證。灰盒方法介于黑、白盒之間,是當(dāng)前技術(shù)發(fā)展的合適選擇。灰盒方法通過調(diào)整構(gòu)件的組裝機(jī)制而不是修改構(gòu)件來滿足應(yīng)用系統(tǒng)組裝的需求,既實(shí)現(xiàn)了構(gòu)件組裝的靈活性,又不至于過于復(fù)雜。
總之,基于構(gòu)件的軟件開發(fā)過程關(guān)注可復(fù)用構(gòu)件的存在,更關(guān)注組裝和集成現(xiàn)有的構(gòu)件,將己經(jīng)存在的構(gòu)件加以有效利用。本文對(duì)基于構(gòu)件的軟件開發(fā)生命期的幾個(gè)個(gè)環(huán)節(jié)檢索構(gòu)件、適配構(gòu)件、組裝構(gòu)件加以探討,旨在實(shí)現(xiàn)構(gòu)件的軟件開發(fā)方法更靈活,有效地推進(jìn)軟件生產(chǎn)方式的變革,提高軟件產(chǎn)品的質(zhì)量及軟件生產(chǎn)的效率。
[參考文獻(xiàn)]
關(guān)鍵詞:軟構(gòu)件;軟件開發(fā);方法
一、構(gòu)件的定義
構(gòu)件,簡單來講就是軟件系統(tǒng)中的單個(gè)元素,它具有很多的特性,包括獨(dú)立性,可替換性,多次使用性等等;構(gòu)件也是可以很準(zhǔn)確就會(huì)被認(rèn)知的實(shí)體,當(dāng)軟件重復(fù)使用的時(shí)候。軟件具有自身的性質(zhì),獨(dú)立性以及可重復(fù)實(shí)用性,所以構(gòu)件可以借助這樣的特征來進(jìn)行軟件的開發(fā),并且可以通過構(gòu)件提供的特定窗口進(jìn)行信息的互換等等。在進(jìn)行基于軟構(gòu)件的軟件開發(fā)過程中,為了保證軟件開發(fā)的質(zhì)量,構(gòu)件之間的信息交換一般都會(huì)通過標(biāo)準(zhǔn)的接口來進(jìn)行。
二、軟件開發(fā)形式
(一)軟件定制。對(duì)于軟件定制主要是為了能夠達(dá)到功能拓展的目的。其主要是指基于軟構(gòu)件的軟件開發(fā),利用事前明確功能以及編制好的構(gòu)件或者是面向構(gòu)件。并且軟件對(duì)于構(gòu)件功能需求的不同,也可以通過構(gòu)件版本的選擇來實(shí)現(xiàn)。
(二)構(gòu)架獨(dú)立。在進(jìn)行軟構(gòu)件的軟件開發(fā)中,為了可以能夠讓構(gòu)件出現(xiàn)問題時(shí)能夠及時(shí)維修,并且能夠做到維護(hù)的簡易化,所以需要將構(gòu)件進(jìn)行分解,也就是構(gòu)件獨(dú)立[1]。
(三)統(tǒng)一接口。在進(jìn)行軟件開發(fā)的過程中,往往會(huì)受到很多方面的限制,比如說是硬件設(shè)備上的限制,或者是空間上面的限制,為了能夠有效的突破這種限制,需要將接口通過統(tǒng)一,其主要是指軟件可以通過指定的接口實(shí)現(xiàn)跨平臺(tái)的交互。
三、構(gòu)件模型分析
(一)OMG組織。對(duì)于OMG組織來講,自身就具有一些特點(diǎn),包括支持性較高,系統(tǒng)平臺(tái)相對(duì)獨(dú)立,整個(gè)的模型比較完整,效率高。在OMG組織中,有基于開放平臺(tái)的對(duì)象體系CORBA,同時(shí)其的計(jì)算機(jī)技術(shù)對(duì)于大多數(shù)廠家來講也是很受追捧的一部分。
(二)SUN。Java是SUN中的一項(xiàng)技術(shù),這項(xiàng)技術(shù)對(duì)于具有語言開發(fā)的功能,并且其的使用范圍廣,能夠滿足對(duì)于不同的業(yè)務(wù)的需求,最重要的一點(diǎn)就是簡化構(gòu)件服務(wù)器。
(三)Microsoft。Microsoft中的COM構(gòu)件模型,其構(gòu)件技術(shù)在實(shí)際的應(yīng)用過程中是非常廣泛的。它具有很多自身的優(yōu)點(diǎn),包括能夠?qū)崿F(xiàn)模型間的相互交流以及操作,并且由于自身的構(gòu)件接口是標(biāo)準(zhǔn)接口,能夠有效的用遠(yuǎn)程技術(shù)。
四、基于軟構(gòu)件的軟件開發(fā)流程分析
(一)整體框架設(shè)計(jì)。在進(jìn)行框架設(shè)計(jì)之前,需要對(duì)所要達(dá)到的功能以及效果進(jìn)行分析,通過分析對(duì)比找出與設(shè)計(jì)軟件功能需求相同的地方,然后將功能構(gòu)件從系統(tǒng)中進(jìn)行分解,最后再將開發(fā)軟件的系統(tǒng)進(jìn)行優(yōu)化。
(二)構(gòu)件庫建立。為了保證軟件在開發(fā)時(shí)的效率,需要進(jìn)行軟件庫的建立。軟件庫的建立就是為了使構(gòu)件能夠更好的服務(wù)于軟件開發(fā),將構(gòu)件進(jìn)行統(tǒng)一的管理,并且構(gòu)件庫的建立對(duì)于軟件的反復(fù)使用起到了支持,保護(hù)等作用。
(三)獲取構(gòu)件。當(dāng)進(jìn)行需要分析之后,需要將滿足要求的構(gòu)件挑選出來。選出來之后,需要根據(jù)實(shí)際的應(yīng)用情況進(jìn)行一些簡要的修改,修改完善之后將其安裝到待開發(fā)的軟件系統(tǒng)中。構(gòu)件的獲取主要是包括以下幾個(gè)途徑來進(jìn)行。首先可以在以往使用過的構(gòu)件中按照實(shí)際的進(jìn)行挑選,其次合用利用當(dāng)前開發(fā)新的系統(tǒng)功能模式對(duì)構(gòu)件進(jìn)行開發(fā),最后可以通過購買的途徑來進(jìn)行構(gòu)件的獲取。
(四)構(gòu)件的調(diào)整。當(dāng)獲取構(gòu)件之后,為了能夠使構(gòu)件更好的服務(wù)于軟件的開發(fā),需要根據(jù)實(shí)際的情況來進(jìn)行適當(dāng)?shù)恼{(diào)整,使其符合相應(yīng)的設(shè)計(jì)規(guī)則。當(dāng)進(jìn)行調(diào)整的時(shí)候,主要使用的是三種調(diào)整方法,有白盒法,黑盒法以及灰盒法。白盒法主要通過對(duì)構(gòu)件源碼的修改來進(jìn)行調(diào)整的。調(diào)整之后,使構(gòu)件之間的摩擦減少。但是這種調(diào)整方法也有自身的缺點(diǎn),就是調(diào)整過后會(huì)影響其的使用特性,對(duì)以后的維護(hù)造成一定的困擾。對(duì)于黑盒法以及灰盒法來講,主要利用的是對(duì)源碼進(jìn)行保留直接進(jìn)行擴(kuò)展的方法。
(五)構(gòu)件的組裝。構(gòu)件能夠發(fā)揮自身的作用,必須要與群體構(gòu)件結(jié)合才能發(fā)揮作用。為了能夠更好的進(jìn)行軟件的開發(fā),需要對(duì)構(gòu)件進(jìn)行適當(dāng)?shù)暮虾鯇?shí)際的調(diào)整,并且將構(gòu)件與構(gòu)件之間的接口連接在一起,或者是將構(gòu)件與開發(fā)的元素連接在一起。
小結(jié)
對(duì)于軟件的開發(fā)來講,開發(fā)過程是一項(xiàng)復(fù)雜的過程。設(shè)計(jì)人員需要有足夠強(qiáng)的理論知識(shí)以及實(shí)際應(yīng)用能力。在進(jìn)行基于軟構(gòu)件的軟件設(shè)計(jì)的過程中,設(shè)計(jì)人員需要有嚴(yán)謹(jǐn)?shù)乃悸贰1疚闹饕獙?duì)軟件開發(fā)流暢做簡要介紹,希望讀者對(duì)其有簡單的了解。
參考文獻(xiàn)
關(guān)鍵詞:信息化 軟件項(xiàng)目管理
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2012)05-0250-01
1、引言
在國家提倡“兩化融合”的大環(huán)境下,眾多生產(chǎn)制造企業(yè)為提升自身競爭能力、擴(kuò)展發(fā)展空間,不斷加強(qiáng)信息化方面人力和資金的投入,利用現(xiàn)代信息技術(shù)對(duì)自身信息資源進(jìn)行深化開發(fā)。生產(chǎn)制造企業(yè)的軟件項(xiàng)目是具有針對(duì)性的定制需求軟件項(xiàng)目,不論是合作開發(fā)還是整體外包,往往存在著技術(shù)、人才等方面的不足,特別是軟件項(xiàng)目管理的不足使企業(yè)無法完全有效利用軟件系統(tǒng)的功能和消化吸收軟件在設(shè)計(jì)和應(yīng)用上的知識(shí)體系,容易出現(xiàn)需求無法控制、功能重復(fù)開發(fā)、應(yīng)用效率低、運(yùn)維和移植成本高等實(shí)際困難。
2、企業(yè)軟件項(xiàng)目技術(shù)管理中遇到的問題
2.1 軟件需求定義模糊
軟件需求是整個(gè)軟件項(xiàng)目最關(guān)鍵的一個(gè)輸入,軟件需求具有模糊性、不確定性、變化性和主觀性的特點(diǎn)。軟件需求的提供人員普遍缺少軟件需求的必要知識(shí),提出的需求定義不充分、不全面、不準(zhǔn)確,導(dǎo)致在系統(tǒng)測試和運(yùn)行階段會(huì)出現(xiàn)大量的需求變更,影響系統(tǒng)設(shè)計(jì)結(jié)構(gòu),造成補(bǔ)丁摞補(bǔ)丁的軟件程序。
2.2 項(xiàng)目參與者溝通強(qiáng)度不足
溝通不足常常是企業(yè)軟件項(xiàng)目成功的最大的威脅。軟件需求提出者在項(xiàng)目建設(shè)初期對(duì)信息化理念了解不深,表達(dá)不夠深入,提出的功能需求浮于日常工作表面。而企業(yè)軟件開發(fā)人員或外包商因?yàn)閷?duì)業(yè)務(wù)了解不夠深刻,沒有有效的項(xiàng)目溝通計(jì)劃,無法充分考慮業(yè)務(wù)需求,不能對(duì)軟件系統(tǒng)給出規(guī)劃建議或細(xì)節(jié),造成項(xiàng)目需求的余量規(guī)劃準(zhǔn)備空間不足。
2.3 定制帶來的軟件自身內(nèi)在的高復(fù)雜度
對(duì)于企業(yè)定制軟件的開發(fā),由于生產(chǎn)業(yè)務(wù)自身的復(fù)雜度,導(dǎo)致了定制軟件的復(fù)雜度,特別是業(yè)務(wù)的組合,造成系統(tǒng)間和模塊之間耦合度較高。
2.4 文檔資料缺失,知識(shí)無法有效繼承
在軟件項(xiàng)目中,相對(duì)于項(xiàng)目進(jìn)度和軟件開發(fā),項(xiàng)目成員不太注重知識(shí)的收集和積累,僅能提供項(xiàng)目主要文檔資料,而這些資料往往沒有跟隨軟件變更進(jìn)行及時(shí)更新。導(dǎo)致系統(tǒng)的使用、維護(hù)知識(shí)僅為少數(shù)開發(fā)和參與者掌握,無法將個(gè)人的隱形知識(shí)轉(zhuǎn)化為共享的顯性知識(shí),給系統(tǒng)的后續(xù)升級(jí)、維護(hù)造成很大困難。
3、在企業(yè)軟件項(xiàng)目管理過程中的經(jīng)驗(yàn)
企業(yè)的定制軟件項(xiàng)目是用有限的資源、有限的時(shí)間根據(jù)特定的業(yè)務(wù)部門需求,優(yōu)選各種技術(shù)和產(chǎn)品進(jìn)行設(shè)計(jì)開發(fā),將各個(gè)分離的“信息孤島”連接成為一個(gè)完整、可靠和有效的整體,并使之能彼此協(xié)調(diào)工作達(dá)到整體優(yōu)化目的的工作。一個(gè)良好的企業(yè)項(xiàng)目軟件,成熟優(yōu)秀的軟件項(xiàng)目管理是必不可少的。在軟件項(xiàng)目建設(shè)和全生命周期中,如要減少上述問題的發(fā)生,企業(yè)可以做好以下幾個(gè)方面:
3.1 強(qiáng)化軟件項(xiàng)目需求控制
在軟件項(xiàng)目管理范圍內(nèi),需求控制和管理是其中重要的一環(huán),特別是對(duì)于針對(duì)企業(yè)自身生產(chǎn)經(jīng)營流程所定制的軟件系統(tǒng),需求貫穿了項(xiàng)目的整個(gè)生命周期。從企業(yè)走上ERP信息化道路之后,隨著員工對(duì)系統(tǒng)了解不斷加深和企業(yè)自身管理水平提升,很多因素都可能使軟件系統(tǒng)的需求不斷變化。如果不能有效處理需求變更,勢必會(huì)很大程度上增加開發(fā)和運(yùn)維的壓力。
3.2 加強(qiáng)需求相關(guān)方參與項(xiàng)目的深度
不僅是在軟件項(xiàng)目初期需求收集和概要設(shè)計(jì)中,在整個(gè)軟件項(xiàng)目的生命周期內(nèi)都必須強(qiáng)調(diào)項(xiàng)目需求相關(guān)方即業(yè)務(wù)部門的參與。由于軟件系統(tǒng)實(shí)施將改變企業(yè)員工的工作方式,因此,業(yè)務(wù)部門的管理者和將來的使用者必須在項(xiàng)目策劃階段就能了解系統(tǒng)應(yīng)用對(duì)其工作方式帶來的影響,他們必須制定相應(yīng)的政策、流程等以準(zhǔn)備應(yīng)對(duì)這個(gè)即將到來的變動(dòng)。目前部分ERP項(xiàng)目之所以失敗,重要的一個(gè)原因是人們誤認(rèn)為ERP項(xiàng)目僅是一個(gè)信息系統(tǒng)項(xiàng)目,該項(xiàng)目帶來的僅僅是一個(gè)信息產(chǎn)品。其實(shí),ERP項(xiàng)目帶來的是一新的運(yùn)營方式,如果企業(yè)在沒有做相應(yīng)調(diào)整的情況下強(qiáng)行引入ERP,業(yè)務(wù)流程重組不到位,將會(huì)使企業(yè)運(yùn)行的混亂速度加快。事實(shí)表明,促使軟件項(xiàng)目成功的最重要的要素莫過于需求相關(guān)方的全過程參與。
3.3 培養(yǎng)企業(yè)內(nèi)復(fù)合型人才,擴(kuò)展項(xiàng)目管理知識(shí)領(lǐng)域
企業(yè)定制軟件項(xiàng)目需要掌握項(xiàng)目管理技術(shù)、熟悉企業(yè)流程并對(duì)了解軟件開發(fā)關(guān)鍵技術(shù)的人員作為項(xiàng)目的管理者,首先要擴(kuò)展企業(yè)內(nèi)部軟件項(xiàng)目管理人員的知識(shí)面,一個(gè)高效的項(xiàng)目管理者來說至少要能理解和使用五方面的知識(shí)領(lǐng)域:
(1)項(xiàng)目管理知識(shí)體系;(2)應(yīng)用領(lǐng)域的知識(shí)和標(biāo)準(zhǔn);(3)項(xiàng)目環(huán)境知識(shí);(4)通用管理知識(shí)技能(采購、合同、后勤、人事管理、安全等);(5)管理軟技能(處理人際關(guān)系技能)。
3.4 將項(xiàng)目溝通上升到技術(shù)和管理層次
由于企業(yè)內(nèi)軟件從業(yè)人員較年輕,缺乏一些溝通、社交等方面的軟技能,習(xí)慣使用專業(yè)術(shù)語,更擅長跟機(jī)器打交道,所以在項(xiàng)目建設(shè)中會(huì)出現(xiàn)溝通不充分的情況。軟件項(xiàng)目溝通管理是軟件項(xiàng)目管理中的一個(gè)重要組成部分,可以使軟件人員和業(yè)務(wù)人員有效的建立彼此相互了解的關(guān)系,并且能通過溝通的行為和過程達(dá)成共識(shí),可確保及時(shí)、正確的產(chǎn)生、收集、分發(fā)、存儲(chǔ)和最終處理項(xiàng)目信息。
軟件項(xiàng)目溝通管理包含三個(gè)主要內(nèi)容:(1)編制溝通計(jì)劃,確定哪些人是項(xiàng)目干系人(項(xiàng)目干系人是指積極參與項(xiàng)目,或利益會(huì)受項(xiàng)目執(zhí)行結(jié)果正面或負(fù)面影響的個(gè)體),分析他們對(duì)實(shí)施項(xiàng)目的影響程度。根據(jù)干系人信息需求的匯總進(jìn)行溝通需求分析,對(duì)不同層次的項(xiàng)目干系人制定不同的溝通計(jì)劃。(2)以合適的方式向項(xiàng)目人員分發(fā)信息,一個(gè)企業(yè)的各個(gè)項(xiàng)目應(yīng)該采取統(tǒng)一格式模板記錄信息以及進(jìn)行傳遞,有助于信息格式標(biāo)準(zhǔn)化,降低溝通成本。(3)對(duì)項(xiàng)目溝通過程進(jìn)行管理,改善軟件人員溝通的軟技巧,努力做到溝通內(nèi)外有別,對(duì)外一致,一個(gè)團(tuán)隊(duì)要一種聲音說話,采用對(duì)方能夠接受的溝通風(fēng)格,注重非正式環(huán)境下溝通所獲得的信息,建立高效的會(huì)議方案,明確團(tuán)隊(duì)內(nèi)部思考方式等工作。
4、結(jié)語
軟件項(xiàng)目管理的發(fā)展像任何其他學(xué)科的發(fā)展一樣,其成長和發(fā)展需要有一個(gè)相對(duì)漫長的過程,而且是永無止盡的。只有不斷提升軟件項(xiàng)目管理成熟度,使企業(yè)軟件項(xiàng)目管理向多元化、專業(yè)化發(fā)展,才能取得項(xiàng)目的成功,最大的滿足企業(yè)自身向整體信息化轉(zhuǎn)型的需求。
參考文獻(xiàn)
一、引言
隨著計(jì)算機(jī)科學(xué)技術(shù)的飛速發(fā)展和信息技術(shù)的不斷進(jìn)步,計(jì)算機(jī)與細(xì)膩新技術(shù)逐漸被應(yīng)用到各行各業(yè)中。各領(lǐng)域都要求軟件開發(fā)者能夠迅速、高質(zhì)量的為本領(lǐng)域提供各種具有較強(qiáng)的實(shí)用性的軟件產(chǎn)品。但是在現(xiàn)實(shí)軟件開發(fā)中,由于各領(lǐng)域的復(fù)雜性、差異性、變化性等特點(diǎn)的存在,給軟件開發(fā)帶來了極大的困難,不能完全滿足社會(huì)各領(lǐng)域?qū)浖_發(fā)的需求。
軟件產(chǎn)業(yè)的全面發(fā)展決定著一個(gè)企業(yè)、一個(gè)行業(yè)、一個(gè)國家的信息化建設(shè)水平的高低。目前,雖然我國軟件產(chǎn)業(yè)已經(jīng)取得了長足的發(fā)展,特別是近年來每年都在以兩位數(shù)的復(fù)合增長率上漲,但是,我國軟件開發(fā)與運(yùn)用等方面仍存在著諸多問題。據(jù)權(quán)威機(jī)構(gòu)的統(tǒng)計(jì)數(shù)據(jù)報(bào)告顯示:大型專用軟件的開發(fā)占世界軟件銷售額的85%,而其開發(fā)中出現(xiàn)的失敗率高達(dá)70%。而我國的信息建設(shè)項(xiàng)目的成功率也并不高。那么導(dǎo)致軟件開發(fā)的這種狀況的主要原因是什么呢?該如何選擇軟件開發(fā)工具呢?
二、軟件開發(fā)工具概述
(一)軟件開發(fā)工具的基本概念
目前的軟件編寫都是建立在一種開發(fā)工具軟件的基礎(chǔ)上的,有了這類工具軟件,軟件開發(fā)從規(guī)劃、業(yè)務(wù)流程分析、軟件模塊的設(shè)計(jì)、代碼的測試、使用與管理等方面都進(jìn)一步實(shí)現(xiàn)了規(guī)范化管理,這為程序員編程帶來了便利。軟件開發(fā)工具的使用不僅降低了程序員編程的難度,更為那些復(fù)雜的軟件開發(fā)提供了較大的幫助。
(二)集成軟件開發(fā)工具
軟件是相對(duì)于那些看得見、摸得著的硬件而言的,軟件就像是計(jì)算機(jī)的大腦。軟件分為系統(tǒng)軟件和應(yīng)用軟件。不論是系統(tǒng)軟件還是應(yīng)用軟件都為人們的生活帶來了方便,在互聯(lián)網(wǎng)時(shí)代軟件擁有龐大的數(shù)量,軟件的產(chǎn)生是人類集體智慧的突出表現(xiàn),是現(xiàn)代文明得以傳承的介質(zhì),是人類文明發(fā)展的推動(dòng)力。
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,很多復(fù)雜的業(yè)務(wù)管理流程、復(fù)雜系統(tǒng)控制都依賴于軟件開發(fā)工具來得以實(shí)現(xiàn)。這些集成的軟件開發(fā)工具涉及到軟件開發(fā)的各個(gè)生命周期。越來越多的軟件工程需求帶動(dòng)了集成軟件開發(fā)工具的產(chǎn)生與發(fā)展。目前,比較常見的集成軟件開發(fā)工具有很多,例如:VB,PB,DELPHI,VC,JAVAASP等。這些軟件開發(fā)工具各有特點(diǎn),各有所長。例如:VC具有強(qiáng)大的功能、JAVA具有強(qiáng)大的網(wǎng)絡(luò)編程功能、VB簡單易學(xué),易于掌握。
三、軟件開發(fā)工具的發(fā)展歷程
軟件開發(fā)工具如果從開發(fā)效率上來劃分,可以分為編輯器、集成開發(fā)環(huán)境、軟件開發(fā)平臺(tái)三代歷程。
(一)軟件編輯器
這種軟件開發(fā)工具從功能到界面都需要編寫大量的代碼,編輯的主要功能是將代碼進(jìn)行編譯,使其成為目標(biāo)程序,并對(duì)其進(jìn)行錯(cuò)誤調(diào)試。這種程序的主要表現(xiàn)形式就是0和1這樣的代碼序列。但是對(duì)于這些代碼序列,并不是每一個(gè)用戶都能夠看的懂的。種種程序?qū)τ?jì)算機(jī)的硬件有著極高的依賴程度,因此其維護(hù)性較差。
(二)集成開發(fā)環(huán)境
在軟件開發(fā)工具中集成了很多通用的界面定制功能和通用功能。例如:通訊的組件、數(shù)據(jù)庫的操作、數(shù)據(jù)展示控件、打包工具等。這些功能的集成是軟件開發(fā)的效率得到了提高。例如:VIAUAL、STUDIO、MYECLIPSE等。這些是目前最流行、實(shí)用率最高的軟件開發(fā)工具,大部分軟件廠商的程序開發(fā)人員都在使用這些開發(fā)工具。
(三)軟件開發(fā)平臺(tái)
軟件開發(fā)平臺(tái)的提出為軟件開發(fā)提供了一個(gè)全新的平臺(tái)和理念。平臺(tái)作為軟件開發(fā)工具的應(yīng)用環(huán)境是軟件開發(fā)逐漸實(shí)現(xiàn)了可視化、定制化、無代碼化,軟件開發(fā)的效率的到了空前的提高,在很大程度上解放了程序員的開發(fā)工作量,讓程序員能夠?qū)⒆⒁饬性趯?duì)業(yè)務(wù)的關(guān)注上,而不是技術(shù)。例如:咨微OBPS開發(fā)平臺(tái)就是最具代表性的。
四、軟件開發(fā)工具的選擇
隨著軟件技術(shù)的不斷進(jìn)步,各種高級(jí)語言不斷規(guī)范,使得程序員對(duì)軟件開發(fā)工具的選擇也提出了新的要求。就目前而言,我國的軟件開發(fā)已經(jīng)逐漸由原來的手工作坊的形式發(fā)展到軟件工程的階段。軟件開發(fā)本身也在不斷的發(fā)展,已經(jīng)由過去的“算法+數(shù)據(jù)結(jié)構(gòu)=程序”的傳統(tǒng)模式轉(zhuǎn)變成“設(shè)計(jì)模式+對(duì)象組件+開發(fā)工具=程序”。開發(fā)工具的選擇已經(jīng)成為軟件開發(fā)成功與否的主要因素之一。
選擇軟件開發(fā)工具有兩個(gè)主要因素,即:所開發(fā)的最終用戶和開發(fā)人員。軟件開發(fā)的最終用戶是所有軟件開發(fā)的主要來源和最終歸宿,它更是影響著軟件開發(fā)工具選擇的決定性因素。另外,開發(fā)人員的習(xí)慣、愛好、經(jīng)驗(yàn)也在影響著軟件開發(fā)工具的選擇。同時(shí),嚴(yán)格的軟件工程管理和開發(fā)人員的技術(shù)水平是軟件開發(fā)成功與否的關(guān)鍵。
總之,隨著軟件業(yè)的飛速發(fā)展給人類的生活帶來了巨大的變化。這不僅是人類文明成果的具體體現(xiàn)。軟件開發(fā)工具的發(fā)展給軟件業(yè)的進(jìn)一步發(fā)展提供了動(dòng)力。軟件開發(fā)工具在不同領(lǐng)域的有效利用,使軟件工程各個(gè)時(shí)期達(dá)到有效管控的二畝地。
預(yù)計(jì)1個(gè)月內(nèi)審稿 省級(jí)期刊
吉林科學(xué)技術(shù)出版社主辦
預(yù)計(jì)1個(gè)月內(nèi)審稿 部級(jí)期刊
中國科學(xué)技術(shù)協(xié)會(huì)主辦
預(yù)計(jì)1個(gè)月內(nèi)審稿 省級(jí)期刊
湖北省科學(xué)技術(shù)廳主辦
預(yù)計(jì)1個(gè)月內(nèi)審稿 部級(jí)期刊
中國科學(xué)技術(shù)協(xié)會(huì)主辦
預(yù)計(jì)1-3個(gè)月審稿 北大期刊
中國科學(xué)院主辦
預(yù)計(jì)1個(gè)月內(nèi)審稿 統(tǒng)計(jì)源期刊
中華人民共和國工業(yè)和信息化部主辦