大連理工軟件學院軟件工程課件 (3)_第1頁
大連理工軟件學院軟件工程課件 (3)_第2頁
大連理工軟件學院軟件工程課件 (3)_第3頁
大連理工軟件學院軟件工程課件 (3)_第4頁
大連理工軟件學院軟件工程課件 (3)_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、大連理工大學軟件學院軟件工程軟件工程2021-12-10大連理工大學軟件學院2第第2 2章章 可行性研究可行性研究 許多問題不可能在預(yù)定的系統(tǒng)規(guī)?;驎r間期限內(nèi)解決 目的:使用最小的代價,盡可能在短的時間內(nèi),確定問題是否能夠解決2021-12-10大連理工大學軟件學院3第第2 2章章 可行性研究可行性研究 2.1 可行性研究的任務(wù) 2.2 可行性研究過程 2.3 系統(tǒng)流程圖 2.4 數(shù)據(jù)流圖 2.5 數(shù)據(jù)字典 2.6 成本/效益分析2021-12-10大連理工大學軟件學院42.1 2.1 可行性研究的任務(wù)可行性研究的任務(wù) 確定問題是否值得去解確定問題是否值得去解 分析可能的解法分析可能的解法 判

2、定系統(tǒng)規(guī)模和目標是否能夠?qū)崿F(xiàn)判定系統(tǒng)規(guī)模和目標是否能夠?qū)崿F(xiàn) 效益是否可觀效益是否可觀 較高層次的系統(tǒng)分析和設(shè)計過程較高層次的系統(tǒng)分析和設(shè)計過程2021-12-10大連理工大學軟件學院52.1 2.1 可行性研究的任務(wù)可行性研究的任務(wù) 問題定義問題定義 是否正確是否正確 如有錯誤加以改正如有錯誤加以改正 如有約束和限制必須清楚的列出如有約束和限制必須清楚的列出 系統(tǒng)邏輯模型系統(tǒng)邏輯模型主要解法主要解法研究可行研究可行性。性。2021-12-10大連理工大學軟件學院62.1 2.1 可行性研究的任務(wù)可行性研究的任務(wù) 可行性的可行性的4個方面?zhèn)€方面 技術(shù)可行性技術(shù)可行性 經(jīng)濟可行性經(jīng)濟可行性 操作可

3、行性操作可行性 法律可行性法律可行性 預(yù)期工程總成本的預(yù)期工程總成本的5%10%2021-12-10大連理工大學軟件學院72.2 2.2 可行性研究過程可行性研究過程 1. 復(fù)查系統(tǒng)規(guī)模和目標復(fù)查系統(tǒng)規(guī)模和目標 改正含糊或不確切的敘述改正含糊或不確切的敘述 清晰地描述限制和約束清晰地描述限制和約束 解決正確的問題解決正確的問題2021-12-10大連理工大學軟件學院82.2 2.2 可行性研究過程可行性研究過程 2. 研究目前正在使用的系統(tǒng)研究目前正在使用的系統(tǒng) 完成現(xiàn)有系統(tǒng)的基本功能完成現(xiàn)有系統(tǒng)的基本功能 解決現(xiàn)有系統(tǒng)的問題解決現(xiàn)有系統(tǒng)的問題 繪制高層系統(tǒng)流程圖繪制高層系統(tǒng)流程圖 掌握與其他

4、系統(tǒng)的接口掌握與其他系統(tǒng)的接口2021-12-10大連理工大學軟件學院92.2 2.2 可行性研究過程可行性研究過程 3. 導出新系統(tǒng)的高層邏輯模型導出新系統(tǒng)的高層邏輯模型 現(xiàn)有物理系統(tǒng)現(xiàn)有物理系統(tǒng)現(xiàn)有系統(tǒng)的邏輯模型現(xiàn)有系統(tǒng)的邏輯模型目標系目標系統(tǒng)邏輯模型統(tǒng)邏輯模型新的目標系統(tǒng)新的目標系統(tǒng) 高層數(shù)據(jù)流圖高層數(shù)據(jù)流圖 初步的數(shù)據(jù)字典初步的數(shù)據(jù)字典2021-12-10大連理工大學軟件學院102.2 2.2 可行性研究過程可行性研究過程 4. 進一步定義問題進一步定義問題 分析員和用戶分析員和用戶 以數(shù)據(jù)流圖和數(shù)據(jù)字典為基礎(chǔ)以數(shù)據(jù)流圖和數(shù)據(jù)字典為基礎(chǔ) 復(fù)查問題定義、工程規(guī)模和目標復(fù)查問題定義、工程規(guī)

5、模和目標 重復(fù)重復(fù)14步,直至提出的邏輯模型完全符合系步,直至提出的邏輯模型完全符合系統(tǒng)目標統(tǒng)目標2021-12-10大連理工大學軟件學院112.2 2.2 可行性研究過程可行性研究過程 5. 導出和評價供選擇的解法導出和評價供選擇的解法 從技術(shù)角度出發(fā),考慮解決問題的不同方案從技術(shù)角度出發(fā),考慮解決問題的不同方案 技術(shù)可行性,排除不現(xiàn)實的系統(tǒng)技術(shù)可行性,排除不現(xiàn)實的系統(tǒng) 操作可行性,排除用戶不能接受的方案操作可行性,排除用戶不能接受的方案 經(jīng)濟可行性,排除利潤低的方案經(jīng)濟可行性,排除利潤低的方案 (成本成本/效益分析效益分析) 制定進度表制定進度表 (估算生命周期每個階段的工作量估算生命周期

6、每個階段的工作量)2021-12-10大連理工大學軟件學院122.2 2.2 可行性研究過程可行性研究過程 6. 推薦行動方針推薦行動方針 如果值得開發(fā),則選擇最好的解法如果值得開發(fā),則選擇最好的解法 成本成本/效益分析效益分析 7. 草擬開發(fā)計劃草擬開發(fā)計劃 工程進度表工程進度表 各類開發(fā)人員、各種資源需求情況各類開發(fā)人員、各種資源需求情況 生命周期每個階段的成本生命周期每個階段的成本 下一個階段詳細進度表和成本估計下一個階段詳細進度表和成本估計2021-12-10大連理工大學軟件學院132.2 2.2 可行性研究過程可行性研究過程 8. 書寫文檔提交審查書寫文檔提交審查 用戶、客戶組織負責

