您的位置:新文秘網>>經驗交流/>>正文

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

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


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