當前位置:文思屋>學習教育>畢業論文>

分析軟體工程經濟學的發展現狀論文

文思屋 人氣:3.05W

從國小、國中、高中到大學乃至工作,許多人都有過寫論文的經歷,對論文都不陌生吧,通過論文寫作可以培養我們的科學研究能力。相信寫論文是一個讓許多人都頭痛的問題,以下是小編精心整理的分析軟體工程經濟學的發展現狀論文,歡迎大家分享。

分析軟體工程經濟學的發展現狀論文

軟體是相關程式、過程和文件的完整集合,而工程則是科學與數學的應用,並使物質的屬性、自然能源在結構、機械、產品、系統和過程上變得對人類有益要做到對人類有益,軟體開發及其軟體系統必須是在社會能負擔得起的成本基礎上滿足人的需求,畢竟軟體開發是一種社會行為軟體成本估算將一般的經濟學分析概念、技術和特殊的軟體工程世界聯絡起來通過成本估算,可以使專案的管理者對軟體的成本及其變化趨勢做到正確把握,從而為進一步的決策提供科學而直觀的依據。

軟體工程的目的是通過有關學科的應用使人們開發出來的軟體系統成為對使用者有用的產品。然而軟體工程效果不僅取決於電腦科學、軟體工程方法學以及軟體工具與環境的使用,還取決於它是否滿足經濟學和社會效益的需要。軟體工程經濟學就是依據經濟學的觀點來研究如何有效地分析、開發、釋出軟體產品及其支援使用者使用等,為軟體的成本進度估算提供必要的手段和方法,並妥善地協調技術、經濟和人之間的關係。

一、軟體工程面臨的經濟學問題

縱觀軟體工程全過程,都或多或少與經濟學有關從經濟學的角度來看,也都不同程度地存在以下問題:

(1)專案負責人沒有可靠的依據來確定每個軟體階段和每個軟體開發活動需要多長時間和多大的工作量,因此,也就難以判斷軟體開發是否按計劃進行,甚至意味著專案從一開始就失控了。

(2)軟體分析人員難以在分析設計階段做出現實的軟硬體比較分析,導致設計中硬體成本降低,最終卻以更高的軟體成本為代價。

(3)軟體開發人員無法使相關經理、客戶或銷售人員相信他們承諾的預算與時間進度表是現實的。

(4)專案組內部對軟體開發過於樂觀,而對外則在競爭性的軟體合同競標中報出低價,最終必然導致費用超支或效能折衷

(5)軟體開發的成本很高,且難以控制嚴重時,導致整個專案失敗(被迫取消或放棄)的指導,使得專案最終達不到預期的目的,甚至還有可能導致使用者成本上升、可靠性或服務質量下降、需要増加額外的人員、員工的工作積極性下降、員工的流動性上升等。因此,在實際的軟體工程中,不僅包括軟體開發的方法和技術問題,還包括很多經濟學方面的問題,如使用、預算、進度以及決定使用者需求的相對優先順序等問題實踐證明,好的軟體工程必須協調好人與經濟的問題。

二、軟體工程經濟學的研究內容

2.1 軟體工程經濟學研究的基本問題

