軟件工程可行性研究(ppt 71頁)_第1頁
軟件工程可行性研究(ppt 71頁)_第2頁
軟件工程可行性研究(ppt 71頁)_第3頁
軟件工程可行性研究(ppt 71頁)_第4頁
軟件工程可行性研究(ppt 71頁)_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、主講:呂曉華主講:呂曉華E-mail: 1Chap02 Chap02 可行性研究可行性研究v可行性研究的任務v可行性研究過程v系統(tǒng)流程圖v數(shù)據(jù)流圖v數(shù)據(jù)字典(內(nèi)容、方法、用途、實現(xiàn))v成本/效益分析(成本估計、分析方法)可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決;可行性研究的目的不是解決問題,而是確定問題是否值得去解。 22.1 2.1 可行性研究的任務可行性研究的任務u可行性研究實質(zhì)上是要進行一次大大壓縮簡化了的系統(tǒng)分析和設計的過程,也就是在較高層次上以較抽象的方式進行的系統(tǒng)分析和設計的過程:p 分析和澄清問題定義p 導出系統(tǒng)的邏輯模型探索系統(tǒng)實現(xiàn)方案: 技術(shù)可行

2、性:現(xiàn)有的技術(shù) 經(jīng)濟可行性:開發(fā)成本 操作可行性:用戶操作p實現(xiàn)進度p可行性研究的成本:預期的工程總成本的51032.2 2.2 可行性研究的步驟可行性研究的步驟1.復查系統(tǒng)規(guī)模和目標 2.研究目前正在使用的系統(tǒng)3.導出新系統(tǒng)的高層邏輯模型4.重新定義問題5.導出和評價供選擇的解法6.推薦行動方針7.草擬開發(fā)計劃8.書寫文檔提交審查4復查系統(tǒng)規(guī)模和目標復查系統(tǒng)規(guī)模和目標v對問題定義階段書寫的關(guān)于規(guī)模和目標的報告書進一步復查確認。改正報告書中的敘述模糊、不正確的地方。這個步驟的工作,實質(zhì)上是為了確保分析員正在解決的問題確實是要求他解決的問題。5研究目前正在使用的系統(tǒng)研究目前正在使用的系統(tǒng)正在使用

3、的系統(tǒng)的基本功能以及某些缺點分析現(xiàn)有系統(tǒng)的文檔資料和使用手冊,實地考察現(xiàn)有系統(tǒng)描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖并確認記錄現(xiàn)有系統(tǒng)的接口6導出新系統(tǒng)的高層邏輯模型導出新系統(tǒng)的高層邏輯模型v設計過程通常總是從現(xiàn)有的物理系統(tǒng)出發(fā),再參考現(xiàn)有系統(tǒng)的邏輯模型,設想目標系統(tǒng)的邏輯模型,最后根據(jù)目標系統(tǒng)的邏輯模型建造新的物理系統(tǒng)。v使用數(shù)據(jù)流圖,描繪數(shù)據(jù)在系統(tǒng)中流動和處理的情況,從而概括地表達出對新系統(tǒng)的設想。v通常為了把新系統(tǒng)描繪得更清晰準確,還應該有一個初步的數(shù)據(jù)字典,定義系統(tǒng)中使用的數(shù)據(jù)。v數(shù)據(jù)流圖和數(shù)據(jù)字典共同定義了新系統(tǒng)的邏輯模型,以后可以從這個邏輯模型出發(fā)設計新系統(tǒng)。7重新定義問題重新定義問題v分析

4、員應該和用戶一起再次復查問題定義、工程規(guī)模和目標,這次復查應該把數(shù)據(jù)流圖和數(shù)據(jù)字典作為討論的基礎。v可行性研究的前四個步驟實質(zhì)上構(gòu)成一個循環(huán)。 定義問題分析問題導出一個試探性的解重新定義問題符合系統(tǒng)目標?YN8導出和評價供選擇的解法導出和評價供選擇的解法v分析員應該從他建議的系統(tǒng)邏輯模型出發(fā),導出若干個較高層次的(較抽象的)物理解法供比較和選擇。1.從技術(shù)角度出發(fā)考慮解決問題的不同方案。例如,24節(jié)中將舉例說明在數(shù)據(jù)流圖上劃分不同的自動化邊界 2.根據(jù)技術(shù)可行性的考慮初步排除一些不現(xiàn)實的系統(tǒng)。例如,如果要求系統(tǒng)的響應時間不超過幾秒鐘,顯然應該排除任何批處理方案。3.考慮操作方面的可行性。分析員

