您的位置:新文秘網(wǎng)>>經(jīng)驗(yàn)交流/>>正文

_軟件開(kāi)發(fā)的模塊化理論解釋與啟示

發(fā)表時(shí)間:2006/2/19 11:59:28


  【關(guān)鍵字】_軟件;模塊化;公共物品;博弈
  【摘要】本文以/為例討論了源代碼的內(nèi)部結(jié)構(gòu)在_軟件開(kāi)發(fā)中所起的重要作用。為此,我們考慮了源代碼的模塊化屬性。源代碼的模塊化將直接影響開(kāi)發(fā)者是否參與對(duì)_軟件的開(kāi)發(fā);谀K化的_軟件開(kāi)發(fā)不僅實(shí)現(xiàn)了勞動(dòng)的分工,同時(shí)也實(shí)現(xiàn)了勞動(dòng)價(jià)值的分割,在_軟件的開(kāi)發(fā)過(guò)程中較好地解決了搭便車問(wèn)題。同時(shí),模塊化理論對(duì)我國(guó)發(fā)展軟件產(chǎn)業(yè)也有一定的借鑒作用
  一、引言
  在計(jì)算機(jī)工業(yè)的初期,軟件是硬件的附屬品。企業(yè)只是賣硬件,隨系統(tǒng)贈(zèng)送軟件。在這_時(shí)期,軟件的設(shè)計(jì)思想,新的算法和軟件的源代碼在專家、學(xué)者和公司研究人員之間相互交流,促進(jìn)了軟件的迅速發(fā)展。但是,企業(yè)很快認(rèn)識(shí)到軟件的價(jià)值,對(duì)軟件實(shí)施了版權(quán)控制,并限制了源代碼的發(fā)布。同時(shí),軟件的開(kāi)發(fā)方式也發(fā)生了變化,變成以商業(yè)企業(yè)為主體的封閉的開(kāi)發(fā)模式。系統(tǒng)是其中最典型的例子。在發(fā)展的早期,源代碼是可以_拷貝的,每個(gè)人都可以借鑒他人的思想,以完善程序。但是,隨著軟件產(chǎn)業(yè)的發(fā)展,年公司對(duì)具有獨(dú)立知識(shí)產(chǎn)權(quán)的操作系統(tǒng)——*申請(qǐng)了專利,軟件被貼上了版權(quán)標(biāo)識(shí),也被強(qiáng)制實(shí)施版權(quán)控制,阻止了程序員之間的交流與合作,一些優(yōu)秀的程序員也相繼離開(kāi)實(shí)驗(yàn)室,去各個(gè)公司任職。商業(yè)企業(yè)對(duì)軟件的知識(shí)產(chǎn)
