可行性研究課件_第1頁
可行性研究課件_第2頁
可行性研究課件_第3頁
可行性研究課件_第4頁
可行性研究課件_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第二章可行性研究軟件工程(SoftwareEngineering)12/12/20221第二章可行性研究軟件工程12/12/20221第二章可行性研究(1)了解可行性研究的任務、過程;(2)掌握系統(tǒng)流程圖、數(shù)據(jù)流圖和數(shù)據(jù)字典等工具的使用;(3)會對軟件項目做成本效益分析;12/12/20222第二章可行性研究(1)了解可行性研究的任務、過程;12/12開發(fā)軟件要回答三個問題Whytodo?—可行性研究Whattodo?—需求分析Howtodo?—系統(tǒng)設計12/12/20223開發(fā)軟件要回答三個問題12/12/20223可行性研究的任務回答是否可行最短時間最小代價目標可行性(feasibility)研究是探討在定義階段所確定的問題是否有可行的解。通過定義和分析問題,最終提出一個符合系統(tǒng)目標的高層次邏輯模型(LogicalModel)。三個方面的可行性技術可行性:使用現(xiàn)有的技術能否實現(xiàn)這個系統(tǒng)。經濟可行性:從成本和經濟效益考慮是否值得開發(fā)。操作可行性:系統(tǒng)的操作方式對用戶是否可行??尚行匝芯康某杀炯s占總成本的5%—10%。12/12/20224可行性研究的任務回答是否可行12/12/20224可行性研究可行性研究的任務用最小的代價在盡可能短的時間內確定問題是否能夠解決。問題定義

可行性研究問題定義正確?問題定義階段審查系統(tǒng)的邏輯模型技術可行性經濟可行性操作可行性實際的物理系統(tǒng)否是系統(tǒng)實現(xiàn)方案若干可行性研究需要的時間長短取決于工程的規(guī)模,一般來說,其成本只能占預期的工程總成本的5%~10%.可行性研究的結論可行性研究階段任務(示意圖)12/12/20225可行性研究可行性研究的任務用最小的代價在盡可能短的時間內確定可行性研究的步驟復查系統(tǒng)的規(guī)模和目標研究現(xiàn)正在使用的系統(tǒng)新系統(tǒng)的高層邏輯模型重新定義問題導出和評價供選擇的解法推薦行動方針草擬開發(fā)計劃書寫文檔提交審查用戶分析員是否符合系統(tǒng)目標

邏輯模型表達了系統(tǒng)分析員對新系統(tǒng)必須作什么工作、完成什么任務的理解.1.是否繼續(xù)該工程的開發(fā)的建議2.所選擇解決方案的解法的說明3.比較仔細的成本/效益分析12/12/20226可行性研究的步驟復查系統(tǒng)的規(guī)模和目標研究現(xiàn)正在使用系統(tǒng)流程圖系統(tǒng)流程圖:描繪物理系統(tǒng)的工具,其基本思想是用圖形符號以黑盒子形式描繪系統(tǒng)里面的每個部件(程序、文件、數(shù)據(jù)庫、表格、人工過程等),表達的是信息在系統(tǒng)各部件之間流動的情況。常用符號處理輸入/輸出連接換頁連接數(shù)據(jù)流文檔磁帶聯(lián)機存儲磁盤顯示人工輸入人工操作例子事務庫存清單程序定貨信息報告生成程序定貨報告庫存清單主文件12/12/20227系統(tǒng)流程圖系統(tǒng)流程圖:描繪物理系統(tǒng)的工具,其基本思想是用圖形系統(tǒng)流程圖舉例問題描述:一倉庫存儲各種零件,倉庫管理員每日要對零件的數(shù)量進行實時更新,若某種零件的數(shù)量少于某個值(庫存量臨界值)則應產生訂貨報告,規(guī)定每天向采購部送一張訂貨報表。系統(tǒng)處理描述:由終端將零件數(shù)量的變化輸入到計算機中,程序1處理該變化并存儲新的數(shù)據(jù)值,程序2生成訂貨信息,形成訂貨報告。12/12/20228系統(tǒng)流程圖舉例問題描述:一倉庫存儲各種零件,倉庫管理員每日要系統(tǒng)流程圖舉例事務庫存清單程序定貨信息報告生成程序定貨報告庫存清單主文件12/12/20229系統(tǒng)流程圖舉例事務庫存清單程序定貨信息報告生成程序定貨報告庫數(shù)據(jù)流圖

數(shù)據(jù)流圖(DataFlowDiagram)是一種圖形化技術,描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經歷的變換,是系統(tǒng)的邏輯模型,可不考慮具體的處理細節(jié)。