7、人、評審組審查用戶、客戶組織負責人、評審組審查 見見可行性報告格式可行性報告格式.doc2021-12-10大連理工大學軟件學院142.3 2.3 系統(tǒng)流程圖系統(tǒng)流程圖 系統(tǒng)流程圖系統(tǒng)流程圖 概括描繪物理系統(tǒng)的傳統(tǒng)工具概括描繪物理系統(tǒng)的傳統(tǒng)工具 用圖形符號,以黑盒子形式描述組成系統(tǒng)的每用圖形符號,以黑盒子形式描述組成系統(tǒng)的每個部件個部件 程序、文檔、數(shù)據(jù)庫、人工過程程序、文檔、數(shù)據(jù)庫、人工過程 數(shù)據(jù)在各部件之間的流動情況(非處理過程)數(shù)據(jù)在各部件之間的流動情況(非處理過程)2021-12-10大連理工大學軟件學院152.3 2.3 系統(tǒng)流程圖系統(tǒng)流程圖 2.3.1 符號符號 基本符號基本符號2

8、021-12-10大連理工大學軟件學院162.3 2.3 系統(tǒng)流程圖系統(tǒng)流程圖 系統(tǒng)符號(符號具體化)系統(tǒng)符號(符號具體化)2021-12-10大連理工大學軟件學院172.3 2.3 系統(tǒng)流程圖系統(tǒng)流程圖 系統(tǒng)符號(符號具體化)系統(tǒng)符號(符號具體化)2021-12-10大連理工大學軟件學院18系統(tǒng)流程圖例子系統(tǒng)流程圖例子 例子例子 每個符號用黑盒每個符號用黑盒子形式定義了組子形式定義了組成系統(tǒng)的一個部成系統(tǒng)的一個部件。件。 沒有部件內(nèi)部的沒有部件內(nèi)部的具體工作過程具體工作過程 箭頭確定通過系箭頭確定通過系統(tǒng)的邏輯路徑統(tǒng)的邏輯路徑(信息流動路徑)(信息流動路徑)2021-12-10大連理工大學軟

9、件學院192.3 2.3 系統(tǒng)流程圖系統(tǒng)流程圖 分層分層(逐層細化的思想逐層細化的思想) 高層次系統(tǒng)流程圖描繪總體概貌高層次系統(tǒng)流程圖描繪總體概貌 分別描繪每個關(guān)鍵功能分別描繪每個關(guān)鍵功能2021-12-10大連理工大學軟件學院202.4 2.4 數(shù)據(jù)流圖數(shù)據(jù)流圖 當數(shù)據(jù)在軟件系統(tǒng)中移動時,它將被一系列當數(shù)據(jù)在軟件系統(tǒng)中移動時,它將被一系列“變換變換”所修所修改。改。 數(shù)據(jù)流圖數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。從輸入移動到輸出的過程中所經(jīng)受的變換。 在數(shù)據(jù)流圖中沒有任何具體的物理部件,只是描繪數(shù)據(jù)在在

10、數(shù)據(jù)流圖中沒有任何具體的物理部件,只是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程。軟件中流動和被處理的邏輯過程。2021-12-10大連理工大學軟件學院212.4.1 2.4.1 符號符號 數(shù)據(jù)流圖有四種基本符號:數(shù)據(jù)流圖有四種基本符號: 數(shù)據(jù)流與程序流程圖中用箭頭表示的控制流有本質(zhì)不數(shù)據(jù)流與程序流程圖中用箭頭表示的控制流有本質(zhì)不同,千萬不要混淆。同,千萬不要混淆。2021-12-10大連理工大學軟件學院222021-12-10大連理工大學軟件學院23 假設(shè)一家工廠的采購部每天需要一張定貨報表,報表按假設(shè)一家工廠的采購部每天需要一張定貨報表,報表按零件編號排序,表中列出所有需要再次定貨的零件。零件

11、編號排序,表中列出所有需要再次定貨的零件。 對于每個需要再次定貨的零件應(yīng)該列出下述數(shù)據(jù);零件對于每個需要再次定貨的零件應(yīng)該列出下述數(shù)據(jù);零件編號、零件名稱、定貨數(shù)量、目前價格、主要供應(yīng)者和編號、零件名稱、定貨數(shù)量、目前價格、主要供應(yīng)者和次要供應(yīng)者。次要供應(yīng)者。 零件入庫或出庫稱為事務(wù)。零件入庫或出庫稱為事務(wù)。 通過放在倉庫中的通過放在倉庫中的CRT終端把事務(wù)報告給定貨系統(tǒng)。當終端把事務(wù)報告給定貨系統(tǒng)。當某種零件的庫存數(shù)量少于庫存量臨界值時就應(yīng)該再次定某種零件的庫存數(shù)量少于庫存量臨界值時就應(yīng)該再次定貨。貨。2.4.2 2.4.2 示例示例2021-12-10大連理工大學軟件學院242.4.2 2

