![軟件工程導(dǎo)論_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/12/16cd12e6-f737-47cf-80ca-ec60519ff2e1/16cd12e6-f737-47cf-80ca-ec60519ff2e11.gif)
![軟件工程導(dǎo)論_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/12/16cd12e6-f737-47cf-80ca-ec60519ff2e1/16cd12e6-f737-47cf-80ca-ec60519ff2e12.gif)
![軟件工程導(dǎo)論_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/12/16cd12e6-f737-47cf-80ca-ec60519ff2e1/16cd12e6-f737-47cf-80ca-ec60519ff2e13.gif)
![軟件工程導(dǎo)論_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/12/16cd12e6-f737-47cf-80ca-ec60519ff2e1/16cd12e6-f737-47cf-80ca-ec60519ff2e14.gif)
![軟件工程導(dǎo)論_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/12/16cd12e6-f737-47cf-80ca-ec60519ff2e1/16cd12e6-f737-47cf-80ca-ec60519ff2e15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第2章章 可行性研究可行性研究2.1 可行性研究的任務(wù)2.2 可行性研究過程2.3 系統(tǒng)流程圖系統(tǒng)流程圖2.4 數(shù)據(jù)流圖數(shù)據(jù)流圖2.5 數(shù)據(jù)字典數(shù)據(jù)字典2.6 成本成本/效益分析效益分析2.7 小結(jié)小結(jié)習(xí)題習(xí)題1、目的:、目的:確定問題是否值得去解決。確定問題是否值得去解決。2、怎樣達到這個目的呢怎樣達到這個目的呢?當(dāng)然不能靠主觀猜想而只當(dāng)然不能靠主觀猜想而只能靠客觀分析。能靠客觀分析。必須分析幾種主要的可能解法的利必須分析幾種主要的可能解法的利弊,從而判斷原定的系統(tǒng)規(guī)模和目標是否現(xiàn)實,系弊,從而判斷原定的系統(tǒng)規(guī)模和目標是否現(xiàn)實,系統(tǒng)完成后所能帶來的效益是否大到值得投資開發(fā)這統(tǒng)完成后所能帶來
2、的效益是否大到值得投資開發(fā)這個系統(tǒng)的程度。個系統(tǒng)的程度。因此,可行性研究實質(zhì)上是要進行因此,可行性研究實質(zhì)上是要進行一次大大壓縮簡化了的系統(tǒng)分析和設(shè)計的過程,也一次大大壓縮簡化了的系統(tǒng)分析和設(shè)計的過程,也就是在較高層次上以較抽象的方式進行的系統(tǒng)分析就是在較高層次上以較抽象的方式進行的系統(tǒng)分析和設(shè)計的過程。和設(shè)計的過程。2.1 可行性研究的任務(wù)可行性研究的任務(wù)總體步驟總體步驟:1、首先需要進一步分析和澄清問題定義。、首先需要進一步分析和澄清問題定義。在問題定義階段初在問題定義階段初步確定的規(guī)模和目標,分析員應(yīng)該導(dǎo)出系統(tǒng)的邏輯模型。步確定的規(guī)模和目標,分析員應(yīng)該導(dǎo)出系統(tǒng)的邏輯模型。2、然后從系統(tǒng)邏
3、輯模型出發(fā),探索若干種可供選擇的主要解然后從系統(tǒng)邏輯模型出發(fā),探索若干種可供選擇的主要解法法(即系統(tǒng)實現(xiàn)方案即系統(tǒng)實現(xiàn)方案)。對每種解法都應(yīng)該仔細研究它的可行性,對每種解法都應(yīng)該仔細研究它的可行性,一般說來,至少應(yīng)該從下述一般說來,至少應(yīng)該從下述三方面研究每種解法的可行性三方面研究每種解法的可行性:(1) 技術(shù)可行性技術(shù)可行性使用現(xiàn)有的技術(shù)能實現(xiàn)這個系統(tǒng)嗎使用現(xiàn)有的技術(shù)能實現(xiàn)這個系統(tǒng)嗎?(2) 經(jīng)濟可行性經(jīng)濟可行性這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎?(3) 操作可行性操作可行性系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎
4、?必要時還應(yīng)該從法律、社會效益等更廣泛的方面研究每種解必要時還應(yīng)該從法律、社會效益等更廣泛的方面研究每種解法的可行性。法的可行性。根本目的:根本目的:可行性研究最根本的任務(wù)是對以后的行動方針提出可行性研究最根本的任務(wù)是對以后的行動方針提出建議。建議。如果問題沒有可行的解,分析員應(yīng)該建議停止這項如果問題沒有可行的解,分析員應(yīng)該建議停止這項開發(fā)工程,以避免時間、資源、人力和金錢的浪費;開發(fā)工程,以避免時間、資源、人力和金錢的浪費;如果問題值得解,分析員應(yīng)該推薦一個較好的解決如果問題值得解,分析員應(yīng)該推薦一個較好的解決方案,并且為工程制定一個初步的計劃。方案,并且為工程制定一個初步的計劃??尚行匝芯?/p>
5、需要的時間長短取決于工程的規(guī)模。一可行性研究需要的時間長短取決于工程的規(guī)模。一般說來,可行性研究的成本只是預(yù)期的工程總成本般說來,可行性研究的成本只是預(yù)期的工程總成本的的5%10%。典型的可行性研究過程有下述一些步驟。典型的可行性研究過程有下述一些步驟。1. 復(fù)查系統(tǒng)規(guī)模和目標復(fù)查系統(tǒng)規(guī)模和目標分析員訪問關(guān)鍵人員,仔細閱讀和分析有關(guān)的材料,分析員訪問關(guān)鍵人員,仔細閱讀和分析有關(guān)的材料,以便對問題定義階段書寫的關(guān)于規(guī)模和目標的報告以便對問題定義階段書寫的關(guān)于規(guī)模和目標的報告書進一步復(fù)查確認,改正含糊或不確切的敘述,清書進一步復(fù)查確認,改正含糊或不確切的敘述,清晰地描述對目標系統(tǒng)的一切限制和約束。
6、這個步驟晰地描述對目標系統(tǒng)的一切限制和約束。這個步驟的工作,實質(zhì)上是的工作,實質(zhì)上是為了確保分析員正在解決的問題為了確保分析員正在解決的問題確實是要求他解決的問題確實是要求他解決的問題。2.2 可行性研究過程可行性研究過程2. 研究目前正在使用的系統(tǒng)研究目前正在使用的系統(tǒng)(研究目前正在使用的系統(tǒng))(研究目前正在使用的系統(tǒng))基本功能,缺點,費用,文檔資料,使用手冊,訪基本功能,缺點,費用,文檔資料,使用手冊,訪問有關(guān)人員,與其它系統(tǒng)的接口問有關(guān)人員,與其它系統(tǒng)的接口常見的錯誤做法是花費過多時間去分析現(xiàn)有的系統(tǒng)。常見的錯誤做法是花費過多時間去分析現(xiàn)有的系統(tǒng)。這個步驟的目的是了解現(xiàn)有系統(tǒng)能做什么,而
7、不是這個步驟的目的是了解現(xiàn)有系統(tǒng)能做什么,而不是了解它怎樣做這些工作。了解它怎樣做這些工作。分析員應(yīng)該畫出描繪現(xiàn)有分析員應(yīng)該畫出描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖系統(tǒng)的高層系統(tǒng)流程圖(見見2.3節(jié)節(jié)),并請有關(guān)人員檢驗,并請有關(guān)人員檢驗他對現(xiàn)有系統(tǒng)的認識是否正確。千萬不要花費太多他對現(xiàn)有系統(tǒng)的認識是否正確。千萬不要花費太多時間去了解和描繪現(xiàn)有系統(tǒng)的實現(xiàn)細節(jié)時間去了解和描繪現(xiàn)有系統(tǒng)的實現(xiàn)細節(jié)3. 導(dǎo)出新系統(tǒng)的高層邏輯模型導(dǎo)出新系統(tǒng)的高層邏輯模型優(yōu)秀的設(shè)計過程通??偸菑默F(xiàn)有的物理系統(tǒng)出發(fā),優(yōu)秀的設(shè)計過程通??偸菑默F(xiàn)有的物理系統(tǒng)出發(fā),導(dǎo)出現(xiàn)有導(dǎo)出現(xiàn)有系統(tǒng)的邏輯模型,再參考現(xiàn)有系統(tǒng)的邏輯系統(tǒng)的邏輯模型,再參
8、考現(xiàn)有系統(tǒng)的邏輯模型,設(shè)想目標系統(tǒng)的邏輯模型模型,設(shè)想目標系統(tǒng)的邏輯模型,最后根據(jù)目標系,最后根據(jù)目標系統(tǒng)的邏輯模型建造新的物理系統(tǒng)。統(tǒng)的邏輯模型建造新的物理系統(tǒng)。通過前一步的工作,分析員對目標系統(tǒng)應(yīng)該具有的通過前一步的工作,分析員對目標系統(tǒng)應(yīng)該具有的基本功能和所受的約束已有一定了解,能夠使用基本功能和所受的約束已有一定了解,能夠使用數(shù)數(shù)據(jù)流圖據(jù)流圖(參看參看2.4節(jié)節(jié)),描繪數(shù)據(jù)在系統(tǒng)中流動和處理的描繪數(shù)據(jù)在系統(tǒng)中流動和處理的情況,從而概括地表達出他對新系統(tǒng)的設(shè)想情況,從而概括地表達出他對新系統(tǒng)的設(shè)想。通常。通常為了為了把新系統(tǒng)描繪得更清晰準確,還應(yīng)該有一個初把新系統(tǒng)描繪得更清晰準確,還應(yīng)該
9、有一個初步的數(shù)據(jù)字典步的數(shù)據(jù)字典(參看參看2.5節(jié)節(jié)),定義系統(tǒng)中使用的數(shù)據(jù)。定義系統(tǒng)中使用的數(shù)據(jù)。數(shù)據(jù)流圖和數(shù)據(jù)字典共同定義了新系統(tǒng)的邏輯模型,數(shù)據(jù)流圖和數(shù)據(jù)字典共同定義了新系統(tǒng)的邏輯模型,以后可以從這個邏輯模型出發(fā)設(shè)計新系統(tǒng)。以后可以從這個邏輯模型出發(fā)設(shè)計新系統(tǒng)。4. 進一步定義問題進一步定義問題新系統(tǒng)的邏輯模型實質(zhì)上表達了分析員對新系統(tǒng)必新系統(tǒng)的邏輯模型實質(zhì)上表達了分析員對新系統(tǒng)必須做什么的看法。分析員應(yīng)該和用戶一起再次復(fù)查須做什么的看法。分析員應(yīng)該和用戶一起再次復(fù)查問題定義、工程規(guī)模和目標,這次復(fù)查應(yīng)該把數(shù)據(jù)問題定義、工程規(guī)模和目標,這次復(fù)查應(yīng)該把數(shù)據(jù)流圖和數(shù)據(jù)字典作為討論的基礎(chǔ)。如果
10、分析員對問流圖和數(shù)據(jù)字典作為討論的基礎(chǔ)。如果分析員對問題有誤解或者用戶曾經(jīng)遺漏了某些要求,那么現(xiàn)在題有誤解或者用戶曾經(jīng)遺漏了某些要求,那么現(xiàn)在是發(fā)現(xiàn)和改正這些錯誤的時候了。是發(fā)現(xiàn)和改正這些錯誤的時候了。可行性研究的可行性研究的前前4個步驟實質(zhì)上構(gòu)成一個循環(huán)個步驟實質(zhì)上構(gòu)成一個循環(huán)。分析。分析員定義問題,分析這個問題,導(dǎo)出一個試探性的解;員定義問題,分析這個問題,導(dǎo)出一個試探性的解;在此基礎(chǔ)上再次定義問題,再一次分析這個問題,在此基礎(chǔ)上再次定義問題,再一次分析這個問題,修改這個解;繼續(xù)這個循環(huán)過程,修改這個解;繼續(xù)這個循環(huán)過程,直到提出的邏輯直到提出的邏輯模型完全符合系統(tǒng)目標。模型完全符合系統(tǒng)目
11、標。5. 導(dǎo)出和評價供選擇的解法導(dǎo)出和評價供選擇的解法分析員應(yīng)該從他建議的系統(tǒng)邏輯模型出發(fā),導(dǎo)出若分析員應(yīng)該從他建議的系統(tǒng)邏輯模型出發(fā),導(dǎo)出若干個較高層次的干個較高層次的(較抽象的較抽象的)物理解法供比較和選擇。物理解法供比較和選擇。導(dǎo)出供選擇的解法的最簡單的途徑,是從技術(shù)角度導(dǎo)出供選擇的解法的最簡單的途徑,是從技術(shù)角度出發(fā)考慮解決問題的不同方案。還可以使用組合的出發(fā)考慮解決問題的不同方案。還可以使用組合的方法導(dǎo)出若干種可能的物理系統(tǒng)。方法導(dǎo)出若干種可能的物理系統(tǒng)。當(dāng)從技術(shù)角度提出了一些可能的物理系統(tǒng)之后,應(yīng)當(dāng)從技術(shù)角度提出了一些可能的物理系統(tǒng)之后,應(yīng)該根據(jù)技術(shù)可行性的考慮初步排除一些不現(xiàn)實的
12、系該根據(jù)技術(shù)可行性的考慮初步排除一些不現(xiàn)實的系統(tǒng)。把技術(shù)上行不通的解法去掉之后,就剩下了一統(tǒng)。把技術(shù)上行不通的解法去掉之后,就剩下了一組技術(shù)上可行的方案。組技術(shù)上可行的方案。其次可以考慮操作方面的可行性。其次可以考慮操作方面的可行性。分析員應(yīng)該根據(jù)分析員應(yīng)該根據(jù)使用部門處理事務(wù)的原則和習(xí)慣檢查技術(shù)上可行的使用部門處理事務(wù)的原則和習(xí)慣檢查技術(shù)上可行的那些方案,去掉其中從操作方式或操作過程的角度那些方案,去掉其中從操作方式或操作過程的角度看用戶不能接受的方案。看用戶不能接受的方案。接下來應(yīng)該考慮經(jīng)濟方面的可行性。接下來應(yīng)該考慮經(jīng)濟方面的可行性。分析員應(yīng)該估分析員應(yīng)該估計余下的每個可能的系統(tǒng)的開發(fā)成
13、本和運行費用,計余下的每個可能的系統(tǒng)的開發(fā)成本和運行費用,并且估計相對于現(xiàn)有的系統(tǒng)而言這個系統(tǒng)可以節(jié)省并且估計相對于現(xiàn)有的系統(tǒng)而言這個系統(tǒng)可以節(jié)省的開支或可以增加的收入。在這些估計數(shù)字的基礎(chǔ)的開支或可以增加的收入。在這些估計數(shù)字的基礎(chǔ)上,對每個可能的系統(tǒng)進行成本上,對每個可能的系統(tǒng)進行成本/效益分析效益分析(參看參看2.6節(jié)節(jié))。一般說來,只有投資預(yù)計能帶來利潤的系統(tǒng)才。一般說來,只有投資預(yù)計能帶來利潤的系統(tǒng)才值得進一步考慮。值得進一步考慮。最后最后為每個在技術(shù)、操作和經(jīng)濟等方面都可行的系為每個在技術(shù)、操作和經(jīng)濟等方面都可行的系統(tǒng)統(tǒng)制定實現(xiàn)進度表制定實現(xiàn)進度表,這個進度表不需要,這個進度表不需
14、要(也不可能也不可能)制制定得很詳細,通常只需要估計生命周期每個階段的定得很詳細,通常只需要估計生命周期每個階段的工作量。工作量。6. 推薦行動方針推薦行動方針根據(jù)可行性研究結(jié)果應(yīng)該根據(jù)可行性研究結(jié)果應(yīng)該做出的一個關(guān)鍵性決定做出的一個關(guān)鍵性決定是,是,是否繼續(xù)進行這項開發(fā)工程。分析員必須清楚地表是否繼續(xù)進行這項開發(fā)工程。分析員必須清楚地表明他對這個關(guān)鍵性決定的建議。如果分析員認為值明他對這個關(guān)鍵性決定的建議。如果分析員認為值得繼續(xù)進行這項開發(fā)工程,那么他應(yīng)該選擇一種最得繼續(xù)進行這項開發(fā)工程,那么他應(yīng)該選擇一種最好的解法,并且說明選擇這個解決方案的理由。通好的解法,并且說明選擇這個解決方案的理由
15、。通常使用部門的負責(zé)人主要根據(jù)經(jīng)濟上是否劃算決定常使用部門的負責(zé)人主要根據(jù)經(jīng)濟上是否劃算決定是否投資于一項開發(fā)工程,因此分析員對于所推薦是否投資于一項開發(fā)工程,因此分析員對于所推薦的系統(tǒng)必須進行比較仔細的的系統(tǒng)必須進行比較仔細的成本成本/效益效益分析。分析。7. 草擬開發(fā)計劃草擬開發(fā)計劃分析員應(yīng)該為所推薦的方案草擬一份開發(fā)計劃,除分析員應(yīng)該為所推薦的方案草擬一份開發(fā)計劃,除了了制定工程進度表制定工程進度表之外還應(yīng)該估計對之外還應(yīng)該估計對各類開發(fā)人員各類開發(fā)人員和各種資源的需要情況和各種資源的需要情況,應(yīng)該指明什么時候使用以,應(yīng)該指明什么時候使用以及使用多長時間。此外還應(yīng)該估計系統(tǒng)生命周期每及使
16、用多長時間。此外還應(yīng)該估計系統(tǒng)生命周期每個階段的成本。個階段的成本。最后應(yīng)該給出下一個階段最后應(yīng)該給出下一個階段(需求分析需求分析)的詳細進度表和成本估計的詳細進度表和成本估計。8. 書寫文檔提交審查書寫文檔提交審查(案例案例)應(yīng)該把上述可行性研究各個步驟的工作結(jié)果寫成清應(yīng)該把上述可行性研究各個步驟的工作結(jié)果寫成清晰的文檔,請用戶、客戶組織的負責(zé)人及評審組審晰的文檔,請用戶、客戶組織的負責(zé)人及評審組審查,以決定是否繼續(xù)這項工程及是否接受分析員推查,以決定是否繼續(xù)這項工程及是否接受分析員推薦的方案。薦的方案。系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。它它
17、的基本思想是用圖形符號以黑盒子形式描繪組成系的基本思想是用圖形符號以黑盒子形式描繪組成系統(tǒng)的每個部件統(tǒng)的每個部件(程序,文檔,數(shù)據(jù)庫,人工過程等程序,文檔,數(shù)據(jù)庫,人工過程等)。系統(tǒng)流程圖表達的系統(tǒng)流程圖表達的是是數(shù)據(jù)在系統(tǒng)各部件之間流動的數(shù)據(jù)在系統(tǒng)各部件之間流動的情況情況,而,而不是不是對數(shù)據(jù)進行加工處理的控制過程,因?qū)?shù)據(jù)進行加工處理的控制過程,因此盡管系統(tǒng)流程圖的某些符號和程序流程圖的符號此盡管系統(tǒng)流程圖的某些符號和程序流程圖的符號形式相同,但是它卻是物理數(shù)據(jù)流圖而不是程序流形式相同,但是它卻是物理數(shù)據(jù)流圖而不是程序流程圖。程圖。2.3 系統(tǒng)流程圖系統(tǒng)流程圖當(dāng)以概括的方式抽象地描繪一個實
18、際系統(tǒng)時,僅僅當(dāng)以概括的方式抽象地描繪一個實際系統(tǒng)時,僅僅使用圖使用圖2.1中列出的基本符號就足夠了。中列出的基本符號就足夠了。當(dāng)需要當(dāng)需要更具體更具體地描繪一個物理系統(tǒng)時還需要使用圖地描繪一個物理系統(tǒng)時還需要使用圖2.2(見書(見書29頁)中列出的系統(tǒng)符號,利用這些符號頁)中列出的系統(tǒng)符號,利用這些符號可以把一個廣義的輸入輸出操作具體化為讀寫存儲可以把一個廣義的輸入輸出操作具體化為讀寫存儲在特殊設(shè)備上的文件(或數(shù)據(jù)庫),把抽象處理具在特殊設(shè)備上的文件(或數(shù)據(jù)庫),把抽象處理具體化為特定的程序或手工操作等。體化為特定的程序或手工操作等。2.3.1 符號符號圖圖2.1 基本符號基本符號閱讀流程圖
19、閱讀流程圖-1流程圖流程圖-2思考思考 你去銀行取錢的過程你去銀行取錢的過程介紹系統(tǒng)流程圖的最好方法可能是通過一個具體例介紹系統(tǒng)流程圖的最好方法可能是通過一個具體例子說明它的用法。下面是一個簡單的例子。子說明它的用法。下面是一個簡單的例子。某裝配廠有一座存放零件的倉庫,倉庫中現(xiàn)有的各某裝配廠有一座存放零件的倉庫,倉庫中現(xiàn)有的各種零件的數(shù)量以及每種零件的庫存量臨界值等數(shù)據(jù)種零件的數(shù)量以及每種零件的庫存量臨界值等數(shù)據(jù)記錄在記錄在庫存清單主文件庫存清單主文件中。當(dāng)倉庫中零件數(shù)量有變中。當(dāng)倉庫中零件數(shù)量有變化時,應(yīng)該及時化時,應(yīng)該及時修改庫存清單主文件修改庫存清單主文件,如果哪種零,如果哪種零件的庫存
20、量少于它的庫存量臨界值,則應(yīng)該報告給件的庫存量少于它的庫存量臨界值,則應(yīng)該報告給采購部門以便定貨,規(guī)定采購部門以便定貨,規(guī)定每天向采購部門送一次定每天向采購部門送一次定貨報告貨報告。2.3.2 例子例子該裝配廠使用一臺小型計算機處理該裝配廠使用一臺小型計算機處理更新庫存清單主更新庫存清單主文件文件和和生成生成定貨報告的任務(wù)。零件庫存量的每一次定貨報告的任務(wù)。零件庫存量的每一次變化稱為一個事務(wù),由放在倉庫中的變化稱為一個事務(wù),由放在倉庫中的CRT終端輸入終端輸入到計算機中;系統(tǒng)中的庫存清單程序?qū)κ聞?wù)進行處到計算機中;系統(tǒng)中的庫存清單程序?qū)κ聞?wù)進行處理,更新存儲在磁盤上的庫存清單主文件,并且把理,
21、更新存儲在磁盤上的庫存清單主文件,并且把必要的定貨信息寫在磁帶上。最后,每天由報告生必要的定貨信息寫在磁帶上。最后,每天由報告生成程序讀一次磁帶,并且打印出定貨報告。成程序讀一次磁帶,并且打印出定貨報告。變化變化倉庫倉庫零零 庫存量庫存量件件 臨界值臨界值庫存清單庫存清單XX : XX : 庫存庫存 臨臨界值界值定貨報告定貨報告圖圖2.3 庫存清單系統(tǒng)的系統(tǒng)流程圖庫存清單系統(tǒng)的系統(tǒng)流程圖圖圖2.3的系統(tǒng)流程圖描繪了上述系統(tǒng)的概貌。的系統(tǒng)流程圖描繪了上述系統(tǒng)的概貌。圖中每個符號用黑盒子形式定義了組成系統(tǒng)的圖中每個符號用黑盒子形式定義了組成系統(tǒng)的一個部件,然而并沒有指明每個部件的具體工一個部件,然
22、而并沒有指明每個部件的具體工作過程;圖中的作過程;圖中的箭頭確定了信息通過系統(tǒng)的邏箭頭確定了信息通過系統(tǒng)的邏輯路徑輯路徑。系統(tǒng)流程圖的習(xí)慣畫法是使信息在圖中系統(tǒng)流程圖的習(xí)慣畫法是使信息在圖中從頂向從頂向下或從左向右流動。下或從左向右流動。面對復(fù)雜的系統(tǒng)時,一個比較好的方法是分層次地面對復(fù)雜的系統(tǒng)時,一個比較好的方法是分層次地描繪這個系統(tǒng)。首先用一張高層次的系統(tǒng)流程圖描描繪這個系統(tǒng)。首先用一張高層次的系統(tǒng)流程圖描繪系統(tǒng)總體概貌,表明系統(tǒng)的關(guān)鍵功能。然后分別繪系統(tǒng)總體概貌,表明系統(tǒng)的關(guān)鍵功能。然后分別把每個關(guān)鍵功能擴展到適當(dāng)?shù)脑敿毘潭?,畫在單獨把每個關(guān)鍵功能擴展到適當(dāng)?shù)脑敿毘潭?,畫在單獨的一頁紙?/p>
23、。這種分層次的描繪方法便于閱讀者按的一頁紙上。這種分層次的描繪方法便于閱讀者按從抽象到具體的過程逐步深入地了解一個復(fù)雜的系從抽象到具體的過程逐步深入地了解一個復(fù)雜的系統(tǒng)。統(tǒng)。2.3.3 分層分層數(shù)據(jù)流圖數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它描繪信息流和是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。數(shù)數(shù)據(jù)流圖是系統(tǒng)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示邏輯功能的圖形表示,在數(shù)據(jù)流圖中,在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程。中流動和被處理的邏輯過程。
24、即使不是專業(yè)的計算即使不是專業(yè)的計算機技術(shù)人員也容易理解它,因此是分析員與用戶之機技術(shù)人員也容易理解它,因此是分析員與用戶之間極好的通信工具。此外,間極好的通信工具。此外,設(shè)計數(shù)據(jù)流圖時只需考設(shè)計數(shù)據(jù)流圖時只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮怎樣具體地實現(xiàn)這些功能,怎樣具體地實現(xiàn)這些功能,所以它也是今后進行軟所以它也是今后進行軟件設(shè)計的很好的出發(fā)點。件設(shè)計的很好的出發(fā)點。2.4 數(shù)據(jù)流圖數(shù)據(jù)流圖圖形符號圖形符號思考思考 學(xué)生要查看成績,系統(tǒng)里面會存入哪些信息?學(xué)生要查看成績,系統(tǒng)里面會存入哪些信息? 這些信息之間有什么關(guān)系?這些信息之間
25、有什么關(guān)系?畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具。具。分析員把他對現(xiàn)有系統(tǒng)的認識或?qū)δ繕讼到y(tǒng)的分析員把他對現(xiàn)有系統(tǒng)的認識或?qū)δ繕讼到y(tǒng)的設(shè)想用數(shù)據(jù)流圖描繪出來,供有關(guān)人員審查確認。設(shè)想用數(shù)據(jù)流圖描繪出來,供有關(guān)人員審查確認。由于在數(shù)據(jù)流圖中通常僅僅使用由于在數(shù)據(jù)流圖中通常僅僅使用4種基本符號,而且種基本符號,而且不包含任何有關(guān)物理實現(xiàn)的細節(jié),因此,絕大多數(shù)不包含任何有關(guān)物理實現(xiàn)的細節(jié),因此,絕大多數(shù)用戶都可以理解和評價它用戶都可以理解和評價它。數(shù)據(jù)流圖應(yīng)該分層,并且在把功能級數(shù)據(jù)流圖細化數(shù)據(jù)流圖應(yīng)該分層,并且在把功能級數(shù)據(jù)流圖細化后得到的處理
26、超過后得到的處理超過9個時,應(yīng)該采用畫分圖的辦法,個時,應(yīng)該采用畫分圖的辦法,也就是把每個主要功能都細化為一張數(shù)據(jù)流分圖,也就是把每個主要功能都細化為一張數(shù)據(jù)流分圖,而原有的功能級數(shù)據(jù)流圖用來描繪系統(tǒng)的整體邏輯而原有的功能級數(shù)據(jù)流圖用來描繪系統(tǒng)的整體邏輯概貌。概貌。2.4.4 用途用途數(shù)據(jù)流圖的另一個主要用途是作為分析和設(shè)計的工數(shù)據(jù)流圖的另一個主要用途是作為分析和設(shè)計的工具。具。分析員在研究現(xiàn)有的系統(tǒng)時常用系統(tǒng)流程圖表分析員在研究現(xiàn)有的系統(tǒng)時常用系統(tǒng)流程圖表達他對這個系統(tǒng)的認識,這種描繪方法形象具體,達他對這個系統(tǒng)的認識,這種描繪方法形象具體,比較容易驗證它的正確性;但是,開發(fā)工程的目標比較容
27、易驗證它的正確性;但是,開發(fā)工程的目標往往不是完全復(fù)制現(xiàn)有的系統(tǒng),而是創(chuàng)造一個能夠往往不是完全復(fù)制現(xiàn)有的系統(tǒng),而是創(chuàng)造一個能夠完成相同的或類似的功能的新系統(tǒng)。完成相同的或類似的功能的新系統(tǒng)。用系統(tǒng)流程圖用系統(tǒng)流程圖描繪一個系統(tǒng)時,系統(tǒng)的功能和實現(xiàn)每個功能的具描繪一個系統(tǒng)時,系統(tǒng)的功能和實現(xiàn)每個功能的具體方案是混在一起的。因此,分析員希望以另一種體方案是混在一起的。因此,分析員希望以另一種方式進一步總結(jié)現(xiàn)有的系統(tǒng),這種方式應(yīng)該著重描方式進一步總結(jié)現(xiàn)有的系統(tǒng),這種方式應(yīng)該著重描繪系統(tǒng)所完成的功能而不是系統(tǒng)的物理實現(xiàn)方案。繪系統(tǒng)所完成的功能而不是系統(tǒng)的物理實現(xiàn)方案。數(shù)據(jù)流圖是實現(xiàn)這個目標的極好手段。
28、數(shù)據(jù)流圖是實現(xiàn)這個目標的極好手段。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)對數(shù)據(jù)流圖中包含的所有元素的定義流圖中包含的所有元素的定義的集合。的集合。任何字典最主要的用途都是供人查閱對不了解的條任何字典最主要的用途都是供人查閱對不了解的條目的解釋,數(shù)據(jù)字典的作用也正是在軟件分析和設(shè)目的解釋,數(shù)據(jù)字典的作用也正是在軟件分析和設(shè)計的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。計的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴格,然而沒有數(shù)據(jù)流圖有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴格
29、,然而沒有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對數(shù)據(jù)數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對數(shù)據(jù)流圖中每個元素的精確定義放在一起,才能共同構(gòu)流圖中每個元素的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說明。成系統(tǒng)的規(guī)格說明。2.5 數(shù)據(jù)字典數(shù)據(jù)字典一般說來,數(shù)據(jù)字典應(yīng)該由對下列一般說來,數(shù)據(jù)字典應(yīng)該由對下列4類元素的定義組類元素的定義組成:成:(1) 數(shù)據(jù)流數(shù)據(jù)流(2) 數(shù)據(jù)流分量數(shù)據(jù)流分量(即數(shù)據(jù)元素即數(shù)據(jù)元素)(3) 數(shù)據(jù)存儲數(shù)據(jù)存儲(4) 處理處理但是,但是,對數(shù)據(jù)處理的定義用其他工具對數(shù)據(jù)處理的定義用其他工具(如如IPO圖或圖或PDL)描述更方便,因此本書中數(shù)據(jù)字典將主要由對描述
30、更方便,因此本書中數(shù)據(jù)字典將主要由對數(shù)據(jù)的定義組成,這樣做可以使數(shù)據(jù)字典的內(nèi)容更數(shù)據(jù)的定義組成,這樣做可以使數(shù)據(jù)字典的內(nèi)容更單純,形式更統(tǒng)一。單純,形式更統(tǒng)一。2.5.1 數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)字典的內(nèi)容名稱:數(shù)據(jù)表名別名:描述:限制條件,需要人員定義:字段位置:輸出或?qū)ζ渌淼膽?yīng)用數(shù)據(jù)字典最重要的用途是作為分析階段的工具。在數(shù)據(jù)字典最重要的用途是作為分析階段的工具。在數(shù)據(jù)字典中建立的一組嚴密一致的定義很有助于數(shù)據(jù)字典中建立的一組嚴密一致的定義很有助于改改進分析員和用戶之間的通信進分析員和用戶之間的通信,因此將消除許多可能,因此將消除許多可能的誤解。對數(shù)據(jù)的這一系列嚴密一致的定義也有助的誤解。對數(shù)
31、據(jù)的這一系列嚴密一致的定義也有助于于改進在不同的開發(fā)人員或不同的開發(fā)小組之間的改進在不同的開發(fā)人員或不同的開發(fā)小組之間的通信通信。如果要求所有開發(fā)人員都根據(jù)公共的數(shù)據(jù)字。如果要求所有開發(fā)人員都根據(jù)公共的數(shù)據(jù)字典描述數(shù)據(jù)和設(shè)計模塊,則能典描述數(shù)據(jù)和設(shè)計模塊,則能避免許多麻煩的接口避免許多麻煩的接口問題。問題。2.5.3 數(shù)據(jù)字典的用途數(shù)據(jù)字典的用途數(shù)據(jù)字典中包含的每個數(shù)據(jù)元素的控制信息是很有數(shù)據(jù)字典中包含的每個數(shù)據(jù)元素的控制信息是很有價值的。因為列出了使用一個給定的數(shù)據(jù)元素的所價值的。因為列出了使用一個給定的數(shù)據(jù)元素的所有程序有程序(或模塊或模塊),所以很容易估計改變一個數(shù)據(jù)將產(chǎn),所以很容易估計
32、改變一個數(shù)據(jù)將產(chǎn)生的影響,并且能對所有受影響的程序或模塊作出生的影響,并且能對所有受影響的程序或模塊作出相應(yīng)的改變。相應(yīng)的改變。最后,數(shù)據(jù)字典是開發(fā)數(shù)據(jù)庫的第一步,而且是很最后,數(shù)據(jù)字典是開發(fā)數(shù)據(jù)庫的第一步,而且是很有價值的一步有價值的一步。思考思考 學(xué)生成績查詢報表的數(shù)據(jù)字典學(xué)生成績查詢報表的數(shù)據(jù)字典開發(fā)一個軟件系統(tǒng)是一種投資,期望將來獲得更大開發(fā)一個軟件系統(tǒng)是一種投資,期望將來獲得更大的經(jīng)濟效益。經(jīng)濟效益通常表現(xiàn)為減少運行費用或的經(jīng)濟效益。經(jīng)濟效益通常表現(xiàn)為減少運行費用或(和和)增加收入。但是,投資開發(fā)新系統(tǒng)往往要冒一定增加收入。但是,投資開發(fā)新系統(tǒng)往往要冒一定風(fēng)險,系統(tǒng)的開發(fā)成本可能比預(yù)
33、計的高,效益可能風(fēng)險,系統(tǒng)的開發(fā)成本可能比預(yù)計的高,效益可能比預(yù)期的低。效益分析的目的正是要從經(jīng)濟角度分比預(yù)期的低。效益分析的目的正是要從經(jīng)濟角度分析開發(fā)一個特定的新系統(tǒng)是否劃算,從而幫助客戶析開發(fā)一個特定的新系統(tǒng)是否劃算,從而幫助客戶組織的負責(zé)人正確地作出是否投資于這項開發(fā)工程組織的負責(zé)人正確地作出是否投資于這項開發(fā)工程的決定。的決定。為了對比成本和效益,首先需要估計它們的數(shù)量。為了對比成本和效益,首先需要估計它們的數(shù)量。2.6 成本成本/效益分析效益分析軟件開發(fā)成本主要表現(xiàn)為人力消耗軟件開發(fā)成本主要表現(xiàn)為人力消耗(乘以平均工資則乘以平均工資則得到開發(fā)費用得到開發(fā)費用)。成本估計不是精確的科
34、學(xué),因此應(yīng)。成本估計不是精確的科學(xué),因此應(yīng)該使用幾種不同的估計技術(shù)以便相互校驗。下面簡該使用幾種不同的估計技術(shù)以便相互校驗。下面簡單介紹單介紹3種估算技術(shù)。種估算技術(shù)。1. 代碼行技術(shù)代碼行技術(shù)代碼行技術(shù)是比較簡單的代碼行技術(shù)是比較簡單的定量估算方法定量估算方法,它把開發(fā),它把開發(fā)每個軟件功能的成本和實現(xiàn)這個功能需要用的每個軟件功能的成本和實現(xiàn)這個功能需要用的源代源代碼行數(shù)碼行數(shù)聯(lián)系起來。聯(lián)系起來。通常根據(jù)經(jīng)驗和歷史數(shù)據(jù)估計實通常根據(jù)經(jīng)驗和歷史數(shù)據(jù)估計實現(xiàn)一個功能需要的源程序行數(shù)?,F(xiàn)一個功能需要的源程序行數(shù)。當(dāng)有以往開發(fā)類似當(dāng)有以往開發(fā)類似工程的歷史數(shù)據(jù)可供參考時,這個方法是非常有效工程的歷史
35、數(shù)據(jù)可供參考時,這個方法是非常有效的。的。2.6.1 成本估計成本估計一旦估計出源代碼行數(shù)以后,一旦估計出源代碼行數(shù)以后,用每行代碼的平均成用每行代碼的平均成本乘以行數(shù)就可以確定軟件的成本。本乘以行數(shù)就可以確定軟件的成本。每行代碼的平每行代碼的平均成本主要取決于軟件的復(fù)雜程度和工資水平。均成本主要取決于軟件的復(fù)雜程度和工資水平。2. 任務(wù)分解技術(shù)任務(wù)分解技術(shù)這種方法首先把軟件開發(fā)工程分解為若干個相對獨這種方法首先把軟件開發(fā)工程分解為若干個相對獨立的任務(wù)。再分別估計每個單獨的開發(fā)任務(wù)的成本,立的任務(wù)。再分別估計每個單獨的開發(fā)任務(wù)的成本,最后累加起來得出軟件開發(fā)工程的總成本。估計每最后累加起來得出
36、軟件開發(fā)工程的總成本。估計每個任務(wù)的成本時,通常個任務(wù)的成本時,通常先估計完成該項任務(wù)需要用先估計完成該項任務(wù)需要用的人力的人力(以以人月人月為單位為單位),再乘以每人每月的平均工資,再乘以每人每月的平均工資而得出每個任務(wù)的成本。而得出每個任務(wù)的成本。最常用的辦法是按開發(fā)階段劃分任務(wù)。如果軟件系最常用的辦法是按開發(fā)階段劃分任務(wù)。如果軟件系統(tǒng)很復(fù)雜,由若干個子系統(tǒng)組成,則可以把每個子統(tǒng)很復(fù)雜,由若干個子系統(tǒng)組成,則可以把每個子系統(tǒng)再按開發(fā)階段進一步劃分成更小的任務(wù)。系統(tǒng)再按開發(fā)階段進一步劃分成更小的任務(wù)。典型環(huán)境下各個開發(fā)階段需要使用的人力的百分比典型環(huán)境下各個開發(fā)階段需要使用的人力的百分比大致
37、如表大致如表2.2所示。所示。當(dāng)然,應(yīng)該針對每個開發(fā)工程的當(dāng)然,應(yīng)該針對每個開發(fā)工程的具體特點,并且參照以往的經(jīng)驗盡可能準確地估計具體特點,并且參照以往的經(jīng)驗盡可能準確地估計每個階段實際需要使用的人力。每個階段實際需要使用的人力。3. 自動估計成本技術(shù)自動估計成本技術(shù)采用自動估計成本的軟件工具可以減輕人的勞動,采用自動估計成本的軟件工具可以減輕人的勞動,并且使得估計的結(jié)果更客觀。但是,采用這種技術(shù)并且使得估計的結(jié)果更客觀。但是,采用這種技術(shù)必須有長期搜集的大量歷史數(shù)據(jù)為基礎(chǔ),并且需要必須有長期搜集的大量歷史數(shù)據(jù)為基礎(chǔ),并且需要有良好的數(shù)據(jù)庫系統(tǒng)支持。有良好的數(shù)據(jù)庫系統(tǒng)支持。成本成本/效益分析的
38、第一步是估計開發(fā)成本、運行費用效益分析的第一步是估計開發(fā)成本、運行費用和新系統(tǒng)將帶來的經(jīng)濟效益。運行費用取決于系統(tǒng)和新系統(tǒng)將帶來的經(jīng)濟效益。運行費用取決于系統(tǒng)的操作費用的操作費用(操作員人數(shù),工作時間,消耗的物資等操作員人數(shù),工作時間,消耗的物資等等等)和維護費用。系統(tǒng)的經(jīng)濟和維護費用。系統(tǒng)的經(jīng)濟效益效益等于因使用新系統(tǒng)等于因使用新系統(tǒng)而增加的收入加上使用新系統(tǒng)可以節(jié)省的運行費用。而增加的收入加上使用新系統(tǒng)可以節(jié)省的運行費用。因為運行費用和經(jīng)濟效益兩者在軟件的整個生命周因為運行費用和經(jīng)濟效益兩者在軟件的整個生命周期內(nèi)都存在,總的效益和生命周期的長度有關(guān),所期內(nèi)都存在,總的效益和生命周期的長度有
39、關(guān),所以應(yīng)該合理地估計軟件的壽命以應(yīng)該合理地估計軟件的壽命(一律定為一律定為5年年)。2.6.2 成本成本/效益分析的方法效益分析的方法雖然許多系統(tǒng)在開發(fā)時預(yù)期生命周期長達雖然許多系統(tǒng)在開發(fā)時預(yù)期生命周期長達10年以上,年以上,但是時間越長系統(tǒng)被廢棄的可能性也越大,為了保但是時間越長系統(tǒng)被廢棄的可能性也越大,為了保險起見,以后在進行成本險起見,以后在進行成本/效益分析時一律假設(shè)生命效益分析時一律假設(shè)生命周期為周期為5年。年。應(yīng)該比較新系統(tǒng)的開發(fā)成本和經(jīng)濟效益,以便從經(jīng)應(yīng)該比較新系統(tǒng)的開發(fā)成本和經(jīng)濟效益,以便從經(jīng)濟角度判斷這個系統(tǒng)是否值得投資,但是,投資是濟角度判斷這個系統(tǒng)是否值得投資,但是,投
40、資是現(xiàn)在進行的,效益是將來獲得的,不能簡單地比較現(xiàn)在進行的,效益是將來獲得的,不能簡單地比較成本和效益,應(yīng)該考慮成本和效益,應(yīng)該考慮貨幣的時間價值貨幣的時間價值。1. 貨幣的時間價值貨幣的時間價值通常用利率的形式表示貨幣的時間價值。假設(shè)年利通常用利率的形式表示貨幣的時間價值。假設(shè)年利率為率為i,如果現(xiàn)在存入,如果現(xiàn)在存入P元,則元,則n年后可以得到的錢數(shù)年后可以得到的錢數(shù)為:為:F=P(1+i)n也就是說現(xiàn)在的也就是說現(xiàn)在的P元在元在n年后價值年后價值F元。元。反之,如果反之,如果n年后能收入年后能收入F元錢,那么這些錢的現(xiàn)在元錢,那么這些錢的現(xiàn)在價值是價值是P=F/(1+i)n例如,修改一個已有的庫存清單系統(tǒng),使它能在每例如,修改一個已有的庫存清單系統(tǒng),使它能在每天送給采購員一份定貨報表。修改已有的庫存清單天送給采購員一份定貨報表。修改已有的庫存清單程序并且編寫產(chǎn)生報表的程序,估計共程序并且編寫產(chǎn)生報表的程序,估計共需需5000元元;系統(tǒng)修改后能及時定貨將消除零件短缺問題,估計系統(tǒng)修改后能及時定貨將消除零件短缺問題,估計因此因此每年可以節(jié)省每年可以節(jié)省2500元元,5年年共可節(jié)省共可節(jié)省12500元。元。但是,不能簡單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度海洋資源開發(fā)借款施工合同
- 2025年度進口藥品注冊及臨床試驗合同范本
- 2025年度個人信用貸款合同模板(2024版)
- 2025年度新能源汽車以租代購與充電服務(wù)合同
- 環(huán)境科學(xué)在環(huán)境保護政策制定中的作用
- 現(xiàn)代酒店業(yè)中的人機交互技術(shù)應(yīng)用
- 電商平臺消費者行為分析與研究
- 統(tǒng)編版初中語文八年級下冊第六課《阿西莫夫短文兩篇》聽評課記錄
- 2025年度混凝土預(yù)制構(gòu)件加工及銷售合同范本
- 電商平臺供應(yīng)鏈金融創(chuàng)新及對盈利的貢獻
- 食品安全公益訴訟
- 中學(xué)生低碳生活調(diào)查報告
- 游泳池經(jīng)營合作方案
- 弱電項目經(jīng)理工作總結(jié)
- 擘畫未來技術(shù)藍圖
- 基于情報基本理論的公安情報
- 《“白山黑水”-東北三省》示范課課件(第1課時)
- 員工節(jié)能環(huán)保培訓(xùn)課件
- 四年級下冊部編版語文教學(xué)參考教師用書
- 華為公司的內(nèi)部審計制度
- 月球基地建設(shè)與運行管理模式
評論
0/150
提交評論