• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      COCOMO模型對軟件工程教學的影響

      2009-01-14 09:12:18
      群文天地 2009年16期
      關鍵詞:軟件成本方法

      向 峰

      COCOMO(構造性成本模型,Constructive Cost Model)出現(xiàn)在軟件工程日趨成熟之際,它既是對該學科方法與技術等變化的反映,同時也是這些變化的指示器。COCOMO已經并將繼續(xù)成為介紹、闡釋軟件工程方法與技術的不可或缺的工具。

      一、引言

      COCOMO由Barry Boehm在其1981年的論著《軟件工程經濟學》一書中所提出,被描述成為一種用于估計軟件項目耗費、成本、時間表等的模型。正如他所指出的,“COCOMO適用于對當前軟件工程的指導方針以及該方針在整個軟件生命周期中的作用做出解釋” 。事實上,基于COCOMO的估計已經成為當今最為流行的估計方法,并對工業(yè)生產和軟件工程教學產生了深遠的影響。

      本文簡單介紹了COCOMO的最初模型,回溯了COCOMO的發(fā)展歷程,并對以COCOMO 81及其后續(xù)者作為軟件估計教學和軟件項目管理基礎的一些方法進行了闡述。

      二、COCOMO及其后續(xù)產品

      在《軟件工程經濟學》這一經典教材中,有關COCOMO的內容僅占全書33章中的13章,其他章節(jié)則是對成本效率分析,多目標決策分析,解決不確定性、風險、以及信息價值等的論述。然而,這并不妨礙COCOMO成為該書的靈魂,也正是由于包含了COCOMO,這本教科書式的論著才受到了長久的追捧。

      (一)COCOMO 81 - 一種構造性成本模型

      COCOMO 81具有典型的開放式、構造性特征,正如人們通常所認為的,它既是一個估算模型,同時又是一個演示如何建立估算模型的詳細實例。COCOMO之所以被稱為“構造性成本模型”,源于Barry Boehm最初利用它來說明如何構建一個成本估算模型。早期的“黑盒”估算工具所依賴的模型,其細節(jié)被賣家認為是私有的,盡管他們聲稱模型是建立在“數(shù)以千計的數(shù)據(jù)”基礎之上,但是卻沒有公開發(fā)表的論文對此做出印證。而與此相反的,開發(fā)COCOMO 81及其后續(xù)產品的目的,就是意圖建立一個完全開放式的、透明的模型。

      Barry Boehm于1981年擔任TRW公司(Thompson Ramo Wooldrige Inc)的軟件開發(fā)與技術總監(jiān),COCOMO 81即建立在對該公司63個項目相關數(shù)據(jù)的分析基礎之上,采用當時流行的瀑布式軟件開發(fā)模式。在月人工量(man-months)與基于交付源指令(DSI)的項目規(guī)模關系圖中,COCOMO數(shù)據(jù)大致形成三個集群,Boehm將它們分別稱為組織型的(Organic)、半分離型的(Semidetached)、以及嵌入式的(Embedded)模式,這三種模式下的軟件開發(fā)復雜性與困難程度呈逐步增加的趨勢。

      COCOMO由三個不斷深入的層次組成,分別為“基本(Basic)COCOMO”、“中間(Intermediate)COCOMO”、以及“詳細(Detailed)COCOMO”。基本COCOMO是一種靜態(tài)的單值模型,它根據(jù)(由代碼行數(shù)來度量的)程序規(guī)模來計算軟件開發(fā)的工作量和成本。中間COCOMO 模型采用15個成本驅動改進基本模型,是對產品、硬件、工作人員、項目特性等因素的主觀評估,其中,成本驅動的影響定為項目級。詳細COCOMO 模型是三種模型中最精確的,具有中間 COCOMO 模型的所有特性;它將軟件開發(fā)劃分為四個階段,并根據(jù)相應的階段賦予成本因子不同的權重,此時的計算細化到子系統(tǒng)/模塊,更加符合軟件開發(fā)的真實情況。

      (二)COCOMO 81中的施教時刻

      施教時刻(Teachable moments)是指在就某一問題進行討論或學習時,能夠產生大量與該問題相關的認識、看法、理解等認知的那段時間。施教時刻可以事先進行安排和計劃,也可能隨機的、自發(fā)的產生。在施教時刻,人們把對某一問題的討論設置在特定的情境或條件之下,從而在這些前提不斷擴大和深入時,有助于獲得對該問題更深層次、更廣泛的理解。比如,對COCOMO有關等式的推導附帶著線性回歸、統(tǒng)計密度函數(shù)、方差分析等方面的知識,選擇成本驅動及其參數(shù)則涉及了對工作效率、成本、時間表等的有關影響因子的分析;我們可以這樣認為,施教時刻是將認知擴大到一個預先設定好的更廣泛領域的過渡階段。Richard E. (Dick) Fairley在其所教授的軟件項目管理課程中列舉的COCOMO中所包含的施教時刻如表1所示:

      (三)Ada COCOMO與Ada過程模型

      COCOMO 81是典型的基于瀑布式模型的批處理模式,它隨著軟件工程的日趨成熟而逐步發(fā)展起來,在第一時間反映并指示了了軟件工程方法與技術領域的諸多變化。Ada COCOMO是COCOMO 81的“增強版”,是專門針對嵌入式系統(tǒng)的估算模型,這類系統(tǒng)大多采用Ada編程語言開發(fā)(Boehm & Royce,1987)。TRW公司所采用的Ada過程模型集增量開發(fā)、風險管理、結構骨架、漸增測試、統(tǒng)一軟件度量等于一體(Royce,1990)。Ada COCOMO中增加了新的成本驅動,并對工作量乘數(shù)做出了相應的調整,其對COCOMO 81最突出的兩點增強表現(xiàn)為,(a)整合了四個尺度因子以適應嵌入式系統(tǒng)中工作效率和時間估計方程的指數(shù),(b)為軟件產品或系統(tǒng)的增量開發(fā)提供了一個估計程序。在COCOMO 81及其擴展(包括Ada COCOMO)中,指數(shù)因子(> 1)都顯示出成本費用因經營規(guī)模擴大而增加的一種趨勢,這與大規(guī)模產品中溝通費用和整合工作量的非線性增加有關。乘數(shù)因子便是根據(jù)產品和項目的特性而非規(guī)模來調整對工作量的估計。

      Ada COCOMO在COCOMO 81的基礎上進一步引入了軟件安全性、復用性、基于新成本驅動的嵌入式系統(tǒng)等內容,同時也在更廣泛的意義上對基于連續(xù)性數(shù)據(jù)采集與分析的模型參數(shù)改進、軟件開發(fā)過程模型的特性、迭代式開發(fā)的軟件修訂等問題進行了探討。Ada COCOMO中包含的施教時刻(表2)反映了對COCOMO 81的一種漸進性的累積過程,因此,COCOMO的教學可以稱之為是對COCOMO、軟件估計、軟件工程方法與技術等發(fā)展歷程的強化認識。

      (四)COCOMO II

      COCOMO II發(fā)布于1997年,隨后在2000年進行了一些小的升級和改動。COCOMO II的最初使命是為自1981年以來不斷改變著的軟件工程方法、模型以及技術等提供一個開放式的、構建性的估計模型,同時,這個模型將力求完善,以滿足一系列開發(fā)方法與相應的實際開發(fā)工作的需求。

      COCOMO II的主要特點表現(xiàn)在,分別用兩個單獨的指數(shù)方程來進行工作量和時間表的估計,取代了COCOMO 81的三個模式;用五個尺度因子來調整方程指數(shù);增加了三個規(guī)模選項;對成本驅動進行了重新定義和補充;另外還包括一個非線性復用模型、兩級成本驅動粒度、一個貝葉斯校正方法。它的主要目標是為產品、開發(fā)過程、質量、軟件項目的成功模式之間的沖突提供調解的途徑,從而輔助估計。采用MBASE方法通過對軟件規(guī)模、成本模型粒度、開發(fā)過程等的預先選擇,COCOMO II就能夠根據(jù)設定與約束條件等來滿足待估項目的需求。與之前的COCOMO 81和Ada COCOMO相比,COCOMO II包含了更多的施教時刻(表3),所涉及的內容更加寬泛。

      三、教學

      一般來說,教育是指在學校內完成一定的專業(yè)知識學習,通過考核,最終獲得授予證書或文憑的資格。軟件工程的雙重教學目的在于,第一,幫助學生打下扎實的基礎已以應付未來新知識的學習;第二,向學生傳授技能,以適應當前和短期內的商業(yè)環(huán)境。合理的確定這兩個目標在軟件工程教學中的比例,也是對教師們的一項長期的考驗。

      因此,基于COCOMO的教學大致表現(xiàn)為以下幾種形式:介紹COCOMO工具及其使用方法;講解各種COCOMO模型中所包含的理論內容;通過檢驗一個COCOMO模型來完成數(shù)據(jù)采集和分析的實驗;通過團隊項目來開發(fā)一個COCOMO估計工具;以使用COCOMO為基礎的、介紹并討論表1~3中相關話題的、相對詳盡的軟件工程課程。

      另一方面還要將技術傳授給軟件開發(fā)人員、維護人員、管理人員,從而提高其工作效率。然而,軟件工程教學需要明確基于某一問題的假定和約束條件。比如,進行估計的人必須首先要了解估算過程中都包含哪些內容、不同環(huán)境下工作量乘子的有關影響、方程與乘子的精度局限性、根據(jù)所處條件進行校正模型時需要考慮的事項等等。那些審查并批準估算的人必須知道應該向進行估算的人員提出哪些問題以及如何去評定他們的回答。除此,

      開發(fā)人員與管理人員也需要了解軟件工程工具的實用性、成本、特點、以及局限等問題。

      四、最新發(fā)展

      USC(The University of Southern California)軟件工程中心目前對COCOMO理論方面的研究側重于在COCOMO II的基礎上進行擴展并開發(fā)出新的模型,同時,也嘗試整合多個模型而建立一個單獨的、功能齊備的估計工具。對COCOMO II的擴展主要是指模型利用COCOMO II的輸出結果并通過各種途徑來實現(xiàn)對結果的修正。新模型可以在COCOMO方法的基礎上進行估計但要求有其獨立的輸入,如果有必要,新模型也可以與COCOMO II聯(lián)合使用。圖1簡單描述了COCOMO的發(fā)展歷程。每一個擴展模型和新模型都經由COCOMO這座大門而向學生們展示了軟件工程領域的最新發(fā)展與動態(tài)。

      五、結束語

      COCOMO 81是一個開放式的、透明的、面向瀑布式的軟件項目工作效率、成本、時間表等的估計模型。從表1~3及圖1中不難看出,COCOMO的發(fā)展是緊密跟隨軟件工程的腳步的,很多時候它反映了該領域方法與技術的變革,在其發(fā)展的每一步,COCOMO都為激發(fā)并探討未知領域提供了一種機制。COCOMO對軟件工程教學的影響遠遠的超出了單純的對估計方法和估計工具的學習,它將軟件開發(fā)與維護中的許多問題具體化、深入化。正如《軟件工程經濟學》一書的序言中所指出的,COCOMO模型適用于“對當前軟件工程的指導方針以及該方針在整個軟件生命周期中的作用做出解釋” 。

      參考文獻:

      [1]Boehm, B. W., Royce, W., TRW IOC Ada COCOMO: definitions and refinements. In: Proceedings of the Third International COCOMO Users Group, Software Engineering Institute,1987.

      [2]Royce, W.,TRWs Ada process model for incremental development of large software systems, In: Proceedings of the 12th International Conference on Software Engineering. IEEE Computer Society Press, 1990,pp: 2-11.

      [3]Richard E. (Dick) Fairley,The influence of COCOMO on software engineering education and training, The Journal of Systems and Software,80 (2007),pp: 1201-1208.

      [4]Boehm, B. et al., COCOMO suite methodology and evolution. Crosstalk 18 (4),2005,pp: 20-25.

      [5]趙昌木.美國教學方法改革的經驗,1994.

      [6]鄭人杰.實用軟件工程.北京:清華大學出版社,1997.

      (作者簡介:向峰(1982—),2007年碩士畢業(yè)于武漢大學國際軟件學院;現(xiàn)任武漢大學東湖分校計算機科學學院教師,從事軟件工程專業(yè)教學工作。)

      猜你喜歡
      軟件成本方法
      禪宗軟件
      英語文摘(2021年10期)2021-11-22 08:02:26
      2021年最新酒駕成本清單
      河南電力(2021年5期)2021-05-29 02:10:00
      軟件對對碰
      溫子仁,你還是適合拍小成本
      電影(2018年12期)2018-12-23 02:18:48
      可能是方法不對
      用對方法才能瘦
      Coco薇(2016年2期)2016-03-22 02:42:52
      四大方法 教你不再“坐以待病”!
      Coco薇(2015年1期)2015-08-13 02:47:34
      捕魚
      談軟件的破解與保護
      精品(2015年9期)2015-01-23 01:36:01
      獨聯(lián)體各國的勞動力成本
      林州市| 东丰县| 盈江县| 资中县| 南木林县| 开封县| 广西| 岳普湖县| 赤峰市| 宜阳县| 始兴县| 拜城县| 漾濞| 贡觉县| 通州区| 泰和县| 房产| 两当县| 安丘市| 瓦房店市| 岢岚县| 旅游| 东方市| 罗平县| 宜丰县| 沛县| 当雄县| 牡丹江市| 玉龙| 井陉县| 盐边县| 阿巴嘎旗| 四会市| 南漳县| 兴化市| 澎湖县| 东宁县| 邵东县| 利川市| 左权县| 高平市|