12、.4.2 示例示例2021-12-10大連理工大學軟件學院252.4.2 2.4.2 示例示例 一旦把數(shù)據(jù)流圖的四種成分都分離出來以后,就可以著手畫數(shù)據(jù)一旦把數(shù)據(jù)流圖的四種成分都分離出來以后,就可以著手畫數(shù)據(jù)流圖。流圖。任何系統(tǒng)的基本模型都由若干個數(shù)據(jù)源點任何系統(tǒng)的基本模型都由若干個數(shù)據(jù)源點/終點以及一個處理組成,終點以及一個處理組成,這個處理就代表了系統(tǒng)對數(shù)據(jù)加工變換的基本功能。這個處理就代表了系統(tǒng)對數(shù)據(jù)加工變換的基本功能。定貨系統(tǒng)的基本系統(tǒng)模型(突出表明了數(shù)據(jù)的源點和終點)26/130結(jié)構(gòu)化分析方法中的抽象與分解結(jié)構(gòu)化分析方法中的抽象與分解 抽象:從作為整體的軟件系統(tǒng)開始抽象:從作為整體的

13、軟件系統(tǒng)開始(第一層第一層),每一每一抽象層次上只關(guān)注于系統(tǒng)的輸入輸出抽象層次上只關(guān)注于系統(tǒng)的輸入輸出 分解:將系統(tǒng)不斷分解為子系統(tǒng)、模塊分解:將系統(tǒng)不斷分解為子系統(tǒng)、模塊 隨著分解層次的增加,抽象的級別越來越低,也隨著分解層次的增加,抽象的級別越來越低,也越接近問題的解越接近問題的解(算法和數(shù)據(jù)結(jié)構(gòu)算法和數(shù)據(jù)結(jié)構(gòu))2.42.32.22.121431.31.21.1X2021-12-102021-12-10大連理工大學軟件學院27 把基本系統(tǒng)模型細化,描繪系統(tǒng)的主要功能。把基本系統(tǒng)模型細化,描繪系統(tǒng)的主要功能。 在圖在圖2.6中給處理和數(shù)據(jù)存儲都加了編號,中給處理和數(shù)據(jù)存儲都加了編號,這樣做的

14、目的是便于引用和追蹤。這樣做的目的是便于引用和追蹤。2.4.2 2.4.2 示例示例2021-12-10大連理工大學軟件學院282.4.2 2.4.2 示例示例圖2.6 定貨系統(tǒng)的功能級數(shù)據(jù)流圖2021-12-10大連理工大學軟件學院292.4.2 2.4.2 示例示例圖2.7 把處理事務(wù)的功能進一步分解后的數(shù)據(jù)流圖2021-12-10大連理工大學軟件學院30 注意:注意: 當進一步分解將涉及如何具體實現(xiàn)一個功能時,就不當進一步分解將涉及如何具體實現(xiàn)一個功能時,就不應(yīng)該再分解了。應(yīng)該再分解了。 當對數(shù)據(jù)流圖分層細化時必須保持當對數(shù)據(jù)流圖分層細化時必須保持信息連續(xù)性信息連續(xù)性,也就,也就是說,當

15、把一個處理分解為一系列處理是說,當把一個處理分解為一系列處理時,分解前和時,分解前和分解后的輸入分解后的輸入/輸出數(shù)據(jù)流必須相同。輸出數(shù)據(jù)流必須相同。 對處理進行編號的方法。對處理進行編號的方法。2.4.2 2.4.2 示例示例2021-12-10大連理工大學軟件學院31數(shù)據(jù)流圖中每個成分的命名是否恰當,直接影響數(shù)據(jù)流數(shù)據(jù)流圖中每個成分的命名是否恰當,直接影響數(shù)據(jù)流圖的可理解性。圖的可理解性。命名時應(yīng)注意的問題:命名時應(yīng)注意的問題:1.為數(shù)據(jù)流為數(shù)據(jù)流(或數(shù)據(jù)存儲或數(shù)據(jù)存儲)命名命名名字應(yīng)代表整個數(shù)據(jù)流名字應(yīng)代表整個數(shù)據(jù)流(或數(shù)據(jù)存儲或數(shù)據(jù)存儲)的內(nèi)容,而不是僅僅反映它的的內(nèi)容,而不是僅僅反映

16、它的某些成分。某些成分。不要使用空洞的、缺乏具體含義的名字不要使用空洞的、缺乏具體含義的名字(如如“數(shù)據(jù)數(shù)據(jù)”、“信息信息”、“輸入輸入”之類之類)如果在為某個數(shù)據(jù)流如果在為某個數(shù)據(jù)流(或數(shù)據(jù)存儲或數(shù)據(jù)存儲)起名字時遇到了困難,則很可能起名字時遇到了困難,則很可能是因為對數(shù)據(jù)流圖分解不恰當造成的,應(yīng)該試試重新分解,看是是因為對數(shù)據(jù)流圖分解不恰當造成的,應(yīng)該試試重新分解,看是否能克服這個困難。否能克服這個困難。2.4.3 2.4.3 命名命名2021-12-10大連理工大學軟件學院322.為處理命名為處理命名通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名。這通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)

17、聯(lián)的處理命名。這樣命名比較容易,而且體現(xiàn)了人類習慣的樣命名比較容易,而且體現(xiàn)了人類習慣的“由表及里由表及里”的思的思考過程??歼^程。名字應(yīng)該反映整個處理的功能,而不是一部分功能。名字應(yīng)該反映整個處理的功能,而不是一部分功能。名字最好由一個具體的及物動詞,加上一個具體的賓語組成。名字最好由一個具體的及物動詞,加上一個具體的賓語組成。應(yīng)該盡量避免使用應(yīng)該盡量避免使用“加工加工”、“處理處理”等空洞籠統(tǒng)的動詞作等空洞籠統(tǒng)的動詞作名字。名字。通常名字中僅包括一個動詞,如果必須用兩個動詞才能描述通常名字中僅包括一個動詞,如果必須用兩個動詞才能描述整個處理的功能,則把這個處理再分解成兩個處理可能更恰整個處