……(新文秘網(wǎng)http://120pk.cn省略851字,正式會(huì)員可完整閱讀)…… 
,則會(huì)得到公眾的贊譽(yù)。③較弱的競(jìng)爭(zhēng)條件。競(jìng)爭(zhēng)在_軟件開(kāi)發(fā)者之間是相對(duì)比較弱的,向他人公開(kāi)自己的源代碼并不會(huì)對(duì)自己造成很大的損害,,。關(guān)于此問(wèn)題更多的討論可參考達(dá)爾構(gòu)建的一個(gè)關(guān)于管理_軟件開(kāi)發(fā)項(xiàng)目的理性代理人行為模型,,。_軟件開(kāi)發(fā)模式一個(gè)很重要的優(yōu)勢(shì)就是擁有一個(gè)強(qiáng)大的人才庫(kù)。成千上萬(wàn)的開(kāi)發(fā)者可以參與這個(gè)項(xiàng)目的開(kāi)發(fā)。受雇于一家商業(yè)企業(yè)的開(kāi)發(fā)者數(shù)量畢竟是有限的。更重要的是,_軟件頃月對(duì)于需要編寫什么樣的代碼具有更好的知識(shí)優(yōu)勢(shì)。在商業(yè)企業(yè)中,開(kāi)發(fā)者并不能意識(shí)到用戶所面臨的所有可能的參數(shù),。關(guān)于_軟件開(kāi)發(fā)的其他問(wèn)題也引起了各個(gè)學(xué)科領(lǐng)域?qū)W者極大的興趣。主要包括:分析_軟件和商業(yè)軟件的競(jìng)爭(zhēng)關(guān)系問(wèn)題,;,,;,,_軟件的虛擬溝通機(jī)制,以及把_軟件作為一種復(fù)雜的公共物品。
  在經(jīng)濟(jì)學(xué)與管理學(xué)的理論研究文獻(xiàn)中,模塊化被看做是企業(yè)生產(chǎn)制造,;,、組織設(shè)計(jì),,的一種新的范例。軟件產(chǎn)品可以被看做是由一系列具有特定功能的組件組成,作為一個(gè)完整的系統(tǒng)也可以被分解成一系列功能模塊,這些模塊之間的相互作用就形成了系統(tǒng)的所有功能,;,,。所謂模塊是指可組成系統(tǒng)的、具有某種確定獨(dú)立功能的半自律性的子系統(tǒng),可以通過(guò)標(biāo)準(zhǔn)的界面和其他同樣的子系統(tǒng)按照一定的規(guī)則相互聯(lián)系而構(gòu)成的更加復(fù)雜的系統(tǒng)青木昌彥,。每個(gè)模塊的研發(fā)和改進(jìn)都獨(dú)立于其他模塊的研發(fā)和改進(jìn),每個(gè)模塊所特有的信息處理過(guò)程都被包含在模塊的內(nèi)部,如同一個(gè)“黑箱”,但是有一個(gè)或數(shù)個(gè)通用的標(biāo)準(zhǔn)界面與系統(tǒng)或其他模塊相互連接。國(guó)內(nèi)的學(xué)者朱瑞博、陳向東、周鵬等人分別就價(jià)值模塊的整合、模塊化在知識(shí)管理、組織分析中的應(yīng)用展開(kāi)了討論朱瑞博,,;陳向東,;周鵬,。朱瑞博認(rèn)為價(jià)值模塊是產(chǎn)業(yè)融合的載體,模塊化、產(chǎn)業(yè)融合不僅使生產(chǎn)結(jié)構(gòu)基礎(chǔ)改變了,競(jìng)爭(zhēng)的基礎(chǔ)也發(fā)生了改變。青木昌彥則認(rèn)為模塊化是新產(chǎn)業(yè)結(jié)構(gòu)的本質(zhì)。
  為什么_軟件在某些市場(chǎng)上會(huì)表現(xiàn)得如此出色呢在以往探討_軟件的文獻(xiàn)當(dāng)中,人們并沒(méi)有就_軟件的內(nèi)部結(jié)構(gòu)進(jìn)行討論。本文僅從_軟件源代碼的內(nèi)部結(jié)構(gòu)這個(gè)角度來(lái)探討這一現(xiàn)象。_軟件的開(kāi)發(fā)從其內(nèi)部結(jié)構(gòu)來(lái)看,往往具有模塊化的特性。在產(chǎn)品的模塊化設(shè)計(jì)過(guò)程中,每個(gè)模塊由不同的設(shè)計(jì)者單獨(dú)設(shè)計(jì)完成,實(shí)現(xiàn)了勞動(dòng)的分工。同時(shí),每個(gè)模塊按照一定的標(biāo)準(zhǔn)界面與系統(tǒng)中的其他模塊統(tǒng)一起來(lái),其單獨(dú)的研發(fā)與改進(jìn)并不影響系統(tǒng)中其他模塊的運(yùn)行,從這個(gè)意義上來(lái)講,模塊化也實(shí)現(xiàn)了產(chǎn)品開(kāi)發(fā)過(guò)程中勞動(dòng)價(jià)值的分割。本文首先從一個(gè)簡(jiǎn)單的博弈模型開(kāi)始,結(jié)合/開(kāi)發(fā)的歷程,分析了_軟件源代碼內(nèi)部結(jié)構(gòu)的模塊化屬性在軟件開(kāi)發(fā)中所起的重要作用。在此基礎(chǔ)上探討了模塊化理論在其他相關(guān)產(chǎn)業(yè)中的應(yīng)用。
  二、_軟件開(kāi)發(fā)的模塊化理論解釋
  對(duì)于某一個(gè)特定的理性開(kāi)發(fā)者而言,在其做出是否參與某個(gè)_軟件開(kāi)發(fā)的決策時(shí),主要考慮兩方面的問(wèn)題:一是參與_軟件開(kāi)發(fā)的成本是什么二是具體的收益是什么參與_軟件開(kāi)發(fā)對(duì)于開(kāi)發(fā)者來(lái)說(shuō)成本即為他們所花費(fèi)時(shí)間的機(jī)會(huì)成本。從開(kāi)發(fā)者的收益上來(lái)講,參與_軟件開(kāi)發(fā),可以從多方面得到非貨幣的補(bǔ)償。例如,系統(tǒng)管理員可以通過(guò)解決所使用開(kāi)放源代碼軟件的,從而提高整個(gè)網(wǎng)絡(luò)的績(jī)效,,;開(kāi)發(fā)者可以通過(guò)_軟件的開(kāi)發(fā),得到一個(gè)很好的聲譽(yù),從而為個(gè)人將來(lái)的職業(yè)發(fā)展奠定基礎(chǔ)。
  _軟件代碼的一個(gè)基本特征是具有非競(jìng)爭(zhēng)性。這就意味著一個(gè)開(kāi)發(fā)者在使用代碼的時(shí)候并不影響其他的開(kāi)發(fā)者或者其他_來(lái)使用這些代碼。任何一個(gè)局中人所做的努力對(duì)其他局中人來(lái)講都具有正的外部性,這種外部性并不由局中人的主觀愿望所決定。這是一種典型的公共物品的私人提供。約翰遜曾經(jīng)把這種博弈形式運(yùn)用到_軟件的開(kāi)發(fā)過(guò)程中,分析了福利、努力程度以及成本對(duì)開(kāi)發(fā)者數(shù)量的影響,。在約翰遜分析的基礎(chǔ)上,下文首先從一個(gè)簡(jiǎn)單的博弈形式出發(fā)來(lái)分析模塊化特性在_軟件開(kāi)發(fā)中所起的重要作用。
  一個(gè)簡(jiǎn)單的理論模型
  為了分析模塊化在_軟件開(kāi)發(fā)過(guò)程中所起的重要作用,我們首先考慮一種簡(jiǎn)單的情形,即_軟件內(nèi)部結(jié)構(gòu)及其開(kāi)發(fā)過(guò)程中不存在模塊化現(xiàn)象。任何一個(gè)開(kāi)發(fā)者都需要一個(gè)具有特定功能的軟件代碼,任何一個(gè)開(kāi)發(fā)者都可以選擇參與該軟件的開(kāi)發(fā)或者不參與。在這種情況下,所需要開(kāi)發(fā)的源代碼是不可分割的,也就是整個(gè)系統(tǒng)的價(jià)值并沒(méi)有被分割。
  代碼的開(kāi)發(fā)對(duì)任何一個(gè)開(kāi)發(fā)者的價(jià)值均為ν,成本為。也就是說(shuō)當(dāng)ν的時(shí)候,任何一個(gè)開(kāi)發(fā)者都有進(jìn)行源代碼開(kāi)發(fā)的動(dòng)機(jī)。由于_軟件的特性,任何一位開(kāi)發(fā)者只要完成了代碼的開(kāi)發(fā),就會(huì)選擇把代碼向其他人公開(kāi),但 ……(未完,全文共8753字,當(dāng)前僅顯示2391字,請(qǐng)閱讀下面提示信息。收藏《_軟件開(kāi)發(fā)的模塊化理論解釋與啟示》