2、可行性研究_第1頁
2、可行性研究_第2頁
2、可行性研究_第3頁
2、可行性研究_第4頁
2、可行性研究_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1第第2章章 可行性研究可行性研究2.1 可行性研究的任務可行性研究的任務2.2 可行性研究過程可行性研究過程2.3 系統(tǒng)流程圖系統(tǒng)流程圖2.4 數(shù)據(jù)流圖數(shù)據(jù)流圖2.5 數(shù)據(jù)字典數(shù)據(jù)字典22.6 成本成本/效益分析效益分析2.7 小結小結習題習題3 可行性研究的目的不是解決問題,可行性研究的目的不是解決問題,而是確定問題是否值得去解決。而是確定問題是否值得去解決。 生活中隨時都有對“可行性”的判斷2.1 可行性研究的任務可行性研究的任務4(1) 技術可行性技術可行性:使用現(xiàn)有的技術能實現(xiàn)這個系統(tǒng)嗎使用現(xiàn)有的技術能實現(xiàn)這個系統(tǒng)嗎?(2) 經濟可行性經濟可行性:這個系統(tǒng)的經濟效益能超過它的開這個系

2、統(tǒng)的經濟效益能超過它的開發(fā)成本嗎發(fā)成本嗎?(3) 操作可行性操作可行性:系統(tǒng)的操作方式在這個用戶組織內系統(tǒng)的操作方式在這個用戶組織內行得通嗎行得通嗎?必要時還應該從法律、社會效益等更廣泛的方面研必要時還應該從法律、社會效益等更廣泛的方面研究每種解法的可行性。究每種解法的可行性。分析員應該為每個可行的解法制定一個粗略的實現(xiàn)分析員應該為每個可行的解法制定一個粗略的實現(xiàn)進度。進度。5 如果問題沒有可行的解,分析員應該建議停如果問題沒有可行的解,分析員應該建議停止這項開發(fā)工程,以避免時間、資源、人力和金止這項開發(fā)工程,以避免時間、資源、人力和金錢的浪費;錢的浪費; 如果問題值得解,分析員應該推薦一個較

3、好如果問題值得解,分析員應該推薦一個較好的解決方案,并且為工程制定一個初步的計劃。的解決方案,并且為工程制定一個初步的計劃??尚行匝芯靠尚行匝芯啃枰臅r間長短取決于工可行性研究可行性研究需要的時間長短取決于工程的規(guī)模。程的規(guī)模。 一般說來,可行性研究的成本只是預期的工一般說來,可行性研究的成本只是預期的工程總成本的程總成本的5%10%620世紀世紀30年代,美國開始開發(fā)田納西流域。田納年代,美國開始開發(fā)田納西流域。田納西流域開發(fā)能否成功,對當時美國經濟的發(fā)展關系西流域開發(fā)能否成功,對當時美國經濟的發(fā)展關系重大。為保證田納西流域的合理開發(fā)和綜合利用,重大。為保證田納西流域的合理開發(fā)和綜合利用,開

4、創(chuàng)了可行性研究的方法開創(chuàng)了可行性研究的方法,并獲得成功。,并獲得成功。二次世界大戰(zhàn)后,西方工業(yè)發(fā)達國家普遍采用這二次世界大戰(zhàn)后,西方工業(yè)發(fā)達國家普遍采用這一方法,廣泛地應用到科學技術和經濟建設領域,一方法,廣泛地應用到科學技術和經濟建設領域,已逐步形成一整套行之有效的科學研究方法。已逐步形成一整套行之有效的科學研究方法??尚行匝芯康膬热莺軓V泛可行性研究的內容很廣泛,一般包括市場研究、,一般包括市場研究、工程建設條件研究、采用工藝技術研究、管理和施工程建設條件研究、采用工藝技術研究、管理和施工研究、資金和成本研究、經濟效益研究等內容。工研究、資金和成本研究、經濟效益研究等內容。7 我國在改革開放

5、后,引進了西方可行性研究的概念和我國在改革開放后,引進了西方可行性研究的概念和方法。國家經濟建設主管部門對一些重大建設項目,如寶方法。國家經濟建設主管部門對一些重大建設項目,如寶鋼、石油化工引進裝置、核電站、煤炭開發(fā)等,多次組織鋼、石油化工引進裝置、核電站、煤炭開發(fā)等,多次組織專家進行可行性分析和論證。專家進行可行性分析和論證。 國務院國務院1981年年30號文件號文件關于加強基本建設計劃管理,關于加強基本建設計劃管理,控制基本建設規(guī)模的若干規(guī)定控制基本建設規(guī)模的若干規(guī)定和和1981年年12號文件號文件技術技術引進和設備進口工作暫行條例引進和設備進口工作暫行條例中明確規(guī)定所有新建、擴中明確規(guī)定

6、所有新建、擴建的大中型項目,都要在經過反復周密的論證后,提出項建的大中型項目,都要在經過反復周密的論證后,提出項目可行性研究報告。目可行性研究報告。1983年國家計委頒發(fā)計資年國家計委頒發(fā)計資1983116號文件號文件關于建設項目進行可行研究的試行理辦法關于建設項目進行可行研究的試行理辦法規(guī)定,可行性研究一般采取主管部門下達計劃或有關部門、規(guī)定,可行性研究一般采取主管部門下達計劃或有關部門、建設單位同設計或咨詢單位進行委托的方式。建設單位同設計或咨詢單位進行委托的方式。 可行性研究在我國已經受到重視,并取得成效可行性研究在我國已經受到重視,并取得成效。81. 復查系統(tǒng)規(guī)模和目標復查系統(tǒng)規(guī)模和目

7、標分析員訪問關鍵人員,仔細閱讀和分析有關的材料,分析員訪問關鍵人員,仔細閱讀和分析有關的材料,以便以便對問題定義階段書寫的關于規(guī)模和目標的報告對問題定義階段書寫的關于規(guī)模和目標的報告書進一步復查確認書進一步復查確認,改正含糊或不確切的敘述,清,改正含糊或不確切的敘述,清晰地描述對目標系統(tǒng)的一切限制和約束。晰地描述對目標系統(tǒng)的一切限制和約束。這個步驟的工作,實質上是為了確保分析員正在解這個步驟的工作,實質上是為了確保分析員正在解決的問題確實是要求他解決的問題。決的問題確實是要求他解決的問題。2.2 可行性研究過程可行性研究過程92. 研究目前正在使用的系統(tǒng)研究目前正在使用的系統(tǒng)功能性能上:功能性

8、能上: 現(xiàn)有的系統(tǒng)必然有某些缺點,新系統(tǒng)必須現(xiàn)有的系統(tǒng)必然有某些缺點,新系統(tǒng)必須能解決舊系統(tǒng)中存在的問題。能解決舊系統(tǒng)中存在的問題。經濟上:經濟上: 如果新系統(tǒng)不能增加收入或減少使用費用,如果新系統(tǒng)不能增加收入或減少使用費用,那么從經濟角度看新系統(tǒng)就不如舊系統(tǒng)。那么從經濟角度看新系統(tǒng)就不如舊系統(tǒng)。10常見的錯誤做法是花費過多時間去分析現(xiàn)有的系統(tǒng)。常見的錯誤做法是花費過多時間去分析現(xiàn)有的系統(tǒng)。這個步驟的目的是了解現(xiàn)有系統(tǒng)能做什么,而不是這個步驟的目的是了解現(xiàn)有系統(tǒng)能做什么,而不是了解它怎樣做這些工作了解它怎樣做這些工作。分析員應該畫出描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖,分析員應該畫出描繪現(xiàn)有系統(tǒng)的高層