5、應該根據(jù)使用部門處理事務的原則和習慣檢查技術(shù)上可行的那些方案,去掉其中從操作方式或操作過程的角度看用戶不能接受的方案。4.考慮經(jīng)濟方面的可行性。分析員應該估計余下的每個可能的系統(tǒng)的開發(fā)成本和運行費用,并且估計相對于現(xiàn)有的系統(tǒng)而言這個系統(tǒng)可以節(jié)省的開支或可以增加的收入。在這些估計數(shù)字的基礎上,對每個可能的系統(tǒng)進行成本效益分析。(參看26節(jié))v制定實現(xiàn)進度表。通常只需要估計生命周期每個階段的工作量。9推薦行動方針推薦行動方針v做出一個關(guān)鍵性的決定:是否繼續(xù)進行這項開發(fā)工程。v如果分析員認為值得繼續(xù)進行這項開發(fā)工程,那么他應該選擇一種最好的解法,并且說明選擇這個解決方案的理由。 10草擬開發(fā)計劃草擬

6、開發(fā)計劃v為推薦的系統(tǒng)草擬一份開發(fā)計劃:1.工程進度表2.估計對各種開發(fā)人員和各種資源的需要情況。3.估計系統(tǒng)生命周期每個階段的成本。4.最后應該給出下一個階段(需求分析)的詳細進度表和成本估計。11書寫文檔提交審查書寫文檔提交審查v寫成清晰的文檔,請用戶和使用部門的負責人仔細審查。122.3 2.3 系統(tǒng)流程圖系統(tǒng)流程圖v系統(tǒng)流程圖是描繪物理系統(tǒng)的傳統(tǒng)工具。v它的基本思想是用圖形符號以黑盒子形式描繪系統(tǒng)里面的每個部件(程序,文件,數(shù)據(jù)庫,表格,人工過程等等)。v系統(tǒng)流程圖表達的是信息在系統(tǒng)各部件之間流動的情況,而不是對信息進行加工處理的控制過程。v盡管系統(tǒng)流程圖使用的某些符號和程序流程圖中用

7、的符號相同,但是它卻是物理數(shù)據(jù)流程圖而不是程序流程圖。 2.3.1 2.3.1 符號符號13基本符號基本符號 v一個符號表示系統(tǒng)中的一個部件。 符號符號名名 稱稱說說 明明處理能改變數(shù)據(jù)值或數(shù)據(jù)位置的加工或部件,例如,程序、處理機、人工加工等都是處理。輸入輸出表示輸入或輸出(或既輸入又輸出),是一個廣義的不指明具體設備的符號。連接指出轉(zhuǎn)到圖的另一部分或從圖的另一部分轉(zhuǎn)來,通常在同一頁上。換頁連接指出轉(zhuǎn)到另一頁圖上或由另一頁圖轉(zhuǎn)來。數(shù)據(jù)流用來連接其他符號,指明數(shù)據(jù)流動方向。14系統(tǒng)符號系統(tǒng)符號 152.3.2 2.3.2 例子例子v某裝配廠有一座存放零件的倉庫,倉庫中現(xiàn)有的各種零件的數(shù)量以及每種

8、零件的庫存量臨界值等數(shù)據(jù)記錄在庫存清單主文件中。當倉庫中零件數(shù)量有變化時,應該及時修改庫存清單主文件,如果那種零件的庫存量少于它的庫存量臨界值,則應該報告給采購部門以便定貨,規(guī)定每天向采購部門送一次定貨報告。v習慣畫法是使信息在圖中從頂向下,從左向右流動。系統(tǒng)流程圖162.3.3 2.3.3 分層分層v首先用一張高層次的系統(tǒng)流程圖描繪系統(tǒng)總體概貌,表明系統(tǒng)的關(guān)鍵功能。v然后分別把每個關(guān)鍵功能擴展到適當?shù)脑敿毘潭?,畫在單獨的一頁紙上。v這種分層次的描繪方法便于閱讀者按從抽象到具體的過程逐步深入地了解一個復雜的系統(tǒng)。 提示:下一節(jié)-2.4 數(shù)據(jù)流圖172.4 數(shù)據(jù)流圖1v數(shù)據(jù)流圖描繪系統(tǒng)的邏輯模型