18、理的功能,則把這個處理再分解成兩個處理可能更恰當些。當些。如果在為某個處理命名時遇到困難,則很可能是發(fā)現(xiàn)了分解如果在為某個處理命名時遇到困難,則很可能是發(fā)現(xiàn)了分解不當?shù)嫩E象,應(yīng)考慮重新分解。不當?shù)嫩E象,應(yīng)考慮重新分解。2.4.3 2.4.3 命名命名2021-12-10大連理工大學軟件學院33人事部門后勤部門出勤表業(yè)績表水電扣款表職工銀行工資條工資存款清單工資計算系統(tǒng)2021-12-10大連理工大學軟件學院34工資計算系統(tǒng)第一層數(shù)據(jù)流圖工資計算系統(tǒng)第一層數(shù)據(jù)流圖人事部門后勤部門出勤表業(yè)績表水電扣款表職工銀行工資條1計算工資實發(fā)工資表3工資轉(zhuǎn)存2打印工資清單工資存款清單工資清單F32021-12

19、-10大連理工大學軟件學院35工資計算系統(tǒng)的第二層數(shù)據(jù)流圖工資計算系統(tǒng)的第二層數(shù)據(jù)流圖(a) “計算工資計算工資”子數(shù)據(jù)流圖;子數(shù)據(jù)流圖;(b)“工資轉(zhuǎn)存工資轉(zhuǎn)存”子數(shù)據(jù)流圖子數(shù)據(jù)流圖2021-12-10大連理工大學軟件學院36人事部門1.1.2計算業(yè)績獎出勤表業(yè)績表請假、曠工時數(shù)出勤時數(shù)1.1.3計算出勤獎1.1.4計算缺勤扣款業(yè)績獎獎懲條例F1缺勤扣款表1.1.5計算各項獎金之和獎金發(fā)放表1.1.1統(tǒng)計出勤、請假及曠工時數(shù)出勤獎1.2.1計算各項基本數(shù)據(jù)之和1.2.2計算工資獎金之和工資檔案F2應(yīng)發(fā)工資表獎金發(fā)放表基本工資37分層數(shù)據(jù)流圖的審查分層數(shù)據(jù)流圖的審查 檢查圖中是否存在錯誤或不合

20、理檢查圖中是否存在錯誤或不合理(不理想不理想)的部分的部分 一致性:分層一致性:分層DFD中不存在矛盾和沖突中不存在矛盾和沖突 完整性:分層完整性:分層DFD本身的完整性,即是否有本身的完整性,即是否有遺漏的數(shù)據(jù)流、加工等元素遺漏的數(shù)據(jù)流、加工等元素2021-12-10大連理工大學軟件學院38分層數(shù)據(jù)流圖的一致性分層數(shù)據(jù)流圖的一致性 父圖與子圖平衡父圖與子圖平衡 任何一張任何一張DFD子圖邊界上的輸入子圖邊界上的輸入/輸出數(shù)據(jù)流必須與輸出數(shù)據(jù)流必須與其父圖中對應(yīng)的加工的輸入其父圖中對應(yīng)的加工的輸入/輸出數(shù)據(jù)流保持一致輸出數(shù)據(jù)流保持一致 數(shù)據(jù)守恒數(shù)據(jù)守恒 一個加工所有輸出數(shù)據(jù)流中的數(shù)據(jù),必須能從

21、該加一個加工所有輸出數(shù)據(jù)流中的數(shù)據(jù),必須能從該加工的輸入數(shù)據(jù)流中直接獲得,或者能通過該加工的工的輸入數(shù)據(jù)流中直接獲得,或者能通過該加工的處理而產(chǎn)生處理而產(chǎn)生 一個加工的輸出數(shù)據(jù)流不能與該加工的輸入數(shù)一個加工的輸出數(shù)據(jù)流不能與該加工的輸入數(shù)據(jù)流同名據(jù)流同名2021-12-10大連理工大學軟件學院39父圖與子圖不平衡的實例父圖與子圖不平衡的實例 加工加工2的輸入數(shù)據(jù)流有的輸入數(shù)據(jù)流有M和和N,輸出數(shù)據(jù),輸出數(shù)據(jù)流是流是T 而子圖而子圖(右圖右圖)邊界上的輸入數(shù)據(jù)流是邊界上的輸入數(shù)據(jù)流是N,輸出數(shù)據(jù)流是輸出數(shù)據(jù)流是S和和T123ABCMNT2.12.22.3NPSTQ2021-12-10大連理工大學

22、軟件學院40父圖與子圖平衡的實例父圖與子圖平衡的實例 注意:如果父圖某加工的一個數(shù)據(jù)流,對應(yīng)于子圖中幾注意:如果父圖某加工的一個數(shù)據(jù)流,對應(yīng)于子圖中幾個數(shù)據(jù)流,而子圖中組成這些數(shù)據(jù)流的數(shù)據(jù)項全體正好個數(shù)據(jù)流,而子圖中組成這些數(shù)據(jù)流的數(shù)據(jù)項全體正好等于父圖中的這個數(shù)據(jù)流,那么它們?nèi)运闶瞧胶獾牡扔诟笀D中的這個數(shù)據(jù)流,那么它們?nèi)运闶瞧胶獾膃2.52.42.32.22.1b2b1acdb21acde(a) 父圖(b) 子圖a:考生通知單;b:統(tǒng)計分析表;b1:分類統(tǒng)計表;b2:難度分析表;c:錯誤成績清單;d成績清單;e合格標準。2021-12-10大連理工大學軟件學院41數(shù)據(jù)不守恒的實例數(shù)據(jù)不守恒的