9、系統(tǒng)流程圖,并請有關人員檢驗他對現(xiàn)有系統(tǒng)的認識是否正確。并請有關人員檢驗他對現(xiàn)有系統(tǒng)的認識是否正確。千萬不要花費太多時間去了解和描繪現(xiàn)有系統(tǒng)的實千萬不要花費太多時間去了解和描繪現(xiàn)有系統(tǒng)的實現(xiàn)細節(jié)?,F(xiàn)細節(jié)。113. 導出新系統(tǒng)的高層邏輯模型導出新系統(tǒng)的高層邏輯模型 優(yōu)秀的設計過程通??偸菑默F(xiàn)有的物理系優(yōu)秀的設計過程通??偸菑默F(xiàn)有的物理系統(tǒng)出發(fā),導出現(xiàn)有系統(tǒng)的邏輯模型,再參考統(tǒng)出發(fā),導出現(xiàn)有系統(tǒng)的邏輯模型,再參考現(xiàn)有系統(tǒng)的邏輯模型,設想目標系統(tǒng)的邏輯現(xiàn)有系統(tǒng)的邏輯模型,設想目標系統(tǒng)的邏輯模型,最后根據(jù)目標系統(tǒng)的邏輯模型建造新模型,最后根據(jù)目標系統(tǒng)的邏輯模型建造新的物理系統(tǒng)。的物理系統(tǒng)。12通過前一

10、步的工作,分析員對目標系統(tǒng)應該具有通過前一步的工作,分析員對目標系統(tǒng)應該具有的基本功能和所受的約束已有一定了解,能夠使的基本功能和所受的約束已有一定了解,能夠使用用數(shù)據(jù)流圖數(shù)據(jù)流圖,描繪數(shù)據(jù)在系統(tǒng)中流動和處理的情,描繪數(shù)據(jù)在系統(tǒng)中流動和處理的情況。況。通常為了把新系統(tǒng)描繪得更清晰準確,還應該有通常為了把新系統(tǒng)描繪得更清晰準確,還應該有一個初步的一個初步的數(shù)據(jù)字典數(shù)據(jù)字典,定義系統(tǒng)中使用的數(shù)據(jù)。,定義系統(tǒng)中使用的數(shù)據(jù)。數(shù)據(jù)流圖和數(shù)據(jù)字典共同定義了新系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典共同定義了新系統(tǒng)的邏輯模邏輯模型型,以后可以從這個邏輯模型出發(fā)設計新系統(tǒng)。,以后可以從這個邏輯模型出發(fā)設計新系統(tǒng)。134. 進

11、一步定義問題進一步定義問題 新系統(tǒng)的邏輯模型表達了分析員對新系新系統(tǒng)的邏輯模型表達了分析員對新系統(tǒng)必須做什么的看法。統(tǒng)必須做什么的看法。 分析員應該和用戶一起再次復查問題定義、分析員應該和用戶一起再次復查問題定義、工程規(guī)模和目標,這次復查應該把數(shù)據(jù)流圖工程規(guī)模和目標,這次復查應該把數(shù)據(jù)流圖和數(shù)據(jù)字典作為討論的基礎。如果分析員對和數(shù)據(jù)字典作為討論的基礎。如果分析員對問題有誤解或者用戶曾經遺漏了某些要求,問題有誤解或者用戶曾經遺漏了某些要求,那么現(xiàn)在是發(fā)現(xiàn)和改正這些錯誤的時候了。那么現(xiàn)在是發(fā)現(xiàn)和改正這些錯誤的時候了。14可行性研究的前可行性研究的前4個步驟實質上構成一個循環(huán):個步驟實質上構成一個循

12、環(huán):復查系統(tǒng)的目標和規(guī)模復查系統(tǒng)的目標和規(guī)模研究現(xiàn)在運行的系統(tǒng)研究現(xiàn)在運行的系統(tǒng)導出新系統(tǒng)的高層邏輯模型導出新系統(tǒng)的高層邏輯模型進一步定義問題進一步定義問題155. 導出和評價供選擇的解法導出和評價供選擇的解法 分析員應該從他建議的系統(tǒng)邏輯模型出發(fā),分析員應該從他建議的系統(tǒng)邏輯模型出發(fā),導出若干個較高層次的導出若干個較高層次的(較抽象的較抽象的)物理解法供物理解法供比較和選擇。比較和選擇。 方法:方法:16首先,考慮技術可行性。首先,考慮技術可行性。初步排除一些不現(xiàn)實的系初步排除一些不現(xiàn)實的系統(tǒng)。把技術上行不通的解法去掉之后,就剩下了一統(tǒng)。把技術上行不通的解法去掉之后,就剩下了一組技術上可行的

13、方案。組技術上可行的方案。其次,考慮操作方面的可行性其次,考慮操作方面的可行性。分析員應該根據(jù)使。分析員應該根據(jù)使用部門處理事務的原則和習慣檢查技術上可行的那用部門處理事務的原則和習慣檢查技術上可行的那些方案,去掉其中從操作方式或操作過程的角度看些方案,去掉其中從操作方式或操作過程的角度看用戶不能接受的方案。用戶不能接受的方案。然后,考慮經濟方面的可行性。然后,考慮經濟方面的可行性。分析員應該估計余分析員應該估計余下的每個可能的系統(tǒng)的開發(fā)成本和運行費用,并且下的每個可能的系統(tǒng)的開發(fā)成本和運行費用,并且估計相對于現(xiàn)有的系統(tǒng)而言這個系統(tǒng)可以節(jié)省的開估計相對于現(xiàn)有的系統(tǒng)而言這個系統(tǒng)可以節(jié)省的開支或可

14、以增加的收入。支或可以增加的收入。在這些估計數(shù)字的基礎上,對每個可能的系統(tǒng)進行在這些估計數(shù)字的基礎上,對每個可能的系統(tǒng)進行成本成本/效益分析,供決策者參考。效益分析,供決策者參考。17 最后,為每個在技術、操作和經濟等方面最后,為每個在技術、操作和經濟等方面都可行的系統(tǒng)制定實現(xiàn)進度表,這個進度表不都可行的系統(tǒng)制定實現(xiàn)進度表,這個進度表不需要制定得很詳細,只需要估計生命周期每個需要制定得很詳細,只需要估計生命周期每個階段的工作量。階段的工作量。186. 推薦行動方針推薦行動方針 分析員必須清楚地表明:項目是否可行,是否分析員必須清楚地表明:項目是否可行,是否值得繼續(xù)做下去。值得繼續(xù)做下去。 如果

