軟件工程導(dǎo)論第4版第2章
《軟件工程導(dǎo)論第4版第2章》由會員分享,可在線閱讀,更多相關(guān)《軟件工程導(dǎo)論第4版第2章(74頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第2章 可行性研究,2.1 可行性研究的任務(wù) 2.2 可行性研究過程 2.3 系統(tǒng)流程圖 2.4 數(shù)據(jù)流圖 2.5 數(shù)據(jù)字典 2.6 成本/效益分析 2.7 小結(jié) 習(xí)題,可行性研究的目的不是解決問題,而是確定問題是否值得去解決。怎樣達(dá)到這個目的呢?當(dāng)然不能靠主觀猜想而只能靠客觀分析。必須分析幾種主要的可能解法的利弊,從而判斷原定的系統(tǒng)規(guī)模和目標(biāo)是否現(xiàn)實,系統(tǒng)完成后所能帶來的效益是否大到值得投資開發(fā)這個系統(tǒng)的程度。因此,可行性研究實質(zhì)上是要進(jìn)行一次大大壓縮簡化了的系統(tǒng)分析和設(shè)計的過程,也就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計的過程。,2.1 可行性研究的任務(wù),首先需要進(jìn)一步分析和澄清
2、問題定義。在問題定義階段初步確定的規(guī)模和目標(biāo),如果是正確的就進(jìn)一步加以肯定,如果有錯誤就應(yīng)該及時改正,如果對目標(biāo)系統(tǒng)有任何約束和限制,也必須把它們清楚地列舉出來。 在澄清了問題定義之后,分析員應(yīng)該導(dǎo)出系統(tǒng)的邏輯模型。然后從系統(tǒng)邏輯模型出發(fā),探索若干種可供選擇的主要解法(即系統(tǒng)實現(xiàn)方案)。對每種解法都應(yīng)該仔細(xì)研究它的可行性,一般說來,至少應(yīng)該從下述三方面研究每種解法的可行性。,(1) 技術(shù)可行性:使用現(xiàn)有的技術(shù)能實現(xiàn)這個系統(tǒng)嗎? (2) 經(jīng)濟(jì)可行性:這個系統(tǒng)的經(jīng)濟(jì)效益能超過它的開發(fā)成本嗎? (3) 操作可行性:系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎? 必要時還應(yīng)該從法律、社會效益等更廣泛的方
3、面研究每種解法的可行性。 分析員應(yīng)該為每個可行的解法制定一個粗略的實現(xiàn)進(jìn)度。,可行性研究最根本的任務(wù)是對以后的行動方針提出建議。如果問題沒有可行的解,分析員應(yīng)該建議停止這項開發(fā)工程,以避免時間、資源、人力和金錢的浪費;如果問題值得解,分析員應(yīng)該推薦一個較好的解決方案,并且為工程制定一個初步的計劃。 可行性研究需要的時間長短取決于工程的規(guī)模。一般說來,可行性研究的成本只是預(yù)期的工程總成本的5%10%。,典型的可行性研究過程有下述一些步驟: 1. 復(fù)查系統(tǒng)規(guī)模和目標(biāo) 分析員訪問關(guān)鍵人員,仔細(xì)閱讀和分析有關(guān)的材料,以便對問題定義階段書寫的關(guān)于規(guī)模和目標(biāo)的報告書進(jìn)一步復(fù)查確認(rèn),改正含糊或不確切的
4、敘述,清晰地描述對目標(biāo)系統(tǒng)的一切限制和約束。這個步驟的工作,實質(zhì)上是為了確保分析員正在解決的問題確實是要求他解決的問題。,2.2 可行性研究過程,沒有一個系統(tǒng)是在“真空”中運行的,絕大多數(shù)系統(tǒng)都和其他系統(tǒng)有聯(lián)系。應(yīng)該注意了解并記錄現(xiàn)有系統(tǒng)和其他系統(tǒng)之間的接口情況,這是設(shè)計新系統(tǒng)時的重要約束條件。 3. 導(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)的邏輯模型建造新的物理系統(tǒng)。,通過前一步的工作,分析員對目標(biāo)系統(tǒng)應(yīng)該具有的基本功能和所受的約束已有一定了解,能夠使用數(shù)據(jù)流圖(參看2.
5、4節(jié)),描繪數(shù)據(jù)在系統(tǒng)中流動和處理的情況,從而概括地表達(dá)出他對新系統(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)。,4. 進(jìn)一步定義問題 新系統(tǒng)的邏輯模型實質(zhì)上表達(dá)了分析員對新系統(tǒng)必須做什么的看法。分析員應(yīng)該和用戶一起再次復(fù)查問題定義、工程規(guī)模和目標(biāo),這次復(fù)查應(yīng)該把數(shù)據(jù)流圖和數(shù)據(jù)字典作為討論的基礎(chǔ)。如果分析員對問題有誤解或者用戶曾經(jīng)遺漏了某些要求,那么現(xiàn)在是發(fā)現(xiàn)和改正這些錯誤的時候了。 可行性研究的前4個步驟實質(zhì)上構(gòu)成一個循環(huán)。分析員定義問題,分
6、析這個問題,導(dǎo)出一個試探性的解;在此基礎(chǔ)上再次定義問題,再一次分析這個問題,修改這個解;繼續(xù)這個循環(huán)過程,直到提出的邏輯模型完全符合系統(tǒng)目標(biāo)。,5. 導(dǎo)出和評價供選擇的解法 分析員應(yīng)該從他建議的系統(tǒng)邏輯模型出發(fā),導(dǎo)出若干個較高層次的(較抽象的)物理解法供比較和選擇。導(dǎo)出供選擇的解法的最簡單的途徑,是從技術(shù)角度出發(fā)考慮解決問題的不同方案。還可以使用組合的方法導(dǎo)出若干種可能的物理系統(tǒng)。 當(dāng)從技術(shù)角度提出了一些可能的物理系統(tǒng)之后,應(yīng)該根據(jù)技術(shù)可行性的考慮初步排除一些不現(xiàn)實的系統(tǒng)。把技術(shù)上行不通的解法去掉之后,就剩下了一組技術(shù)上可行的方案。,其次可以考慮操作方面的可行性。分析員應(yīng)該根據(jù)使用部門處理
7、事務(wù)的原則和習(xí)慣,檢查技術(shù)上可行的那些方案,去掉其中從操作方式或操作過程的角度看用戶不能接受的方案。 接下來應(yīng)該考慮經(jīng)濟(jì)方面的可行性。分析員應(yīng)該估計余下的每個可能的系統(tǒng)的開發(fā)成本和運行費用,并且估計相對于現(xiàn)有的系統(tǒng)而言這個系統(tǒng)可以節(jié)省的開支或可以增加的收入。在這些估計數(shù)字的基礎(chǔ)上,對每個可能的系統(tǒng)進(jìn)行成本/效益分析(參看2.6節(jié))。一般說來,只有投資預(yù)計能帶來利潤的系統(tǒng)才值得進(jìn)一步考慮。,最后為每個在技術(shù)、操作和經(jīng)濟(jì)等方面都可行的系統(tǒng)制定實現(xiàn)進(jìn)度表,這個進(jìn)度表不需要(也不可能)制定得很詳細(xì),通常只需要估計生命周期每個階段的工作量。,6. 推薦行動方針 根據(jù)可行性研究結(jié)果應(yīng)該做出的一個關(guān)鍵性
8、決定是,是否繼續(xù)進(jìn)行這項開發(fā)工程。分析員必須清楚地表明他對這個關(guān)鍵性決定的建議。如果分析員認(rèn)為值得繼續(xù)進(jìn)行這項開發(fā)工程,那么他應(yīng)該選擇一種最好的解法,并且說明選擇這個解決方案的理由。通常使用部門的負(fù)責(zé)人主要根據(jù)經(jīng)濟(jì)上是否劃算決定是否投資于一項開發(fā)工程,因此分析員對于所推薦的系統(tǒng)必須進(jìn)行比較仔細(xì)的成本/效益分析。,7. 草擬開發(fā)計劃 分析員應(yīng)該為所推薦的方案草擬一份開發(fā)計劃,除了制定工程進(jìn)度表之外還應(yīng)該估計對各類開發(fā)人員和各種資源的需要情況,應(yīng)該指明什么時候使用以及使用多長時間。此外還應(yīng)該估計系統(tǒng)生命周期每個階段的成本。最后應(yīng)該給出下一個階段(需求分析)的詳細(xì)進(jìn)度表和成本估計。 8. 書寫文檔
9、提交審查 應(yīng)該把上述可行性研究各個步驟的工作結(jié)果寫成清晰的文檔,請用戶、客戶組織的負(fù)責(zé)人及評審組審查,以決定是否繼續(xù)這項工程及是否接受分析員推薦的方案。,系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。它的基本思想是用圖形符號以黑盒子形式描繪組成系統(tǒng)的每個部件(程序,文檔,數(shù)據(jù)庫,人工過程等)。系統(tǒng)流程圖表達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流動的情況,而不是對數(shù)據(jù)進(jìn)行加工處理的控制過程,因此盡管系統(tǒng)流程圖的某些符號和程序流程圖的符號形式相同,但是它卻是物理數(shù)據(jù)流圖而不是程序流程圖。,2.3 系統(tǒng)流程圖,當(dāng)以概括的方式抽象地描繪一個實際系統(tǒng)時,僅僅使用圖2.1中列出的基本符號就足夠了。 當(dāng)需要更具體地描繪
10、一個物理系統(tǒng)時還需要使用圖2.2(見書29頁)中列出的系統(tǒng)符號,利用這些符號可以把一個廣義的輸入輸出操作具體化為讀寫存儲在特殊設(shè)備上的文件(或數(shù)據(jù)庫),把抽象處理具體化為特定的程序或手工操作等。,2.3.1 符號,圖2.1 基本符號,介紹系統(tǒng)流程圖的最好方法可能是通過一個具體例子說明它的用法。下面是一個簡單的例子。 某裝配廠有一座存放零件的倉庫,倉庫中現(xiàn)有的各種零件的數(shù)量以及每種零件的庫存量臨界值等數(shù)據(jù)記錄在庫存清單主文件中。當(dāng)倉庫中零件數(shù)量有變化時,應(yīng)該及時修改庫存清單主文件,如果哪種零件的庫存量少于它的庫存量臨界值,則應(yīng)該報告給采購部門以便定貨,規(guī)定每天向采購部門送一次定貨報告。,2.3
11、.2 例子,該裝配廠使用一臺小型計算機(jī)處理更新庫存清單主文件和產(chǎn)生定貨報告的任務(wù)。零件庫存量的每一次變化稱為一個事務(wù),由放在倉庫中的CRT終端輸入到計算機(jī)中;系統(tǒng)中的庫存清單程序?qū)κ聞?wù)進(jìn)行處理,更新存儲在磁盤上的庫存清單主文件,并且把必要的定貨信息寫在磁帶上。最后,每天由報告生成程序讀一次磁帶,并且打印出定貨報告。圖2.3的系統(tǒng)流程圖描繪了上述系統(tǒng)的概貌。 圖中每個符號用黑盒子形式定義了組成系統(tǒng)的一個部件,然而并沒有指明每個部件的具體工作過程;圖中的箭頭確定了信息通過系統(tǒng)的邏輯路徑。 系統(tǒng)流程圖的習(xí)慣畫法是使信息在圖中從頂向下或從左向右流動。,圖2.3 庫存清單系統(tǒng)的系統(tǒng)流程圖,面對復(fù)雜的
12、系統(tǒng)時,一個比較好的方法是分層次地描繪這個系統(tǒng)。首先用一張高層次的系統(tǒng)流程圖描繪系統(tǒng)總體概貌,表明系統(tǒng)的關(guān)鍵功能。然后分別把每個關(guān)鍵功能擴(kuò)展到適當(dāng)?shù)脑敿?xì)程度,畫在單獨的一頁紙上。這種分層次的描繪方法便于閱讀者按從抽象到具體的過程逐步深入地了解一個復(fù)雜的系統(tǒng)。,2.3.3 分層,數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程。數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示,即使不是專業(yè)的計算機(jī)技術(shù)人員也容易理解它,因此是分析員與用戶之間極好的通信工具。此外,設(shè)計數(shù)據(jù)流圖時只需考慮系統(tǒng)必
13、須完成的基本邏輯功能,完全不需要考慮怎樣具體地實現(xiàn)這些功能,所以它也是今后進(jìn)行軟件設(shè)計的很好的出發(fā)點。,2.4 數(shù)據(jù)流圖,數(shù)據(jù)流圖(Data Flow Diagram簡稱DFD)是結(jié)構(gòu)化分析的一種主要工具,是軟件系統(tǒng)開發(fā)的主要工具,是組織中信息運動的抽象,是系統(tǒng)邏輯模型的主要形式。它使用一組簡單的符號,描述系統(tǒng)的數(shù)據(jù)由外部“流入”系統(tǒng),經(jīng)過多級的加工處理,經(jīng)過不同結(jié)構(gòu)的存儲,最后以用戶所需要的各種形式“流出”的全過程。它是面向功能的。, DFD是結(jié)構(gòu)化分析工具、是系統(tǒng)開發(fā)的重要工具、是組織中信息運動的抽象、是系統(tǒng)邏輯模型的重要形式。 DFD是系統(tǒng)設(shè)計的主要依據(jù)。 采用自頂向下、逐層分解、先整體
14、后局部的思想(結(jié)構(gòu)化思想)進(jìn)行設(shè)計。具體分為: 頂層圖:反映系統(tǒng)總的處理功能及系統(tǒng)的外部環(huán)境(外部實體、數(shù)據(jù)流)。 一級細(xì)化圖(第一層):對頂層圖功能的分解與細(xì)化。 二級細(xì)化圖(第二層):對一級細(xì)化圖每個處理功能的進(jìn)一步分解細(xì)化。 上層圖的概括與抽象程度高,而下層圖的細(xì)化程度高。 細(xì)化原則:細(xì)化不是無止境的,以功能單一為止 。,1數(shù)據(jù)流圖說明,2數(shù)據(jù)流圖符號,外部實體:系統(tǒng)之外向系統(tǒng)提供原始數(shù)據(jù)的實體及接受系統(tǒng)結(jié)果數(shù)據(jù)的實體。, 實體可以是人或機(jī)構(gòu)。 DFD中的實體與業(yè)務(wù)流程圖中的實體不是一一對應(yīng)的,業(yè)務(wù)流程圖中進(jìn)行系統(tǒng)內(nèi)部處理的實體在DFD中不屬于外部實體。 有些查詢信息的接收者較多,可用“
15、有關(guān)人員”來表示外部實體。 有些輸入或輸出的數(shù)據(jù)流涉及多個外部實體,可用概括的名稱來表示。如:“基層單位”、“各車間”等。,說 明:,處理:計算機(jī)對數(shù)據(jù)的加工處理。,說 明: 處理的名稱用動賓結(jié)構(gòu)。 分解、細(xì)化的過程中要注意代碼的對應(yīng)反映出在處理DFD中的層次關(guān)系。如:P;P1,P2 ;P1.1,P1.2 ;P2.1,P2.2,數(shù)據(jù)存儲:保存數(shù)據(jù)的數(shù)據(jù)庫文件。,說 明: DFD中的存儲是數(shù)據(jù)庫設(shè)計的基礎(chǔ)。 數(shù)據(jù)存儲也可以細(xì)分,分解后的數(shù)據(jù)存儲代碼要反映出其層次關(guān)系。Dn Dn1,Dn2,Dn3 數(shù)據(jù)存儲的名稱是唯一的,是名詞或名詞詞組。,數(shù)據(jù)流:系統(tǒng)輸入與輸出的數(shù)據(jù)。,說 明: 數(shù)據(jù)流的名稱
16、應(yīng)與業(yè)務(wù)中的各種票據(jù)、報表相對應(yīng),其名稱應(yīng)是唯一的。 對于流入或流出存儲的數(shù)據(jù)流,當(dāng)其名稱與存儲名稱相同時可以省略其名稱及代碼。 在頂層DFD圖中已經(jīng)給出了數(shù)據(jù)流的名稱及代碼時,在其細(xì)化的圖中可以不再標(biāo)明其名稱而只標(biāo)代碼即可。 數(shù)據(jù)流也可以細(xì)化。,(1)按照自頂向下逐層分解的思想,將系統(tǒng)的功能逐步分解成功能獨立的處理。一個處理分解后的圖稱其為該處理的子圖,子圖與父圖必須保持輸入與輸出的一致。 (2)同一級細(xì)化圖的各子圖可以通過公共的存儲聯(lián)系起來組成該級完整的細(xì)化圖。 (3)為減少數(shù)據(jù)流線的交叉,允許同一存儲或?qū)嶓w在同一個圖中重復(fù)畫出。 (4)處理與處理是通過存儲聯(lián)系的,不能直接用數(shù)據(jù)流線連結(jié)。
17、,3數(shù)據(jù)流圖設(shè)計規(guī)則,(5)存儲的輸入來源或輸出去向不能是外部實體,只能是處理。 (6)同一數(shù)據(jù)流不允許在同一級圖中重復(fù)出現(xiàn),數(shù)據(jù)不允許重復(fù)錄入。 (7)處理中的非正常的錯誤情況處理,在DFD中不予表示,在DFD中,輸入的數(shù)據(jù)就應(yīng)該是正確的。 (8)數(shù)據(jù)處理對一個數(shù)據(jù)存儲中的數(shù)據(jù)即讀又寫時,則數(shù)據(jù)流應(yīng)用雙向箭頭。 (9)輸入的查詢條件及對話信息,不應(yīng)作為數(shù)據(jù)流出現(xiàn)在DFD中。,3數(shù)據(jù)流程圖設(shè)計規(guī)則,3數(shù)據(jù)流程圖設(shè)計規(guī)則,(10)一個處理必須有輸入與輸出。 (11)簡化DFD畫圖的規(guī)則: a.各圖形元素的名稱,只要上一級中已經(jīng)給出,在其后面的圖中就可以省略而只用其代碼即可。 b.流入或流出存儲的
18、數(shù)據(jù)流不必為之命名和確定代碼。 c.外部實體在頂層圖中給出后,在其后的各圖中均可省略。,(1)子圖與父圖的輸入、輸出必需保持一致的原則 。,4數(shù)據(jù)流圖設(shè)計規(guī)則說明,4數(shù)據(jù)流程圖設(shè)計規(guī)則說明,(2)各子圖可通過公共的存儲聯(lián)系起來。,4數(shù)據(jù)流程圖設(shè)計規(guī)則說明,(3)存儲的輸入來源與輸出去向不能是外部實體,而只能是處理 。,4數(shù)據(jù)流程圖設(shè)計規(guī)則說明,(4)非正常的錯誤情況處理,在DFD中不予表示。,(5)處理與處理是通過存儲聯(lián)系的,不能直接用數(shù)據(jù)流線連結(jié)。,4數(shù)據(jù)流程圖設(shè)計規(guī)則說明,,(6) 任何一個處理至少應(yīng)有一個輸入的數(shù)據(jù)流和一個輸出的數(shù)據(jù)流。,4數(shù)據(jù)流程圖設(shè)計規(guī)則說明,(7)同一個數(shù)據(jù)流在同一
19、個圖中不能重復(fù)出現(xiàn)。,4數(shù)據(jù)流程圖設(shè)計規(guī)則說明,(1)明確用戶需求及業(yè)務(wù)處理詳細(xì)過程與方法; (2)明確系統(tǒng)的界限 ; (3)做好數(shù)據(jù)庫的概念設(shè)計; (4)考慮網(wǎng)絡(luò)環(huán)境下各子系統(tǒng)的數(shù)據(jù)共享問題; (5)設(shè)計頂層圖 ; (6)設(shè)計一級細(xì)化DFD ; (7)設(shè)計二級細(xì)化DFD ; (8)設(shè)計三級及三級以下的細(xì)化DFD。,5數(shù)據(jù)流圖設(shè)計步驟,(1)功能分解。根據(jù)處理業(yè)務(wù)而逐步細(xì)化,就是將一個整體業(yè)務(wù),先分成幾個部分,再進(jìn)一步將每個部分分解成小的部分,。在實際設(shè)計中,高層按功能分解,低層按輸入、處理、輸出三部分分解。 (2)寬度與深度的考慮。在分解功能時,既不能過細(xì),也不應(yīng)過粗,一般一個處理分解后的處
20、理個數(shù)應(yīng)在37之間為宜。寬度大則深度小,寬度小則深度大,設(shè)計時應(yīng)很好地權(quán)衡這兩方面 。 (3)細(xì)化不是越細(xì)越好,原則是數(shù)據(jù)處理具有單一功能。,6DFD設(shè)計考慮的幾個問題,方案1:按業(yè)務(wù)處理功能分解,(1) 學(xué)生成績管理頂層DFD,7學(xué)生成績管理DFD設(shè)計舉例,(2) 學(xué)生成績管理一級細(xì)化 DFD,(3) 學(xué)生成績管理二級細(xì)化 DFD,方案2:按“輸入、處理、輸出”的方法分解,(1) 學(xué)生成績管理頂層DFD,(2) 學(xué)生成績管理一級細(xì)化 DFD,(3) 學(xué)生成績管理二級細(xì)化 DFD,2.5數(shù)據(jù)字典,數(shù)據(jù)字典是數(shù)據(jù)流程圖中所有元素的定義和說明的集合。這些元素是: 數(shù)據(jù)項 數(shù)據(jù)項又稱數(shù)據(jù)元素,是系統(tǒng)
21、中不可再分解的數(shù)據(jù)單元,是系統(tǒng)處理的基本數(shù)據(jù)單元,是數(shù)據(jù)流、數(shù)據(jù)存儲的基本組成元素。在數(shù)據(jù)字典中,數(shù)據(jù)項條目包括數(shù)據(jù)項名稱、別名、類型、長度和值域等屬性。 數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)用于描述某些數(shù)據(jù)項之間的關(guān)系。一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結(jié)構(gòu)組成,還可以由若干個數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)組成。數(shù)據(jù)字典中,數(shù)據(jù)結(jié)構(gòu)條目包括數(shù)據(jù)結(jié)構(gòu)的名稱、編號、簡單描述及其組成等。,數(shù)據(jù)流 數(shù)據(jù)流描述數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)中的傳輸路徑。數(shù)據(jù)流條目包括數(shù)據(jù)流來源、去向、組成和流量等屬性。 數(shù)據(jù)存儲 數(shù)據(jù)存儲指數(shù)據(jù)暫存或永久保存的地方。數(shù)據(jù)存儲條目包括:名稱、編號、流入/流出的數(shù)據(jù)流、組成、存取分析和關(guān)鍵字
22、說明等。,處理邏輯 處理邏輯條目是對數(shù)據(jù)流程圖中最底層的處理邏輯加以說明。處理邏輯條目包括:在數(shù)據(jù)流程圖中的名稱、編號、對處理過程的簡單描述、處理過程的輸入/輸出、數(shù)據(jù)流及其來源和去向、主要功能的描述等。 外部實體 外部實體是信息系統(tǒng)數(shù)據(jù)的來源與去向。外部實體條目包括:實體名稱、對實體的簡單描述和有關(guān)的數(shù)據(jù)流等。,數(shù)據(jù)字典的建立有兩種方式,即可以由手工方式生成,也可以由計算機(jī)方式生成。 手工方式是將各類條目按要求寫在卡片上或者寫在紙上,并分類建立一覽表。 計算機(jī)方式是在手工方式的基礎(chǔ)上,將各條目整理、存儲在計算機(jī)中,由軟件進(jìn)行管理。,編號:唯一標(biāo)識,DFD中的數(shù)據(jù)流代碼。 來源:外部實體、處理
23、。 去向:處理、外部實體。 數(shù)據(jù)結(jié)構(gòu):構(gòu)成它的數(shù)據(jù)項。,數(shù)據(jù)流卡 名稱:成績單 編號:F1 來源:外部實體“教師”,,,注 意 所定義的數(shù)據(jù)流是TOP圖中所給出的數(shù)據(jù)流; 數(shù)據(jù)流的“來源”、“去向”以最底層的DFD來決定。,數(shù)據(jù)流條目的內(nèi)容與格式,數(shù)據(jù)流條目的內(nèi)容與格式,數(shù)據(jù)存儲條目的內(nèi)容與格式,編號:唯一標(biāo)識 = DFD中的存儲代碼。 相關(guān)處理:說明進(jìn)行讀寫操作的哪些作。,注 意 它所定義的存儲與DFD中的存儲的名稱和代碼必須一致。 它所定義的存儲對應(yīng)DFD中最底層的存儲。,編號:等于處理的代碼,唯一標(biāo)識。 輸入:數(shù)據(jù)流、存儲。 處理:實際處理業(yè)務(wù)的描述。如:
24、計算方法、公式、分析、比較、加工等。 輸出:數(shù)據(jù)流、存儲。,注 意 只定義最底層的數(shù)據(jù)處理。,數(shù)據(jù)處理條目的內(nèi)容與格式,數(shù)據(jù)元素條目的內(nèi)容與格式,編號:順序號。 名稱、別名:意義相同,名稱不同的情況。 取值范圍:對數(shù)據(jù)校驗有用。 相關(guān)數(shù)據(jù)流、相關(guān)存儲:用于DFD中的數(shù)據(jù)流和存儲。,開發(fā)一個軟件系統(tǒng)是一種投資,期望將來獲得更大的經(jīng)濟(jì)效益。經(jīng)濟(jì)效益通常表現(xiàn)為減少運行費用或(和)增加收入。但是,投資開發(fā)新系統(tǒng)往往要冒一定風(fēng)險,系統(tǒng)的開發(fā)成本可能比預(yù)計的高,效益可能比預(yù)期的低。效益分析的目的正是要從經(jīng)濟(jì)角度分析開發(fā)一個特定的新系統(tǒng)是否劃算,從而幫助客戶組織的負(fù)責(zé)人正確地作出是否投資于這項開發(fā)工程的決定
25、。 為了對比成本和效益,首先需要估計它們的數(shù)量。,2.6 成本/效益分析,軟件開發(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ù)可供參考時,這個方法是非常有效的。,2.6.1 成本估計,一旦估計出源代碼行數(shù)以后,用每行代碼的平均成本乘以行數(shù)就可以確定軟件的成本。每行代碼的平均成本主要
26、取決于軟件的復(fù)雜程度和工資水平。 2. 任務(wù)分解技術(shù) 方法首先把軟件開發(fā)工程分解為若干個相對獨立的任務(wù)。再分別估計每個單獨的開發(fā)任務(wù)的成本,最后累加起來得出軟件開發(fā)工程的總成本。估計每個任務(wù)的成本時,通常先估計完成該項任務(wù)需要用的人力(以人月為單位),再乘以每人每月的平均工資而得出每個任務(wù)的成本。,最常用的辦法是按開發(fā)階段劃分任務(wù)。如果軟件系統(tǒng)很復(fù)雜,由若干個子系統(tǒng)組成,則可以把每個子系統(tǒng)再按開發(fā)階段進(jìn)一步劃分成更小的任務(wù)。 典型環(huán)境下各個開發(fā)階段需要使用的人力的百分比大致如表2.2(見書40頁)所示。當(dāng)然,應(yīng)該針對每個開發(fā)工程的具體特點,并且參照以往的經(jīng)驗盡可能準(zhǔn)確地估計每個階段實際需要
27、使用的人力。 3. 自動估計成本技術(shù) 采用自動估計成本的軟件工具可以減輕人的勞動,并且使得估計的結(jié)果更客觀。但是,采用這種技術(shù)必須有長期搜集的大量歷史數(shù)據(jù)為基礎(chǔ),并且需要有良好的數(shù)據(jù)庫系統(tǒng)支持。,成本/效益分析的第一步是估計開發(fā)成本、運行費用和新系統(tǒng)將帶來的經(jīng)濟(jì)效益。運行費用取決于系統(tǒng)的操作費用(操作員人數(shù),工作時間,消耗的物資等等)和維護(hù)費用。系統(tǒng)的經(jīng)濟(jì)效益等于因使用新系統(tǒng)而增加的收入加上使用新系統(tǒng)可以節(jié)省的運行費用。因為運行費用和經(jīng)濟(jì)效益兩者在軟件的整個生命周期內(nèi)都存在,總的效益和生命周期的長度有關(guān),所以應(yīng)該合理地估計軟件的壽命。,2.6.2 成本/效益分析的方法,雖然許多系統(tǒng)在開發(fā)時預(yù)
28、期生命周期長達(dá)10年以上,但是時間越長系統(tǒng)被廢棄的可能性也越大,為了保險起見,以后在進(jìn)行成本/效益分析時一律假設(shè)生命周期為5年。 應(yīng)該比較新系統(tǒng)的開發(fā)成本和經(jīng)濟(jì)效益,以便從經(jīng)濟(jì)角度判斷這個系統(tǒng)是否值得投資,但是,投資是現(xiàn)在進(jìn)行的,效益是將來獲得的,不能簡單地比較成本和效益,應(yīng)該考慮貨幣的時間價值。,1. 貨幣的時間價值 通常用利率的形式表示貨幣的時間價值。假設(shè)年利率為i,如果現(xiàn)在存入P元,則n年后可以得到的錢數(shù)為: F=P(1+i)n 這也就是P元錢在n年后的價值。反之,如果n年后能收入F元錢,那么這些錢的現(xiàn)在價值是: P=F/(1+i)n,例如,修改一個已有的庫存清單系統(tǒng),使它能在每
29、天送給采購員一份定貨報表。修改已有的庫存清單程序并且編寫產(chǎn)生報表的程序,估計共需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頁)所示。,2. 投資回收期 通常用投資回收期衡量一項開發(fā)工程的價值。所謂投資回收期就是使累計的經(jīng)濟(jì)效益等于最初投資所需要的時間。顯然,投資回收期越短就能越快獲得利潤,因此這項工程
30、也就越值得投資。 投資回收期僅僅是一項經(jīng)濟(jì)指標(biāo),為了衡量一項開發(fā)工程的價值,還應(yīng)該考慮其他經(jīng)濟(jì)指標(biāo)。,3. 純收入 衡量工程價值的另一項經(jīng)濟(jì)指標(biāo)是工程的純收入,也就是在整個生命周期之內(nèi)系統(tǒng)的累計經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。這相當(dāng)于比較投資開發(fā)一個軟件系統(tǒng)和把錢存在銀行中(或貸給其他企業(yè))這兩種方案的優(yōu)劣。如果純收入為零,則工程的預(yù)期效益和在銀行存款一樣,但是開發(fā)一個系統(tǒng)要冒風(fēng)險,因此從經(jīng)濟(jì)觀點看這項工程可能是不值得投資的。如果純收入小于零,那么這項工程顯然不值得投資。,4. 投資回收率 把資金存入銀行或貸給其他企業(yè)能夠獲得利息,通常用年利率衡量利息多少。類似地也可以計算投資回收率
31、,用它衡量投資效益的大小,并且可以把它和年利率相比較,在衡量工程的經(jīng)濟(jì)效益時,它是最重要的參考數(shù)據(jù)。,已知現(xiàn)在的投資額,并且已經(jīng)估計出將來每年可以獲得的經(jīng)濟(jì)效益,那么,給定軟件的使用壽命之后,怎樣計算投資回收率呢?設(shè)想把數(shù)量等于投資額的資金存入銀行,每年年底從銀行取回的錢等于系統(tǒng)每年預(yù)期可以獲得的效益,在時間等于系統(tǒng)壽命時,正好把在銀行中的存款全部取光,那么,年利率等于多少呢?這個假想的年利率就等于投資回收率。,可行性研究進(jìn)一步探討問題定義階段所確定的問題是否有可行的解。在對問題正確定義的基礎(chǔ)上,通過分析問題,導(dǎo)出試探性的解,然后復(fù)查并修正問題定義,再次分析問題,改進(jìn)提出的解法。經(jīng)過定義問題、
32、分析問題、提出解法的反復(fù)過程,最終提出一個符合系統(tǒng)目標(biāo)的高層次的邏輯模型。然后根據(jù)系統(tǒng)的這個邏輯模型設(shè)想各種可能的物理系統(tǒng),并且從技術(shù)、經(jīng)濟(jì)和操作等各方面分析這些物理系統(tǒng)的可行性。最后,系統(tǒng)分析員提出一個推薦的行動方針,提交用戶和客戶組織負(fù)責(zé)人審查批準(zhǔn)。,2.7 小結(jié),在表達(dá)分析員對現(xiàn)有系統(tǒng)的認(rèn)識和描繪他對未來的物理系統(tǒng)的設(shè)想時,系統(tǒng)流程圖是一個很好的工具。系統(tǒng)流程圖實質(zhì)上是物理數(shù)據(jù)流圖,它描繪組成系統(tǒng)的主要物理元素以及信息在這些元素間流動和處理的情況。 數(shù)據(jù)流圖的基本符號只有4種,它是描繪系統(tǒng)邏輯模型的極好工具。通常數(shù)據(jù)字典和數(shù)據(jù)流圖共同構(gòu)成系統(tǒng)的邏輯模型。沒有數(shù)據(jù)字典精確定義數(shù)據(jù)流圖中每
33、個元素,數(shù)據(jù)流圖就不夠嚴(yán)密;然而沒有數(shù)據(jù)流圖,數(shù)據(jù)字典也很難發(fā)揮作用。 成本/效益分析是可行性研究的一項重要內(nèi)容,是客戶組織負(fù)責(zé)人從經(jīng)濟(jì)角度判斷是否繼續(xù)投資于這項工程的主要依據(jù)。,2-1 在軟件開發(fā)的早期階段為什么要進(jìn)行可行性研究?應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)的可行性? 2-2 為方便儲戶,某銀行擬開發(fā)計算機(jī)儲蓄系統(tǒng)。儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并印出存款單給儲戶;如果是取款,系統(tǒng)計算利息并印出利息清單給儲戶。 請寫出問題定義并分析此系統(tǒng)的可行性。,習(xí)題,2-3 為方便旅客,某航空公司擬開發(fā)一個機(jī)票預(yù)訂系統(tǒng)
34、。旅行社把預(yù)訂機(jī)票的旅客信息(姓名、性別、工作單位、身份證號碼、旅行時間、旅行目的地等)輸入進(jìn)該系統(tǒng),系統(tǒng)為旅客安排航班,印出取票通知和賬單,旅客在飛機(jī)起飛的前一天憑取票通知和賬單交款取票,系統(tǒng)校對無誤即印出機(jī)票給旅客。 請寫出問題定義并分析此系統(tǒng)的可行性。 2-4 目前住院病人主要由護(hù)士護(hù)理,這樣做不僅需要大量護(hù)士,而且由于不能隨時觀察危重病人的病情變化,還會延誤搶救時機(jī)。某醫(yī)院打算開發(fā)一個以計算機(jī)為中心的患者監(jiān)護(hù)系統(tǒng),請寫出問題定義,并且分析開發(fā)這個系統(tǒng)的可行性。,醫(yī)院對患者監(jiān)護(hù)系統(tǒng)的基本要求是隨時接收每個病人的生理信號(脈搏、體溫、血壓、心電圖等),定時記錄病人情況以形成患者日志,當(dāng)某個病人的生理信號超出醫(yī)生規(guī)定的安全范圍時向值班護(hù)士發(fā)出警告信息,此外,護(hù)士在需要時還可以要求系統(tǒng)印出某個指定病人的病情報告。 2-5 北京某高??捎玫碾娫捥柎a有以下幾類:校內(nèi)電話號碼由4位數(shù)字組成,第1位數(shù)字不是0;校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥0,若是本市電話則再接著撥8位數(shù)字(第1位不是0),若是外地電話則撥3位區(qū)碼再撥8位電話號碼(第1位不是0)。 請用2.5.2小節(jié)講述的定義數(shù)據(jù)的方法,定義上述的電話號碼。,
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運動會安全工作預(yù)案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書
- 2024年憲法宣傳周活動總結(jié)+在機(jī)關(guān)“弘揚憲法精神推動發(fā)改工作高質(zhì)量發(fā)展”專題宣講報告會上的講話
- 2024年XX村合作社年報總結(jié)
- 2024-2025年秋季第一學(xué)期初中歷史上冊教研組工作總結(jié)
- 2024年小學(xué)高級教師年終工作總結(jié)匯報
- 2024-2025年秋季第一學(xué)期初中物理上冊教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學(xué)期小學(xué)語文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習(xí)整治報告
- 2025年學(xué)校元旦迎新盛典活動策劃方案
- 2024年學(xué)校周邊安全隱患自查報告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報告