23、實例由于由于“正式成績清單正式成績清單”中缺少中缺少“考生通知單考生通知單”中的姓名、中的姓名、通信地址等數(shù)據(jù),這些數(shù)據(jù)也無法由加工通信地址等數(shù)據(jù),這些數(shù)據(jù)也無法由加工2.3自己產(chǎn)生,因自己產(chǎn)生,因此,加工此,加工2.3不滿足數(shù)據(jù)守恒的條件不滿足數(shù)據(jù)守恒的條件考生名冊2.5分析試題難度難度分析表2.4分類統(tǒng)計成績分類統(tǒng)計表2.3制作通知單考生通知單2.2審定合格者正式成績清單合格標準試題得分清單2.1檢查成績清單成績清單正確成績清單錯誤成績清單由此可見:由此可見:1.1.數(shù)據(jù)流的組成對數(shù)據(jù)流的組成對DFDDFD是有影響的是有影響的2.2.構(gòu)建構(gòu)建DFDDFD與建立數(shù)據(jù)字典應(yīng)交替與建立數(shù)據(jù)字典應(yīng)

24、交替進行,以便于對分層進行,以便于對分層DFDDFD的校驗的校驗42加工的輸出數(shù)據(jù)流不能與該加工的輸入數(shù)據(jù)流同名加工的輸出數(shù)據(jù)流不能與該加工的輸入數(shù)據(jù)流同名 同一個加工的輸出數(shù)據(jù)流和輸入數(shù)據(jù)流即同一個加工的輸出數(shù)據(jù)流和輸入數(shù)據(jù)流即使組成成份相同,仍應(yīng)對它們?nèi)〔煌拿菇M成成份相同,仍應(yīng)對它們?nèi)〔煌拿?,以表示它們是不同?shù)據(jù)流字,以表示它們是不同數(shù)據(jù)流 例如,例如,“報名單報名單”和和“合格報名單合格報名單” 允許一個加工有兩個相同的數(shù)據(jù)流分別流允許一個加工有兩個相同的數(shù)據(jù)流分別流向兩個不同的加工向兩個不同的加工2021-12-10大連理工大學軟件學院43分層數(shù)據(jù)流圖的完整性分層數(shù)據(jù)流圖的完整

25、性 每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流流 在整套分層數(shù)據(jù)流中,每個文件應(yīng)至少有一個加在整套分層數(shù)據(jù)流中,每個文件應(yīng)至少有一個加工讀該文件,有另一個加工寫該文件工讀該文件,有另一個加工寫該文件 分層數(shù)據(jù)流圖中的每個數(shù)據(jù)流和文件都必須命名分層數(shù)據(jù)流圖中的每個數(shù)據(jù)流和文件都必須命名(除了流入或流出文件的數(shù)據(jù)流除了流入或流出文件的數(shù)據(jù)流),并保持與數(shù)據(jù)字,并保持與數(shù)據(jù)字典的一致典的一致 分層分層DFD中的每個基本加工中的每個基本加工(即不再分解子圖的加即不再分解子圖的加工工)都應(yīng)有一個加工規(guī)約都應(yīng)有一個加工規(guī)約2021-12-10大連理工大學軟件學院

26、44其它需注意的問題其它需注意的問題-1-1 適當命名:每個數(shù)據(jù)流、加工、文件、源和宿都應(yīng)被適應(yīng)適當命名:每個數(shù)據(jù)流、加工、文件、源和宿都應(yīng)被適應(yīng)地命名,名字應(yīng)符合被命名對象的實際含義地命名,名字應(yīng)符合被命名對象的實際含義 名字應(yīng)反映整個對象名字應(yīng)反映整個對象(如數(shù)據(jù)流、加工如數(shù)據(jù)流、加工),而不是僅反映它的某一,而不是僅反映它的某一部分部分 避免使用空洞的、含義不清的名字,如數(shù)據(jù)、信息、處理、統(tǒng)計避免使用空洞的、含義不清的名字,如數(shù)據(jù)、信息、處理、統(tǒng)計等等 如果發(fā)現(xiàn)某個數(shù)據(jù)流或加工難以命名時,往往是如果發(fā)現(xiàn)某個數(shù)據(jù)流或加工難以命名時,往往是DFD分解不當?shù)姆纸獠划數(shù)恼髡?,此時應(yīng)考慮重新分解征

27、兆,此時應(yīng)考慮重新分解 畫數(shù)據(jù)流而不是畫控制流畫數(shù)據(jù)流而不是畫控制流 判斷準則:這條線上是否有數(shù)據(jù)流過判斷準則:這條線上是否有數(shù)據(jù)流過2021-12-10大連理工大學軟件學院45其它需注意的問題其它需注意的問題-2-2 避免一個加工有過多的數(shù)據(jù)流避免一個加工有過多的數(shù)據(jù)流 當一個加工存在許多數(shù)據(jù)流時往往意味著分解不合理當一個加工存在許多數(shù)據(jù)流時往往意味著分解不合理 解決辦法:重新分解解決辦法:重新分解 1)把需要重新分解的某張圖把需要重新分解的某張圖(含有該復(fù)雜加工的圖含有該復(fù)雜加工的圖)的所有子圖的所有子圖連接成一張圖連接成一張圖 2)把連接后的圖重新劃分成幾個部分,使各部分之間的聯(lián)系最把連

28、接后的圖重新劃分成幾個部分,使各部分之間的聯(lián)系最小小 3)重新定義父圖,即第重新定義父圖,即第2)步中的每個部分作為父圖中的一個加步中的每個部分作為父圖中的一個加工工 4)重新建立各子圖,即第重新建立各子圖,即第2)步中的每個部分都是一張子圖步中的每個部分都是一張子圖 5)為所有的加工重新命名和編號為所有的加工重新命名和編號2021-12-10大連理工大學軟件學院46其它需注意的問題其它需注意的問題-3-3 分解盡可能均勻分解盡可能均勻 理想目標:任何兩個加工的分解層數(shù)之差不超過理想目標:任何兩個加工的分解層數(shù)之差不超過1 應(yīng)盡可能使分解均勻,對于分解不均勻的情況應(yīng)重新分解應(yīng)盡可能使分解均勻,