15、分析員認為值得繼續(xù)進行這項開發(fā)工程,如果分析員認為值得繼續(xù)進行這項開發(fā)工程,那么他應該選擇一種最好的解法,并且說明選擇這那么他應該選擇一種最好的解法,并且說明選擇這個解決方案的理由。個解決方案的理由。 分析員對于所推薦的系統(tǒng)必須進行比較仔細的分析員對于所推薦的系統(tǒng)必須進行比較仔細的成本成本/效益分析。效益分析。 項目負責人主要根據(jù)經濟上是否劃算決定是否項目負責人主要根據(jù)經濟上是否劃算決定是否投資于這個工程。投資于這個工程。197. 草擬開發(fā)計劃草擬開發(fā)計劃 分析員應該為所推薦的方案草擬一份開發(fā)計劃:分析員應該為所推薦的方案草擬一份開發(fā)計劃:工程進度表工程進度表對各類開發(fā)人員和各種資源的需要情況

16、(什么對各類開發(fā)人員和各種資源的需要情況(什么時候使用以及使用多長時間)時候使用以及使用多長時間)系統(tǒng)生命周期每個階段的成本系統(tǒng)生命周期每個階段的成本下一個階段下一個階段(需求分析需求分析)的詳細進度和成本估計的詳細進度和成本估計8. 書寫文檔提交審查書寫文檔提交審查 把可行性研究的工作結果寫成清晰的文檔,請用把可行性研究的工作結果寫成清晰的文檔,請用戶、客戶組織的負責人及評審組審查,以決定是否戶、客戶組織的負責人及評審組審查,以決定是否繼續(xù)這項工程及是否接受分析員推薦的方案。繼續(xù)這項工程及是否接受分析員推薦的方案。20系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工

17、具工具。它的基本思想是用圖形符號以黑盒子形式描繪組成它的基本思想是用圖形符號以黑盒子形式描繪組成系統(tǒng)的每個部件系統(tǒng)的每個部件(程序,文檔,數(shù)據(jù)庫,人工過程程序,文檔,數(shù)據(jù)庫,人工過程等等)。系統(tǒng)流程圖表達的是數(shù)據(jù)在系統(tǒng)各部件之間流動的系統(tǒng)流程圖表達的是數(shù)據(jù)在系統(tǒng)各部件之間流動的情況,而不是對數(shù)據(jù)進行加工處理的控制過程,因情況,而不是對數(shù)據(jù)進行加工處理的控制過程,因此盡管系統(tǒng)流程圖的某些符號和程序流程圖的符號此盡管系統(tǒng)流程圖的某些符號和程序流程圖的符號形式相同,但是它卻是物理數(shù)據(jù)流圖而不是程序流形式相同,但是它卻是物理數(shù)據(jù)流圖而不是程序流程圖。程圖。2.3 系統(tǒng)流程圖系統(tǒng)流程圖21當以概括的方式

18、抽象地描繪一個實際系統(tǒng)時,僅僅當以概括的方式抽象地描繪一個實際系統(tǒng)時,僅僅使用圖使用圖2.1中列出的基本符號就足夠了。中列出的基本符號就足夠了。當需要更具體地描繪一個物理系統(tǒng)時還需要使用圖當需要更具體地描繪一個物理系統(tǒng)時還需要使用圖2.2(見書(見書29頁)中列出的系統(tǒng)符號,利用這些符頁)中列出的系統(tǒng)符號,利用這些符號可以把一個廣義的輸入輸出操作具體化為讀寫存號可以把一個廣義的輸入輸出操作具體化為讀寫存儲在特殊設備上的文件(或數(shù)據(jù)庫),把抽象處理儲在特殊設備上的文件(或數(shù)據(jù)庫),把抽象處理具體化為特定的程序或手工操作等。具體化為特定的程序或手工操作等。2.3.1 符號符號22圖圖2.1 基本符

19、號基本符號2324 數(shù)據(jù)流圖數(shù)據(jù)流圖(dfd)是一種圖形化技術,它描繪信是一種圖形化技術,它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經受的變息流和數(shù)據(jù)從輸入移動到輸出的過程中所經受的變換換。在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只。在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程。是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程。 即使不是專業(yè)的計算機技術人員也容易理解它,即使不是專業(yè)的計算機技術人員也容易理解它,因此是分析員與用戶之間極好的通信工具。因此是分析員與用戶之間極好的通信工具。 設計數(shù)據(jù)流圖時只需考慮系統(tǒng)必須完成的邏輯設計數(shù)據(jù)流圖時只需考慮系統(tǒng)必須完成的邏

20、輯功能,完全不需要考慮怎樣具體地實現(xiàn)這些功能。功能,完全不需要考慮怎樣具體地實現(xiàn)這些功能。 dfd是今后進行軟件設計的很好的出發(fā)點。是今后進行軟件設計的很好的出發(fā)點。2.4 數(shù)據(jù)流圖數(shù)據(jù)流圖25數(shù)據(jù)流圖有四種基本符號:數(shù)據(jù)流圖有四種基本符號:正方形正方形(或立方體或立方體)表示數(shù)據(jù)的源點或終點表示數(shù)據(jù)的源點或終點圓角矩形圓角矩形(或圓形或圓形)代表變換數(shù)據(jù)的處理代表變換數(shù)據(jù)的處理開口矩形開口矩形(或兩條平行橫線或兩條平行橫線)代表數(shù)據(jù)存儲代表數(shù)據(jù)存儲箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動方向箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動方向2.4.1 符號符號2627 處理并不一定是一個程序。一個處理框可以代處理