前一頁數(shù)據(jù)流圖容易理解,是分析員和用戶之間很好的通信工具。12/12/202210數(shù)據(jù)流圖數(shù)據(jù)流圖(DataFlow數(shù)據(jù)流圖的符號數(shù)據(jù)源點(source)/終點(sink)變換數(shù)據(jù)的處理(process)數(shù)據(jù)存儲(datastore)數(shù)據(jù)流(dataflow)

前一頁*表示數(shù)據(jù)流之間是“與”關系;+表示“或”關系;⊕表示只能從中選一個。12/12/202211數(shù)據(jù)流圖的符號數(shù)據(jù)源點(source)/終點(sink)有時數(shù)據(jù)的源點和終點相同——再重復畫一個同樣的符號(正方形或立方體)表示數(shù)據(jù)的終點。有時數(shù)據(jù)存儲也需要重復,以增加數(shù)據(jù)流圖的清晰程度。為了避免可能引起的誤解,如果代表同一個事物的同樣符號在圖中出現(xiàn)在n個地方,則在這個符號的一個角上畫(n-1)條短斜線做標記。12/12/202212有時數(shù)據(jù)的源點和終點相同——再重復畫一個同樣的符號(正方形或數(shù)據(jù)流圖的繪制步驟:分析問題,找出源點或終點,處理,數(shù)據(jù)存儲和數(shù)據(jù)流;畫出包含數(shù)據(jù)源點/終點以及處理的基本系統(tǒng)模型,如圖2.5;把基本系統(tǒng)模型細化,描繪系統(tǒng)的主要功能,即產生功能級數(shù)據(jù)流圖;對功能級數(shù)據(jù)流圖中描繪的系統(tǒng)細化。12/12/202213數(shù)據(jù)流圖的繪制步驟:12/12/202213假設一家工廠的采購部每天需要一張定貨報表,報表按零件編號排序,表中列出所有需要再次定貨的零件。對于每個需要再次定貨的零件應該列出下述數(shù)據(jù):零件編號,零件名稱,定貨數(shù)量,目前價格,主要供應者,次要供應者。零件入庫或出庫稱為事務,通過放在倉庫中的CRT終端把事務報告給定貨系統(tǒng)。當某種零件的庫存數(shù)量少于庫存量臨界值時就應該再次定貨。例子12/12/202214假設一家工廠的采購部每天需要一張定貨報表,報表按零件數(shù)據(jù)流圖有4種成分:源點或終點,處理,數(shù)據(jù)存儲和數(shù)據(jù)流。第一步可以從問題描述中提取數(shù)據(jù)流圖的4種成分:首先考慮數(shù)據(jù)的源點和終點,從上面對系統(tǒng)的描述可以知道“采購部每天需要一張定貨報表”,“通過放在倉庫中的CRT終端把事務報告給定貨系統(tǒng)”,所以采購員是數(shù)據(jù)終點,而倉庫管理員是數(shù)據(jù)源點。接下來考慮處理,再一次閱讀問題描述,“采購部需要報表”,顯然他們還沒有這種報表,因此必須有一個用于產生報表的處理。事務的后果是改變零件庫存量,然而任何改變數(shù)據(jù)的操作都是處理,因此對事務進行的加工是另一個處理。最后,考慮數(shù)據(jù)流和數(shù)據(jù)存儲:系統(tǒng)把定貨報表送給采購部,因此定貨報表是一個數(shù)據(jù)流;事務需要從倉庫送到系統(tǒng)中,顯然事務是另一個數(shù)據(jù)流。產生報表和處理事務這兩個處理在時間上明顯不匹配——每當有一個事務發(fā)生時立即處理它,然而每天只產生一次定貨報表。因此,用來產生定貨報表的數(shù)據(jù)必須存放一段時間,也就是應該有一個數(shù)據(jù)存儲12/12/202215數(shù)據(jù)流圖有4種成分:源點或終點,處理,數(shù)據(jù)存儲和數(shù)據(jù)定貨系統(tǒng)的基本系統(tǒng)模型12/12/20221612/12/202216

從基本系統(tǒng)模型這樣非常高的層次開始畫數(shù)據(jù)流圖是一個好辦法。在這個高層次的數(shù)據(jù)流圖上是否列出了所有給定的數(shù)據(jù)源點/終點是一目了然的,因此它是很有價值的通信工具。12/12/202217從基本系統(tǒng)模型這樣非常高的層次開始畫數(shù)據(jù)流圖是一個好兩個數(shù)據(jù)存儲:處理事務需要“庫存清單”數(shù)據(jù);產生報表和處理事務在不同時間,因此需要存儲“定貨信息”。另外兩個數(shù)據(jù)流,它們與數(shù)據(jù)存儲相同。這是因為從一個數(shù)據(jù)存儲中取出來的或放進去的數(shù)據(jù)通常和原來存儲的數(shù)據(jù)相同,也就是說,數(shù)據(jù)存儲和數(shù)據(jù)流只不過是同樣數(shù)據(jù)的兩種不同形式。在圖中給處理和數(shù)據(jù)存儲都加了編號,這樣做的目的是便于引用和追蹤。12/12/202218兩個數(shù)據(jù)存儲:處理事務需要“庫存清單”數(shù)據(jù);產生報表和處理事定貨系統(tǒng)的功能級數(shù)據(jù)流圖12/12/20221912/12/202219數(shù)據(jù)流圖的繪制接下來應該對功能級數(shù)據(jù)流圖中描繪的系統(tǒng)主要功能進一步細化。注意:分層細化時必須保持信息連續(xù)性對處理進行編號的方法12/12/202220數(shù)據(jù)流圖的繪制接下來應該對功能級數(shù)據(jù)流圖中描繪的系統(tǒng)主要功能把處理事務的功能進一步分解后的數(shù)據(jù)流圖12/12/20222112/12/202221面對復雜的系統(tǒng)時,一個比較好的方法是分層次地描繪這個系統(tǒng)。首先用一張高層次的系統(tǒng)流程圖描繪系統(tǒng)總體概貌,表明系統(tǒng)的關鍵功能。然后分別把每個關鍵功能擴展到適當?shù)脑敿毘潭?,畫在單獨的一頁紙上。這種分層次的描繪方法便于閱讀者按從抽象到具體的過程逐步深入地了解一個復雜的系統(tǒng)。分層12/12/202222面對復雜的系統(tǒng)時,一個比較好的方法是分層次地描數(shù)據(jù)流圖的分量命名為數(shù)據(jù)流(或數(shù)據(jù)存儲)命名名字(name)應代表整個數(shù)據(jù)流的內容。不要空洞、泛指,要有具體含義。如果對某個數(shù)據(jù)流命名有困難時,嘗試重新分解。

前一頁12/12/202223數(shù)據(jù)流圖的分量命名為數(shù)據(jù)流(或數(shù)據(jù)存儲)命名名字(name)數(shù)據(jù)流圖的分量命名為處理命名

通常應先為數(shù)據(jù)流命名再為與之相關的處理命名。名字應反映整個處理的功能而不是一部分。名字最好由一個具體的及物動詞和一個具體的賓語組成,如產生報表等。通常名字中只包括一個動詞。如果對某個處理命名有困難時,應重新分解。前一頁12/12/202224數(shù)據(jù)流圖的分量命名為處理命名通常應先為數(shù)據(jù)流命名再為與之相數(shù)據(jù)流圖的分量命名為數(shù)據(jù)源點/終點命名時采用它們在問題中習慣使用的名字即可,如采購員等。為數(shù)據(jù)源點/終點命名12/12/202225數(shù)據(jù)流圖的分量命名為數(shù)據(jù)源點/終點命名時采用它們在問題中習慣數(shù)據(jù)流圖的用途1、畫數(shù)據(jù)流圖的基本目的是交流信息。該種描繪方法簡單清析,可提供有關人員討論、審查,也是分析設計的重要工具。

前一頁12/12/202226數(shù)據(jù)流圖的用途1、畫數(shù)據(jù)流圖的基本目的是交流信息。該種描繪方數(shù)據(jù)流圖的用途注意:在一張數(shù)據(jù)流程圖上描述的處理超過了5~9個,就比較難于理解,應分層細化處理。如圖2.6和圖2.7:圖2.6描繪出系統(tǒng)的兩個處理:處理事務和產生報表圖2.7將處理事務的功能進一步分解12/12/202227數(shù)據(jù)流圖的用途注意:在一張數(shù)據(jù)流程圖上描述的處理超過了5~92、數(shù)據(jù)流圖的另一個主要用途是作為分析和設計的工具。

當用數(shù)據(jù)流圖輔助物理系統(tǒng)的設計時,以圖中不同處理的定時要求為指南,能夠在數(shù)據(jù)流圖上畫出許多組自動化邊界,每組自動化邊界可能意味著一個不同的物理系統(tǒng),因此可以根據(jù)系統(tǒng)的邏輯模型考慮系統(tǒng)的物理實現(xiàn)。12/12/2022282、數(shù)據(jù)流圖的另一個主要用途是作為分析和設計的工具。12/1處理定貨以批量方式更新庫存清單

前一頁12/12/202229以批量方式更新庫存清單前一頁12/12/202229應用舉例1.2更新庫存清單以聯(lián)機方式更新庫存清單

前一頁12/12/202230應用舉例1.2以聯(lián)機方式更新庫存清單前一頁12/12/20數(shù)據(jù)字典

數(shù)據(jù)字典(DataDictionary)是數(shù)據(jù)的信息的集合,即對數(shù)據(jù)流圖中包含的所有元素(element)的定義的集合。數(shù)據(jù)字典的作用是為設計人員提供關于數(shù)據(jù)的描述信息。前一頁12/12/202231數(shù)據(jù)字典數(shù)據(jù)字典(DataDictionar數(shù)據(jù)字典的內容

數(shù)據(jù)字典應由對下列四類元素的定義組成。對于數(shù)據(jù)處理的定義,用IPO(InputProcessOutput)、PDL(ProcessDesignLanguage)等更方便。①數(shù)據(jù)流②數(shù)據(jù)流分量③數(shù)據(jù)存儲④處理前一頁數(shù)據(jù)字典12/12/202232數(shù)據(jù)字典的內容數(shù)據(jù)字典應由對下列四類元素的定義組成。對數(shù)據(jù)字典一般信息:名字、別名、描述等。

定義:數(shù)據(jù)類型、結構、長度等。使用特點:值的范圍、使用頻率、使用方式(輸入、輸出、本地)、條件值等??刂菩畔ⅲ簛碓础⒂脩?、使用的程序、使用權限等。分組信息:父結構、從屬結構、物理位置(記錄、文件、數(shù)據(jù)庫等)等。

前一頁

在數(shù)據(jù)字典中,除了對數(shù)據(jù)的定義之外,還包含如下信息:12/12/202233數(shù)據(jù)字典一般信息:名字、別名、描述等。前一頁在數(shù)據(jù)字典

前一頁

定義數(shù)據(jù)的方法定義數(shù)據(jù)是按照自頂向下,逐層分解,直至無須再細化的元素。由數(shù)據(jù)元素組成數(shù)據(jù)有以下方式:①順序(sequence):以確定次序連接多個分量。②選擇(selection):從多個可能的元素中選取一個。

③重復(repeat):把指定的分量重復多次。

④可選:一個分量是可有可無的(重復0次或1次)。

12/12/202234數(shù)據(jù)字典前一頁定義數(shù)據(jù)的方法①順序數(shù)據(jù)字典

前一頁定義數(shù)據(jù)的方法=等價,定義為+表示和,連接兩個分量[]表示或,從中選出一個分量{}重復花括號中的分量,可用上下標表示上下限()圓括號中的分量可有可無

12/12/202235數(shù)據(jù)字典前一頁定義數(shù)據(jù)的方法=等價,定義為12/定義數(shù)據(jù)的方法通常使用上限和下限進一步注釋表示重復的花括號,如:數(shù)據(jù)字典

5{A}1:表示A最少重復1次,最多重復5次12/12/202236定義數(shù)據(jù)的方法通常使用上限和下限進一步注釋表示重復的花括號,定義數(shù)據(jù)的符號舉例例:標識符=字母字符+字母數(shù)字串字母數(shù)字串=0{字母或數(shù)字}7字母或數(shù)字=[字母字符|數(shù)字字符]12/12/202237定義數(shù)據(jù)的符號舉例例:12/12/202237數(shù)據(jù)字典的用途

數(shù)據(jù)字典最重要的用途是作為分析階段的工具。在數(shù)據(jù)字典中建立一組嚴密一致的定義,有助于分析員與用戶通信、交流,消除誤解。數(shù)據(jù)字典中的控制信息是很有價值的,可以看出改變一個數(shù)據(jù)對系統(tǒng)的影響。數(shù)據(jù)字典是開發(fā)數(shù)據(jù)庫很有價值的第一步。

前一頁數(shù)據(jù)字典12/12/202238數(shù)據(jù)字典的用途數(shù)據(jù)字典最重要的用途是作為分析階段的工數(shù)據(jù)字典的實現(xiàn)

目前實現(xiàn)數(shù)據(jù)字典有三種途徑:全人工過程,全自動化過程,混合過程。無論是何種方式,都應具有以下特點:

①通過名字能夠方便地查閱數(shù)據(jù)。

②沒有冗余。

③盡量不重復在規(guī)格說明的其他組成部分中已經出現(xiàn)的信息。

④容易更新和修改。

⑤能單獨處理描述每個數(shù)據(jù)元素的信息。

⑥定義的書寫方法簡單、方便、嚴密。

前一頁數(shù)據(jù)字典12/12/202239數(shù)據(jù)字典的實現(xiàn)目前實現(xiàn)數(shù)據(jù)字典有三種途徑:全人工過程,前一頁成本/效益分析

經濟效益通常表現(xiàn)為減少運行費用或(和)增加收益。

12/12/202240前一頁成本/效益分析經濟效益通常表現(xiàn)為減少運行費用或前一頁成本估計代碼行技術

估計出有多少行的代碼(code),再乘以每行的開發(fā)成本(cost)和復雜度(complexity),即可估算出開發(fā)成本。有時對代碼行的估計有一定的難度。

12/12/202241前一頁成本估計代碼行技術估計出有多少行的代碼(cod成本估計前一頁任務分解技術

把軟件開發(fā)工程分解成若干個相對獨立的任務,再分別估計每個任務的開發(fā)成本,最后累加起來就是總成本(人/年)估計工作量。一般可按階段劃分任務,再按階段把每個階段劃分成更小的任務。

可行性研究5%需求分析10%設計25%編碼和單元測試20%綜合測試40%

12/12/202242成本估計前一頁任務分解技術把軟件開發(fā)工程分解成若干個成本效益分析前一頁自動估計成本

可以更快、更客觀地估計成本。但需要有長期的經驗積累、強大的數(shù)據(jù)庫(database)、以及決策支持系統(tǒng)軟件(decisionsupportsystem)。12/12/202243成本效益分析前一頁自動估計成本可以更快、更客觀地估成本效益分析

成本(cost)/效益(benefit)分析是估計開發(fā)成本、運行費用和新系統(tǒng)帶來的經濟效益。一般按生命周期為5年來考慮。運行費用=系統(tǒng)的操作費用+維護費用經濟效益=使用新系統(tǒng)增加的收入+使用新系統(tǒng)可以節(jié)省的運行費用前一頁12/12/202244成本成本(cost)/效益(benefit)本章內容結束回首頁前一頁12/12/202245本章內容結束回首頁前一頁12/12/202245演講完畢,謝謝觀看!演講完畢,謝謝觀看!第二章可行性研究軟件工程(SoftwareEngineering)12/12/202247第二章可行性研究軟件工程12/12/20221第二章可行性研究(1)了解可行性研究的任務、過程;(2)掌握系統(tǒng)流程圖、數(shù)據(jù)流圖和數(shù)據(jù)字典等工具的使用;(3)會對軟件項目做成本效益分析;12/12/202248第二章可行性研究(1)了解可行性研究的任務、過程;12/12開發(fā)軟件要回答三個問題Whytodo?—可行性研究Whattodo?—需求分析Howtodo?—系統(tǒng)設計12/12/202249開發(fā)軟件要回答三個問題12/12/20223可行性研究的任務回答是否可行最短時間最小代價目標可行性(feasibility)研究是探討在定義階段所確定的問題是否有可行的解。通過定義和分析問題,最終提出一個符合系統(tǒng)目標的高層次邏輯模型(LogicalModel)。三個方面的可行性技術可行性:使用現(xiàn)有的技術能否實現(xiàn)這個系統(tǒng)。經濟可行性:從成本和經濟效益考慮是否值得開發(fā)。操作可行性:系統(tǒng)的操作方式對用戶是否可行??尚行匝芯康某杀炯s占總成本的5%—10%。12/12/202250可行性研究的任務回答是否可行12/12/20224可行性研究可行性研究的任務用最小的代價在盡可能短的時間內確定問題是否能夠解決。問題定義

可行性研究問題定義正確?問題定義階段審查系統(tǒng)的邏輯模型技術可行性經濟可行性操作可行性實際的物理系統(tǒng)否是系統(tǒng)實現(xiàn)方案若干可行性研究需要的時間長短取決于工程的規(guī)模,一般來說,其成本只能占預期的工程總成本的5%~10%.可行性研究的結論可行性研究階段任務(示意圖)12/12/202251可行性研究可行性研究的任務用最小的代價在盡可能短的時間內確定可行性研究的步驟復查系統(tǒng)的規(guī)模和目標研究現(xiàn)正在使用的系統(tǒng)新系統(tǒng)的高層邏輯模型重新定義問題導出和評價供選擇的解法推薦行動方針草擬開發(fā)計劃書寫文檔提交審查用戶分析員是否符合系統(tǒng)目標

邏輯模型表達了系統(tǒng)分析員對新系統(tǒng)必須作什么工作、完成什么任務的理解.1.是否繼續(xù)該工程的開發(fā)的建議2.所選擇解決方案的解法的說明3.比較仔細的成本/效益分析12/12/202252可行性研究的步驟復查系統(tǒng)的規(guī)模和目標研究現(xiàn)正在使用系統(tǒng)流程圖系統(tǒng)流程圖:描繪物理系統(tǒng)的工具,其基本思想是用圖形符號以黑盒子形式描繪系統(tǒng)里面的每個部件(程序、文件、數(shù)據(jù)庫、表格、人工過程等),表達的是信息在系統(tǒng)各部件之間流動的情況。常用符號處理輸入/輸出連接換頁連接數(shù)據(jù)流文檔磁帶聯(lián)機存儲磁盤顯示人工輸入人工操作例子事務庫存清單程序定貨信息報告生成程序定貨報告庫存清單主文件12/12/202253系統(tǒng)流程圖系統(tǒng)流程圖:描繪物理系統(tǒng)的工具,其基本思想是用圖形系統(tǒng)流程圖舉例問題描述:一倉庫存儲各種零件,倉庫管理員每日要對零件的數(shù)量進行實時更新,若某種零件的數(shù)量少于某個值(庫存量臨界值)則應產生訂貨報告,規(guī)定每天向采購部送一張訂貨報表。系統(tǒng)處理描述:由終端將零件數(shù)量的變化輸入到計算機中,程序1處理該變化并存儲新的數(shù)據(jù)值,程序2生成訂貨信息,形成訂貨報告。12/12/202254系統(tǒng)流程圖舉例問題描述:一倉庫存儲各種零件,倉庫管理員每日要系統(tǒng)流程圖舉例事務庫存清單程序定貨信息報告生成程序定貨報告庫存清單主文件12/12/202255系統(tǒng)流程圖舉例事務庫存清單程序定貨信息報告生成程序定貨報告庫數(shù)據(jù)流圖

數(shù)據(jù)流圖(DataFlowDiagram)是一種圖形化技術,描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經歷的變換,是系統(tǒng)的邏輯模型,可不考慮具體的處理細節(jié)。

前一頁數(shù)據(jù)流圖容易理解,是分析員和用戶之間很好的通信工具。12/12/202256數(shù)據(jù)流圖數(shù)據(jù)流圖(DataFlow數(shù)據(jù)流圖的符號數(shù)據(jù)源點(source)/終點(sink)變換數(shù)據(jù)的處理(process)數(shù)據(jù)存儲(datastore)數(shù)據(jù)流(dataflow)

前一頁*表示數(shù)據(jù)流之間是“與”關系;+表示“或”關系;⊕表示只能從中選一個。12/12/202257數(shù)據(jù)流圖的符號數(shù)據(jù)源點(source)/終點(sink)有時數(shù)據(jù)的源點和終點相同——再重復畫一個同樣的符號(正方形或立方體)表示數(shù)據(jù)的終點。有時數(shù)據(jù)存儲也需要重復,以增加數(shù)據(jù)流圖的清晰程度。為了避免可能引起的誤解,如果代表同一個事物的同樣符號在圖中出現(xiàn)在n個地方,則在這個符號的一個角上畫(n-1)條短斜線做標記。12/12/202258有時數(shù)據(jù)的源點和終點相同——再重復畫一個同樣的符號(正方形或數(shù)據(jù)流圖的繪制步驟:分析問題,找出源點或終點,處理,數(shù)據(jù)存儲和數(shù)據(jù)流;畫出包含數(shù)據(jù)源點/終點以及處理的基本系統(tǒng)模型,如圖2.5;把基本系統(tǒng)模型細化,描繪系統(tǒng)的主要功能,即產生功能級數(shù)據(jù)流圖;對功能級數(shù)據(jù)流圖中描繪的系統(tǒng)細化。12/12/202259數(shù)據(jù)流圖的繪制步驟:12/12/202213假設一家工廠的采購部每天需要一張定貨報表,報表按零件編號排序,表中列出所有需要再次定貨的零件。對于每個需要再次定貨的零件應該列出下述數(shù)據(jù):零件編號,零件名稱,定貨數(shù)量,目前價格,主要供應者,次要供應者。零件入庫或出庫稱為事務,通過放在倉庫中的CRT終端把事務報告給定貨系統(tǒng)。當某種零件的庫存數(shù)量少于庫存量臨界值時就應該再次定貨。例子12/12/202260假設一家工廠的采購部每天需要一張定貨報表,報表按零件數(shù)據(jù)流圖有4種成分:源點或終點,處理,數(shù)據(jù)存儲和數(shù)據(jù)流。第一步可以從問題描述中提取數(shù)據(jù)流圖的4種成分:首先考慮數(shù)據(jù)的源點和終點,從上面對系統(tǒng)的描述可以知道“采購部每天需要一張定貨報表”,“通過放在倉庫中的CRT終端把事務報告給定貨系統(tǒng)”,所以采購員是數(shù)據(jù)終點,而倉庫管理員是數(shù)據(jù)源點。接下來考慮處理,再一次閱讀問題描述,“采購部需要報表”,顯然他們還沒有這種報表,因此必須有一個用于產生報表的處理。事務的后果是改變零件庫存量,然而任何改變數(shù)據(jù)的操作都是處理,因此對事務進行的加工是另一個處理。最后,考慮數(shù)據(jù)流和數(shù)據(jù)存儲:系統(tǒng)把定貨報表送給采購部,因此定貨報表是一個數(shù)據(jù)流;事務需要從倉庫送到系統(tǒng)中,顯然事務是另一個數(shù)據(jù)流。產生報表和處理事務這兩個處理在時間上明顯不匹配——每當有一個事務發(fā)生時立即處理它,然而每天只產生一次定貨報表。因此,用來產生定貨報表的數(shù)據(jù)必須存放一段時間,也就是應該有一個數(shù)據(jù)存儲12/12/202261數(shù)據(jù)流圖有4種成分:源點或終點,處理,數(shù)據(jù)存儲和數(shù)據(jù)定貨系統(tǒng)的基本系統(tǒng)模型12/12/20226212/12/202216

從基本系統(tǒng)模型這樣非常高的層次開始畫數(shù)據(jù)流圖是一個好辦法。在這個高層次的數(shù)據(jù)流圖上是否列出了所有給定的數(shù)據(jù)源點/終點是一目了然的,因此它是很有價值的通信工具。12/12/202263從基本系統(tǒng)模型這樣非常高的層次開始畫數(shù)據(jù)流圖是一個好兩個數(shù)據(jù)存儲:處理事務需要“庫存清單”數(shù)據(jù);產生報表和處理事務在不同時間,因此需要存儲“定貨信息”。另外兩個數(shù)據(jù)流,它們與數(shù)據(jù)存儲相同。這是因為從一個數(shù)據(jù)存儲中取出來的或放進去的數(shù)據(jù)通常和原來存儲的數(shù)據(jù)相同,也就是說,數(shù)據(jù)存儲和數(shù)據(jù)流只不過是同樣數(shù)據(jù)的兩種不同形式。在圖中給處理和數(shù)據(jù)存儲都加了編號,這樣做的目的是便于引用和追蹤。12/12/202264兩個數(shù)據(jù)存儲:處理事務需要“庫存清單”數(shù)據(jù);產生報表和處理事定貨系統(tǒng)的功能級數(shù)據(jù)流圖12/12/20226512/12/202219數(shù)據(jù)流圖的繪制接下來應該對功能級數(shù)據(jù)流圖中描繪的系統(tǒng)主要功能進一步細化。注意:分層細化時必須保持信息連續(xù)性對處理進行編號的方法12/12/202266數(shù)據(jù)流圖的繪制接下來應該對功能級數(shù)據(jù)流圖中描繪的系統(tǒng)主要功能把處理事務的功能進一步分解后的數(shù)據(jù)流圖12/12/20226712/12/202221面對復雜的系統(tǒng)時,一個比較好的方法是分層次地描繪這個系統(tǒng)。首先用一張高層次的系統(tǒng)流程圖描繪系統(tǒng)總體概貌,表明系統(tǒng)的關鍵功能。然后分別把每個關鍵功能擴展到適當?shù)脑敿毘潭?,畫在單獨的一頁紙上。這種分層次的描繪方法便于閱讀者按從抽象到具體的過程逐步深入地了解一個復雜的系統(tǒng)。分層12/12/202268面對復雜的系統(tǒng)時,一個比較好的方法是分層次地描數(shù)據(jù)流圖的分量命名為數(shù)據(jù)流(或數(shù)據(jù)存儲)命名名字(name)應代表整個數(shù)據(jù)流的內容。不要空洞、泛指,要有具體含義。如果對某個數(shù)據(jù)流命名有困難時,嘗試重新分解。

前一頁12/12/202269數(shù)據(jù)流圖的分量命名為數(shù)據(jù)流(或數(shù)據(jù)存儲)命名名字(name)數(shù)據(jù)流圖的分量命名為處理命名

通常應先為數(shù)據(jù)流命名再為與之相關的處理命名。名字應反映整個處理的功能而不是一部分。名字最好由一個具體的及物動詞和一個具體的賓語組成,如產生報表等。通常名字中只包括一個動詞。如果對某個處理命名有困難時,應重新分解。前一頁12/12/202270數(shù)據(jù)流圖的分量命名為處理命名通常應先為數(shù)據(jù)流命名再為與之相數(shù)據(jù)流圖的分量命名為數(shù)據(jù)源點/終點命名時采用它們在問題中習慣使用的名字即可,如采購員等。為數(shù)據(jù)源點/終點命名12/12/202271數(shù)據(jù)流圖的分量命名為數(shù)據(jù)源點/終點命名時采用它們在問題中習慣數(shù)據(jù)流圖的用途1、畫數(shù)據(jù)流圖的基本目的是交流信息。該種描繪方法簡單清析,可提供有關人員討論、審查,也是分析設計的重要工具。

前一頁12/12/202272數(shù)據(jù)流圖的用途1、畫數(shù)據(jù)流圖的基本目的是交流信息。該種描繪方數(shù)據(jù)流圖的用途注意:在一張數(shù)據(jù)流程圖上描述的處理超過了5~9個,就比較難于理解,應分層細化處理。如圖2.6和圖2.7:圖2.6描繪出系統(tǒng)的兩個處理:處理事務和產生報表圖2.7將處理事務的功能進一步分解12/12/202273數(shù)據(jù)流圖的用途注意:在一張數(shù)據(jù)流程圖上描述的處理超過了5~92、數(shù)據(jù)流圖的另一個主要用途是作為分析和設計的工具。

當用數(shù)據(jù)流圖輔助物理系統(tǒng)的設計時,以圖中不同處理的定時要求為指南,能夠在數(shù)據(jù)流圖上畫出許多組自動化邊界,每組自動化邊界可能意味著一個不同的物理系統(tǒng),因此可以根據(jù)系統(tǒng)的邏輯模型考慮系統(tǒng)的物理實現(xiàn)。12/12/2022742、數(shù)據(jù)流圖的另一個主要用途是作為分析和設計的工具。12/1處理定貨以批量方式更新庫存清單

前一頁12/12/202275以批量方式更新庫存清單前一頁12/12/202229應用舉例1.2更新庫存清單以聯(lián)機方式更新庫存清單

前一頁12/12/202276應用舉例1.2以聯(lián)機方式更新庫存清單前一頁12/12/20數(shù)據(jù)字典

數(shù)據(jù)字典(DataDictionary)是數(shù)據(jù)的信息的集合,即對數(shù)據(jù)流圖中包含的所有元素(element)的定義的集合。數(shù)據(jù)字典的作用是為設計人員提供關于數(shù)據(jù)的描述信息。前一頁12/12/202277數(shù)據(jù)字典數(shù)據(jù)字典(DataDictionar數(shù)據(jù)字典的內容

數(shù)據(jù)字典應由對下列四類元素的定義組成。對于數(shù)據(jù)處理的定義,用IPO(InputProcessOutput)、PDL(ProcessDesignLanguage)等更方便。①數(shù)據(jù)流②數(shù)據(jù)流分量③數(shù)據(jù)存儲④處理前一頁數(shù)據(jù)字典12/12/202278數(shù)據(jù)字典的內容數(shù)據(jù)字典應由對下列四類元素的定義組成。對數(shù)據(jù)字典一般信息:名字、別名、描述等。

定義:數(shù)據(jù)類型、結構、長度等。使用特點:值的范圍、使用頻率、使用方式(輸入、輸出、本地)、條件值等??刂菩畔ⅲ簛碓础⒂脩?、使用的程序、使用權限等。分組信息:父結構、從屬結構、物理位置(記錄、文件、數(shù)據(jù)庫等)等。

前一頁

在數(shù)據(jù)字典中,除了對數(shù)據(jù)的定義之外,還包含如下信息:12/12/202279數(shù)據(jù)字典一般信息:名字、別名、描述等。前一頁在數(shù)據(jù)字典

前一頁

定義數(shù)據(jù)的方法定義數(shù)據(jù)是按照自頂向下,逐層分解,直至無須再細化的元素。由數(shù)據(jù)元素組成數(shù)據(jù)有以下方式:①順序(sequence):以確定次序連接多個分量。②選擇(selection):從多個可能的元素中選取一個。

③重復(repeat):把指定的分量重復多次。

④可選:一個分量是可有可無的(重復0次或1次)。

12/12/202280數(shù)據(jù)字典前一頁定義數(shù)據(jù)的方法①順序數(shù)據(jù)字典

前一頁定義數(shù)據(jù)的方法=等價,定義為+表示和,連接兩個分量[]表示或,從中選出一個分量{}重復花括號中的分量,可用上下標表示上下限()圓括號中的分量可有可無

12/12/202281數(shù)據(jù)字典前一頁定義數(shù)據(jù)的方法=等價,定義為12/定義數(shù)據(jù)的方法通常使用上限和下限進一步注釋表示重復的花括號,如:數(shù)據(jù)字典

5{A}1:表示A最少重復1次,最多重復5次

溫馨提示

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

評論

0/150

提交評論