29、對于分解不均勻的情況應(yīng)重新分解 先考慮穩(wěn)定狀態(tài),忽略瑣碎的枝節(jié)先考慮穩(wěn)定狀態(tài),忽略瑣碎的枝節(jié) 先考慮穩(wěn)定狀態(tài)下的各種問題,暫時不考慮系統(tǒng)如何啟動、如先考慮穩(wěn)定狀態(tài)下的各種問題,暫時不考慮系統(tǒng)如何啟動、如何結(jié)束、出錯處理以及性能等問題何結(jié)束、出錯處理以及性能等問題 隨時準備重畫隨時準備重畫 對于一個復(fù)雜的軟件系統(tǒng),往往要經(jīng)過反復(fù)多次的重畫和修改對于一個復(fù)雜的軟件系統(tǒng),往往要經(jīng)過反復(fù)多次的重畫和修改才能構(gòu)造出完整、合理、滿足用戶需求的分層才能構(gòu)造出完整、合理、滿足用戶需求的分層DFD 分析階段遺漏下來的一個錯誤,到開發(fā)后期要化費幾百倍代價分析階段遺漏下來的一個錯誤,到開發(fā)后期要化費幾百倍代價來糾正

30、這個錯誤來糾正這個錯誤2021-12-10大連理工大學軟件學院47分解的程度分解的程度 可參照以下幾條與分解有關(guān)的原則:可參照以下幾條與分解有關(guān)的原則: 7加減加減2 分解應(yīng)自然,概念上合理、清晰分解應(yīng)自然,概念上合理、清晰 只要不影響只要不影響DFD的易理解性,可適當多分解幾個的易理解性,可適當多分解幾個加工,以減少層數(shù)加工,以減少層數(shù) 一般說來,上層分解得快些一般說來,上層分解得快些(即多分解幾個加工即多分解幾個加工),下層分解得慢些下層分解得慢些(即少分解幾個加工即少分解幾個加工) 分解要均勻分解要均勻2021-12-10大連理工大學軟件學院2021-12-10大連理工大學軟件學院482

31、.4.4 2.4.4 用途用途 交流信息的工具交流信息的工具 一張數(shù)據(jù)流圖處理少于一張數(shù)據(jù)流圖處理少于9個個 分層分層 分析和設(shè)計的工具分析和設(shè)計的工具 在數(shù)據(jù)流圖上劃分自動化邊界在數(shù)據(jù)流圖上劃分自動化邊界 每個邊界意味著一個不同的物理系統(tǒng)每個邊界意味著一個不同的物理系統(tǒng)2021-12-10大連理工大學軟件學院492.4.4 2.4.4 用途用途2021-12-10大連理工大學軟件學院502.4.4 2.4.4 用途用途圖2.8 這種劃分自動化邊界的方法暗示以批量方式更新庫存清單 2021-12-10大連理工大學軟件學院512.4.4 2.4.4 用途用途圖2.9 另一種劃分自動化邊界的方法建

32、議以聯(lián)機方式更新庫存清單 2021-12-10大連理工大學軟件學院522.4.4 2.4.4 用途用途意味著什么樣的系統(tǒng)?2021-12-10大連理工大學軟件學院532.4.4 2.4.4 用途用途聯(lián)機更新庫存,批量處理定貨2021-12-10大連理工大學軟件學院542.4 2.4 數(shù)據(jù)流圖數(shù)據(jù)流圖:反應(yīng):反應(yīng)主體框架主體框架,無細,無細節(jié)處理。節(jié)處理。 :反應(yīng):反應(yīng)數(shù)據(jù)走向數(shù)據(jù)走向,僅描述數(shù)據(jù)在系統(tǒng)中如何流動,如何處理和存儲,它不僅描述數(shù)據(jù)在系統(tǒng)中如何流動,如何處理和存儲,它不考慮時序關(guān)系。圖中的有向線段表示了考慮時序關(guān)系。圖中的有向線段表示了數(shù)據(jù)流數(shù)據(jù)流。:描述程序中控制流的:描述程序中控

33、制流的情況,即程序中處理的執(zhí)行順序和執(zhí)行序列所依賴的條情況,即程序中處理的執(zhí)行順序和執(zhí)行序列所依賴的條件,圖中的有向線段表示的是件,圖中的有向線段表示的是控制流控制流, ,從一個處理走到從一個處理走到下一個處理。人們對解決問題的方法、思路或算法的一下一個處理。人們對解決問題的方法、思路或算法的一種描述。種描述。 2021-12-10大連理工大學軟件學院552.4 2.4 數(shù)據(jù)流圖數(shù)據(jù)流圖2021-12-10大連理工大學軟件學院562.4 2.4 數(shù)據(jù)流圖數(shù)據(jù)流圖:就是:就是用一些規(guī)定的符號及連線來表示某個具體業(yè)務(wù)處用一些規(guī)定的符號及連線來表示某個具體業(yè)務(wù)處理過程。理過程。 業(yè)務(wù)流程圖的基本圖形

34、符號:業(yè)務(wù)流程圖的基本圖形符號: 圓圈表示業(yè)務(wù)處理單位;圓圈表示業(yè)務(wù)處理單位; 方框表示業(yè)務(wù)處理內(nèi)容方框表示業(yè)務(wù)處理內(nèi)容; 報表符號表示輸出信息報表符號表示輸出信息(報表、報告、文件、圖形等報表、報告、文件、圖形等); 不封口的方框表示存儲文件不封口的方框表示存儲文件; 卡片符號表示收集資料卡片符號表示收集資料; 矢量連線表示業(yè)務(wù)過程聯(lián)系。矢量連線表示業(yè)務(wù)過程聯(lián)系。2021-12-10大連理工大學軟件學院572.4 2.4 數(shù)據(jù)流圖數(shù)據(jù)流圖 2021-12-10大連理工大學軟件學院582.5 2.5 數(shù)據(jù)字典數(shù)據(jù)字典 需要有一種系統(tǒng)化的方式,來表示每個數(shù)據(jù)對象和控需要有一種系統(tǒng)化的方式,來表示