21、并不一定是一個程序。一個處理框可以代表一系列程序、單個程序或者程序的一個模塊;它表一系列程序、單個程序或者程序的一個模塊;它甚至可以代表用穿孔機穿孔或目視檢查數(shù)據(jù)正確性甚至可以代表用穿孔機穿孔或目視檢查數(shù)據(jù)正確性等人工處理過程。等人工處理過程。 一個數(shù)據(jù)存儲也并不等同于一個文件,它可以一個數(shù)據(jù)存儲也并不等同于一個文件,它可以表示一個文件、文件的一部分、數(shù)據(jù)庫的元素或記表示一個文件、文件的一部分、數(shù)據(jù)庫的元素或記錄的一部分等;數(shù)據(jù)可以存儲在磁盤、磁帶、磁鼓、錄的一部分等;數(shù)據(jù)可以存儲在磁盤、磁帶、磁鼓、主存、微縮膠片、穿孔卡片及其他任何介質上主存、微縮膠片、穿孔卡片及其他任何介質上(包包括人腦括

22、人腦)。28數(shù)據(jù)存儲和數(shù)據(jù)流都是數(shù)據(jù),僅僅所處的狀態(tài)不同。數(shù)據(jù)存儲和數(shù)據(jù)流都是數(shù)據(jù),僅僅所處的狀態(tài)不同。數(shù)據(jù)存儲是處于靜止狀態(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運數(shù)據(jù)存儲是處于靜止狀態(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運動中的數(shù)據(jù)。動中的數(shù)據(jù)。通常在數(shù)據(jù)流圖中忽略出錯處理,也不包括諸如打通常在數(shù)據(jù)流圖中忽略出錯處理,也不包括諸如打開或關閉文件之類的內務處理。數(shù)據(jù)流圖的基本要開或關閉文件之類的內務處理。數(shù)據(jù)流圖的基本要點是描繪點是描繪“做什么做什么”而不考慮而不考慮“怎樣做怎樣做”。29 一家工廠的倉庫管理。一家工廠的倉庫管理。零件入庫或出庫稱為事零件入庫或出庫稱為事務務,通過放在倉庫中的,通過放在倉庫中的crt終端把事務

23、報告給定貨終端把事務報告給定貨系統(tǒng)。系統(tǒng)。 當某種零件的庫存數(shù)量少于庫存量臨界值時就當某種零件的庫存數(shù)量少于庫存量臨界值時就應該再次定貨。采購部每天需要一張定貨報表,報應該再次定貨。采購部每天需要一張定貨報表,報表按零件編號排序,表中列出所有需要再次定貨的表按零件編號排序,表中列出所有需要再次定貨的零件。零件。 對于每個需要再次定貨的零件應該列出下述數(shù)對于每個需要再次定貨的零件應該列出下述數(shù)據(jù):零件編號,零件名稱,定貨數(shù)量,目前價格,據(jù):零件編號,零件名稱,定貨數(shù)量,目前價格,主要供應者,次要供應者。主要供應者,次要供應者。2.4.2 例子例子30 首先考慮數(shù)據(jù)的源點和終點:首先考慮數(shù)據(jù)的源點

24、和終點: “采購部采購部每天需要一張定貨報表每天需要一張定貨報表”,“通過放在倉庫通過放在倉庫中的中的crt終端把事務報告給定貨系統(tǒng)終端把事務報告給定貨系統(tǒng)”,所,所以采購員是數(shù)據(jù)終點,而倉庫管理員是數(shù)據(jù)以采購員是數(shù)據(jù)終點,而倉庫管理員是數(shù)據(jù)源點。源點。 接下來考慮處理:接下來考慮處理:“采購部需要報表采購部需要報表”,顯然他們還沒有這種報表,因此必須有一個顯然他們還沒有這種報表,因此必須有一個用于產生報表的處理。事務的后果是改變零用于產生報表的處理。事務的后果是改變零件庫存量,然而任何改變數(shù)據(jù)的操作都是處件庫存量,然而任何改變數(shù)據(jù)的操作都是處理,因此對事務進行的加工是另一個處理。理,因此對事

25、務進行的加工是另一個處理。31 最后,考慮數(shù)據(jù)流和數(shù)據(jù)存儲:最后,考慮數(shù)據(jù)流和數(shù)據(jù)存儲:系統(tǒng)把定系統(tǒng)把定貨報表送給采購部,因此定貨報表是一個數(shù)據(jù)貨報表送給采購部,因此定貨報表是一個數(shù)據(jù)流;事務需要從倉庫送到系統(tǒng)中,顯然事務是流;事務需要從倉庫送到系統(tǒng)中,顯然事務是另一個數(shù)據(jù)流。另一個數(shù)據(jù)流。 產生報表和處理事務這兩個處理在時間上明產生報表和處理事務這兩個處理在時間上明顯不匹配顯不匹配每當有一個事務發(fā)生時立即處理每當有一個事務發(fā)生時立即處理它,然而每天只產生一次定貨報表。因此,用它,然而每天只產生一次定貨報表。因此,用來產生定貨報表的數(shù)據(jù)必須存放一段時間,也來產生定貨報表的數(shù)據(jù)必須存放一段時間,

26、也就是應該有一個數(shù)據(jù)存儲。就是應該有一個數(shù)據(jù)存儲。32圖圖2.5 定貨系統(tǒng)的基本系統(tǒng)模型定貨系統(tǒng)的基本系統(tǒng)模型33 數(shù)據(jù)流圖屬于系統(tǒng)的邏輯模型。數(shù)據(jù)流圖屬于系統(tǒng)的邏輯模型。 任何計算機系統(tǒng)實質上都是信息處理系統(tǒng),任何計算機系統(tǒng)實質上都是信息處理系統(tǒng),也就是說計算機系統(tǒng)本質上都是把輸入數(shù)據(jù)變也就是說計算機系統(tǒng)本質上都是把輸入數(shù)據(jù)變換成輸出數(shù)據(jù)。因此,換成輸出數(shù)據(jù)。因此,任何系統(tǒng)的基本模型都任何系統(tǒng)的基本模型都由若干個數(shù)據(jù)源點由若干個數(shù)據(jù)源點/終點以及一個處理組成,終點以及一個處理組成,這個處理就代表了系統(tǒng)對數(shù)據(jù)加工變換的基本這個處理就代表了系統(tǒng)對數(shù)據(jù)加工變換的基本功能。功能。34圖圖2.6 定貨

27、系統(tǒng)的功能級數(shù)據(jù)流圖定貨系統(tǒng)的功能級數(shù)據(jù)流圖35圖圖2.7 把處理事務的功能進一步分解后的數(shù)據(jù)流圖把處理事務的功能進一步分解后的數(shù)據(jù)流圖36數(shù)據(jù)流圖中每個成分的命名是否恰當,直接影響數(shù)數(shù)據(jù)流圖中每個成分的命名是否恰當,直接影響數(shù)據(jù)流圖的可理解性。因此,給這些成分起名字時應據(jù)流圖的可理解性。因此,給這些成分起名字時應該仔細推敲。下面講述在命名時應注意的問題:該仔細推敲。下面講述在命名時應注意的問題:1. 為數(shù)據(jù)流為數(shù)據(jù)流(或數(shù)據(jù)存儲或數(shù)據(jù)存儲)命名命名(1) 名字應代表整個數(shù)據(jù)流名字應代表整個數(shù)據(jù)流(或數(shù)據(jù)存儲或數(shù)據(jù)存儲)的內容,而的內容,而不是僅僅反映它的某些成分。不是僅僅反映它的某些成分。(

28、2) 不要使用空洞的、缺乏具體含義的名字不要使用空洞的、缺乏具體含義的名字(如如“數(shù)數(shù)據(jù)據(jù)”、“信息信息”、“輸入輸入”之類之類)。2.4.3 dfd的命名的命名37(3) 如果在為某個數(shù)據(jù)流如果在為某個數(shù)據(jù)流(或數(shù)據(jù)存儲或數(shù)據(jù)存儲)起名字時遇到起名字時遇到了困難,則很可能是因為對數(shù)據(jù)流圖分解不恰當造了困難,則很可能是因為對數(shù)據(jù)流圖分解不恰當造成的,應該試試重新分解。成的,應該試試重新分解。2. 為處理命名為處理命名(1) 通常先為數(shù)據(jù)流命名,然后再為與之相關聯(lián)的通常先為數(shù)據(jù)流命名,然后再為與之相關聯(lián)的處理命名。這樣命名比較容易,而且體現(xiàn)了人類習處理命名。這樣命名比較容易,而且體現(xiàn)了人類習慣的

29、慣的“由表及里由表及里”的思考過程。的思考過程。(2) 名字應該反映整個處理的功能,而不是它的一名字應該反映整個處理的功能,而不是它的一部分功能。部分功能。(3) 名字最好由一個具體的名字最好由一個具體的及物動詞加上一個具體及物動詞加上一個具體的賓語的賓語組成。應該盡量避免使用組成。應該盡量避免使用“加工加工”、“處理處理”等空洞籠統(tǒng)的動詞作名字。等空洞籠統(tǒng)的動詞作名字。38(4) 通常名字中僅包括一個動詞,如果必須用兩個通常名字中僅包括一個動詞,如果必須用兩個動詞才能描述整個處理的功能,則把這個處理再分動詞才能描述整個處理的功能,則把這個處理再分解成兩個處理可能更恰當些。解成兩個處理可能更恰

30、當些。(5) 如果在為某個處理命名時遇到困難,則很可能如果在為某個處理命名時遇到困難,則很可能是發(fā)現(xiàn)了分解不當?shù)嫩E象,應考慮重新分解。是發(fā)現(xiàn)了分解不當?shù)嫩E象,應考慮重新分解。數(shù)據(jù)源點數(shù)據(jù)源點/終點并不需要在開發(fā)目標系統(tǒng)的過程中終點并不需要在開發(fā)目標系統(tǒng)的過程中設計和實現(xiàn)設計和實現(xiàn),它并不屬于數(shù)據(jù)流圖的核心內容,只,它并不屬于數(shù)據(jù)流圖的核心內容,只不過是目標系統(tǒng)的外圍環(huán)境部分不過是目標系統(tǒng)的外圍環(huán)境部分(可能是人員、計可能是人員、計算機外部設備或傳感器裝置算機外部設備或傳感器裝置)。命名時采用它們在。命名時采用它們在問題域中習慣使用的名字問題域中習慣使用的名字(如如“采購員采購員”、“倉庫倉庫管

31、理員管理員”等等)。39畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具。具。分析員把他對現(xiàn)有系統(tǒng)的認識或對目標系統(tǒng)的分析員把他對現(xiàn)有系統(tǒng)的認識或對目標系統(tǒng)的設想用數(shù)據(jù)流圖描繪出來,供有關人員審查確認。設想用數(shù)據(jù)流圖描繪出來,供有關人員審查確認。由于在數(shù)據(jù)流圖中通常僅僅使用由于在數(shù)據(jù)流圖中通常僅僅使用4種基本符號,而種基本符號,而且不包含任何有關物理實現(xiàn)的細節(jié),因此,絕大多且不包含任何有關物理實現(xiàn)的細節(jié),因此,絕大多數(shù)用戶都可以理解和評價它。數(shù)用戶都可以理解和評價它。數(shù)據(jù)流圖應該分層數(shù)據(jù)流圖應該分層。在把功能級數(shù)據(jù)流圖細化后得。在把功能級數(shù)據(jù)流圖細化后