9、,圖中沒有任何具體的物理元素,只是描繪信息在系統(tǒng)中流動和處理的情況。182.4 數(shù)據(jù)流圖2v因為數(shù)據(jù)流圖是邏輯系統(tǒng)的圖形表示,即使不是專業(yè)的計算機技術(shù)人員也容易理解,所以是極好的通信工具。v此外,設計數(shù)據(jù)流圖只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮如何具體地實現(xiàn)這些功能,所以它也是軟件設計的很好的出發(fā)點。 19四種基本符號 v表示數(shù)據(jù)的源點或終點。 v表示變換數(shù)據(jù)的處理。 v表示數(shù)據(jù)存儲(靜止數(shù)據(jù))。 v表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動方向(流動數(shù)據(jù))。 20三個附加符號 v* : 表示數(shù)據(jù)之間是“與”關(guān)系。v+ :表示數(shù)據(jù)之間是“或”關(guān)系。v :表示數(shù)據(jù)之間是“互斥”關(guān)系(只能從中選一

10、個)。21說明v數(shù)據(jù)存儲和數(shù)據(jù)流都是數(shù)據(jù),僅僅所處的狀態(tài)不同。數(shù)據(jù)存儲是處于靜止狀態(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運動中的數(shù)據(jù)。22說明v有時數(shù)據(jù)的源點和終點相同。如果只用一個符號代表數(shù)據(jù)的源點和終點,則至少有兩個箭頭和這個符號相連(一個進一個出,)可能其中一條箭頭相當長,這將降低數(shù)據(jù)流圖的清晰度,如果代表同一個事物的同樣符號在圖中出現(xiàn)在n個地方,則在這個符號的一個角上畫n-1條短斜線做標記。23說明v數(shù)據(jù)流與程序流程圖中用箭頭表示的控制流有本質(zhì)不同,千萬不要混淆。v熟悉程序流程圖的初學者在畫數(shù)據(jù)流圖時,往往試圖在數(shù)據(jù)流圖中表現(xiàn)分支條件或循環(huán),殊不知這樣做將造成混亂,畫不出正確的數(shù)據(jù)流圖。 24說明v在

11、數(shù)據(jù)流圖中應該描繪所有可能的數(shù)據(jù)流向,而不應該描繪出現(xiàn)某個數(shù)據(jù)流的條件。v數(shù)據(jù)流圖的基本要點是描繪“做什么”而不考慮“怎樣做”。25例子v問題定義:一家工廠的采購部每天需要一張定貨報表,報表按零件編號排序,表中列出所有需要再次定貨的零件。對于每個需要再次定貨的零件應該列出下述數(shù)據(jù):零件編號,零件名稱,定貨數(shù)量,目前價格,主要供應者,次要供應者。零件入庫或出庫稱為事務,通過放在倉庫中的CRT終端把事務報告給定貨系統(tǒng)。當某個零件的庫存數(shù)量少于庫存量臨界值時就應該再次定貨。 26提取數(shù)據(jù)流圖的四種成分1 v“通過放在倉庫中的CRT終端把事務報告給定貨系統(tǒng)”倉庫管理員是數(shù)據(jù)源點。v“采購部每天需要一張

12、定貨報表”采購員是數(shù)據(jù)終點。v“采購部需要報表” 用于產(chǎn)生報表的處理。v“事務的后果是改變零件庫存量” 對事務進行的加工的處理。27提取數(shù)據(jù)流圖的四種成分2v“系統(tǒng)把定貨報表送給采購部” 定貨報表是一個數(shù)據(jù)流。v“事務需要從倉庫送到系統(tǒng)中” 事務是一個數(shù)據(jù)流。v“每當有一個事務發(fā)生時立即處理它,然而每天只產(chǎn)生一次定貨報表” 應該有一個數(shù)據(jù)存儲保存產(chǎn)生定貨報表的數(shù)據(jù)。v“當某個零件的庫存數(shù)量少于庫存量臨界值時就應該再次定貨” 應該有一個數(shù)據(jù)存儲保存庫存清單數(shù)據(jù)。 28數(shù)據(jù)流圖的四種成分29定貨系統(tǒng)的基本系統(tǒng)模型 倉庫 管理員定貨系統(tǒng)采購員事務 定貨報表 30定貨系統(tǒng)的功能級數(shù)據(jù)流圖 31把處理功

13、能進一步分解后的數(shù)據(jù)流圖 32注意1.當進一步分解將涉及如何具體地實現(xiàn)一個功能時就不應該再分解了。v例如:為什么不進一步分解“產(chǎn)生報表”這個功能呢?定貨報表中需要的數(shù)據(jù)在存儲的定貨信息中全都有,產(chǎn)生報表只不過是按一定順序排列這些信息,再按一定格式打印出來。然而這些考慮純屬具體實現(xiàn)的細節(jié),不應該在數(shù)據(jù)流圖中表現(xiàn)。 33注意2.當對數(shù)據(jù)流圖分層細化時必須保持信息連續(xù)性。v也就是說,當把一個處理分解為一系列處理時,分解前和分解后的輸入輸出數(shù)據(jù)流必須相同。 34注意3.應該注意在圖中對處理進行編號的方法。352.4.3 命名v數(shù)據(jù)流圖中每個成分的命名是否恰當,直接影響數(shù)據(jù)流圖的可理解性。 36為數(shù)據(jù)流

14、(或數(shù)據(jù)存儲)命名1.名字應代表整個數(shù)據(jù)流(或數(shù)據(jù)存儲)的內(nèi)容,而不是僅僅反映它的某些成分。2.不要使用空洞的、缺乏具體含義的名字(如:“數(shù)據(jù)”、“信息”、“輸入”等)。3.如果在為數(shù)據(jù)流(或數(shù)據(jù)存儲)起名字時遇到了困難,則很可能是因為對數(shù)據(jù)流圖分解不恰當造成的,應嘗試重新分解,看是否能克服這個困難。 37為處理命名11.通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名。這樣命名比較容易,而且體現(xiàn)了人類習慣的“由表及里”的思考過程。2.名字應該反映整個處理的功能,而不是它的一部分功能。3.名字最好由一個具體的及物動詞,加上一個具體的賓語組成。應該盡量避免使用“加工”、“處理”等空洞籠統(tǒng)的動詞作

15、名字。38為處理命名24.通常名字中僅包括一個動詞,如果必須用兩個動詞才能描述整個處理的功能,則把這個處理再分解成兩個處理可能更恰當些。5.如果在為某個處理命名時遇到困難,則很可能是發(fā)現(xiàn)了分解不當?shù)嫩E象,應考慮重新分解。39為數(shù)據(jù)源點/終點命名v采用它們在問題域中習慣使用的名字(如“采購員”、“倉庫管理員”等)402.4.4 用途11.畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具。2.數(shù)據(jù)流圖的另一個主要用途是作為分析和設計的工具。 3.可以根據(jù)系統(tǒng)的邏輯模型考慮系統(tǒng)的物理實現(xiàn)。當用數(shù)據(jù)流圖輔助物理系統(tǒng)的設計時,以圖中不同處理的定時要求為指南,能夠在數(shù)據(jù)流圖上畫出許多組自動化邊界,每組自動化