35、每個數(shù)據(jù)對象和控制信息的特征。制信息的特征。 數(shù)據(jù)字典是為了描述在結(jié)構(gòu)化分析過程中定義的對象數(shù)據(jù)字典是為了描述在結(jié)構(gòu)化分析過程中定義的對象的內(nèi)容,而使用的一種半形式化的工具。的內(nèi)容,而使用的一種半形式化的工具。 數(shù)據(jù)字典是所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的有組織的列數(shù)據(jù)字典是所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的有組織的列表,并且包含了對這些數(shù)據(jù)元素的精確、嚴格的定義,表,并且包含了對這些數(shù)據(jù)元素的精確、嚴格的定義,從而使得用戶和系統(tǒng)分析員雙方對輸入、輸出、存儲從而使得用戶和系統(tǒng)分析員雙方對輸入、輸出、存儲的成分甚至中間計算結(jié)果有共同的理解。的成分甚至中間計算結(jié)果有共同的理解。 簡而言之,數(shù)據(jù)字典是描述數(shù)據(jù)的信息

36、的集合,是對簡而言之,數(shù)據(jù)字典是描述數(shù)據(jù)的信息的集合,是對系統(tǒng)中使用的所有數(shù)據(jù)元素的定義的集合。系統(tǒng)中使用的所有數(shù)據(jù)元素的定義的集合。2021-12-10大連理工大學軟件學院592.5 2.5 數(shù)據(jù)字典數(shù)據(jù)字典 數(shù)據(jù)字典的用途是供人查閱不了解的條目的解釋。數(shù)據(jù)字典的用途是供人查閱不了解的條目的解釋。提供分析設(shè)計過程中關(guān)于數(shù)據(jù)的描述。提供分析設(shè)計過程中關(guān)于數(shù)據(jù)的描述。 數(shù)據(jù)字典與數(shù)據(jù)字典與DFD相輔相成。相輔相成。 只有只有DFD和對應(yīng)的元素的精確定義放在一起,才和對應(yīng)的元素的精確定義放在一起,才能構(gòu)成系統(tǒng)的規(guī)格說明。能構(gòu)成系統(tǒng)的規(guī)格說明。2021-12-10大連理工大學軟件學院602.5 2.

37、5 數(shù)據(jù)字典數(shù)據(jù)字典 2.5.1 數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)字典的內(nèi)容 數(shù)據(jù)流數(shù)據(jù)流 數(shù)據(jù)流分量(即數(shù)據(jù)元素)數(shù)據(jù)流分量(即數(shù)據(jù)元素) 數(shù)據(jù)存儲數(shù)據(jù)存儲 處理處理2021-12-10大連理工大學軟件學院61 數(shù)據(jù)字典信息:數(shù)據(jù)字典信息: 名字名字數(shù)據(jù)、控制項、數(shù)據(jù)存儲或外部實體的主要名稱數(shù)據(jù)、控制項、數(shù)據(jù)存儲或外部實體的主要名稱 別名別名第一項中對象的其他名字。第一項中對象的其他名字。 使用地點與方式使用地點與方式使用數(shù)據(jù)或控制項的處理的列表,以及使用這使用數(shù)據(jù)或控制項的處理的列表,以及使用這些對象的方式些對象的方式(例如作為處理的輸入,從處理輸出,作為數(shù)據(jù)存儲,例如作為處理的輸入,從處理輸出,作為數(shù)

38、據(jù)存儲,作為外部實體作為外部實體)。 內(nèi)容描述內(nèi)容描述描述數(shù)據(jù)或控制項內(nèi)容的符號。描述數(shù)據(jù)或控制項內(nèi)容的符號。 補充信息補充信息關(guān)于數(shù)據(jù)類型、預(yù)置值、限制等的其他信息。關(guān)于數(shù)據(jù)類型、預(yù)置值、限制等的其他信息。2.5 2.5 數(shù)據(jù)字典數(shù)據(jù)字典2021-12-10大連理工大學軟件學院62 2.5.2 定義數(shù)據(jù)的方法定義數(shù)據(jù)的方法 對數(shù)據(jù)自上而下的分解對數(shù)據(jù)自上而下的分解 數(shù)據(jù)元素組成數(shù)據(jù)的方式數(shù)據(jù)元素組成數(shù)據(jù)的方式 順序:分量的連接次序順序:分量的連接次序 選擇:兩個或多個元素中選取選擇:兩個或多個元素中選取一個一個 重復(fù):可指定重復(fù)次數(shù)重復(fù):可指定重復(fù)次數(shù) 可選:重復(fù)可選:重復(fù)0或或1次次2.5