32、得到的處理超過到的處理超過9個時,應該采用畫分圖的辦法,也個時,應該采用畫分圖的辦法,也就是把每個主要功能都細化為一張數(shù)據(jù)流分圖,而就是把每個主要功能都細化為一張數(shù)據(jù)流分圖,而原有的功能級數(shù)據(jù)流圖用來描繪系統(tǒng)的整體邏輯概原有的功能級數(shù)據(jù)流圖用來描繪系統(tǒng)的整體邏輯概貌。貌。2.4.4 用途用途40數(shù)據(jù)流圖的另一個主要用途是作為分析和設計數(shù)據(jù)流圖的另一個主要用途是作為分析和設計的工具的工具。分析員在研究現(xiàn)有的系統(tǒng)時常用系統(tǒng)。分析員在研究現(xiàn)有的系統(tǒng)時常用系統(tǒng)流程圖表達他對這個系統(tǒng)的認識,這種描繪方流程圖表達他對這個系統(tǒng)的認識,這種描繪方法形象具體,比較容易驗證它的正確性。法形象具體,比較容易驗證它的

33、正確性。用系統(tǒng)流程圖描繪一個系統(tǒng)時,系統(tǒng)的功能和用系統(tǒng)流程圖描繪一個系統(tǒng)時,系統(tǒng)的功能和實現(xiàn)每個功能的具體方案是混在一起的。實現(xiàn)每個功能的具體方案是混在一起的。dfd則著重描繪系統(tǒng)所完成的功能而不是系統(tǒng)則著重描繪系統(tǒng)所完成的功能而不是系統(tǒng)的物理實現(xiàn)方案。的物理實現(xiàn)方案。41當用數(shù)據(jù)流圖輔助物理系統(tǒng)的設計時,當用數(shù)據(jù)流圖輔助物理系統(tǒng)的設計時,以圖中不同以圖中不同處理的定時要求為指南,能夠在數(shù)據(jù)流圖上畫出許處理的定時要求為指南,能夠在數(shù)據(jù)流圖上畫出許多組自動化邊界,每組自動化邊界可能意味著一個多組自動化邊界,每組自動化邊界可能意味著一個不同的物理系統(tǒng),因此可以根據(jù)系統(tǒng)的邏輯模型考不同的物理系統(tǒng),因

34、此可以根據(jù)系統(tǒng)的邏輯模型考慮系統(tǒng)的物理實現(xiàn)。慮系統(tǒng)的物理實現(xiàn)。例如,考慮圖例如,考慮圖2.7,事務隨時可能發(fā)生,因此處理,事務隨時可能發(fā)生,因此處理1.1(“接收事務接收事務”)必須是聯(lián)機的;采購員每天需要必須是聯(lián)機的;采購員每天需要一次定貨報表,因此處理一次定貨報表,因此處理2(“產生報表產生報表”)應該以批應該以批量方式進行。問題描述并沒有對其他處理施加限制,量方式進行。問題描述并沒有對其他處理施加限制,例如,例如,可以聯(lián)機地接收事務并放入隊列中可以聯(lián)機地接收事務并放入隊列中,然而更,然而更新庫存清單、處理定貨和產生報表以批量方式進行新庫存清單、處理定貨和產生報表以批量方式進行(圖圖2.8

35、)。當然,。當然,這種方案需要增加一個數(shù)據(jù)存儲以這種方案需要增加一個數(shù)據(jù)存儲以存放事務數(shù)據(jù)。存放事務數(shù)據(jù)。42圖圖2.8 這種劃分自動化邊界的方法暗示這種劃分自動化邊界的方法暗示以批量方式更新庫存清單以批量方式更新庫存清單43改變自動化邊界,把處理改變自動化邊界,把處理1.1,1.2和和1.3放在放在同一個邊界內同一個邊界內(圖圖2.9),這個系統(tǒng)將,這個系統(tǒng)將聯(lián)機地接聯(lián)機地接收事務、更新庫存清單和處理定貨及輸出定收事務、更新庫存清單和處理定貨及輸出定貨信息貨信息;然而處理;然而處理2將以批量方式產生定貨將以批量方式產生定貨報表。報表。44圖圖2.9 另一種劃分自動化邊界的方法建議另一種劃分自