16、邊界可能意味著一個不同的物理系統(tǒng)。 41例1v可以聯(lián)機地接收事務并放入隊列中,然而更新庫存清單、處理定貨和產(chǎn)生報表以批量方式進行。當然,這種方案需要增加一個數(shù)據(jù)存儲以存放事務數(shù)據(jù)。 42數(shù)據(jù)流圖43例2v改變自動化邊界,把處理11、12和13放在同一個邊界內(nèi)。v這個系統(tǒng)將聯(lián)機地接收事務、更新庫存清單和處理定貨及輸出定貨信息;然而處理2將以批量方式產(chǎn)生定貨報表。 44數(shù)據(jù)流圖452.4.4 用途24.數(shù)據(jù)流圖對更詳細的設計步驟也有幫助。v本書第五章將講述從數(shù)據(jù)流圖出發(fā)映射出軟件結(jié)構(gòu)的方法面向數(shù)據(jù)流的設計方法。 462.5 數(shù)據(jù)字典v數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素

17、的定義的集合。v數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴格,然而沒有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。 472.5.1 數(shù)據(jù)字典的內(nèi)容v一般說來,數(shù)據(jù)字典應該由對下列四類元素的定義組成:(1)數(shù)據(jù)流(2)數(shù)據(jù)流分量(即,數(shù)據(jù)元素)(3)數(shù)據(jù)存儲(4)處理。 v本書中數(shù)據(jù)字典將主要由對數(shù)據(jù)的定義組成。數(shù)據(jù)處理的定義用其它工具(如IPO圖或PDL)描述更方便。48數(shù)據(jù)字典中記錄的數(shù)據(jù)元素的信息 v一般信息:名字,別名,描述等。v定義:數(shù)據(jù)類型,長度,結(jié)構(gòu)等。v使用特點:值的范圍,使用頻率,使用方式輸入/輸出/本地,條件值等。v控制信息:來源,用戶,使用它的程序,改變權(quán),使