軟體工程經濟學是軟體工程學科與經濟學(微觀經濟學)有機結合的產物,它利用經濟學中成熟的`概念、技術和方法為軟體工程決策服務因此,軟體工程經濟學面臨的問題是如何利用成本估算等技術來幫助專案管理者做出正確的選擇,以及利用何種經濟學方法幫助人們做出正確的決策。因此,軟體工程經濟學研究的基本問題是:

(1)成本、工作量生產率等因素的估算技術與方法以及估算模型的建立與使甩這是一個核心問題

(2)軟體工程中不同決策的“成本效益”分析,及其與此相關的規模經濟與不經濟問題

(3)多目標決策分析,以便識別目標、調協與決策相互衝突的目標、管理多個同時存在的目標等。

(4)成本、工作量、人力分佈及其資源配置問題

(5)不確定性的處理和風險分析問題

(6)進度估計和工期控制問題

(7)資料收集與管理以及模型的校準等問題

(8)相關工具問題

2.2 成本估算的方法、理論與模型

軟體生命週期中包括了若干個主要的階段與活動軟體成本估算的方法之一就是建立一個迴歸模型(線性的、非線性的或有參的、無參的等)。對模型的基本要求是它能夠描述軟體成本和成本驅動因子間的關係,並用這一模型對樣本資料進行擬合,得出其引數值模型建立後,應對其可用性進行評價,並按如下幾個方面進行:

(1)定義:模型明確定義了它要估算的成本;

(2)精確性:估算結果接近專案的實際花費;

(3)客觀性:模型避免了將大部分軟體成本因子歸屬於難以校準的主觀因素;

(4)建設性:幫助使用者理解需要做的工作;

(5)詳盡:模型能適應哪些軟體系統的估算,能給出階段和活動的細分結構;

(6)穩定性:輸入的細微變化引起輸出的變化很小;

(7)範圍:模型涵蓋了需要估計成本的軟體項說明;

(8)可預期性:模型可避免引入那些直到專案結束才能知道的資訊;

(9)精簡性:模型可避免哪些冗餘的或者對結果沒影響的因素已有的軟體成本估算方法有演算法模型、專家判斷?類比推理帕金森原理、價格策略、自頂向下、自底向上等這些方法都有其特點,但沒有一種可選方法在所有方面都比其他方法好,他們的優缺點互補。

2.3 成本估算要注意的問題

針對軟體工程經濟學中的成本估算需要特別注意以下幾個方面:

(1)軟體的成本和進度估算非常複雜,涉及的因素很多。面對不同的開發環境、管理方式、開發模式,要選擇不同的估算模型,即便是同一估算模型,具體使用時也要根據經驗和具體情況進行校準

(2)好的估算模型並不能保證能做出好的成本估算,因為它很可能是一個“垃圾輸入-立圾輸出”的工具:如果輸入不著邊際,那麼輸出也就離譜

(3)影響成本估算的風險因素包括:對目標系統的功能需求、開發環境等情況的瞭解程度;所運用歷史資料及模型引數的可靠性;系統分析中的邏輯模型的抽象程度、業務處理流程的複雜程度及軟體的可度量程度;軟體新技術對成本估算方法的影響;使用者在軟體開發中的參與程度,開發隊伍的素質及所採用開發模式對開發成本的影響;對軟體開發隊伍複雜因素的認識程度;軟體開發人員的穩定性;軟體開發進度、時間等非技術性因素的變更所帶來的風險等。

(4)軟體成本估算並非完全資金意義上的估算。專案成本中相當一部分為支付開發人員腦力勞動報酬的費用,而這部分費用因軟體開發機構的不同而存在著很大的差別。

(5)軟體產品及其開發過程的特殊性決定了軟體開發成本的估算方法既不同於製造業產品的成本估算方法,也不同於建設專案的財務評價方法(6)軟體成本估算技術研究的重大突破需要堅實的理論基礎缺乏大量的實驗作基礎,要開展理論研究顯然也是不切實際的。

過去的若干年裡,人們在成本、進度估算方面做了很多工作,提出了一系列的方法與模型,典型的模型有SDCTRWWolvertonCOCOMO等等這些模型各有特點,同時也存在侷限性與不足實際應用時,至少還要做好以下兩方面的工作:一是模型?做好本地化工作。

2.4 分析技術

2.4.1 成本效益分析

軟體工程經濟學在做成本效益分析時,應注意其特殊1性因為作為軟體工程專案的效益,除了經濟效益外,還有一個很重要的社會效益問題,它需要協調人與經濟的關係軟體工程中的規模經濟指通過投資生產專用工具來獲得大型專案的規模經濟,如測試工具、診斷工具、文件工具、預處理程式等。而在小專案中這些工具的成本很難收回。另外,我們應更關注軟體專案的“規模不經濟”問題特別地,專案中的人越多,個體之間的分歧、程式設計風格差異和工作習慣上衝突的機會就會越多,這些將降低團隊的整體生產率。對此,我們應該認真分析軟體工程經濟學中導致規模不經濟的主要原因,並提出相應的對策。

2.4.2 淨值和邊際分析

本文指的“淨值”與經濟學中通常所討論的“淨值”不同,本文指的淨值方法假設所有收益相關的組成部分(僱員的需求滿足,客戶的良好願望,使用者的資訊保密,對操作員的易用性)都被轉換成貨幣的形式邊際分析用來分析自變數每増加一單位將如何影響和決定因變數的量值本文運用成本驅動因子的敏感性分析方法。

2.4.3 現值技術現值概念

為決策者提供了一個一致的框架,能將軟體工程未來不同時刻發生的現金流換算成單一的現值貨幣。現值分析主要應用於可行性分析階段,在可選的系統方案之間做出生命週期的成本比較,以便做出成本效益最好的決策另一個與此相關的決策是購買系統硬體裝置的時間問題買早會導致裝置閒置和資金被佔用;反之導致軟體開發成本的増加與進度的推遲除利率之外,這種決策還應考慮到稅、保險實施和維護等費甩通常,這些因素可合併成一個複合的貼現率來分析。

2.4.4 風險分析專案

風險存在於專案的始終,並且許多專案失敗於不恰當的風險管理據文獻記載,軟體系統中的風險可以檢測到,90%的風險可以避免,風險管理的投資回報率一般在在收益和風險之間取得平衡是決策中的重要問題風險分析可幫助人們做出穩妥的決策方案,風險分析可按如下步驟進行:首先,依據專案計劃基本模型,利用各種概率分佈函式描述專案中任務的不確定性;其次,可採用蒙託卡羅和拉丁海波庫比等抽樣技術,隨機地從每個不確定因素中抽取樣本,進行計算,模擬各種不同的不確定性組合,獲取各種不同組合下的計算結果;最後,藉助於統計學原理,對於這些結果資料進行分析,找出專案變化的規律,確定最大值、最小值、平均值、標準差、方差、偏度等,並在此基礎上對每個不確定性因素可能對專案進展影響程度作敏感性分柝其它分析方法和技術可用於軟體工程的經濟學分析方法還有系統分析、均衡分析和約束優化等。

三.軟體工程經濟學的特殊性問題

3.1 軟體工程管理的特殊性

軟體工程管理和其它工程管理相比有其特殊性傳統專案的學科基礎只需依賴某些基本原理集和自然法則就能控制系統的行為並指導開發過程,而軟體是知識產品,軟體開發者的自由度較大,進度和質量都較難度量,生產效率也較難保證,並且軟體系統的複雜程度也是超乎想象的因此軟體仍然是在危機中生存和發展,生存源自於時代的需求,發展得益於人們的不懈努力。所以必須認識到軟體工程與傳統工程的本質區別從經濟學角度看,軟體具有如下的特點:

(1)軟體是由許多人共同完成的、高強度智力勞動的結晶,是建立在知識、經驗和智慧基礎上的具有獨創性的產物軟體具有價值和使用價值

(2)軟體產品是無形的,通過載體進行交易。軟體的交換價值,是載體自身價值與軟體價值之和,主要是軟體的價值。

(3)軟體產品的複製(批量生產)相應簡單,其複製成本與開發成本相比,幾乎可以忽略不計。

(4)軟體產品一般沒有有形損耗,僅有無形損耗

(5)軟體維護在其生命週期中佔有重要地位,是軟體價值的増值過程。

3.2 與定量經濟學的區別

有關研究表明,解決問題的人類經濟學方法與經典的材料經濟學方法之間有著顯著差別。軟體工程經濟學不能侷限於純定量的、最大利潤的材料經濟學範疇,而要在更廣闊的人類經濟學背景下思考問題從面向生產到面向服務的經濟轉變的全球趨勢對每個行業提出了新的要求和挑戰,軟體工程更是如此此所以,軟體工程經濟學強調人類經濟學方法就顯得非常重要,它需要擴充套件純定量的?面向貨幣的材料經濟學方法,並在設計決策時認真考慮經濟和人這兩個重要的因素。

3.3 成本估算的準確性

影響成本估算準確性的因素主要有以下方面:

(1)專案的複雜程度雖然有一些定性的方法可用來度量工程的複雜度,但只能用在設計階段或程式碼實現階段,很難用於計劃階段目前只能用一些主觀的方法來估計一個專案的複雜程度

(2)工程規模。隨著軟體規模的増大,各模組之間的相關性急速地増加。

(3)結構確定性程度它是指使用者需求的明確程度、功能模組劃分的難易程度以及所要處理的資訊的層次特性結構的不確定性越大,估算的風險就越大

(4)可供使用的歷史資料不全

(5)軟體需要創造性以及人與人之間的合作,但個人或團隊的行為通常很難預料。

(6)軟體缺乏相關的定量的歷史經驗基礎,小規模的受控實驗意義不大

(7)過去的若干年裡,大量有價值的研究和資料收集已為適當準確的成本估算模型提供了一定的基礎,但仍然需要進一步改進。

四.結束語

作為交叉學科,軟體工程經濟學既要借鑑經濟學中成熟的經驗技術和方法為軟體工程決策服務,也要充分認識到軟體工程本身的特殊性,更要關注人與經濟的協調性儘管國內學者在該領域已經做了不少工作,但總的來說還不夠,也欠系統,希望引起人們足夠的重視。