




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第2章 可行性研究2.1 可行性研究的任務(wù)2.2 可行性研究過程2.3 系統(tǒng)流程圖2.4 數(shù)據(jù)流圖2.5 數(shù)據(jù)字典第1頁,共66頁。2.6 成本/效益分析2.7 小結(jié)習(xí)題第2頁,共66頁。1、目的: 可行性研究的目的不是解決問題,而是確定問題是否值得去解決。 用最小的代價在盡可能短的時間內(nèi),確定問題是否能夠解決。因此,可行性研究實質(zhì)上是進行一次大大壓縮簡化了的系統(tǒng)分析和設(shè)計的過程,也就是在較高層次上以較抽象的方式進行的系統(tǒng)分析和設(shè)計的過程。2.1 可行性研究的任務(wù)第3頁,共66頁。2、任務(wù): 初步確定了項目的規(guī)模、目標(biāo)和限制條件。分析員導(dǎo)出系統(tǒng)的邏輯模型。然后探索若干種可供選擇的系統(tǒng)實現(xiàn)方案。
2、一般說來,從下述三方面研究每種方案的可行性。技術(shù)可行性 使用現(xiàn)有的技術(shù)能實現(xiàn)這個系統(tǒng)嗎?(2) 經(jīng)濟可行性 這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎?(3) 操作可行性 系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎?必要時還應(yīng)該從法律、社會效益等更廣泛的方面研究操作的可行性。第4頁,共66頁。3、時間、成本 可行性研究需要的時間長短取決于工程的規(guī)模。一般說來,可行性研究的成本只是預(yù)期的工程總成本的5%10%。 分析員應(yīng)該為每個可行的方案制定一個粗略的實現(xiàn)進度??尚行匝芯孔罡镜娜蝿?wù)是對以后的行動方針提出建議。如果問題沒有可行的解,分析員應(yīng)該建議停止這項開發(fā)工程,以避免時間、資源、人力和金錢的浪費;如果
3、問題值得解,分析員應(yīng)該推薦一個較好的解決方案,并且為工程制定一個初步的計劃。第5頁,共66頁。典型的可行性研究過程一般按下述步驟做:第一步:復(fù)查系統(tǒng)規(guī)模和目標(biāo)分析員訪問關(guān)鍵人員,仔細(xì)閱讀和分析有關(guān)的材料,以便對問題定義階段書寫的關(guān)于規(guī)模和目標(biāo)的報告書進一步復(fù)查確認(rèn),改正含糊或不確切的敘述,清晰地描述對目標(biāo)系統(tǒng)的一切限制和約束。這個步驟的工作,實質(zhì)上是為了確保分析員正在解決的問題確實是要求他解決的問題。2.2 可行性研究過程第6頁,共66頁。第二步:研究目前正在使用的系統(tǒng)現(xiàn)有的系統(tǒng)是信息的重要來源。(1)新的目標(biāo)系統(tǒng)必須也能完成它的基本功能;(2)現(xiàn)有的系統(tǒng)必然有某些缺點,新系統(tǒng)必須能解決舊系統(tǒng)
4、中存在的問題。(3)運行使用舊系統(tǒng)所需要的費用是一個重要的經(jīng)濟指標(biāo),如果新系統(tǒng)不能增加收入或減少使用費用,那么從經(jīng)濟角度看新系統(tǒng)就不如舊系統(tǒng)。(4)分析員應(yīng)該畫出描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖(見2.3節(jié)),并請有關(guān)人員檢驗他對現(xiàn)有系統(tǒng)的認(rèn)識是否正確。千萬不要花費太多時間去了解和描繪現(xiàn)有系統(tǒng)的實現(xiàn)細(xì)節(jié)。(5)應(yīng)該注意了解并記錄現(xiàn)有系統(tǒng)和其他系統(tǒng)之間的接口情況,這是設(shè)計新系統(tǒng)時的重要約束條件。第7頁,共66頁。第三步:導(dǎo)出新系統(tǒng)的高層邏輯模型 優(yōu)秀的設(shè)計過程通??偸菑默F(xiàn)有的物理系統(tǒng)出發(fā),導(dǎo)出現(xiàn)有系統(tǒng)的邏輯模型,再參考現(xiàn)有系統(tǒng)的邏輯模型,設(shè)想目標(biāo)系統(tǒng)的邏輯模型,最后根據(jù)目標(biāo)系統(tǒng)的邏輯模型建造新的物理
5、系統(tǒng)。 通過前一步的工作,分析員對目標(biāo)系統(tǒng)應(yīng)該具有的基本功能和所受的約束已有一定了解,能夠使用數(shù)據(jù)流圖(參看2.4節(jié)),描繪數(shù)據(jù)在系統(tǒng)中流動和處理的情況,從而概括地表達出他對新系統(tǒng)的設(shè)想。通常為了把新系統(tǒng)描繪得更清晰準(zhǔn)確,還應(yīng)該有一個初步的數(shù)據(jù)字典(參看2.5節(jié)),定義系統(tǒng)中使用的數(shù)據(jù)。數(shù)據(jù)流圖和數(shù)據(jù)字典共同定義了新系統(tǒng)的邏輯模型,以后可以從這個邏輯模型出發(fā)設(shè)計新系統(tǒng)。第8頁,共66頁。第四步:進一步定義問題新系統(tǒng)的邏輯模型實質(zhì)上表達了分析員對新系統(tǒng)必須做什么的看法。分析員應(yīng)該和用戶一起再次復(fù)查問題定義、工程規(guī)模和目標(biāo),這次復(fù)查應(yīng)該把數(shù)據(jù)流圖和數(shù)據(jù)字典作為討論的基礎(chǔ)。如果分析員對問題有誤解或者
6、用戶曾經(jīng)遺漏了某些要求,那么現(xiàn)在是發(fā)現(xiàn)和改正這些錯誤的時候了。可行性研究的前4個步驟實質(zhì)上構(gòu)成一個循環(huán)。分析員定義問題,分析這個問題,導(dǎo)出一個試探性的解;在此基礎(chǔ)上再次定義問題,再一次分析這個問題,修改這個解;繼續(xù)這個循環(huán)過程,直到提出的邏輯模型完全符合系統(tǒng)目標(biāo)。第9頁,共66頁。第五步:導(dǎo)出和評價供選擇的解法分析員應(yīng)該從他建議的系統(tǒng)邏輯模型出發(fā),導(dǎo)出若干個較高層次的(較抽象的)物理解法供比較和選擇。導(dǎo)出供選擇的解法的最簡單的途徑,1)是從技術(shù)角度出發(fā)考慮解決問題的不同方案。還可以使用組合的方法導(dǎo)出若干種可能的物理系統(tǒng)。當(dāng)從技術(shù)角度提出了一些可能的物理系統(tǒng)之后,應(yīng)該根據(jù)技術(shù)可行性的考慮初步排除
7、一些不現(xiàn)實的系統(tǒng)。把技術(shù)上行不通的解法去掉之后,就剩下了一組技術(shù)上可行的方案。第10頁,共66頁。2)考慮操作方面的可行性。 分析員應(yīng)該根據(jù)使用部門處理事務(wù)的原則和習(xí)慣檢查技術(shù)上可行的那些方案,去掉其中從操作方式或操作過程的角度看用戶不能接受的方案。3)考慮經(jīng)濟方面的可行性。 分析員應(yīng)該估計余下的每個可能的系統(tǒng)的開發(fā)成本和運行費用,并且估計相對于現(xiàn)有的系統(tǒng)而言這個系統(tǒng)可以節(jié)省的開支或可以增加的收入。在這些估計數(shù)字的基礎(chǔ)上,對每個可能的系統(tǒng)進行成本/效益分析(參看2.6節(jié))。一般說來,只有投資預(yù)計能帶來利潤的系統(tǒng)才值得進一步考慮。4)為每個在技術(shù)、操作和經(jīng)濟等方面都可行的系統(tǒng)制定實現(xiàn)進度表,這個
8、進度表不需要(也不可能)制定得很詳細(xì),通常只需要估計生命周期每個階段的工作量。第11頁,共66頁。第六步:推薦行動方針根據(jù)可行性研究結(jié)果應(yīng)該做出的一個關(guān)鍵性決定是,是否繼續(xù)進行這項開發(fā)工程。分析員必須清楚地表明他對這個關(guān)鍵性決定的建議。如果分析員認(rèn)為值得繼續(xù)進行這項開發(fā)工程,那么他應(yīng)該選擇一種最好的解法,并且說明選擇這個解決方案的理由。通常使用部門的負(fù)責(zé)人主要根據(jù)經(jīng)濟上是否劃算決定是否投資于一項開發(fā)工程,因此分析員對于所推薦的系統(tǒng)必須進行比較仔細(xì)的成本/效益分析。第12頁,共66頁。第七步:草擬開發(fā)計劃分析員應(yīng)該為所推薦的方案草擬一份開發(fā)計劃,除了制定工程進度表之外還應(yīng)該估計對各類開發(fā)人員和各
9、種資源的需要情況,應(yīng)該指明什么時候使用以及使用多長時間。此外還應(yīng)該估計系統(tǒng)生命周期每個階段的成本。最后應(yīng)該給出下一個階段(需求分析)的詳細(xì)進度表和成本估計。第八步:書寫可行性研究報告提交審查 按照標(biāo)準(zhǔn)書寫清晰可行性研究報告文檔,請用戶、客戶組織的負(fù)責(zé)人及評審組審查,以決定是否繼續(xù)這項工程及是否接受分析員推薦的方案。第13頁,共66頁。1、系統(tǒng)流程圖 是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。它是用圖形符號(以黑盒子形式)描繪組成系統(tǒng)的各個元素(程序,文檔,數(shù)據(jù)庫,人工過程等)和信息在這些元素之間的流動情況。2、系統(tǒng)流程圖和程序流程圖的相同與不同相同:系統(tǒng)流程圖的某些符號和程序流程圖的符號 形式相同。不同
10、:系統(tǒng)流程圖表達的是數(shù)據(jù)在系統(tǒng)各部件之間流動的情況,而不是對數(shù)據(jù)進行加工處理的控制過程。是物理數(shù)據(jù)流圖而不是程序流程圖。2.3 系統(tǒng)流程圖第14頁,共66頁。當(dāng)以概括的方式抽象地描繪一個實際系統(tǒng)時,僅僅使用圖2.1中列出的基本符號就足夠了。當(dāng)需要更具體地描繪一個物理系統(tǒng)時還需要使用圖2.2(見書29頁)中列出的系統(tǒng)符號,利用這些符號可以把一個廣義的輸入輸出操作具體化為讀寫存儲在特殊設(shè)備上的文件(或數(shù)據(jù)庫),把抽象處理具體化為特定的程序或手工操作等。2.3.1 符號第15頁,共66頁。圖2.1 基本符號第16頁,共66頁。介紹系統(tǒng)流程圖的最好方法可能是通過一個具體例子說明它的用法。下面是一個簡單
11、的例子。某裝配廠有一座存放零件的倉庫,倉庫中現(xiàn)有的各種零件的數(shù)量以及每種零件的庫存量臨界值等數(shù)據(jù)記錄在庫存清單主文件中。當(dāng)倉庫中零件數(shù)量有變化時,應(yīng)該及時修改庫存清單主文件,如果哪種零件的庫存量少于它的庫存量臨界值,則應(yīng)該報告給采購部門以便定貨,規(guī)定每天向采購部門送一次定貨報告。2.3.2 例子第17頁,共66頁。1、該廠使用一臺小型計算機處理更新庫存清單主文件和產(chǎn)生定貨報告的任務(wù)。2、零件庫存量的每一次變化稱為一個事務(wù),由放在倉庫中的CRT終端輸入到計算機中;3、系統(tǒng)中的庫存清單程序?qū)κ聞?wù)進行處理,更新存儲在磁盤上的庫存清單主文件,并且把必要的定貨信息寫在磁帶上。4、最后,每天由報告生成程序
12、讀一次磁帶,并且打印出定貨報告。圖2.3的系統(tǒng)流程圖描繪了上述系統(tǒng)的概貌。圖中每個符號用黑盒子形式定義了組成系統(tǒng)的一個部件,然而并沒有指明每個部件的具體工作過程;圖中的箭頭確定了信息通過系統(tǒng)的邏輯路徑。第18頁,共66頁。 信息從頂向下 或從左向右流動圖2.3 庫存清單系統(tǒng)的系統(tǒng)流程圖第19頁,共66頁。面對復(fù)雜的系統(tǒng)時,一個比較好的方法是分層次地描繪這個系統(tǒng)。首先用一張高層次的系統(tǒng)流程圖描繪系統(tǒng)總體概貌,表明系統(tǒng)的關(guān)鍵功能。然后分別把每個關(guān)鍵功能擴展到適當(dāng)?shù)脑敿?xì)程度,畫在單獨的一頁紙上。這種分層次的描繪方法便于閱讀者按從抽象到具體的過程逐步深入地了解一個復(fù)雜的系統(tǒng)。2.3.3 分層第20頁,
13、共66頁。數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它以圖形的方式描繪信息流和數(shù)據(jù)在系統(tǒng)中的流動和被處理的邏輯過程。數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示,即使不是專業(yè)的計算機技術(shù)人員也容易理解它,因此是分析員與用戶之間極好的通信工具。此外,設(shè)計數(shù)據(jù)流圖時只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮怎樣具體地實現(xiàn)這些功能,所以它也是今后進行軟件設(shè)計的很好的出發(fā)點。2.4 數(shù)據(jù)流圖第21頁,共66頁。如圖2.4(a)(見書31頁)所示,數(shù)據(jù)流圖有四種基本符號:1、正方形(或立方體)表示數(shù)據(jù)的源點或終點;2、圓角矩形(或圓形)代表變換數(shù)據(jù)的處理;3、開口矩形(或兩條平行橫線)代表數(shù)據(jù)存儲;4、箭頭表示數(shù)
14、據(jù)流,即特定數(shù)據(jù)的流動方向。注意:1、數(shù)據(jù)流與程序流程圖(參看本書第5章)中用箭頭表示的控制流有本質(zhì)不同,千萬不要混淆。在數(shù)據(jù)流圖中應(yīng)該描繪所有可能的數(shù)據(jù)流向,而不應(yīng)該描繪出現(xiàn)某個數(shù)據(jù)流的條件。2.4.1 符號第22頁,共66頁。 2、處理并不一定是一個程序。一個處理框可以代表一系列程序、單個程序或者程序的一個模塊;它甚至可以代表用穿孔機穿孔或目視檢查數(shù)據(jù)正確性等人工處理過程。3、一個數(shù)據(jù)存儲也并不等同于一個文件,它可以表示一個文件、文件的一部分、數(shù)據(jù)庫的元素或記錄的一部分等;4、數(shù)據(jù)可以存儲在磁盤、磁帶、磁鼓、主存、微縮膠片、穿孔卡片及其他任何介質(zhì)上(包括人腦)。第23頁,共66頁。5、數(shù)據(jù)
15、存儲和數(shù)據(jù)流都是數(shù)據(jù),僅僅所處的狀態(tài)不同。數(shù)據(jù)存儲是處于靜止?fàn)顟B(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運動中的數(shù)據(jù)。6、數(shù)據(jù)流圖的基本要點是描繪“做什么”而不考慮“怎樣做”。通常在數(shù)據(jù)流圖中忽略出錯處理,也不包括諸如打開或關(guān)閉文件之類的內(nèi)務(wù)處理。第24頁,共66頁。除了上述4種基本符號之外,有時也使用幾種附加符號。圖2.4(b)給出了這些附加符號的含義。TTT第25頁,共66頁。假設(shè)一家工廠的采購部每天需要一張定貨報表,報表按零件編號排序,表中列出所有需要再次定貨的零件。對于每個需要再次定貨的零件應(yīng)該列出下述數(shù)據(jù):零件編號,零件名稱,定貨數(shù)量,目前價格,主要供應(yīng)者,次要供應(yīng)者。零件入庫或出庫稱為事務(wù),通過放在倉
16、庫中的CRT終端把事務(wù)報告給定貨系統(tǒng)。當(dāng)某種零件的庫存數(shù)量少于庫存量臨界值時就應(yīng)該再次定貨。2.4.2 例子第26頁,共66頁。數(shù)據(jù)流圖畫法1、先畫頂層數(shù)據(jù)流圖,既只包含一個處理的圖。 先畫數(shù)據(jù)源點與終點(系統(tǒng)的輸入輸出); 數(shù)據(jù)源點:對系統(tǒng)的描述可以知道“通過放在倉庫中的CRT終端把事務(wù)報告給定貨系統(tǒng)”所以倉庫管理員是數(shù)據(jù)源點。數(shù)據(jù)終點:“采購部每天需要一張定貨報表”所以采購員是數(shù)據(jù)終點。數(shù)據(jù)的處理: “采購部需要報表”,顯然他們還沒有這種報表,因此必須有一個用于產(chǎn)生報表的處理。數(shù)據(jù)流和數(shù)據(jù)存儲:系統(tǒng)把定貨報表送給采購部,因此定貨報表是一個數(shù)據(jù)流;事務(wù)需要從倉庫送到系統(tǒng)中,顯然事務(wù)是另一個數(shù)
17、據(jù)流。 第27頁,共66頁。圖2.5 定貨系統(tǒng)的基本系統(tǒng)模型第28頁,共66頁。2、細(xì)化數(shù)據(jù)流程圖。 圖2.5畢竟太抽象了,從這張圖上對定貨系統(tǒng)所能了解到的信息非常有限。下一步應(yīng)該把基本系統(tǒng)模型細(xì)化,描繪系統(tǒng)的主要功能。 從圖2.5可知,“產(chǎn)生報表”和“處理事務(wù)”是系統(tǒng)必須完成的兩個主要功能,它們將代替圖2.5中的“定貨系統(tǒng)”(圖2.6)。第29頁,共66頁。圖2.6 定貨系統(tǒng)的功能級數(shù)據(jù)流圖第30頁,共66頁。3、接下來應(yīng)該對功能級數(shù)據(jù)流圖中描繪的系統(tǒng)主要功能進一步細(xì)化。 考慮通過系統(tǒng)的邏輯數(shù)據(jù)流:當(dāng)發(fā)生一個事務(wù)時必須首先接收它;隨后按照事務(wù)的內(nèi)容修改庫存清單;最后如果更新后的庫存量少于庫存
18、量臨界值時,則應(yīng)該再次定貨,也就是需要處理定貨信息。因此,把“處理事務(wù)”這個功能分解為下述3個步驟,這在邏輯上是合理的:“接收事務(wù)”、“更新庫存清單”和“處理定貨”(圖2.7)。當(dāng)對數(shù)據(jù)流圖分層細(xì)化時必須保持信息連續(xù)性,也就是說,當(dāng)把一個處理分解為一系列處理時,分解前和分解后的輸入輸出數(shù)據(jù)流必須相同。第31頁,共66頁。圖2.7 把處理事務(wù)的功能進一步分解后的數(shù)據(jù)流圖第32頁,共66頁。畫數(shù)據(jù)流圖的原則(注意事項)1、數(shù)據(jù)流圖上所有圖形符號只限于前述四種基本圖形元素。2、每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流,反映出此加工數(shù)據(jù)的來源與結(jié)果。3、圖上每個元素都必須有名字。4、畫數(shù)據(jù)流不是畫
19、控制流,只反映系統(tǒng)“做什么”,不反映“如何做”。整個圖不反映加工的執(zhí)行順序。5、編號:需按層給處理框編號。編號表明該處理處在哪一層以及上下圖父圖與子圖的關(guān)系。6、父圖與子圖的平衡。子圖的輸入輸出數(shù)據(jù)流同父圖相應(yīng)處理的輸入輸出必須一致。第33頁,共66頁。7、存儲:一個局部存儲只要當(dāng)它作為某些處理的數(shù)據(jù)接口或某個處理特定的輸入輸出時,就要把它畫出來,有助于實現(xiàn)信息的隱蔽。8、提高數(shù)據(jù)流圖的易理解性。(1)注意合理分解;(2)分解時注意字處理的獨立性與均勻性;(3)不要在一張圖上有些是基本處理,有些處理還要分解好幾層。第34頁,共66頁。數(shù)據(jù)流圖中每個成分的命名是否恰當(dāng),直接影響數(shù)據(jù)流圖的可理解性
20、。因此,給這些成分起名字時應(yīng)該仔細(xì)推敲。下面講述在命名時應(yīng)注意的問題:1. 為數(shù)據(jù)流(或數(shù)據(jù)存儲)命名(1) 名字應(yīng)代表整個數(shù)據(jù)流(或數(shù)據(jù)存儲)的內(nèi)容,而不是僅僅反映它的某些成分。(2) 不要使用空洞的、缺乏具體含義的名字(如“數(shù)據(jù)”、“信息”、“輸入”之類)。(3)數(shù)據(jù)流只反映系統(tǒng)“做什么”,不反映“如何做”,名字只能是名詞或名詞短語。2.4.3 命名第35頁,共66頁。(4) 如果在為某個數(shù)據(jù)流(或數(shù)據(jù)存儲)起名字時遇到了困難,則很可能是因為對數(shù)據(jù)流圖分解不恰當(dāng)造成的,應(yīng)該試試重新分解,看是否能克服這個困難。2. 為處理命名(1) 通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名。這樣命名
21、比較容易,而且體現(xiàn)了人類習(xí)慣的“由表及里”的思考過程。(2) 名字應(yīng)該反映整個處理的功能,而不是它的一部分功能。(3) 名字最好由一個具體的及物動詞加上一個具體的賓語組成。應(yīng)該盡量避免使用“加工”、“處理”等空洞籠統(tǒng)的動詞作名字。第36頁,共66頁。(4) 通常名字中僅包括一個動詞,如果必須用兩個動詞才能描述整個處理的功能,則把這個處理再分解成兩個處理可能更恰當(dāng)些。(5) 如果在為某個處理命名時遇到困難,則很可能是發(fā)現(xiàn)了分解不當(dāng)?shù)嫩E象,應(yīng)考慮重新分解。數(shù)據(jù)源點/終點并不需要在開發(fā)目標(biāo)系統(tǒng)的過程中設(shè)計和實現(xiàn),它并不屬于數(shù)據(jù)流圖的核心內(nèi)容,只不過是目標(biāo)系統(tǒng)的外圍環(huán)境部分(可能是人員、計算機外部設(shè)備
22、或傳感器裝置)。通常,為數(shù)據(jù)源點/終點命名時采用它們在問題域中習(xí)慣使用的名字(如“采購員”、“倉庫管理員”等)。第37頁,共66頁。畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具。分析員把他對現(xiàn)有系統(tǒng)的認(rèn)識或?qū)δ繕?biāo)系統(tǒng)的設(shè)想用數(shù)據(jù)流圖描繪出來,供有關(guān)人員審查確認(rèn)。由于在數(shù)據(jù)流圖中通常僅僅使用4種基本符號,而且不包含任何有關(guān)物理實現(xiàn)的細(xì)節(jié),因此,絕大多數(shù)用戶都可以理解和評價它。數(shù)據(jù)流圖應(yīng)該分層,并且在把功能級數(shù)據(jù)流圖細(xì)化后得到的處理超過9個時,應(yīng)該采用畫分圖的辦法,也就是把每個主要功能都細(xì)化為一張數(shù)據(jù)流分圖,而原有的功能級數(shù)據(jù)流圖用來描繪系統(tǒng)的整體邏輯概貌。2.4.4 用途第38頁,共66頁。數(shù)
23、據(jù)流圖的另一個主要用途是作為分析和設(shè)計的工具。分析員在研究現(xiàn)有的系統(tǒng)時常用系統(tǒng)流程圖表達他對這個系統(tǒng)的認(rèn)識,這種描繪方法形象具體,比較容易驗證它的正確性;但是,開發(fā)工程的目標(biāo)往往不是完全復(fù)制現(xiàn)有的系統(tǒng),而是創(chuàng)造一個能夠完成相同的或類似的功能的新系統(tǒng)。用系統(tǒng)流程圖描繪一個系統(tǒng)時,系統(tǒng)的功能和實現(xiàn)每個功能的具體方案是混在一起的。因此,分析員希望以另一種方式進一步總結(jié)現(xiàn)有的系統(tǒng),這種方式應(yīng)該著重描繪系統(tǒng)所完成的功能而不是系統(tǒng)的物理實現(xiàn)方案。數(shù)據(jù)流圖是實現(xiàn)這個目標(biāo)的極好手段。第39頁,共66頁。一、定義:數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。它的作用是在軟件分析
24、和設(shè)計的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。二、作用:數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴(yán)格,然而沒有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對數(shù)據(jù)流圖中每個元素的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說明。2.5 數(shù)據(jù)字典第40頁,共66頁。一般說來,數(shù)據(jù)字典應(yīng)該由下列4類元素的定義組成:(1)數(shù)據(jù)流(2) 數(shù)據(jù)流分量(即數(shù)據(jù)元素)(3) 數(shù)據(jù)存儲(4) 處理數(shù)據(jù)流: 一個數(shù)據(jù)流詞條應(yīng)有以下內(nèi)容數(shù)據(jù)流名-簡要介紹作用數(shù)據(jù)流來源-來自何方數(shù)據(jù)流組成-數(shù)組結(jié)構(gòu)數(shù)據(jù)流去向-去向何處每個數(shù)據(jù)量.流通量-數(shù)據(jù)量、流通量2.5.1 數(shù)據(jù)字典的內(nèi)容第41頁,共66頁。
25、例:數(shù)據(jù)流名稱:訂貨報表別 名:無簡 述:超過臨界值計算機產(chǎn)生的報告來 源:產(chǎn)生訂貨報告程序去 向:采購員數(shù) 據(jù) 流 量:1份/每天組 成:零件編號+零件名稱+定貨數(shù)量+目前價格+主要供應(yīng)者+次要供應(yīng)者。第42頁,共66頁。(2) 數(shù)據(jù)流分量(即數(shù)據(jù)元素)描述:數(shù)據(jù)元素名: 類型:數(shù)字、文字 長度:取值范圍: 相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu):例:數(shù)據(jù)項名稱:零件編號別 名:GNO G-NUM類 型:字符串 長 度:10取值范圍及含義: 第1位進口/國產(chǎn) 第2-3位類別 第5-7位規(guī)格 第8-10位品名編號第43頁,共66頁。(3) 數(shù)據(jù)存儲(數(shù)據(jù)文件)描述: 數(shù)據(jù)存取名: 簡述:存放的數(shù)據(jù) 輸入數(shù)據(jù)
26、: 輸出數(shù)據(jù): 數(shù)據(jù)文件組成: 存取頻率: 存儲方式:順序、直接、關(guān)鍵碼例:數(shù)據(jù)存取名:庫存紀(jì)錄 別名:無 簡述:簡述庫存所有可供貨物的信息 輸入數(shù)據(jù):入庫單、取貨單 輸出方式:取貨單 組成:貨物名稱+編號+生產(chǎn)廠家+單價+庫存量 組織方式:索引文件,以貨物編號為關(guān)鍵字 存取頻率: 要求能立即查詢第44頁,共66頁。(4) 處理(加工)描述: 處理名: 處理編號:反映處理的層次 簡要描述: 輸入數(shù)據(jù)流: 輸出數(shù)據(jù)流: 處理邏輯: 簡述處理程序,順序例:處理名:倉庫供貨 編號:1.2 簡要描述: 接收到合格訂單時激發(fā) 輸入: 合格訂單 輸出:可供貨訂單、缺貨訂單 加工邏輯:根據(jù)庫存紀(jì)錄 IF 訂
27、單項目的數(shù)量該項目庫存量的臨界值 THEN 可供貨處理 ELSE 此訂單缺貨登錄,待進貨后再處理 END IF 第45頁,共66頁。定義絕大多數(shù)復(fù)雜事物的方法,都是用被定義的事物的成分的某種組合表示這個事物,這些組成成分又由更低層的成分的組合來定義。從這個意義上說,定義就是自頂向下的分解,所以數(shù)據(jù)字典中的定義就是對數(shù)據(jù)自頂向下的分解。那么,應(yīng)該把數(shù)據(jù)分解到什么程度呢?一般說來,當(dāng)分解到不需要進一步定義,每個和工程有關(guān)的人也都清楚其含義的元素時,這種分解過程就完成了。2.5.2 定義數(shù)據(jù)的方法第46頁,共66頁。數(shù)據(jù)字典最重要的用途是作為分析階段的工具。1、在數(shù)據(jù)字典中建立的一組嚴(yán)密一致的定義很
28、有助于改進分析員和用戶之間的通信,因此將消除許多可能的誤解。2、對數(shù)據(jù)的這一系列嚴(yán)密一致的定義也有助于改進在不同的開發(fā)人員或不同的開發(fā)小組之間的通信。如果要求所有開發(fā)人員都根據(jù)公共的數(shù)據(jù)字典描述數(shù)據(jù)和設(shè)計模塊,則能避免許多麻煩的接口問題。2.5.3 數(shù)據(jù)字典的用途第47頁,共66頁。數(shù)據(jù)字典中包含的每個數(shù)據(jù)元素的控制信息是很有價值的。因為列出了使用一個給定的數(shù)據(jù)元素的所有程序(或模塊),所以很容易估計改變一個數(shù)據(jù)將產(chǎn)生的影響,并且能對所有受影響的程序或模塊作出相應(yīng)的改變。最后,數(shù)據(jù)字典是開發(fā)數(shù)據(jù)庫的第一步,而且是很有價值的一步。第48頁,共66頁。目前,數(shù)據(jù)字典幾乎總是作為CASE“結(jié)構(gòu)化分析
29、與設(shè)計工具”的一部分實現(xiàn)的。在開發(fā)大型軟件系統(tǒng)的過程中,數(shù)據(jù)字典的規(guī)模和復(fù)雜程度迅速增加,人工維護數(shù)據(jù)字典幾乎是不可能的。如果在開發(fā)小型軟件系統(tǒng)時暫時沒有數(shù)據(jù)字典處理程序,建議采用卡片形式書寫數(shù)據(jù)字典,每張卡片上保存描述一個數(shù)據(jù)的信息。這樣做更新和修改起來比較方便,而且能單獨處理描述每個數(shù)據(jù)的信息。每張卡片上主要應(yīng)該包含下述這樣一些信息:名字、別名、描述、定義、位置。2.5.4 數(shù)據(jù)字典的實現(xiàn)第49頁,共66頁。開發(fā)一個軟件系統(tǒng)是一種投資,期望將來獲得更大的經(jīng)濟效益。經(jīng)濟效益通常表現(xiàn)為減少運行費用或(和)增加收入。但是,投資開發(fā)新系統(tǒng)往往要冒一定風(fēng)險,系統(tǒng)的開發(fā)成本可能比預(yù)計的高,效益可能比預(yù)
30、期的低。效益分析的目的正是要從經(jīng)濟角度分析開發(fā)一個特定的新系統(tǒng)是否劃算,從而幫助客戶組織的負(fù)責(zé)人正確地作出是否投資于這項開發(fā)工程的決定。為了對比成本和效益,首先需要估計它們的數(shù)量。2.6 成本/效益分析第50頁,共66頁。軟件開發(fā)成本主要表現(xiàn)為人力消耗(乘以平均工資則得到開發(fā)費用)。成本估計不是精確的科學(xué),因此應(yīng)該使用幾種不同的估計技術(shù)以便相互校驗。下面簡單介紹3種估算技術(shù)。1. 代碼行技術(shù)代碼行技術(shù)是比較簡單的定量估算方法,它把開發(fā)每個軟件功能的成本和實現(xiàn)這個功能需要用的源代碼行數(shù)聯(lián)系起來。通常根據(jù)經(jīng)驗和歷史數(shù)據(jù)估計實現(xiàn)一個功能需要的源程序行數(shù)。當(dāng)有以往開發(fā)類似工程的歷史數(shù)據(jù)可供參考時,這個
31、方法是非常有效的。2.6.1 成本估計第51頁,共66頁。一旦估計出源代碼行數(shù)以后,用每行代碼的平均成本乘以行數(shù)就可以確定軟件的成本。每行代碼的平均成本主要取決于軟件的復(fù)雜程度和工資水平。2. 任務(wù)分解技術(shù)這種方法首先把軟件開發(fā)工程分解為若干個相對獨立的任務(wù)。再分別估計每個單獨的開發(fā)任務(wù)的成本,最后累加起來得出軟件開發(fā)工程的總成本。估計每個任務(wù)的成本時,通常先估計完成該項任務(wù)需要用的人力(以人月為單位),再乘以每人每月的平均工資而得出每個任務(wù)的成本。第52頁,共66頁。最常用的辦法是按開發(fā)階段劃分任務(wù)。如果軟件系統(tǒng)很復(fù)雜,由若干個子系統(tǒng)組成,則可以把每個子系統(tǒng)再按開發(fā)階段進一步劃分成更小的任務(wù)
32、。典型環(huán)境下各個開發(fā)階段需要使用的人力的百分比大致如表2.2(見書40頁)所示。當(dāng)然,應(yīng)該針對每個開發(fā)工程的具體特點,并且參照以往的經(jīng)驗盡可能準(zhǔn)確地估計每個階段實際需要使用的人力。3. 自動估計成本技術(shù) 采用自動估計成本的軟件工具可以減輕人的勞動,并且使得估計的結(jié)果更客觀。但是,采用這種技術(shù)必須有長期搜集的大量歷史數(shù)據(jù)為基礎(chǔ),并且需要有良好的數(shù)據(jù)庫系統(tǒng)支持。第53頁,共66頁。 成本/效益分析的第一步是估計開發(fā)成本、運行費用和新系統(tǒng)將帶來的經(jīng)濟效益。 雖然許多系統(tǒng)在開發(fā)時預(yù)期生命周期長達10年以上,但是時間越長系統(tǒng)被廢棄的可能性也越大,為了保險起見,以后在進行成本/效益分析時一律假設(shè)生命周期為
33、5年。 比較新系統(tǒng)的開發(fā)成本和經(jīng)濟效益,以便從經(jīng)濟角度判斷這個系統(tǒng)是否值得投資,但是,投資是現(xiàn)在進行的,效益是將來獲得的,不能簡單地比較成本和效益,應(yīng)該考慮貨幣的時間價值。2.6.2 成本/效益分析的方法第54頁,共66頁。1. 貨幣的時間價值 通常用利率的形式表示貨幣的時間價值。假設(shè)年利率為i,如果現(xiàn)在存入P元,則n年后可以得到的錢數(shù)為:F=P(1+i)n 這也就是P元錢在n年后的價值。反之,如果n年后能收入F元錢,那么這些錢的現(xiàn)在價值是P=F/(1+i)n第55頁,共66頁。例如,修改一個已有的庫存清單系統(tǒng),使它能在每天送給采購員一份定貨報表。修改已有的庫存清單程序并且編寫產(chǎn)生報表的程序,
34、估計共需5000元;系統(tǒng)修改后能及時定貨將消除零件短缺問題,估計因此每年可以節(jié)省2500元,5年共可節(jié)省12500元。但是,不能簡單地把5000元和12500元相比較,因為前者是現(xiàn)在投資的錢,后者是若干年以后節(jié)省的錢。假定年利率為12%,利用上面計算貨幣現(xiàn)在價值的公式可以算出修改庫存清單系統(tǒng)后每年預(yù)計節(jié)省的錢的現(xiàn)在價值,如表2.3(見書41頁)所示。第56頁,共66頁。 將來的收入折算成現(xiàn)在值 年 將來值元 (1+ i ) 現(xiàn)在值元 累計現(xiàn)值元 1 2 500 1.12 2 232.14 2 232.14 2 2 500 1.25 1 992.98 4 225.12 3 2 500 1.40
35、1 779.45 6 004.57 4 2 500 1.57 1 588.80 7 593.37 5 2 500 1.76 1 418.57 9 011.94第57頁,共66頁。2. 投資回收期通常用投資回收期衡量一項開發(fā)工程的價值。所謂投資回收期就是使累計的經(jīng)濟效益等于最初投資所需要的時間。顯然,投資回收期越短就能越快獲得利潤,因此這項工程也就越值得投資。投資回收期僅僅是一項經(jīng)濟指標(biāo),為了衡量一項開發(fā)工程的價值,還應(yīng)該考慮其他經(jīng)濟指標(biāo)。第58頁,共66頁。3. 純收入衡量工程價值的另一項經(jīng)濟指標(biāo)是工程的純收入,也就是在整個生命周期之內(nèi)系統(tǒng)的累計經(jīng)濟效益(折合成現(xiàn)在值)與投資之差。這相當(dāng)于比較
36、投資開發(fā)一個軟件系統(tǒng)和把錢存在銀行中(或貸給其他企業(yè))這兩種方案的優(yōu)劣。如果純收入為零,則工程的預(yù)期效益和在銀行存款一樣,但是開發(fā)一個系統(tǒng)要冒風(fēng)險,因此從經(jīng)濟觀點看這項工程可能是不值得投資的。如果純收入小于零,那么這項工程顯然不值得投資。第59頁,共66頁。4. 投資回收率把資金存入銀行或貸給其他企業(yè)能夠獲得利息,通常用年利率衡量利息多少。類似地也可以計算投資回收率,用它衡量投資效益的大小,并且可以把它和年利率相比較,在衡量工程的經(jīng)濟效益時,它是最重要的參考數(shù)據(jù)。第60頁,共66頁。已知現(xiàn)在的投資額,并且已經(jīng)估計出將來每年可以獲得的經(jīng)濟效益,那么,給定軟件的使用壽命之后,怎樣計算投資回收率呢?設(shè)想把數(shù)量等于投資額的資金存入銀行,每年年底從銀行取回的錢等于系統(tǒng)每年預(yù)期可以獲得的效益,在時間等于系統(tǒng)壽命時,正好把在銀行中的存款全部取光,那么,年利率等于多少呢?這個假想的年利率就等于投資回收率。第61頁,共66頁??尚行匝芯窟M一步探討問題定義階段所確定的問題是否有可行的解。
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年畢節(jié)幼兒師范高等??茖W(xué)校單招職業(yè)技能測試題庫新版
- 2025年福建電力職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫匯編
- 2025年防城港職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫新版
- 2025年甘肅省隴南地區(qū)單招職業(yè)傾向性測試題庫審定版
- 2025年常州信息職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試題庫及答案一套
- 2025年貴州工貿(mào)職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫必考題
- 2025年廣西經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫及參考答案一套
- 2025年廣東省河源市單招職業(yè)傾向性測試題庫附答案
- 數(shù)字化背景下的社區(qū)文化-深度研究
- 兒童健康行為引導(dǎo)-深度研究
- S水電站引水建筑物設(shè)計
- 110kV軟母線及引連線施工方案
- 鼓譜——海闊天空
- CT報告單模板
- 足球比賽計分表(共6頁)
- 軟件概要設(shè)計說明書范例(共21頁)
- 干式變壓器和低壓配電柜日常巡檢書
- 研究性學(xué)習(xí)成果一覽表
- 生產(chǎn)一致性控制計劃
- 鐵路勞動安全培訓(xùn)鐵路安全培訓(xùn)知識專題PPT課件(帶內(nèi)容)
- 境外公共安全管理.ppt
評論
0/150
提交評論