18、用權(quán)等。v分組信息:父結(jié)構(gòu),從屬結(jié)構(gòu),物理位置-記錄、文件和數(shù)據(jù)庫等。 49出現(xiàn)別名主要原因 v對于同樣的數(shù)據(jù),不同的用戶使用了不同的名字;v一個分析員在不同時期對同一個數(shù)據(jù)使用了不同的名字;v兩個分析員分別分析同一個數(shù)據(jù)流時,使用了不同的名字。 502.5.2 定義數(shù)據(jù)的方法v數(shù)據(jù)字典中的定義就是對數(shù)據(jù)自頂向下的分解。v一般說來,當分解到不需要進一步定義,每個和工程有關(guān)的人也都清楚其含義的元素時,這種分解過程就完成了。51數(shù)據(jù)元素組成數(shù)據(jù)的方式 1.順序即以確定次序連接兩個或多個分量;2.選擇即從兩個或多個可能的元素中選取一個;3.重復即把指定的分量重復零次或多次。4.可選即一個分量是可有可

19、無的(重復零次或一次)。52符號1 v 意思是等價于(或定義為)v 意思是和(即,連接兩個分量)v 意思是或(即,從方括弧內(nèi)列出的若干個分量中選擇一個)53符號24. 意思是重復(即,重復花括弧內(nèi)的分量)5.( )意思是可選(即,圓括弧里的分量可有可無)542.5.3 數(shù)據(jù)字典的用途v數(shù)據(jù)字典最重要的用途是作為分析階段的工具。 v數(shù)據(jù)字典中包含的每個數(shù)據(jù)元素的控制信息是很有價值的。容易估計改變一個數(shù)據(jù)將產(chǎn)生的影響,并且能對所有受影響的程序或模塊作出相應的改變。 v最后,數(shù)據(jù)字典是開發(fā)數(shù)據(jù)庫的第一步。552.5.4 數(shù)據(jù)字典的實現(xiàn)v三種途徑:1.全人工過程2.全自動化過程(利用數(shù)據(jù)字典處理程序)

20、3.混合過程(用正文編輯程序、報告生成程序等已有的使用程序幫助人工過程)56數(shù)據(jù)字典具有的特點 1.通過名字能方便地查閱數(shù)據(jù)的定義。2.沒有冗余。3.盡量不重復在規(guī)格說明的其它組成部分中已經(jīng)出現(xiàn)的信息。4.容易更新和修改。5.能單獨處理描述每個數(shù)據(jù)元素的信息。6.定義的書寫方法簡單方便而且嚴格。57數(shù)據(jù)字典的例子1v名字:定貨報表名字:定貨報表v別名:定貨信息v描述:每天一次送給采購員的需要定貨的零件表v定義:定貨報表=零件編號+零件名稱+定貨數(shù)量+目前價格+主要供應者+次要供應者v位置:輸出到打印機58數(shù)據(jù)字典的例子2v名字:零件編號名字:零件編號v別名:v描述:唯一地標識庫存清單中一個特定

21、零件的關(guān)鍵域v定義:零件編號=8字符8v位置:定貨報表、定貨信息、庫存清單59數(shù)據(jù)字典的例子3v名字:定貨數(shù)量名字:定貨數(shù)量v別名:v描述:某個零件一次定貨的數(shù)量v定義:定貨數(shù)量=1數(shù)字5v位置:定貨報表、定貨信息602.6 成本/效益分析v成本效益分析的目的 要從經(jīng)濟角度分析開發(fā)一個特定的新系統(tǒng)是否劃算,從而幫助使用部門負責人正確地作出是否投資于這項開發(fā)工程的決定。 612.6.1 成本估計v軟件開發(fā)成本主要表現(xiàn)為人力消耗(乘以平均工資則得到開發(fā)費用)。1.代碼行技術(shù)2.任務分解技術(shù)3.自動估計成本技術(shù)622.6.2 成本/效益分析的方法v成本效益分析的第一步是估計開發(fā)成本、運行費用和新系統(tǒng)將帶來的經(jīng)濟效益。v運行費用:系統(tǒng)的操作費用(操作員人數(shù),工作時間,消耗的物資等等)和維護費用。v系統(tǒng)的經(jīng)濟效益:因使用新系統(tǒng)而增加的收入加上使用新系統(tǒng)可以節(jié)省的運行費用。63相關(guān)概念11.貨幣的時間價值v假設年利率為i,如果現(xiàn)在存入P元,則n年后可以得到的錢數(shù)為: FP(1 i)n v反之,如果n年后能收入F元錢,那么這些錢的現(xiàn)在價值是 P F(1 i)n 64相關(guān)概念22.投資回收期v通常用投資回收期衡量一項開發(fā)工程的價值。v所謂投資回收期就是使累計的經(jīng)濟效益等于最初投資所需要

溫馨提示

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

評論

0/150

提交評論