必須要與低層次 DFD 中輸入與輸出資料流的總和相等。
料流與過程的結合應避免掉奇蹟、黑洞、和灰洞的產生。
資料儲存符號 :
資料儲存用來在資料流圖上表示這樣一種情況,因為以後 還有一個或多個過程需要使用儲存的資料,所以系統必須 保存資料。資料儲存的名稱置於兩條直線之間,表明它所 含有的資料。資料儲存的名稱是包含一個名詞與必要時還 有一些形容詞的一個複數名稱。
外部實體 :
又稱端點,因為它們是資料的來源或是最終的歸宿。給系 統提供資料的外部實體稱為源 ( source ) ,從系統接收 資料的外部實體稱為宿(sink) 。外部實體的名稱是一個 單數形式的部門、外部組織、其他資訊系統、或個人。
4-2 DFD 流程
4-2.1 背景圖解說
Repairer
Student
Employee
Worker Manager
0
PC Lab Information Management System
欲新增機房之資料 工 Lab assistant
Repairer
"Student"
●使用機房的電腦
學生要借用某機房的某台電腦,必須輸入
電腦借用表
,檢查欲 使用的電腦使否有人使用或者損毀,然後會傳回借用的結果
, 已通知學生是否借用成功。"Faculty"
●機房查詢
"Faculty" 要預借某間機房上課或是考試之類的用途時,會先 做機房查詢的動作, 看裡面的電腦台數是否足夠,或是有沒有
的機房借用表
分別傳給 "Manager" 以及 "Lab Assistant",通 知他們借用表上面的時段已經有人借用。然後, 系統會檢查輸 入的預借時段使否已經有人預借, 因此回傳回一個借用機房的
結果
,已告知教職員機房是否預借成功。"Manager"
●新增工讀生和使用者資料
●查詢使用紀錄
"Manager" 會輸入一個
使用紀錄查詢
來觀察某台電腦的使用情 形 , 然 後 系 統 就 會 傳 回 一 個符 合 的 使 用 者 使 用 紀 錄
給"Manager" , 以便觀察所有使用過此電腦的使用者。
●排班
"Lab Assistant" 會從系統拿到一個
未排班的時段表
,這個表 格就是 Lab Assistant 可以排班的時段,然後 "Lab Assistant"根據這個送過來的未排班的時段表來輸入
排班時段
到此系統裡 面 。 輸 入 完 成 之 後 , 系 統 會 傳 回 一 個排 班 結 果
給 "Lab Assistant" , 告知 Lab Assistant 排班是否成功。●處理遺失物品
當有人在電腦機房使用電腦時,不小心把物品遺留在電腦機 房,"Lab Assistant" 就會把遺失物品整理起來,然後送出一 個
遺失物品表
給此系統, 同時系統也會回傳一個遺失物品報
告
, 然後在機房公佈這份報告, 如此一來, 當使用者要找 回他在機房遺失的物品時, 只要看這份報告就可以隻道東西是 否遺失在此機房。●機房設備損壞的處理
"Lab Assistant"會將損壞的設備整理起來,然後送出一個
損壞 表
給此系統。系統也會傳給 "Manager" 一個維修報告
,讓 Manager 來做管理。"Repairer"
●修理損壞的設備
首先 "Repairer" 會從系統那邊收到一個
損壞報告
, 讓他們來 修理損壞的設備,然後將修理過的跟修不好的設備整理成表,送出一個
維修表
給此系統。4-2.2 Student 流程解說
圖4.2 圖0(Student)
篩選
實體 ″Student″ :
我們從外部實體 ″Student″ 輸入一資料流
電腦借用表
至 一過程【檢查借用表】中,而【檢查借用表】將比對資料流使用者資 料
進行檢查的動作,產生兩資料流,接受的借用表、無效的借表
。接 受的借用表
也將會和從資料儲存使用記錄表中所儲存的使用記錄
一 同輸入一過程【檢查電腦是否有人使用】而產生一借用通知
,同時也 會將新使用記錄
寫回使用者資料表。
無效的借用表
或借用通知
將輸入一過程【整理借用結果】產生借用結果
通知 ″Student″ 。而從使用記錄表儲存的
所有使用者的記錄
將輸入一過程【篩選符合查詢條件的記錄】配合資料流
符合的使用者資料
和使用記
錄的查詢條件
供外部實體 ″Manager″ 做查詢用。4-2.3 Faculty & Manager 流程解說
3 Schedle of lab Schedule environment infoD 5 Software list
Hardware environment info
Software list
7
〝Faculty〞所做動作:
查詢機房
送出
機房查詢條件
經【搜尋符合條件的機房】透過Schedle of lab 傳回
Schedule
以取得符合行程條件之機房資料。Software list 傳回
Software list
以取得符合軟體需求之機房 資料。Hardware environment info 傳回
Hardware environment info
以取得符合硬體需求之機房資料。取 三 方 面 傳 回 資 料 之 值 作 交 集 處 理 , 將
機 房 查 詢 結 果
傳 回〝Faculty〞以完成查詢機房之動作。
目的:
在於可以讓使用者可依自己所需的軟硬體條件以及機房的 使用時間事先先做好選擇,避免所借用機房條件與使用者要求不 符所造成的各方面困擾。
借用機房
送出已選定的
機房借用表
經 【檢查能否借用機房】透過 Schedle of lab 傳回Schedule
取得課程行程資料。學校行事曆傳回
行事曆
以取得學校放假資料。機房開放時間表傳回
機房開放時間表
以取得機房開放之時段 對照之後,將借用機房的結果
傳回〝Faculty〞並將借用資料
傳 給 Schedle of lab 以作紀錄。目的:
標示出課程行程資料、學校行事曆以及機房開放時間表,
以區別可以借用之節次,可以有效防止有衝突的借課行為產生。
〝Manager〞所做動作:
新增移除及更新機房資料
送出
機房資料
透過【檢查機房資料】將符合格式之硬體資料
及軟
體資料
分別傳入 Software list 及 Hardware environment info 作紀錄並將機房輸入的結果
傳回給〝Manager〞。開放時間
傳給機房開放時間表作為紀錄並將輸入機房開放時間 的結果
傳回給〝Manager〞。目的:
提供借用機房時,機房開放時間的參考。
新增移除及更新使用者資料
送出使用者資料透過【檢查使用者資料格式】將
接受的使用者資 料
傳給使用者資料表作為紀錄並將使用者資料輸入的結果
傳回 給〝Manager〞。目的:
系統使用者的設定,由於有權限的管理,設定使用者及記錄使用 者資訊,開放權限並方便查詢日後使用紀錄。
4-2.4 Lab Assistant & Repairer 流程解說
L a b a s s is t a n t
assistant 資料表 D10
圖4.4 圖0(Lab assistant & Repairer)
列出
實體 ″Lab assistant″ :
實體 ″Repairer″ :
″Repairer″ 會接收一從 ″Lab assistant ″ 所輸出的一資料
流
損壞表
經過一 【檢查維護記錄】 的過程,彙整成的資料 流損壞報告
。而″Repairer″ 會回報一資料流
維護表
經一過程 【檢 查維護記錄】 輸出一完整的資料流維修報告
給 ″Manager″了解。
4-2.5 圖 4(Lab Assistant)解說
圖4.5 圖11(Lab assistant)
實體 ″Lab assistant″ :
外部實體 ″Lab assistant″ 輸入一資料流
損壞表
配合之後 會說到的一資料流損壞記錄
至一過程【檢查損壞記錄是否重複輸入】產生一
接受的損壞記錄
儲存於維護記錄表中,而維護記錄表中也同 時儲存了來自於 ″Repairer″ 是否完成的完成記錄
。維護記錄表中的資料
維修記錄
將會經過一過程【列出未維修記錄】產生一資料流損壞記錄
。損壞記錄
會再經過一過程【整理成表】產生一資料流損 壞報告
和一資料流維修結果報告
分別給 ″Repairer″ 和″Manager″ 知道。
4-2.6 圖 5(Lab Assistant)解說
L a b a s s i s t a n t
assistant 資料表 D10
判斷年資 12. 1
排班時段表 D8
圖4.6 圖12(Lab assistant)
判斷排班
實體 ″Lab assistant″ :
″Lab assistant″ 將
排班時段
輸入一過程【判斷年資】而這一個【判斷年資】的過程會比對由資料儲存 assistant 資料表存取的
年
資資料
把排班時段
分為兩年以上年資的工讀生排班時段
、一年以上
兩年以下年資的工讀生排班時段
、未滿一年年資的工讀生排班時段
。 而兩年以上年資的工讀生排班時段
我們會輸入一過程【判斷排班時段 是否 >= 16 堂】,一年以上兩年以下年資的工讀生排班時段
我們會輸 入一過程【判斷排班時段是否 >= 8 堂】,未滿一年年資的工讀生排
班時段
我們會輸入一過程【判斷排班時段是否 >= 4 堂】。之後我們 會產生一資料流接受的班表
和一資料流排班結果
。接受的班表
會儲存 於排班時段表中,而排班結果
將會告知 ″Lab assistant″ 所排完班 的結果。4-3 資料庫格式
.DataBase Lab
All Tables:
No Name of table Note 1 Student
學生資料表 2 Faculty
教職員資料表 3 Lab_Asssitant
機房工讀生資料表 4 Repairer
機房維修者資料表 5 Manager
機房管理者資料表 6 Login_Log
機房系統登入日誌 7 Lab
機房資料表 8 Campus
逢甲校園資料表 9 Building
逢甲建築物資料表 10 Schedule_of_Lab
機房借用計畫表 11 Pc
機房電腦資料表 12 Other_Equip
機房設備資料表
(Continued) 13 Layout
機房內部配置資料表 14 Pic_Info
機房內部配置的物件資料表 15 Software
機房電腦所安裝之軟體資料表 16 Printer
機房印表機資料表 17 Record_of_Use
機房電腦使用記錄資料表 18 Record_of_Maintenance
機房維護資料表 19 Lost_or_Broken
機房損壞遺失資料表 20 Part
機房電腦設備資料表 21 Open_Section
機房開放時段資料表 22 Section_Time
逢甲上課時間資料表 23 Soft_List
軟體清單資料表 24 FCU_Schedule
逢甲行事曆資料表 25 Lost_and_Found
機房失物招領資料表 26 Schedule_of_Lab_Assistant
機房工讀生值班表
表 4.1 所有 Table
.Student Table: 4 Department VARCHAR(6)
系所 5 Class CHAR(8)
班級 6 Citizen_Number CHAR(10)
身份證號碼 7 E_Mail VARCHAR(50)
表 4.2 Student Table
.Faculty Table:
No Name of column Type Note 1 F_Id CHAR(6) PRIMARY KEY
教職員編號 2 F_Pw CHAR(16)
3 Name VARCHAR(10) 4 Citizen_Number CHAR(10) 5 E_Mail VARCHAR(50) 6 Cell_Phone CHAR(10)
7 Extension CHAR(4) 分機 8 Office VARCHAR(7)
辨公室***
表 4.3 Faculty Table
.Lab_Assistant Table:
No Name of column Type Note 1 A_Id CHAR(8) PRIMARY KEY 2 A_Pw CHAR(16)
3 Name VARCHAR(10) 4 Citizen_Number CHAR(10) 5 E_Mail VARCHAR(50)
表 4.4 Lab_Assistant Table
.Repairer Table:
No Name of column Type Note 1 R_Id CHAR(8) PRIMARY KEY 2 R_Pw CHAR(16)
3 Name VARCHAR(10) 4 Citizen_Number CHAR(10) 5 E_Mail VARCHAR(50)
表 4.5 Repairer Table
.Manager Table:
No Name of column Type Note 1 M_Id CHAR(8) PRIMARY KEY 2 M_Pw CHAR(16)
3 Name VARCHAR(10) 4 Citizen_Number CHAR(10) 5 E_Mail VARCHAR(50)
表 4.6 Manager Table
.Login_Log Table:
No Name of column Type Note 1 Log_No INT UNSIGNED
PRIMARY KEY AUTO_INCREMENT 2 User_Id CHAR(8)
電腦使用者 3 Login_Time DATETIME
登入系統之時間 4 From_Which_IP CHAR(15)
User 電腦之 IP 5 From_Which_Host VARCHAR(50)
User 電腦之 HostName 表 4.7 Login_Log Table
.LabTable:
No Name of column Type Note 1 L_Id CHAR(3) PRIMARY KEY 2 Total_Com TINYINT UNSIGNED
NOT NULL 共有電腦數 3 Building_No TINYINT UNSIGNED
位於何建築物中 4 Class_Room VARCHAR(6)
5 Extension CHAR(4)
機房分機電話 6 Update_Time TIMESTAMP(14)
機房資料更新時間 7 Note TEXT
表 4.8 LabTable
.Campus Table:
No Name of column Type Note 1 Campus_No SMALLINT UNSIGNED
PRIMARY KEY AUTO_INCREMENT
流水號
2 Name VARCHAR(30)
校區名稱 3 Address VARCHAR(200)
校區地址 表 4.9 Campus Table
.Building Table:
No Name of column Type Note 1 Building_No INT UNSIGNED
PRIMARY KEY AUTO_INCREMENT
流水號
2 Campus_No SMALLINT UNSIGNED
位於哪一個校區 3 Name VARCHAR(40)
建築物名稱 表 4.10 Building Table
.Schedule_of_Lab Table:
No Name of column Type Note 1 S_Lab_No INT UNSIGNED
PRIMARY KEY AUTO_INCREMENT
流水號 5 Section ENUM('1','2','3','4','5','6','7','
8','9','10','11','12','13','14') 所借用機房時段 6 Purpose TEXT
借用目地 表 4.11 Schedule_of_Lab Table
.Schedule_of_Lab_Assistant Table:
No Name of column Type Note 1 S_Worker_No INT UNSIGNED
PRIMARY KEY AUTO_INCREMENT
流水號 5 Section ENUM('1','2','3','4','5','6','7','
8','9','10','11','12','13','14') 上班時段 表 4.12 Schedule_of_Lab_Assistant Table
.Pc Table: 4 Alias VARCHAR(30)
電腦的別名 5 Tag VARCHAR(10)
電腦的標籤 6 Host_Name VARCHAR(60)
電腦的 Hostname 7 Is_Broken ENUM('Y','N') DEFAULT
'N' 電腦是否已損讓
表 4.13 Pc Table
.Other_Equip Table:
No Name of column Type Note 1 Other_No INT UNSIGNED
PRIMARY KEY AUTO_INCREMENT
流水號
2 L_Id CHAR(3)
3 Overhead_Projector ENUM('Y','N') DEFAULT
'N' 投影機
4 Projector ENUM('Y','N') DEFAULT
'N' 單射投影機
5 CRT_Projector ENUM('Y','N') DEFAULT
'N' 三槍投影機
6 Ups ENUM('Y','N') DEFAULT
'N' 不斷電系統
7 Microphone ENUM('Y','N') DEFAULT
'N' 麥克風
8 Laser_Pointer ENUM('Y','N') DEFAULT
'N' 雷射筆
9 Equip VARCHAR(100)
其它設備或備註
其它設備或備註