36、動化邊界的方法建議以聯(lián)機方式更新庫存清單以聯(lián)機方式更新庫存清單45 如果把處理如果把處理1.1和處理和處理1.2放在一個自動化放在一個自動化邊界內,把處理邊界內,把處理1.3和處理和處理2放在另一個邊放在另一個邊界內,意味著什么樣的物理系統(tǒng)呢界內,意味著什么樣的物理系統(tǒng)呢?經過初步的需求分析,得到系統(tǒng)功能要求:1、監(jiān)視病員的病癥(血壓、體溫、脈搏等)。2、定時更新病歷。3、病員出現(xiàn)異常情況時報警。4、隨機地產生某一病員的病情報告。產生病情報告監(jiān)視病情更新病歷病房監(jiān)護系統(tǒng)病房監(jiān)護系統(tǒng)系統(tǒng)功能要求: 1、監(jiān)視病員的病癥(血壓、體溫、脈搏等) 2、定時更新病歷 3、病員出現(xiàn)異常情況時報警。 4、隨機

37、地產生某一病員的病情報告。頂層:病員護士護士病員監(jiān)護系統(tǒng)病員日志病癥信號要求報告病癥報告報警第一層:病員護士護士中央監(jiān)視病員日志病癥信號要求報告病癥報告報警局部監(jiān)視生成報告病員極限更新日志病員數(shù)據(jù)格式化病員數(shù)據(jù)生理信號極限值1324日志數(shù)據(jù)日志數(shù)據(jù)第二層:加工“中央監(jiān)視”分解計算超過極限值否病員病員數(shù)數(shù)據(jù)超過超過極限值極限值報警報警開解信號產生報警信息病員極限格式化病員數(shù)據(jù)體溫體溫血壓、體溫血壓、體溫脈搏脈搏生理信號生理信號極限值極限值時間時間脈搏脈搏血壓血壓日期日期時鐘格式化格式化病員數(shù)據(jù)病員數(shù)據(jù)3.13.23.33.4計算超過極限值否病員病員數(shù)據(jù)數(shù)據(jù)超過超過極限值極限值報警報警開解信號產生

38、報警信息病員極限格式化病員數(shù)據(jù)體溫體溫血壓、體溫、血壓、體溫、脈搏脈搏生理信號生理信號極限值極限值時間時間脈搏脈搏血壓血壓日期日期時鐘格式化格式化病員數(shù)據(jù)病員數(shù)據(jù)3.13.23.33.4第二層:加工“中央監(jiān)視”分解第一層格式化病員數(shù)據(jù)生理信號極限值病員護士護士中央監(jiān)視病員日志病癥信號要求報告病癥報告報警局部監(jiān)視生成報告病員極限更新日志病員數(shù)據(jù)1324日志數(shù)據(jù)51加工分解的原則加工分解的原則自然性:概念上合理、清晰; 均勻性:理想的分解是將一個問題分解成大小均勻的幾個部分;分解度:一般每一個加工每次分解最多不要超過個子加工,分解應分解到基本加工為止。數(shù)據(jù)守恒與數(shù)據(jù)封閉原則數(shù)據(jù)守恒與數(shù)據(jù)封閉原則

39、所謂數(shù)據(jù)守恒是指加工的輸入輸出數(shù)據(jù)流是否匹配,即每一個加工既有輸入數(shù)據(jù)流又有輸出數(shù)據(jù)流。或者說一個加工至少有一個輸入數(shù)據(jù)流,一個輸出數(shù)據(jù)流。 數(shù)據(jù)封閉是對整個系統(tǒng)而言。52合理使用文件合理使用文件 當文件作為某些加工之間的交界面時,文件必須畫出來,一旦文件作為數(shù)據(jù)流圖中的一個獨立成份畫出來了,那么他同其他成份之間的聯(lián)系也應同時表達出來。子圖與父圖的子圖與父圖的“平衡平衡”父圖中某個加工的輸入輸出數(shù)據(jù)流應該同相應的子圖的輸入輸出相同(相對應),分層數(shù)據(jù)流圖的這種特點稱為子圖與父圖“平衡”。53 數(shù)據(jù)字典是關于數(shù)據(jù)的信息的集合,也就是數(shù)據(jù)字典是關于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素

40、的定義的集合。對數(shù)據(jù)流圖中包含的所有元素的定義的集合。 任何字典最主要的用途都是供人查閱對不任何字典最主要的用途都是供人查閱對不了解的條目的解釋,了解的條目的解釋,數(shù)據(jù)字典的作用也正是在軟數(shù)據(jù)字典的作用也正是在軟件分析和設計的過程中給人提供關于數(shù)據(jù)的描述件分析和設計的過程中給人提供關于數(shù)據(jù)的描述信息。信息。 數(shù)據(jù)流圖和數(shù)據(jù)字典共同構成系統(tǒng)的邏輯模數(shù)據(jù)流圖和數(shù)據(jù)字典共同構成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴格,然而沒有型,沒有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴格,然而沒有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。2.5 數(shù)據(jù)字典數(shù)據(jù)字典54一般說來,數(shù)據(jù)字典應該由對下列一般說來,

41、數(shù)據(jù)字典應該由對下列4類元素的類元素的定義組成:定義組成:(1) 數(shù)據(jù)流數(shù)據(jù)流(2) 數(shù)據(jù)流分量數(shù)據(jù)流分量(即數(shù)據(jù)元素即數(shù)據(jù)元素)(3) 數(shù)據(jù)存儲數(shù)據(jù)存儲(4) 處理處理2.5.1 數(shù)據(jù)字典的內容數(shù)據(jù)字典的內容55除了數(shù)據(jù)定義之外,數(shù)據(jù)字典中還應該包含關于數(shù)除了數(shù)據(jù)定義之外,數(shù)據(jù)字典中還應該包含關于數(shù)據(jù)的一些其他信息。據(jù)的一些其他信息。在數(shù)據(jù)字典中記錄數(shù)據(jù)元素的下列信息:在數(shù)據(jù)字典中記錄數(shù)據(jù)元素的下列信息: 一般信息一般信息(名字,別名,描述等等名字,別名,描述等等)定義定義(數(shù)據(jù)類型,長度,結構等等數(shù)據(jù)類型,長度,結構等等)使用特點使用特點(值的范圍,使用頻率,使用方式值的范圍,使用頻率,使

42、用方式輸入、輸出、本地,條件值等等輸入、輸出、本地,條件值等等)控制信息控制信息(來源,用戶,使用它的程序,改變權,來源,用戶,使用它的程序,改變權,使用權等等使用權等等)分組信息分組信息(父結構,從屬結構,物理位置父結構,從屬結構,物理位置記記錄、文件和數(shù)據(jù)庫等等錄、文件和數(shù)據(jù)庫等等)56數(shù)據(jù)元素的別名就是該元素的其他等價的名字數(shù)據(jù)元素的別名就是該元素的其他等價的名字,出,出現(xiàn)別名主要有下述現(xiàn)別名主要有下述3個原因:個原因:(1) 對于同樣的數(shù)據(jù),不同的用戶使用了不同的名對于同樣的數(shù)據(jù),不同的用戶使用了不同的名字;字;(2) 一個分析員在不同時期對同一個數(shù)據(jù)使用了不一個分析員在不同時期對同一