39、 2.5 數(shù)據(jù)字典數(shù)據(jù)字典2021-12-10大連理工大學軟件學院63 雖然可以使用自然語言描述由數(shù)據(jù)元素組成數(shù)據(jù)的關(guān)系,雖然可以使用自然語言描述由數(shù)據(jù)元素組成數(shù)據(jù)的關(guān)系,但是為了更加清晰簡潔起見,建議采用下列符號:但是為了更加清晰簡潔起見,建議采用下列符號: 意思是等價于意思是等價于(或定義為或定義為); 意思是和意思是和(即,連接兩個分量即,連接兩個分量); 意思是或意思是或(即,從方括弧內(nèi)列出的若干個分量中選擇一個即,從方括弧內(nèi)列出的若干個分量中選擇一個),通常用通常用“”號分開供選擇的分量;號分開供選擇的分量; 意思是重復(fù)意思是重復(fù)(即,重復(fù)花括弧內(nèi)的分量即,重復(fù)花括弧內(nèi)的分量); (

40、 )意思是可選)意思是可選(即,圓括弧里的分量可有可無即,圓括弧里的分量可有可無)。2.5 2.5 數(shù)據(jù)字典數(shù)據(jù)字典2021-12-10大連理工大學軟件學院64 常常使用上限和下限進一步注釋表示重復(fù)的花括弧。常常使用上限和下限進一步注釋表示重復(fù)的花括弧。 一種注釋方法是在開括弧的左邊用上角標和下角標分別表明重一種注釋方法是在開括弧的左邊用上角標和下角標分別表明重復(fù)的上限和下限;復(fù)的上限和下限; 另一種注釋方法是在開括弧左側(cè)標明重復(fù)的下限,在閉括弧的另一種注釋方法是在開括弧左側(cè)標明重復(fù)的下限,在閉括弧的右側(cè)標明重復(fù)的上限。例如:右側(cè)標明重復(fù)的上限。例如:A和和 1A5 含義相同。含義相同。2.5

41、 2.5 數(shù)據(jù)字典數(shù)據(jù)字典512021-12-10大連理工大學軟件學院652.5 2.5 數(shù)據(jù)字典數(shù)據(jù)字典 描述數(shù)據(jù)內(nèi)容的示例:描述數(shù)據(jù)內(nèi)容的示例: 定義長度不超過定義長度不超過8個字符的字符串個字符的字符串 第一個字符是字母第一個字符是字母 隨后的字符隨后的字符 既可以是字母既可以是字母 也可以是數(shù)字也可以是數(shù)字標識符標識符=字母字符字母字符+字母數(shù)字串字母數(shù)字串字母數(shù)字串字母數(shù)字串=0 字母或數(shù)字字母或數(shù)字 7字母或數(shù)字字母或數(shù)字=字母字符字母字符|數(shù)字字符數(shù)字字符2021-12-10大連理工大學軟件學院662.5 2.5 數(shù)據(jù)字典數(shù)據(jù)字典 2.5.3 數(shù)據(jù)字典的用途數(shù)據(jù)字典的用途 分析階

42、段的工具分析階段的工具 避免模塊間接口出現(xiàn)問題避免模塊間接口出現(xiàn)問題 掌握改變一個數(shù)據(jù)能產(chǎn)生的影響掌握改變一個數(shù)據(jù)能產(chǎn)生的影響 開發(fā)數(shù)據(jù)庫的第一步開發(fā)數(shù)據(jù)庫的第一步2021-12-10大連理工大學軟件學院672.5 2.5 數(shù)據(jù)字典數(shù)據(jù)字典 2.5.4 數(shù)據(jù)字典的實現(xiàn)數(shù)據(jù)字典的實現(xiàn) CASE工具工具 人工卡片人工卡片2021-12-10大連理工大學軟件學院68思考題思考題 一個修改磁帶上主文件的系統(tǒng)。文件管理員把修一個修改磁帶上主文件的系統(tǒng)。文件管理員把修改信息穿孔在卡片上,系統(tǒng)讀入穿孔卡片上的信改信息穿孔在卡片上,系統(tǒng)讀入穿孔卡片上的信息并按照記錄號把修改信息順序排列好。然后系息并按照記錄號

43、把修改信息順序排列好。然后系統(tǒng)逐個讀入主文件上的記錄,根據(jù)記錄上的校驗統(tǒng)逐個讀入主文件上的記錄,根據(jù)記錄上的校驗碼核對每個讀入的記錄,丟掉出錯的記錄,按照碼核對每個讀入的記錄,丟掉出錯的記錄,按照修改信息修改余下的記錄,產(chǎn)生的新文件存儲在修改信息修改余下的記錄,產(chǎn)生的新文件存儲在磁盤上。最后,系統(tǒng)輸出一份修改報告供文件管磁盤上。最后,系統(tǒng)輸出一份修改報告供文件管理員參閱。理員參閱。 分層畫出上述主文件修改系統(tǒng)的數(shù)據(jù)流圖。分層畫出上述主文件修改系統(tǒng)的數(shù)據(jù)流圖。2021-12-10大連理工大學軟件學院69思考題答案思考題答案 源點:文件管理員,提供修改信息源點:文件管理員,提供修改信息 終點:文件

44、管理員,接收修改報告終點:文件管理員,接收修改報告2021-12-10大連理工大學軟件學院70思考題答案思考題答案 處理:處理: 接收修改信息、讀主文件、校核記錄、修改接收修改信息、讀主文件、校核記錄、修改原始記錄、產(chǎn)生報表原始記錄、產(chǎn)生報表 數(shù)據(jù)流:數(shù)據(jù)流: 修改信息、主文件、正確的記錄、修改后的修改信息、主文件、正確的記錄、修改后的主文件、修改報告主文件、修改報告 數(shù)據(jù)存儲:數(shù)據(jù)存儲: 修改信息、主文件、修改后的主文件修改信息、主文件、修改后的主文件2021-12-10大連理工大學軟件學院71思考題答案思考題答案2021-12-10大連理工大學軟件學院72思考題思考題 北京某高??捎玫碾娫捥柎a有以下幾類:北京某高??捎玫碾娫捥柎a有以下幾類:校內(nèi)電話號碼由校內(nèi)電話號碼由4位數(shù)字組成,第位數(shù)字組成,第1位數(shù)字位數(shù)字不是不是0;校外電話又分為本市電話和外地電;校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥話兩類,撥校外電話需先撥0

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論