從專案一開始,就應該著手考慮詢問客戶哪些問題
以便於更好地了解專案的目標和範圍。
1.功能:
主要討論期望系統實現什麼功能,還要涉及如何實現這些功能。記錄客戶提出的系統應該如何工作的想法
仍有用的。
•系統應該實現什麼功能? •
構建此系統的原因是什麼?你希望它究成哪些任務?
•系統應該呈現什麼樣的外觀?大致繪出使用者介面? •
系統的不同部分分別需要多少響應時間(通常互動式響應時間應該小於5s,而報表和其他離線活動可能花費更長的時間)?
•需要什麼樣的報表? •
終端使用者是否需要定義新的報表? •
髙級使用者和管理員是否需要定義新的報表?
2.資料需求:
有助於弄清專案的
資料需求。了解需要什麼資料將有助於著手定義資料庫
中的表。 •
使用者介面需要什麼資料? •
應該從**獲取資料? •
這些資料段是如何關聯的? •
當前如何處理這些任務?資料來自何處?
3.資料完整性:
資料完整性,有助於定義將在資料庫中構建的一些完整性約束。 •
各個字段允許獲取哪些值? •
需要哪些字段(例如,
客戶記錄是否需要**號碼?傳真號呢?電子郵
件位址呢?
是其中的一項而不是所有項)? •
各個欄位的有效域(允許的值)是什麼?允許什麼樣的格式,要求等? •
哪些字段應該參照外來鍵?(例如
,乙個位址的
state
字段可能需要包含在
states
表中並且
—個customerld
字段可能需要包含在
customers
表中。我曾看到過帶有很長
的標準注釋淸單的客戶,並且
comments
寧段只能取那些值)。
•在下訂單之前是否需要客戶記錄? •
若客戶取消乙個賬戶,是希望刪除對應的記錄?還是僅將它們標記為非活動的? •
系統需要何種級別的可靠性? •
是否需要全天候訪問
(24/7)
系統?
•資料的易失性如何?需要採用什麼樣的備份頻率? •
如果系統崩潰會帶來多大的災難? •
需要多快的備份和執行速度? •
如果發生系統崩潰丟失一些資料將會帶來何種後果?
4.安全性:
安全性,有助於確定哪種資料庫產品最佳
(不同的產品提供不同形式的安全性)和使用何種體系結構。 •
每個使用者是否需要單獨的口令?(通常是個好想法) •
不同的使用者是否需要使用不同的資料段?(例如
,售貨員可能需要客戶信用卡號碼,
但是訂單履行技術員可能不需要) •
資料庫內的資料否需要加密? •
是否需要提供審計線索來記錄執行的每項操作和執行人?(例如
,可以查詢哪個職
員增加了訂購最新
ipod
的客戶的優先順序,然後詢問此店員這樣做的原因) •
有哪些不同類別的使用者? •
每類使用者的數量將是多少?每次是否只允許乙個人訪問資料?是否擁有數百名乃
至上千名使用者(如同某些
web應用程式的情況那樣)?•
現有的文件是否描述了使用者的任務和職責?
5.環境
收集有關專案將替代或互動的其他系統和處理過程的資訊。
•該系統足增強還是替代現有的系統? •
是否存在描述現有系統的文件資料? •
現有的系統是否有可供調研的紙製表單? •
需要現有系統中的哪些特性?不需要
要哪些特性? •
現有的系統使用何種型別的資料?儲存的方式如何,以及不同的資料段的關聯方
式如何? •
是否存在說明現有系統資料的文件? •
是否存在此系統必須與之互動的其他系統? •
它如何與這些系統
正確互動? •
新專案是否問現有的系統傳送資料?如何傳送? •
新專案是否從現有的系統接收資料?如何接收? •
是否存在說明這些系統的文襠? •
業務的運作方式如何?
資料庫設計步驟 了解使用者需求 向客戶請教
了解重要人物之後,就可以向他們請教了。通過談話獲悉他們認為應採取什麼樣的解決方案,應該包含哪些資料,表示資料的方式及資料的不用部分相互關聯的方式。盡吋能多地從利益相關者那裡了解情況。但是一定要記住客戶負賁人是充分了解客戶 需求並且有權做出最後決定的人,儘管應該考慮每個人的想法,但是只有客戶負責人能夠...
資料庫設計步驟
目錄 資料庫設計步驟 1.需求分析階段 2.概要設計階段 繪製e r圖 3.詳細設計階段 1.需求分析階段 分析客戶業務需求,特別是資料處理方面的需求。2.概要設計階段 繪製資料庫的e r模型圖。確認需求文件的正確定和完整性 3.詳細設計階段 將e r圖轉換為多張資料庫表。進行邏輯設計,確定各張表的...
MySQL資料庫設計步驟
一,需求分析 可拓展性設計 包括 資料儲存需求,資料處理需求,安全性設計,完整性設計,資料生命週期等等.二,資料庫邏輯設計 1,資料庫設計正規化 解決資料冗餘和資料維護異常問題 第一正規化 所有框架都只具有單一屬性,每一列都不可拆分 單一屬性的列是由基本的資料型別所構成的 設計出來的表都是簡單的二維...