43、個數(shù)據(jù)使用了不同的名字;同的名字;(3) 兩個分析員分別分析同一個數(shù)據(jù)流時,使用了兩個分析員分別分析同一個數(shù)據(jù)流時,使用了不同的名字。不同的名字。雖然應該盡量減少出現(xiàn)別名,但是不可能完全消除雖然應該盡量減少出現(xiàn)別名,但是不可能完全消除別名。別名。57定義就是自頂向下的分解,所以數(shù)據(jù)字典中定義就是自頂向下的分解,所以數(shù)據(jù)字典中的定義就是對數(shù)據(jù)自頂向下的分解的定義就是對數(shù)據(jù)自頂向下的分解。那么,應該把數(shù)據(jù)分解到什么程度呢那么,應該把數(shù)據(jù)分解到什么程度呢?一般一般說來,當分解到不需要進一步定義,每個和說來,當分解到不需要進一步定義,每個和工程有關的人也都清楚其含義的元素時,這工程有關的人也都清楚其含

44、義的元素時,這種分解過程就完成了。種分解過程就完成了。2.5.2 定義數(shù)據(jù)的方法定義數(shù)據(jù)的方法58由數(shù)據(jù)元素組成數(shù)據(jù)的方式:由數(shù)據(jù)元素組成數(shù)據(jù)的方式:(1) 順序順序 即以確定次序連接兩個或多個分量;即以確定次序連接兩個或多個分量;(2) 選擇選擇 即從兩個或多個可能的元素中選取即從兩個或多個可能的元素中選取一個;一個;(3) 重復重復 即把指定的分量重復零次或多次。即把指定的分量重復零次或多次。(4) 可選可選 即一個分量是可有可無的即一個分量是可有可無的(重復零次重復零次或一次或一次)。59 雖然可以使用自然語言描述由數(shù)據(jù)元素組成數(shù)雖然可以使用自然語言描述由數(shù)據(jù)元素組成數(shù)據(jù)的關系,但是為了

45、更加清晰簡潔,建議采用下列據(jù)的關系,但是為了更加清晰簡潔,建議采用下列符號:符號: + 意思是和意思是和(即,連接兩個分量即,連接兩個分量); 意思是或意思是或(即,從方括弧內列出的若干個分量即,從方括弧內列出的若干個分量中選擇一個中選擇一個),通常用,通常用“|”號隔開供選擇的分量;號隔開供選擇的分量; 意思是重復意思是重復(即,重復花括弧內的分量即,重復花括弧內的分量); ( ) 意思是可選意思是可選(即,圓括弧里的分量可有可無即,圓括弧里的分量可有可無)。60【例例】某程序設計語言規(guī)定,用戶說明的某程序設計語言規(guī)定,用戶說明的“標識符標識符”是長度不超過是長度不超過8個字符的字符串,其中

46、第一個字符個字符的字符串,其中第一個字符必須是字母字符,隨后的字符既可以是字母字符也必須是字母字符,隨后的字符既可以是字母字符也可以是數(shù)字字符??梢允菙?shù)字字符。標識符標識符=字母字符字母字符+字母數(shù)字串字母數(shù)字串字母數(shù)字串字母數(shù)字串=0字母或數(shù)字字母或數(shù)字7字母或數(shù)字字母或數(shù)字=字母字符數(shù)字字符字母字符數(shù)字字符由于和項目有關的人都知道字母字符和數(shù)字字符的由于和項目有關的人都知道字母字符和數(shù)字字符的含義,因此,關于標識符的定義分解到這種程度就含義,因此,關于標識符的定義分解到這種程度就可以結束了??梢越Y束了。61【例例】數(shù)據(jù)項:數(shù)據(jù)項:sno說明:學生的唯一標識說明:學生的唯一標識類型:字符類型

47、:字符長度:長度:10 取值范圍:取值范圍:00000到到99999取值含義:按順序編號取值含義:按順序編號數(shù)據(jù)項:數(shù)據(jù)項:sname說明:學生姓名說明:學生姓名類型:字符串類型:字符串長度:長度: 8 數(shù)據(jù)項:數(shù)據(jù)項:ssex說明:學生性別說明:學生性別類型:字符類型:字符長度:長度:2取值范圍:取值范圍:“男男”或或“女女”數(shù)據(jù)項:數(shù)據(jù)項:tzc說明:教師職稱說明:教師職稱類型:字符串類型:字符串長度:長度: 8 數(shù)據(jù)項:數(shù)據(jù)項:score說明:學生成績說明:學生成績類型:字符類型:字符長度:長度: 3 62數(shù)據(jù)字典最重要的用途是作為分析階段的工具。數(shù)據(jù)字典最重要的用途是作為分析階段的工具

48、。在數(shù)據(jù)字典中建立的一組嚴密一致的定義很有助于在數(shù)據(jù)字典中建立的一組嚴密一致的定義很有助于改進分析員和用戶之間的通信,因此將消除許多可改進分析員和用戶之間的通信,因此將消除許多可能的誤解。能的誤解。對數(shù)據(jù)的這一系列嚴密一致的定義也有助于改進在對數(shù)據(jù)的這一系列嚴密一致的定義也有助于改進在不同的開發(fā)人員或不同的開發(fā)小組之間的通信不同的開發(fā)人員或不同的開發(fā)小組之間的通信。如。如果要求所有開發(fā)人員都根據(jù)公共的數(shù)據(jù)字典描述數(shù)果要求所有開發(fā)人員都根據(jù)公共的數(shù)據(jù)字典描述數(shù)據(jù)和設計模塊,則能避免許多麻煩的接口問題。據(jù)和設計模塊,則能避免許多麻煩的接口問題。2.5.3 數(shù)據(jù)字典的用途數(shù)據(jù)字典的用途63目前,數(shù)據(jù)

49、字典幾乎總是作為目前,數(shù)據(jù)字典幾乎總是作為case“結構化分析結構化分析與設計工具與設計工具”的一部分實現(xiàn)的。在開發(fā)大型軟件系的一部分實現(xiàn)的。在開發(fā)大型軟件系統(tǒng)的過程中,數(shù)據(jù)字典的規(guī)模和復雜程度迅速增加,統(tǒng)的過程中,數(shù)據(jù)字典的規(guī)模和復雜程度迅速增加,人工維護數(shù)據(jù)字典幾乎是不可能的人工維護數(shù)據(jù)字典幾乎是不可能的。如果在開發(fā)小型軟件系統(tǒng)時暫時沒有數(shù)據(jù)字典處理如果在開發(fā)小型軟件系統(tǒng)時暫時沒有數(shù)據(jù)字典處理程序,建議采用卡片形式書寫數(shù)據(jù)字典,每張卡片程序,建議采用卡片形式書寫數(shù)據(jù)字典,每張卡片上保存描述一個數(shù)據(jù)的信息。這樣做更新和修改起上保存描述一個數(shù)據(jù)的信息。這樣做更新和修改起來比較方便,而且能單獨處

