Transcript 資料與流程塑模
系統分析與設計
第五章
資料與流程塑模
目標
描述資料與流程塑模的概念和工具,包括資料流向圖、資料字典
和程序說明。
描述資料流向圖所使用的符號並解釋它們的使用規則。
以從整體到個別的順序繪製資料流向圖。
解釋如何對一組資料流向圖進行分層和平衡。
描述資料字典的用途及內容。
使用程序說明工具,包括結構化英文、決策表和決策樹。
描述邏輯和實體模型之間的關係。
第五章 資料與流程塑模 第175頁
Slide 2
簡介
第五章和第六章利用資訊為欲建置的系統建立一個邏輯模型以及
撰寫系統需求文件。
邏輯模型 (logical model) 是用來表示系統應該要做些什麼。
在系統設計階段則會建立一個實體模型 (physical model) 。
第五章 資料與流程塑模 第175頁
Slide 3
簡介
圖5-1
典型的資料與流程塑模任務清單。
第五章 資料與流程塑模 第176頁
Slide 4
資料與流程塑模綜述
系統分析師會使用許多圖形化技術來描述一個資訊系統。
資料流向圖 (data flow diagram, DFD) 使用數種不同符號來呈現
系統如何將輸入資料轉為有用資訊。
第五章 資料與流程塑模 第177頁
Slide 5
資料流向圖(1/13)
資料流向圖 (DFD) 可顯示資料
如何在資訊系統中流動,但並不
顯示任何程式邏輯或處理步驟。
一套 DFD 能夠提供系統的一個
邏輯模型,告訴我們系統能做什
麼,而非如何去做。
圖5-2 系統分析師在簡報中通常會運用一
些視覺化輔助工具。
第五章 資料與流程塑模 第177頁
Slide 6
資料流向圖(2/13)
DFD 符號
圖5-3
資料流向圖的符號、符號名稱,以及甘與薩爾森符號組和尤爾登符號組的範例。
第五章 資料與流程塑模 第178頁
Slide 7
資料流向圖(3/13)
DFD 符號
程序(process)符號
一個程序 (處理)可接收資料輸入並且產出不同內容或形式的輸出。
程序內含有商業邏輯 (business logic),或稱為業務規則 (business rules)。
一個程序符號可以被視為一種黑箱 (black box)。
第五章 資料與流程塑模 第177-178頁
Slide 8
資料流向圖(4/13)
DFD 符號
資料流(data flow)符號
是資料由系統內一處移往另一處的路徑。
可代表一個或多個資料項目。
資料流的符號是具有單向箭頭的一條線。
正確的資料流與程序(如圖5-5)。
錯誤的資料流與程序(如圖5-6):
無中生有 (spontaneous generation)。
黑洞(black hole)。
灰洞 (gray hole)。
第五章 資料與流程塑模 第179-180頁
Slide 9
資料流向圖(5/13)
圖5-5
正確的程序符號與資料流符號組合的範例。
第五章 資料與流程塑模 第179頁
Slide 10
資料流向圖(6/13)
圖 5-6 資料流與程序符號的錯誤組合方式。「申請保險補貼」程序沒有輸入,這種
程序被稱為自然生長。「計算薪資總額」程序沒有輸出,這種程序被稱為黑洞。「計
算成績」程序的輸入明顯無法產生其輸出,這種程序被稱為灰洞。
第五章 資料與流程塑模 第180頁
Slide 11
資料流向圖(7/13)
DFD 符號
資料儲存處(data store)符號
是系統存放資料的處所。
以便於後續的一個或多個程序(處理)之使用。
資料儲存處的實體特性在此並不重要,因為我們關心的是邏輯模型。
重要的是此項資料將於隨後為某些程序(處理)所使用。
第五章 資料與流程塑模 第180頁
Slide 12
資料流向圖(8/13)
圖5-7
正確使用資料儲存處符號的範例。
第五章 資料與流程塑模 第181頁
Slide 13
資料流向圖(9/13)
圖5-8 資料儲存處符號的錯誤使用範例。兩個資料儲存處除非透過一個中介的程序,否則
不能直接聯結,且每個資料儲存處都應該有一個進入和一個離開的資料流。
第五章 資料與流程塑模 第181頁
Slide 14
資料流向圖(10/13)
DFD 符號
實體(entity)符號
是系統輸入資料的來源或產出結果的去處。
實體的名稱則放在正方形內。
是系統的終端(terminator)。
來源端(source)。
去處端(sink)。
第五章 資料與流程塑模 第182頁
Slide 15
資料流向圖(11/13)
圖5-9
正確使用外部實體符號的範例。
第五章 資料與流程塑模 第182頁
Slide 16
資料流向圖(12/13)
圖5-10 外部實體的錯誤使用範例。外部實體一定要透過一個資料流連結實體,且
無法直接連結資料儲存處或另一個外部實體。
第五章 資料與流程塑模 第182頁
Slide 17
資料流向圖(13/13)
圖5-11 資料流符號的正確和錯誤的使用方式。
第五章 資料與流程塑模 第183頁
Slide 18
建立一套DFD(1/14)
利用實情調查的結果,為資訊系統建立一個圖形化模型。
首先,我們要先介紹繪製 DFD 的準則,然後再說明如何利用三步
驟來以這些準則建立一套 DFD。
第五章 資料與流程塑模 第183頁
Slide 19
建立一套DFD(2/14)
繪製 DFD 準則
以一整頁來繪製系統環境圖。
使用資訊系統的名稱來命名系統環境圖中的程序。
每個符號都使用唯一的名稱。
不要交錯線條。
為每個程序提供一個唯一的名稱和參照號碼。
盡可能取得更多使用者輸入跟回饋。
第五章 資料與流程塑模 第184-185頁
Slide 20
建立一套DFD(3/14)
步驟1:繪製系統環境圖
圖5-12 成績系統 DFD 中的系統環境圖。
第五章 資料與流程塑模 第184頁
Slide 21
建立一套DFD(4/14)
步驟1:繪製系統環境圖
圖5-13 訂單系統 DFD 中的系統環
境圖。
第五章 資料與流程塑模 第185頁
Slide 22
建立一套DFD(5/14)
步驟2:繪製 DFD 圖 0
圖5-15 成績系統的系統環境圖和圖 0。
第五章 資料與流程塑模 第187頁
Slide 23
建立一套DFD(6/14)
步驟2:繪製 DFD 圖 0
若同樣的資料同時流往兩個方向,則可以使用雙向箭頭來連結。
圖 0 視為程序 0 的分解圖。
母圖 (parent diagram)。
子圖 (child diagram)。
基本功能 (functional primitive)。
第五章 資料與流程塑模 第188頁
Slide 24
建立一套DFD(7/14)
圖5-16 訂單系統的 DFD 圖 0。
第五章 資料與流程塑模 第189頁
Slide 25
建立一套DFD(8/14)
步驟3:繪製下層圖表
必須運用分層和平衡的技巧。
分層範例
分層是使用一系列愈來愈詳細的 DFD 來描述一個資訊系統。
分層也稱為展開 (exploding)、分割 (partitioning) 或分解 (decomposing)。
第五章 資料與流程塑模 第190頁
Slide 26
建立一套DFD(9/14)
圖5-17 DFD 圖 1 顯示訂單系統之中「填寫訂單」程序的細節。
第五章 資料與流程塑模 第191頁
Slide 27
建立一套DFD(10/14)
步驟3:繪製下層圖表
平衡範例
平衡可以確保母 DFD 中輸入和輸出的資料流都會出現在子 DFD 中。
第五章 資料與流程塑模 第192頁
Slide 28
建立一套DFD(11/14)
圖5-21 上半部分為訂單系統的 DFD 圖 0,而分解「申請款項」程序得到的
DFD 圖 3 則在下半部。這兩個 DFD 是平衡的,因為下半部的子圖擁有和上半部
母圖中的程序 3 一樣的輸入和輸出資料流。
第五章 資料與流程塑模 第193頁
Slide 29
建立一套DFD(12/14)
圖5-21(續) 上半部分為訂單系統的 DFD 圖 0,而分解「申請款項」程序得到的
DFD 圖 3 則在下半部。這兩個 DFD 是平衡的,因為下半部的子圖擁有和上半部
母圖中的程序 3 一樣的輸入和輸出資料流。
第五章 資料與流程塑模 第193頁
Slide 30
建立一套DFD(13/14)
圖5-20 一個母 DFD 的範例,程序 0 如同一個黑箱。
第五章 資料與流程塑模 第193頁
Slide 31
建立一套DFD(14/14)
圖5-21 黑箱破解後看見了下一層的細節,包括三個程序、
兩個資料儲存處和四個內部資料流─全部都顯示於虛線之內。
第五章 資料與流程塑模 第193頁
Slide 32
資料字典(1/19)
資料字典 (data dictionary) 或資料倉庫 (data repository) 是指存放
系統相關資料的中央倉儲。
系統分析師會使用資料字典來蒐集、記載並整理有關系統的具體
事實。
資料字典也定義並描述所有的資料元素集合。
第五章 資料與流程塑模 第194頁
Slide 33
資料字典(2/19)
資料元素 (data element) 或稱為資料項目(data item) 或欄位 (field),
它是資訊系統內有意義的最小資料片段。
資料元素可以結合成為記錄 (record),或稱為資料結構 (data
structure)。
記錄是將原資料流內或存放於資料儲存處的相關資料元素做有意
義的組合。
第五章 資料與流程塑模 第194頁
Slide 34
資料字典(3/19)
使用 CASE 工具進行記載
系統愈複雜就愈難以保持完整而準確地記載。
現代的 CASE 工具可以簡化此類工作。
CASE 軟體的資料庫能夠保證資料的一致性。
第五章 資料與流程塑模 第194頁
Slide 35
資料字典(4/19)
記載資料元素
資料字典中必須記載每一個資料元素。
目標都是一樣的:將組成系統的資料與程序的資訊清楚且完整地呈現。
第五章 資料與流程塑模 第195頁
Slide 36
資料字典(5/19)
圖 5-22 透過線上建檔表單,分析師記載「社會安全號碼」資料元素
的資訊。稍後,分析師將會利用 CASE 工具建立一個資料字典條目。
第五章 資料與流程塑模 第195頁
Slide 37
資料字典(6/19)
記載資料元素
下列特性常常在被記載並描述在資料字典裡頭:
資料元素名稱或標籤 (label)
別名
型態和長度
預設值
可接受值――定義域 (domain)和有效規則 (validity rules)。
第五章 資料與流程塑模 第195-196頁
Slide 38
資料字典(7/19)
圖 5-23 擷取使用 Visible Analyst
定義「社會安全號碼」
資料元素的畫面。你可以看到許
多項目皆來自圖5-22。
第五章 資料與流程塑模 第196頁
Slide 39
資料字典(8/19)
記載資料元素
下列特性常常在被記載並描述在資料字典裡頭:
來源端
安全性
負責人
描述和備註
第五章 資料與流程塑模 第196頁
Slide 40
資料字典(9/19)
記載資料流
通常會有下列特性:
資料流名稱或標籤
描述
替代名稱
來源
目的
記錄
容量和頻率
第五章 資料與流程塑模 第196-198頁
Slide 41
資料字典(10/19)
圖5-24 在畫面上半部,分析
師在線上建檔表單中四個項目
欄位輸入資訊。下半部畫面則
顯示同樣四個項目被輸入
Visible Analyst 資料字典。
第五章 資料與流程塑模 第197頁
Slide 42
資料字典(11/19)
記載資料儲存處
典型的資料儲存處有下列特性:
資料儲存處名稱或標籤
描述
替代名稱
屬性
容量和頻率
第五章 資料與流程塑模 第198頁
Slide 43
資料字典(12/19)
圖5-25
擷取使用 Visible Analyst 定義「庫存」資料儲存處的畫面。
第五章 資料與流程塑模 第198頁
Slide 44
資料字典(13/19)
記載程序(處理)
典型的程序有下列特性:
程序名稱或標籤
描述
程序編號
程序說明
第五章 資料與流程塑模 第198-199頁
Slide 45
資料字典(14/19)
圖5-26 擷取使用 Visible Analyst 定義「核對訂單」程序的畫面。
第五章 資料與流程塑模 第199頁
Slide 46
資料字典(15/19)
記載實體(外部實體)
典型的實體有下列特性:
實體名稱
描述
替代名稱
輸入資料流
輸出資料流
第五章 資料與流程塑模 第199頁
Slide 47
資料字典(16/19)
圖5-27 擷取使用 Visible Analyst 定義「倉儲」外部實體的畫面。
第五章 資料與流程塑模 第199頁
Slide 48
資料字典(17/19)
記載記錄
典型的記錄有下列特性:
記錄或資料結構名稱
定義和描述
替代名稱
屬性
第五章 資料與流程塑模 第200頁
Slide 49
資料字典(18/19)
圖5-28 擷取使用 Visible Analyst 定義「信用狀態」資料結構的
畫面。
第五章 資料與流程塑模 第200頁
Slide 50
資料字典(19/19)
資料字典報表
許多寶貴的報表
將名稱依字母順序排列的所有資料元素清單。
描述每個資料元素的報表,其中並指出負責輸入、更新或刪除的使用者或部門。
舉出某特定資料元素被哪些資料流和資料儲存處所使用的報表。
載明資料字典中的資料元素、記錄、資料流、程序或其他選用項目所有特性。
第五章 資料與流程塑模 第200頁
Slide 51
程序(處理)說明工具
程序(處理)說明 (process description) 記載了基本功能的詳細內容,
並展現一套明確的處理步驟和商業邏輯。
雖然本章談論的是結構化分析,但程序說明工具也可以應用在物
件導向開發,這部分將於第六章做介紹。
第五章 資料與流程塑模 第200-201頁
Slide 52
程序(處理)說明工具
模組化設計
基於三個邏輯結構 (logical structure) 的結合。有時也稱為控制結構(control
structure),是程序的組成要素。
序列(sequence)
選擇(selection)
反覆(iteration)――迴圈 (looping)
第五章 資料與流程塑模 第201頁
Slide 53
程序(處理)說明工具
圖5-29
序列結構。
第五章 資料與流程塑模 第201頁
Slide 54
程序(處理)說明工具
圖5-30 選擇結構。
第五章 資料與流程塑模 第201頁
Slide 55
程序(處理)說明工具
圖5-31 反覆結構。
第五章 資料與流程塑模 第201頁
Slide 56
程序(處理)說明工具
結構化英文
應該遵循下列規則:
只使用序列、選擇、反覆做為三個組成要素。
使用縮排以方便閱讀。
使用有限的字彙,包括資料字典使用的標準術語和說明程序處理規則的特定單
字。
第五章 資料與流程塑模 第202頁
Slide 57
程序(處理)說明工具
圖5-32 「核對訂單」的程序說明,包括邏輯規則,以及
使用結構化英文陳述的執行法則。請注意邏輯陳述的縮排。
第五章 資料與流程塑模 第202頁
Slide 58
程序(處理)說明工具
結構化英文
結構化英文對於學過寫程式的學生來說應該相當熟悉,因為它是一種虛擬
碼 (pseudocode) 。
結構化英文的首要目標是說明底層的商業邏輯。
第五章 資料與流程塑模 第202頁
Slide 59
程序(處理)說明工具
圖5-33 「核對訂單」程序包含兩個條件。訂單若要被接受,產品必須有現品且顧客的
信用狀態是可被接受的。
第五章 資料與流程塑模 第203頁
Slide 60
程序(處理)說明工具
決策表(decision table)
顯示一個邏輯結構,而且可以列出所有條件與其結果的可能組合。
分析師時常使用決策表來描述一個邏輯程序,並確保沒有遺漏任何邏輯可
能性。
第五章 資料與流程塑模 第202-203頁
Slide 61
程序(處理)說明工具
決策表
每加入一條新規則,規則數量就會增加一倍。
可以有超過兩種可能的結果。
最適合用來描述一套複雜的條件。
第五章 資料與流程塑模 第203頁
Slide 62
程序(處理)說明工具
圖5-34
一個簡單的決策表範例,顯示「核對訂單」程序的處理邏輯。
第五章 資料與流程塑模 第203頁
Slide 63
程序(處理)說明工具
圖5-35 加入第三個條件後的「核對訂單」程序。訂單若要被接受,產品必須有現品且
顧客的信用狀態是可被接受的。不過,現在信貸經理有權可以豁免顧客的信用狀態要求。
第五章 資料與流程塑模 第203頁
Slide 64
程序(處理)說明工具
圖5-36 此表是根據圖5-35 的「核對訂單」程序條件建立的。因為有三個條件,所以共
有八種可能組合或規則。
第五章 資料與流程塑模 第204頁
Slide 65
程序(處理)說明工具
圖5-37 第一個表格中的破折號表示無關緊要的條件。第二個表格中的規
則則已經過合併,所以只剩四個規則。這些規則可以用來說明及記載商業
邏輯,在開發系統時也可以轉換成程式碼。
第五章 資料與流程塑模 第205頁
Slide 66
程序(處理)說明工具
圖5-38 促銷策略有三個條件,第一條敘述包含兩個條件,一個是5% 折扣,另一個是
再加送折扣。
第五章 資料與流程塑模 第205頁
Slide 67
程序(處理)說明工具
圖5-39 以圖 5-38 的促銷策略所製作的決策表。此為初始版的決策表,尚未經過簡
化。
第五章 資料與流程塑模 第205頁
Slide 68
程序(處理)說明工具
圖5-39
此版本的表格內容對不重要的條件加入了破折號,你可以發現很多規則可
以合併。
第五章 資料與流程塑模 第206頁
Slide 69
程序(處理)說明工具
決策樹
圖5-41 此決策樹是根據圖 5-39 和 5-40 描述的促銷策略決策表製作而成。如同決策表,
決策樹描繪在特定條件下應採取的行動,不過是以圖形的方式呈現。
第五章 資料與流程塑模 第207頁
Slide 70
邏輯模型與實體模型
結構化分析工具除了可以用來開發一個新資訊系統的邏輯模型之
外,這類工具也可以用來開發資訊系統的實體模型。
實體模型可以顯示系統需求如何建置。
第五章 資料與流程塑模 第207頁
Slide 71
邏輯模型與實體模型
模型的順序
許多系統分析師會為現行系統建立一個實體模型,接著是一個現行系統的
邏輯模型,然後才著手建立新系統的邏輯模型。
進行這些額外步驟是為了要更了解現行系統。
第五章 資料與流程塑模 第207頁
Slide 72
邏輯模型與實體模型
四模型法
為現行系統建立實體模型,然後邏輯模型;接著再為新系統建立邏輯模型,
最後是新系統的實體模型。
主要的好處是能在你進行任何修正或改進之前,清楚地明白現行系統的功
能。
唯一缺點就是建立現行系統的邏輯和實體模型所付出的額外時間和金錢。
第五章 資料與流程塑模 第207-208頁
Slide 73
本章總結
當進行資料與流程塑模時,系統分析師會建立圖形化模型來表現
系統如何將資料轉化為有用的資訊。
資料與流程塑模的最終產品是一套邏輯模型,用來支援業務運作
並滿足使用者需求。
資料與流程塑模包含三種主要工具:資料流向圖、資料字典及程
序說明。
第五章 資料與流程塑模 第208頁
Slide 74
本章總結
資料流向圖 (DFD) 是透過圖形化方式來呈現資料在資訊系統中的
轉換過程。
DFD 使用四種符號。
一套 DFD 就像一座金字塔,最上層是環境圖
第五章 資料與流程塑模 第208頁
Slide 75
本章總結
資料字典是進行結構化分析時所使用的中央歸檔工具。
每一個基本功能程序都是使用結構化英文、決策表和決策樹進行
記錄。
結構化分析工具可以在系統分析階段用來建立一個邏輯模型,也
可以在系統設計階段建立實體模型。
第五章 資料與流程塑模 第208頁
Slide 76