版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2.1可行性研究與計劃階段的基本概念2.2可行性研究的步驟2.3系統(tǒng)流程圖2.4數(shù)據流圖2.5成本/效益分析習題二
當你接受一個軟件開發(fā)任務時,就意味著進入軟件生命周期的第一個階段,即可行性研究與計劃階段,亦稱計劃時期。眾所周知,世界上所有問題并不都是有簡單明顯的解決辦法的,許多問題不能在預定的系統(tǒng)規(guī)模之內解決。如果問題沒有可行的解,那么花費在這項開發(fā)工程上的任何時間、資源、人力和經費都是無謂的浪費。2.1可行性研究與計劃階段的基本概念可行性研究的目的就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。請注意,可行性研究的目的不是解決問題,而是確定問題是否值得去解。也就是說,研究在
當前的具體條件下,開發(fā)新系統(tǒng)是否具備必要的資源和其它條件。為了達到這個目的,必須認真了解用戶的要求及現(xiàn)實環(huán)境,探索若干種可供選擇的主要解法,并對每種解法的可
行性進行仔細論證。一般來說應從以下幾個方面進行論證:
1)技術可行性:使用現(xiàn)有的技術能實現(xiàn)這個系統(tǒng)嗎?
2)經濟可行性:這個系統(tǒng)的經濟效益能超過它的開發(fā)成本嗎?
3)操作可行性:系統(tǒng)的操作方式在這個用戶組織內行得通嗎?
在可行性研究與計劃階段中主要做兩件事:問題定義和可行性研究。其具體實施步驟見.圖2.1。
圖2.1由圖2.1可知,首先需要進一步分析和澄清問題定義,經過初步調查后,確定系統(tǒng)的規(guī)模和目標,書寫一份非常簡單的報告,即《關于系統(tǒng)的目標和規(guī)模報告書》,一般只需一頁紙,如表2.1所示。在澄清了問題定義之后,分析員應該進行可行性研究,對以后的行第二章可行性研究與計劃
動路線提出建議:如果問題沒有可行的解,應該建議停止這項工程的開發(fā);如果問題值得解,應該推薦一個較好的解決方案,并且為工程制定一個初步的計劃??尚行匝芯颗c計劃需要的時間長短取決于工程的規(guī)模。一般來說,可行性研究的成本只是預期的工程總成本的(5~l0)%,編寫一份質量較高的可行性研究報告是計劃期完成的主要標志。怎樣進行可行性研究呢?典型的可行性研究由下述8步組成:
1.復查系統(tǒng)目標和規(guī)模
分析員應訪問關鍵人員,仔細閱讀和分析有關材料,以便進一步復查確認系統(tǒng)的目標和規(guī)模,改正含糊或不確切的敘述,清晰地描述對目標系統(tǒng)的一切限制和約束。這個步驟
的工作,實質上是為了確保分析員正在解決的問題確實是要求他解決的問題。2.2可行性研究的步驟
2.研究目前正在使用的系統(tǒng)
分析員應該仔細閱讀分析現(xiàn)有系統(tǒng)的文檔資料和使用手冊,也要實地考察現(xiàn)有的系統(tǒng),注意了解它怎樣做,還要了解使用這個系統(tǒng)的代價以及其存在的缺點。請注意,這個
步驟的目的是了解現(xiàn)有系統(tǒng)能做什么,而不是了解它怎樣做這些工作,故不必花費太多時間去了解系統(tǒng)實現(xiàn)的細節(jié)。
在這個步驟中,分析員應該畫出描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖(見2.3節(jié)),記錄現(xiàn)有系統(tǒng)和其它系統(tǒng)之間的接口情況,并請有關人員檢驗其正確與否。
3.導出新系統(tǒng)的高層邏輯模型
通過前一步的工作,分析員對目標系統(tǒng)應具有的基本功能和約束條件已有一定的了解,能夠從現(xiàn)有的物理系統(tǒng)出發(fā),導出現(xiàn)有系統(tǒng)的邏輯模型,描繪數(shù)據在系統(tǒng)中流動和處理情況,從而概括地表達出對新系統(tǒng)的設想。
高層邏輯模型用數(shù)據流圖來表示(參見2.4節(jié))。
4.重新定義問題
新系統(tǒng)的邏輯模型實質上表達了分析員對新系統(tǒng)必須做什么的看法。那么用戶是否也有同樣的看法呢?分析員應該和用戶一起再次復查問題定義,再次確定工程規(guī)模、目標和
約束條件,并修改已發(fā)現(xiàn)的錯誤??尚行匝芯康那八膫€步驟實質上構成一個循環(huán):分析員定義問題,分析這個問題,導出一個試探性的解,在此基礎上再次定義問題,再次分析,再次修改……,繼續(xù)這個過程,直到提出的邏輯模型完全符合系統(tǒng)目標為止。
5.導出和評價供選擇的方案
分析員從系統(tǒng)的邏輯模型出發(fā),導出若干較高層次的(較抽象的)物理解法供比較和選擇。從技術、經濟、操作等方面進行分析比較,并估算開發(fā)成本、運行費用和純收入。在此
基礎上對每個可能的系統(tǒng)進行成本/效益分析。
6.推薦一個方案并說明理由
如果分析員認為值得繼續(xù)進行這項開發(fā)工程,則應推薦一個最好的方案,并且說明選擇這個方案的理由。對被推薦的方案還需進行仔細的成本/效益分析,才能讓使用部門負
責人根據經濟上是否劃算來決定該工程能否上馬。
7.草擬開發(fā)計劃
分析員進一步為推薦的系統(tǒng)草擬一份開發(fā)計劃,包括工程進度表,各種開發(fā)人員和各種資源的需要情況,并指明什么時候使用以及使用多長時間。
8.書寫文檔提交審查
把上述可行性研究各步驟的結果寫成清晰的文檔,即可行性研究報告,請用戶和使用部門的負責人仔細審查,以決定是否繼續(xù)這項工程以及是否接受分析員推薦的方案。在進行可行性研究時,需以概括的形式描繪現(xiàn)有的系統(tǒng);在推薦新方案時,需把設想的新系統(tǒng)的邏輯模型轉變成物理模型,因此需要描繪新系統(tǒng)的概貌。
怎樣概括地描繪一個物理系統(tǒng)呢?系統(tǒng)流程圖是描繪物理系統(tǒng)的工具,它用物理符號以黑盒子的形式描繪系統(tǒng)里面的每個部件。它表達的僅是信息在系統(tǒng)各部件之間流動的情況,而不是對信息進行加工處理的控制過程,因此盡管系統(tǒng)流程圖使用的某些符號和程序流程圖中用的符號相同,但它卻是物理數(shù)據流圖而不是程序流程圖。2.3系統(tǒng)流程圖系統(tǒng)流程圖的基本符號見圖2.2所示,系統(tǒng)符號見圖2.3所示?;痉栍靡猿橄蟮孛枥L一個物理系統(tǒng),其中每個符號表示系統(tǒng)中的一個部件。而系統(tǒng)符號用以具體地描繪一個物理系統(tǒng),它可以把一個廣義的輸入/輸出操作具體化為讀/寫存儲設備上的文件(或數(shù)據庫),把一般的處理具體化為特定的程序或手工操作等。例如圖2.4是一個庫存清單系統(tǒng)的流程圖。圖2.2圖2.3圖2.4數(shù)據流圖(DataFlowDiagram)簡稱DFD,它是一種描述“分解”的圖示工具。它用直觀的圖形清晰地描繪了系統(tǒng)的邏輯模型,圖中沒有任何具體的物理元素,只是描述數(shù)據在系統(tǒng)中的流動和處理的情況,具有直觀、形象、容易理解的優(yōu)點。
如圖2.5(a)所示,數(shù)據流圖有4種基本符號:2.4數(shù)據流圖
·數(shù)據源點或終點(用正方形表示);
·加工(用圓表示);
·文件(用直線段表示);
·數(shù)據流(用箭頭表示)。
圖2.6就是一個定貨系統(tǒng)的數(shù)據流圖。圖中,數(shù)據的源點是:倉庫管理員;數(shù)據的終點是:采購員。加工有兩個:處理事務和產生報表,其編號分別為:加工1、加工2。文件也有兩個:庫存清單和定貨信息。用箭頭來表示的都是數(shù)據流,數(shù)據流可以由加工流向加工、加工流向文件或從文件流向加工,也可以由數(shù)據的源點/終點流向加工或由加工流向數(shù)據的源點/終點。一般說來,除了流向文件或由文件流向加工的數(shù)據流可不必命名外(因文件命名已非常明確了),每個數(shù)據流都必須有一個合適的名字。在圖2.6中,事務、定貨報表都是數(shù)據流名。這里只簡單介紹用四種基本符號表示的數(shù)據流圖,但有時也使用附加符號。例如,星號(*)表示數(shù)據流之間是“與”關系(同時存在);加號(+)表示“或”關系;④號表示只能從
中選一個(互斥關系)。圖2.5(b)給出了這些附加符號的含義。
有關數(shù)據流圖的其它概念以及具體畫法在這里不作詳細介紹,請看第三章3.3節(jié)數(shù)據流圖。圖2.5圖2.6投資開發(fā)新系統(tǒng)往往要冒一定風險,系統(tǒng)的開發(fā)成本可能比預計的高,經濟效益比預期的低。那么,在什么情況下投資開發(fā)新系統(tǒng)更劃算呢?成本/效益分析的目的正是要從經濟的角度分析開發(fā)一個特定的新系統(tǒng)是否劃算,從而幫助使用部門負責人正確地作出是否投資于這項開發(fā)工程的決定。
成本/效益分析的第一步是估計開發(fā)成本、運行費用和新系統(tǒng)將帶來的經濟效益。
下面先介紹成本估算技術。2.5成本/效益分析2.5.1成本估算技術
直接購買的各種軟件包的成本往往都是固定的,要估算由自己開發(fā)的軟件成本就較為復雜了,一般可使用幾種不同的估算技術以便相互校驗。下面簡單地介紹幾種估算技術。
1.代碼行技術(簡稱LOC技術)
代碼行技術是比較簡單的定量估算方法,它把開發(fā)每個軟件功能的成本和實現(xiàn)這個功能需要用的源代碼行數(shù)聯(lián)系起來。通常根據經驗和歷史數(shù)據來估計實現(xiàn)一個功能需要的源
程序行數(shù)。當有以往開發(fā)類似工程的歷史數(shù)據可供參考時,這個方法是非常有效的。代碼行技術估算步驟如下:
1)確定功能:將項目功能反復分解到足夠細,直到可以對為實現(xiàn)該功能所需要的源代碼行數(shù)做出可靠的估算為止。
2)算出各子功能代碼行數(shù)的平均值:首先根據經驗和歷史數(shù)據對每個子功能估計其程序規(guī)模的大小,即最小規(guī)???,最大規(guī)模6和最可能的規(guī)模m,然后用下式計算出該子功
能源代碼的行數(shù)的平均值Le:(2.5.1)
3)確定各子功能的代碼行成本和生產率:代碼行成本指生產一條有效代碼需要的花費(用元/行表示),生產率指每個人一個月所能生產的有效源代碼行數(shù)(用行/人月表示)0
根據歷史提供數(shù)據和開發(fā)人員工資率就可以估算出每行代碼的成本。同樣,憑經驗和開發(fā)人員的技術水平、軟件復雜程度等因素可以估算出軟件生產率。
4)計算各子功能的成本和人力(工作量):每個子功能的成本等于其代碼行平均值乘以其代碼行成本,每個子功能的人力等于其代碼行平均值除以其生產率。
5)計算該項目的總代碼行數(shù)、總成本和總工作量。
表2.2是用代碼行技術來估算開發(fā)一個圖形軟件包成本的例子。假設該軟件包有四個主要功能,即用戶接口控制、二維幾何分析、計算機圖形顯示、外部設備控制(見表中第一列)。實現(xiàn)每個子功能所需要的代碼行數(shù)Le(見表中第二列)是由已知的a,m,6代入代碼行平均值公式計算而得的。表中第三列是生產率,第四列是每行代碼的成本,第五列成本和
第六列人力都是計算而得的。
由表2.2中可知,開發(fā)圖形軟件包所需代碼行總數(shù)是:
2.任務估算技術
這種方法實際上是一種任務分析技術,它首先把軟件開發(fā)工程分解為若干個相對獨立的任務,再分別估計每個單獨開發(fā)任務的成本,最后累加起來得出軟件開發(fā)工程的總成本。在估計每個任務的成本時,通常先估計完成該項任務需要用
的人力(以人月為單位),再乘以每人每月的平均工資而得出每個任務的成本。通常按開發(fā)階段劃分任務。典型環(huán)境下各個開發(fā)階段需要使用的人力的百分比大致如圖2.7所示。當然,應該針對每個開發(fā)工程的具體特點,并且參照以往的實際經驗盡可能準確地估計每個階段實際需要使用的人力。
下面仍以圖形軟件包為例,用任務估算技術來估算其開發(fā)成本(見表2.3所示)。由表2.3可知,用任務估算技術得到圖形軟件包的開發(fā)總成本是339950元,取整千位得340000元,總人力是76個人月。然后把代碼行技術和任務估算技術所得到的結果進
行比較,計算出其總成本和總人力的相對誤差為:一般約定若相對誤差在±20%,以內被認為估算基本正確,當然誤差越小越好。若誤差相差太大,則說明估算不正確,需重新進行估算。
3.Putnam估算模型
l979年,Putnam在軟件開發(fā)生存期雷利(RayLeigh)曲線模型的基礎上提出sLlM商業(yè)化的成本估算模型,又稱Putnam估算模型。其基本估算方程為(2.5.2)其中:L是源代碼行數(shù);
K是開發(fā)需用的人力(以人年為單位);
td是開發(fā)需用的時間(以年為單位);
Ck是技術水平常數(shù),它的典型值如下:
對于差的開發(fā)環(huán)境Ck=2500;
對于好的開發(fā)環(huán)境Ck=10000;
對于優(yōu)越的開發(fā)環(huán)境Ck=12500。當已知源代碼行數(shù)厶和所需用的人力,選擇適當Ck常數(shù)時,就可計算出該軟件開發(fā)所需要的實際時間td,(2.5.3)以上面所舉的圖形軟件包為例,用代碼行技術估算源代碼行總數(shù)是15000行,開發(fā)所需的人力是72人月,折算成6人年,取Ck=10000,代入Putman估算模型,得到開發(fā)圖形軟件包所需用的實際時間是0.866年。
4.COCOMO模型
所謂COCOM0模型就是Boehm提出的構造性成本模型(ConstructjVeCostModel)。在這種模型中,軟件開發(fā)工作量被表示成估計的代碼行數(shù)的非線性函數(shù):其中:MM是開發(fā)工作量(以人月為單位);
C1是模型系數(shù);
KLoc是估計的代碼行數(shù)(以千行為單位);
a是模型指數(shù);
fi(i=1到15)是成本因素。
每個成本因素都根據它的重要程度和影響大小賦予一定數(shù)值。成本因素可以劃分成生產因素、計算機因素、人員因素和項目工程因素等。
生產因素包括要求的軟件可靠性(RELY)、數(shù)據庫規(guī)模(D八TA)和軟件產品的復雜程度(CPI—X)。計算機因素包括執(zhí)行時間的約束(TlME)、存儲約束(STOR)、環(huán)境變更率(VIRT)和計算機換向時間(TuRT)。
人員因素指系統(tǒng)分析員的能力(AcAP)和應用經驗(AEXP)、程序員的能力(PCAP)、開發(fā)人員的環(huán)境知識(VEXP)和對選定的程序設計語言的知識(LExP)。
項目因素包括程序設計實踐(MODP)、使用的軟件工具(T00L)、對工程進度限制和約束(SCED)。
COCOM0模型是層次型模型,按詳細程度分成三級:上層、中層和下層。下面簡單介紹中層COCOM0模型。
軟件開發(fā)項目可以分成組織式、半獨立式和嵌入式三種模式。對組織式軟件的要求通常不苛刻,開發(fā)人員經驗豐富,對軟件的使用環(huán)境很熟悉,程序的規(guī)模一般不大。嵌入式軟件的要求通常十分苛刻,需要在很強的約束條件下運行。對半獨立式軟件的要求通常介于上述兩類軟件之間,但這類軟件的規(guī)模一般都比較大。上述三種開發(fā)模式的正常開發(fā)工
作量方程列在表2.4中。所謂正常開發(fā)工作量也就是所有影響成本的因素都取正常值,即在COCOMO模型方程(2.5.4)式中的
fi=1(i=l,2,…,l5)
如果某些因素不能取正常值,則需要把這些因素的實際值(稱為工作量系數(shù))乘以正常開發(fā)工作量,才能得出對系統(tǒng)實際開發(fā)工作量的正確估計。表2.5列出了影響軟件開發(fā)成本的工作量系數(shù),不僅可以估算軟件開發(fā)的實際成本,還可以分析、比較不同開發(fā)條件的成本和效益,從而能夠制定出正確的開發(fā)方針。2.5.2成本/效益分析的方法
上面介紹了幾種估算開發(fā)成本的技術,至于運行費用則取決于系統(tǒng)的操作費用和維護費用。系統(tǒng)的經濟效益等于因使用新系統(tǒng)而增加的收入加上使用新系統(tǒng)可以節(jié)省的運行費
用??偟男б媾c生存周期的長度有關,為了保險起見,以后在進行成本/效益分析時一律假設生存周期為5年。
在對新系統(tǒng)進行成本/效益分析時應考慮貨幣的時間價值,因為投資是在現(xiàn)在進行的,然而效益確是在未來獲得的。
1.貨幣的時間價值
通常以利率形式表示貨幣的時間價值。假設年利率為i,如果現(xiàn)在存入P元,則n年后可得到錢數(shù)為(2.5.5)
F就是P元錢在n年后的價值。反之,如果n年后能收入F元錢,那么這些錢的現(xiàn)在價值是
P=F/(1+i)n(2.5.6)例如,有一項工程,最初投資為5000元,估計使用該工程后每年可節(jié)省2500元,五年共節(jié)省12500元。但不能簡單地把5000元和l2500元相比較,因為前者是現(xiàn)在投資的錢,
后者是若干年后節(jié)省的錢。假定年利率為12%,利用上面計算貨幣現(xiàn)在價值的公式可以算出每年預計節(jié)省的錢的現(xiàn)在價值,如表2.6所示。根據表2.6,可以算出衡量工程效益的幾個經濟指標:工程投資回收期、純收入和投資回收率。
2.投資回收期
什么是投資回收期呢?所謂投資回收期就是工程累計經濟效益等于最初投資所需要的時間。顯然,投資回收期越短獲得的利潤越快,這項工程就值得投資。如表2.6中,該工程
最初投資額是5000元,經過兩年后可以節(jié)省4225.12元,比最初投資還少774.88元,第三年以后再次節(jié)省1779.45元,則774.88÷1779.45一0.44,2+0.44—2.44年,因此這項工程的投資回收期是2.44年。
3.純收入
純收入就是在整個生存周期內新系統(tǒng)的累計經濟效益與投資之差。如果純收入小于等于零,則單從經濟觀點來看,這項工程不值得投資。
在表2.6中,該工程的純收入為:
901.94—5000=4011.94元
4.投資回收率
利用工程投資回收率,可以衡量投資效益的大小,并且可以用它和年利率相比較。假定已知現(xiàn)在的投資額,并已估計出將來每年可以獲得的經濟效益,給定軟件的使用壽命,如何計算投資回收率呢?設想把數(shù)量等于投資額的資金存入銀行,每年從銀行取回
的錢等于系統(tǒng)每年可以獲得的效益,在時間等于系統(tǒng)壽命時,正好把銀行中的存款全部取完,那么,年利率等于多少呢?這個假想的年利率就等于投資的回收率。根據上述條件不難列出下面的方程式:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版企業(yè)并購合同書
- 2025版企業(yè)職工工傷賠償法律服務合同正規(guī)范本3篇
- 二零二五年度PHC管樁產品認證及標準制定合同3篇
- 2025山西省安全員知識題庫及答案
- 2024年手織布汽車飾品項目可行性研究報告
- 二零二五年度LED燈具生產與安裝一體化服務合同2篇
- 2024年集裝箱數(shù)據中心租賃合同
- 2024年花崗巖出口銷售合同
- 二零二五年度休閑農業(yè)場地租賃及農產品銷售合同3篇
- 2024年多聚磷酸乙酯項目可行性研究報告
- 2023南頭古城項目簡介招商手冊
- 鄉(xiāng)鎮(zhèn)權責清單
- 職業(yè)院校技能大賽模塊一展廳銷售裁判情境
- 湖北省部分學校2023-2024學年高一上學期期末數(shù)學試題(解析版)
- 2023-2024學年四川省成都市錦江區(qū)重點中學八年級(上)期末數(shù)學試卷(含解析)
- 農業(yè)裝備與機械化行業(yè)的農業(yè)智能制造
- 嚴重精神障礙患者管理課件
- 杏樹主要病蟲害及其防治方法
- 醫(yī)學檢驗技術專業(yè)《臨床實驗室管理》課程標準
- ACL導管維護三步曲臨床應用
- 《計算智能》課件
評論
0/150
提交評論