前言
需求分析簡單地說就是分析用戶的需求,需求分析是設計數據庫的起點,需求分析結果是否準確反映用戶的實際要求將直接影響到後面各階段的設計,並影響到設計結果是否合理和實用
需求分析的任務
需求分析的任務是通過詳細調查現實世界要處理的對象(組織、部門、企業等),充分了解原系統(手工系統或計算機系統)的工作概況,明確用戶的各種需求,然後在此基礎上確定新系統的功能。新系統必須充分考慮今後可能的擴充和改變,不能僅僅按當前應用需求來設計數據庫
調查的重點是“數據”和“處理”,通過調查、收集與分析,獲得用戶對數據的如下要求:
- 信息要求,指用戶需要從數據庫中獲得信息的內容與性質。由信息要求可以導出數據要求,即在數據庫中需要存儲那些數據;
- 處理要求,指用戶要完成的數據處理功能,對處理功能的要求,如增刪改查;
- 安全性與完整性要求
需求分析的方法
進行需求分析首先是調查清楚用戶的實際要求,與用戶達成共識,然後分析與表達這些需求。
調查用戶需求的具體的步驟是:
- 調查組織機構情況
- 調查各部門的業務活動情況
- 在熟悉業務活動的基礎上,協助用戶明確對新系統的要求
- 確定新系統邊界
常用的調查方法有:
- 跟班作業,實際參與到業務活動中瞭解情況
- 開調查會,邀請該系統的使用人和建立人開座談會來了解業務活動的需求
- 請專人介紹
- 詢問
- 設計調查表請用戶填寫
- 查閱記錄
數據字典
數據字典是進行詳細的數據收集和數據分析所獲得的主要成果。它是關於數據庫中數據的描述,即元數據,而不是數據本身。數據字典是在需求分析階段建立,在數據庫設計過程中不斷修改、充實、完善的。它在數據庫設計中佔有很重要的地位。
數據字典通常包括數據項、數據結構、數據流、數據存儲和處理過程幾部分。
數據項
數據項是不可再生的數據單位。對數據項的描述通常包括一下內容:
數據項描述={數據項名,數據項含義說明,別名,數據類型,長度,
取值範圍,取值含義,與其他數據項的邏輯關係,數據項之間的聯繫}
例子如下:
sex數據項描述={sex,指學生的性別,性別,char,2,
“男”或“女”,性別只能取男或者女,{Sno->Ssex,Sname-Ssex},1:1}
數據結構
數據結構反映了數據之間的組合關係。一個數據結構可以由若干個數據項組成,也可以由若干個數據結構組成,或由若干個數據項和數據結構組成,或由若干個數據項和數據結構混合組成。對數據結構的描述通常包括以下內容:
數據結構描述={數據結構名,含義說明,組成:{數據項或數據結構}}
例子如下:
student數據結構描述={student,這是一張學生信息表,組成:{Sno,Sname,sex}}
數據流
數據流是數據結構在系統內傳輸的路徑。對數據流的描述通常包括以下內容:
數據流描述={數據流名,說明,數據流來源,數據流去向,組成{數據結構},平均流量,高峯期流量}
例子如下:
登陸信息數據流模式={登陸信息,該用戶登陸系統時的基本信息,用戶登陸,
系統後臺記錄,組成{用戶名,密碼,工號,姓名,性別,上次登陸時間},2/h,3/h}
數據存儲
數據存儲是數據結構停留或保存的地方,也是數據流的來源和去向之一。它可以是手工文檔或手工憑單,也可以是計算機文檔。對數據存儲的描述通常包括以下內容:
數據存儲描述={數據存儲名,說明,編號,輸入數據流,輸出數據流,
組成:{數據結構},數據量,存取頻度,存儲方式(批處理/聯機處理,更新/檢索(順序檢索/隨機檢索))}
例子如下:
用戶信息數據存儲描述={用戶信息,登陸該系統的用戶信息,1,{用戶名,密碼},登陸信息,
組成:{用戶名,密碼,工號,姓名,性別,上次登陸時間},10/h,聯機處理,更新}
存儲過程
處理過程的具體處理邏輯一般用判定表或判定樹來描述。數據字典中只需要描述處理過程的說明下信息即可,通常包括以下內容:
處理過程描述={處理過程名,說明,輸入:{數據流},輸出:{數據流},處理:{簡要說明}}
例子如下:
用戶登陸處理過程描述={用戶登陸,說明:{用戶通過登陸界面,使用用戶名和密碼登陸該系統},
輸入:{用戶名,密碼},輸出:{登陸信息},簡要說明:{用戶登陸更新後臺記錄}}
補充
數據字典中,數據項是數據的最小組成單位,若干個數據項可以組成一個數據結構,數據字典通過對數據項和數據結構的定義來描述數據流、數據存儲的邏輯內容,而對於數據項、數據結構、數據流、數據存儲和處理過程最好用表來描述,如下:
數據流名 | 說明 | 數據流來源 | 數據流去向 | 組成 | 平均流量 | 高峯期流量 |
---|---|---|---|---|---|---|
登陸信息 | 該用戶登陸系統時的基本信息 | 用戶登陸 | 後臺記錄 | 用戶名+碼+工號+姓名+性別+上次登陸時間 | 2/h | 3/h |
結語
明確地把需求收集和分析作爲數據庫設計的第一階段是十分重要的。這一階段收集到的基礎數據(用數據字典來表達)是下一步進行概念設計的基礎,要強調兩點:
- 需求分析階段的一個重要而困難的任務是收集將來應用所涉及的數據,設計人員應充分考慮到可能的擴充和改變,使設計易於更改、系統易於擴充
- 必須強調用戶的參與,這是數據庫應用設計的特點。
借鑑
王珊,薩師煊.數據庫系統概論(第五版)[M].北京:高等教育出版社,2014:211-214.