50、理描述每個數(shù)據(jù)的信息。來比較方便,而且能單獨處理描述每個數(shù)據(jù)的信息。每張卡片上主要應該包含下述這樣一些信息:每張卡片上主要應該包含下述這樣一些信息:名字、別名、描述、定義、位置。名字、別名、描述、定義、位置。2.5.4 數(shù)據(jù)字典的實現(xiàn)數(shù)據(jù)字典的實現(xiàn)64開發(fā)一個軟件系統(tǒng)是一種投資,期望將來獲得更大開發(fā)一個軟件系統(tǒng)是一種投資,期望將來獲得更大的經濟效益。經濟效益通常表現(xiàn)為減少運行費用或的經濟效益。經濟效益通常表現(xiàn)為減少運行費用或(和和)增加收入。但是,增加收入。但是,投資開發(fā)新系統(tǒng)往往要冒一投資開發(fā)新系統(tǒng)往往要冒一定風險定風險,系統(tǒng)的開發(fā)成本可能比預計的高,效益可,系統(tǒng)的開發(fā)成本可能比預計的高,效

51、益可能比預期的低。能比預期的低。效益分析的目的正是要從經濟角度分析開發(fā)一個特效益分析的目的正是要從經濟角度分析開發(fā)一個特定的新系統(tǒng)是否劃算定的新系統(tǒng)是否劃算,從而幫助客戶組織的負責人,從而幫助客戶組織的負責人正確地作出是否投資于這項開發(fā)工程的決定。正確地作出是否投資于這項開發(fā)工程的決定。為了對比成本和效益,首先需要估計它們的數(shù)量。為了對比成本和效益,首先需要估計它們的數(shù)量。2.6 成本成本/效益分析效益分析65軟件開發(fā)成本主要表現(xiàn)為人力消耗軟件開發(fā)成本主要表現(xiàn)為人力消耗(乘以平均工資乘以平均工資則得到開發(fā)費用則得到開發(fā)費用)。成本估計不是精確的科學,因。成本估計不是精確的科學,因此應該使用幾種

52、不同的估計技術以便相互校驗。此應該使用幾種不同的估計技術以便相互校驗。1. 代碼行技術代碼行技術 它把開發(fā)每個軟件功能的成本和實現(xiàn)這個功能它把開發(fā)每個軟件功能的成本和實現(xiàn)這個功能需要用的源代碼行數(shù)聯(lián)系起來。通常根據(jù)經驗和歷需要用的源代碼行數(shù)聯(lián)系起來。通常根據(jù)經驗和歷史數(shù)據(jù)估計實現(xiàn)一個功能需要的源程序行數(shù)。史數(shù)據(jù)估計實現(xiàn)一個功能需要的源程序行數(shù)。當有當有以往開發(fā)類似工程的歷史數(shù)據(jù)可供參考時,這個方以往開發(fā)類似工程的歷史數(shù)據(jù)可供參考時,這個方法是非常有效的。法是非常有效的。 一旦估計出源代碼行數(shù)以后,用每行代碼的平一旦估計出源代碼行數(shù)以后,用每行代碼的平均成本乘以行數(shù)就可以確定軟件的成本。每行代碼

53、均成本乘以行數(shù)就可以確定軟件的成本。每行代碼的平均成本主要取決于軟件的復雜程度和工資水平。的平均成本主要取決于軟件的復雜程度和工資水平。2.6.1 成本估計成本估計662. 任務分解技術任務分解技術 (1)首先把軟件開發(fā)工程分解為若干個)首先把軟件開發(fā)工程分解為若干個相對獨立的任務;(相對獨立的任務;(2)再分別估計每個單獨的)再分別估計每個單獨的開發(fā)任務的成本;(開發(fā)任務的成本;(3)最后累加起來得出軟件)最后累加起來得出軟件開發(fā)工程的總成本。開發(fā)工程的總成本。估計每個任務的成本時,通常先估計完成該項估計每個任務的成本時,通常先估計完成該項任務需要用的人力任務需要用的人力(人月為單位人月為單

54、位),再乘以每人,再乘以每人每月的平均工資。每月的平均工資。通常按開發(fā)階段劃分任務。如果軟件系統(tǒng)很復通常按開發(fā)階段劃分任務。如果軟件系統(tǒng)很復雜,由若干個子系統(tǒng)組成,則可以把每個子系雜,由若干個子系統(tǒng)組成,則可以把每個子系統(tǒng)再按開發(fā)階段進一步劃分成更小的任務。統(tǒng)再按開發(fā)階段進一步劃分成更小的任務。典型環(huán)境下各個開發(fā)階段需要使用的人力的百典型環(huán)境下各個開發(fā)階段需要使用的人力的百分比大致如表分比大致如表2.2所示(所示(40頁)。頁)。673. 自動估計成本技術自動估計成本技術采用自動估計成本的軟件工具可以減輕人的勞動,采用自動估計成本的軟件工具可以減輕人的勞動,并且使得估計的結果更客觀。但是,采用

55、這種技并且使得估計的結果更客觀。但是,采用這種技術必須有長期搜集的大量歷史數(shù)據(jù)為基礎,并且術必須有長期搜集的大量歷史數(shù)據(jù)為基礎,并且需要有良好的數(shù)據(jù)庫系統(tǒng)支持。需要有良好的數(shù)據(jù)庫系統(tǒng)支持。68成本成本/效益分析的第一步是估計開發(fā)成本、運行費效益分析的第一步是估計開發(fā)成本、運行費用和新系統(tǒng)將帶來的經濟效益。運行費用取決于系用和新系統(tǒng)將帶來的經濟效益。運行費用取決于系統(tǒng)的操作費用統(tǒng)的操作費用(操作員人數(shù),工作時間,消耗的物操作員人數(shù),工作時間,消耗的物資等等資等等)和維護費用。系統(tǒng)的經濟效益等于因使用和維護費用。系統(tǒng)的經濟效益等于因使用新系統(tǒng)而增加的收入加上使用新系統(tǒng)可以節(jié)省的運新系統(tǒng)而增加的收入

56、加上使用新系統(tǒng)可以節(jié)省的運行費用。因為運行費用和經濟效益兩者在軟件的整行費用。因為運行費用和經濟效益兩者在軟件的整個生命周期內都存在,總的效益和生命周期的長度個生命周期內都存在,總的效益和生命周期的長度有關,所以應該合理地估計軟件的壽命。有關,所以應該合理地估計軟件的壽命。2.6.2 成本成本/效益分析的方法效益分析的方法69雖然許多系統(tǒng)在開發(fā)時預期生命周期長達雖然許多系統(tǒng)在開發(fā)時預期生命周期長達10年以上,年以上,但是時間越長系統(tǒng)被廢棄的可能性也越大,為了保但是時間越長系統(tǒng)被廢棄的可能性也越大,為了保險起見,險起見,以后在進行成本以后在進行成本/效益分析時一律假設生效益分析時一律假設生命周期為命周期為5年。年。應該比較新系統(tǒng)的開發(fā)成本和經濟效益,以便從經應該比較新系統(tǒng)的開發(fā)成本和經濟效益,以便從經濟角度判斷這個系統(tǒng)是否值得投資,但是,投資是濟角度判斷這個系統(tǒng)是否值得投資,但是,投資是現(xiàn)在進行的,效益是將來獲得的,不能簡單地比較現(xiàn)在進行的,效益是將來獲得的,不能簡單地比較成本和效益,應該考慮貨幣的時間價值。成本和效益,應該考慮貨幣的時間價值。701. 貨幣的時間價值貨幣的時間價值通常用利率的形式表示通常用利率的形式表示貨幣的時間價值貨

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論