CHƯƠNG 3 PHÂN TÍCH HIỆN TRẠNG
II. T ổNG HợP CÁC KếT QUả PHÂN TÍCH HIệN TRạNG
II.3. Sơ đồ dòng dữ liệu
II.3.1.Khái niệm
Sơ đồ (hay lưu đồ) dòng dữ liệu (DFD - Data Flow Diagram) là công cụ để mô tả các dòng thông tin của hệ thống đang xét. DFD dễ viết, dễ đọc, dễ hiểu và được ứng dụng rất phổ biến.
DFD được xây dựng từ các hình vẽ và ký hiệu quy ước.
Có nhiều cách xây dựng DFD, thông dụng là phương pháp De Macro-Yourdon, Gane Sarson vàMERISE (ở Pháp).
Sau đây là bảng trình bày các phương pháp :
Gane-Sarson DeMarco-Yourdon MERISE
Quá trình
Thực thể
Kho dữ liệu
Dòng dữ liệu
Một DFD gồm bốn thành tố : quá trình, thực thể, kho dữ liệu và dòng dữ liệu chuyển.
Quá trình
Quá trình (process) mô tả hoạt động (activities) hay phép biến đổi (transform) một hoặc nhiều dòng dữ liệu vào (input) thành một hoặc nhiều dòng dữ liệu ra (output). Quá trình không chỉ ra chi tiết logic hay thủ tục xử lý. Trong sơ đồ DFD, một quá trình có thể là một người sử dụng hay máy tính.
Thực thể
Các thực thể (entities) xác định ranh giới (boundary), hay phạm vi (scope), hay ngữ cảnh (context) của hệ thống đang xét, để cung cấp cái vào cho hệ thống và lấy cái ra từ hệ thống.
Các thực thể có thể nằm bên trong (internal) hay bên ngoài (external), tạo thành các nguồn và các đích của hệ thống. Mỗi thực thể có thể là người, tổ chức hoặc là một hệ thống khác tương tác với hệ thống đang xét.
Kho dữ liệu
Kho dữ liệu (data stores) chỗ chứa những thông tin được lưu lại theo thời gian. Đó là các tập tin xử lý thủ công hay tự động, các cơ sở dữ liệu, hay bất cứ hình thức tập trung dữ liệu nào (bảng biểu báo cáo, danh mục tra cứu, từ điển, hộp thư...) đều có thể được xem như kho dữ liệu.
Dòng dữ liệu
Dòng dữ liệu (data flows) là phương tiện lưu chuyển thông tin thể hiện cái vào và cái ra.
Dòng dữ liệu có thể là báo cáo, biểu mẫu, văn bản, thư tín, thông điệp hay dữ liệu nói chung.
Dữ liệu chuyển
Mô tả quá trình Tên thực thể
trong/ngoài Tên thực thể
trong/ngoài Mô tả quá trình
1 Tên thực thể
trong/ngoài
Tên kho dữ liệu Tên kho dữ liệu 1
Mô tả quá trình
Dữ liệu chuyển
Các dòng dữ liệu thể hiện sự tương tác trong hệ thống. Chúng được tạo thành từ tập hợp các vật mang thông tin (giấy, màn hình... ) có cùng bản chất, đi từ nơi phát (nguồn) đến nơi nhận (đích).
DFD chỉ ra cách chuyển tiếp thông tin từ một quá trình này sang một quá trình khác. Như vậy, cần phải có sẵn những thông tin trước khi thực thi một quá trình. DFD là một phần của quá trình phân tích chứ không phải một phần của quá trình điều tra.
II.3.2.Phân biệt DFD với sơ đồ khối
DFD khác với sơ đồ khối, hay lưu đồ (Flowcharts) :
Các quá trình trong DFD có thể đặt song song, một số hoạt động đồng thời.
DFD thể hiện các dòng dữ liệu luân chuyển trong một hệ thống. Sơ đồ khối thể hiện tuần tự thực hiện dãy các bước xử lý trong một thuật toán.
DFD thể hiện quá trình ở các thời điểm khác nhau.
DFD không giống sơ đồ khối về cách thể hiện các cấu trúc vòng lặp (do-while) và cấu trúc lựa chọn (if-then-else).
II.3.3.Ví dụ :
DFD mô tả quá trình khách hàng đặt hàng, thanh toán tiền và nhận :
Hình 3.25 Hệ thống mua bán hàng
DFD dưới đây mô tả hệ thống tài chính cá nhân, giả sử của ông X nào đó : Khách
hàng
Phiếu giao hàng DL khách
hà
Người Đơn đặt bán
hàng
Hoá
đơn Hoá
đơn TT
DL hàng i
DL người bá
Hàng Phiếu
nhận hàng
Xác nhận đ TT 1
Lập kế hoạch giao hàng
2 Làm thủ tục thanh toán
4 Giao hàng
3 Thanh
toán
Hình 3.26 Hệ thống tài chính cá nhân
II.3.4.Xây dựng sơ đồ dòng dữ liệu a) Các mức khác nhau của DFD
DFD cấp cao nhất, gọi là sơ đồ dòng dữ liệu cấp 0 được xem như một sơ đồ toàn cảnh (context diagram). Các sơ đồ dòng dữ liệu sẽ được lần lượt xây dựng từ trên xuống (top - down) bằng cách triển khai mỗi quá trình hay phép biến đổi của DFD cấp cao hơn thành một sơ đồ dòng dữ liệu chi tiết hơn cấp thấp hơn cho tới khi các phép biến đổi trở thành nguyên tố (nghĩa là chỉ thực hiện một tác vụ duy nhất).
Tại mỗi mức, mỗi DFD có thể được vẽ trên một trang giấy (khổ A4 chẳng hạn).
b) Các nguyên tắc
Trong khi triển khai các mức DFD, cần tuân theo các nguyên tắc sau đây : Cân đối giữa DFD cấp cao (DFD mẹ) và DFD cấp thấp hơn (DFD con) :
− Đầu vào và đầu ra của DFD con phải đồng nhất với đầu vào và đầu ra của phép biến đổi trong DFD mẹ mà từ đó DFD con được triển khai.
− Triển khai từng cấp theo chiều ngang, không theo chiều dọc.
− Tránh vẽ các lưu đồ quá lớn : một lưu đồ chỉ nên có tổng số các phép biến đổi và kho dữ liệu không quá 7.
Ngân hàng Giấy trả nợ
Giấy đòi nợ Chủ nợ
Phiếu rút tiền
Sổ tài khoản
Nhân viên
Phiếu ghi tiền
Tài khoản i
Phiếu thu Tiền
Phiếu gửi tiền
Xác nhận rút tiền 1
Ông X trả nợ
4 Ông X quyết toán
thu chi
2 Ông X gửi tiền Nguồn
tài chính
Phiếu gửi tiền
3 Ông X rút tiền
Phiếu rút tiền
Liệt kê thu chi
trước đây Liệt kê
thu chi đã quyết toán
Phiếu thu chi
Hình 3.27 Sơ đồ nhiều mức của DFD
Từ mỗi phép biến đổi, xét xem nó đã là nguyên tố chưa, nếu chưa, lặp lại từ việc liệt kê sự kiện và đáp ứng, bổ sung vào danh mục sự kiện. Xem phép biến đổi như một hệ thống và tiếp tục triển khai cấp dưới.
Bảo toàn dữ liệu : không có phép biến đổi hay kho dữ liệu nào có thể cho ra dữ liệu mà không nhận dữ liệu dữ liệu vào.
Tránh các hố đen (black hole) : Không có phép biến đổi chỉ nhận dữ liệu vào mà không cho dữ liệu ra. Không có kho dữ liệu chỉ ghi mà không có truy xuất, nếu có các tệp cơ sở dữ liệu được lưu trữ dự phòng (backup dbf) thì phải thể hiện dong dữ liệu phục hồi
(restore).
Tuy nhiên, trong thực tiễn, không nên thể hiện các tệp backup trong DFD vì đó chỉ là biện pháp mang tính đối phó và lam rắc rối DFD.
Miêu tả dòng dữ liệu chứ không phải dòng điều khiển.Tránh các dòng dữ liệu "xuyên qua"
là những dòng dữ liệu vào và ra khỏi một phép biến đổi mà không bị biến đổi gì cả.
Ưu tiên khai báo kho dữ liệu ở cấp cao nhất trong đó nhiều phép biến đổi tham chiếu đến.
Mọi DFD phải bắt đầu và/hoặc kết thúc từ một quá trình. Trong hình vẽ dưới đây, cột bên trái là vẽ sai vì vi phạm quy tắc, cột bên phải là vẽ đúng quy tắc.
e c
Mức 1
a
b d
32
31 33
b e d
d 321
322
323
324
325
Mức 2 Sơ đồ toàn cảnh
(Mức 0)
1 2
c 4 3
a b
Hình 3.28 Quy tắc vẽ DFD (cột bên phả là vẽ đúng) c) Đặt tên và đánh số các thành phần của DFD
Các dòng dữ liệu, kho dữ liệu và các phép biến đổi đều phải được đặt tên. Tên là danh từ hoặc cụm danh từ.
Các quá trình là các động từ hoặc cụm động từ. Không sử dụng các từ đồng nghĩa hoặc vô ích trng DFD
Sơ đồ ngữ cảnh : thường chỉ có một quá trình được đánh số là 0 Mức 1 được đánh số là 1, 2, 3...
Mức 2 được đánh số ví dụ cho quá trình 2 : 2.1, 2.2, 2.3...
Một cách tổng quát, mức DFD của quá trình i được đánh số i.1, i.2...
II.3.5.Trình soạn thảo PPP DFD editor
Hình 3.29 Màn hình trình soạn thảo DFD (PPP DFD editor)
Close
Close Maximize Minimize Menubar
Toolbar Titlebar
Status line
Toolbox
Diagram window
PPP DFD editor là trình soạn thảo DFD được download từ Internet, do Khoa Khoa học máy tính và Thông tin, viện Đại học Khoa học và Kỹ thuật Nauy (Department of Computer and Information Science of the Norwegian University of Science and Technology-NTNU).
PPP DFD editor version 1.10 cho phép dễ dàng tạo ra các mô hình ý niệm DFD. Sau đây là giao diên (cửa sổ) ứng dụng của PPP DFD editor.
Tài liệu PPP DFD editor User’s Guide kèm hệ thống cho phép sử dụng PPP DFD editor để tham khảo các hướng dẫn.
Ví dụ : Sơ đồ DFD mô tả hệ thống quản lý giáo vụ tại một trường Đại học Hê thống gồm :
3 thực thể là Sinh viên, Giáo vụ trường và Giáo vu Khoa.
6 quá trình là Thủ tục nhập học, Làm thẻ sinh viên, Kết quả học tập, Danh sách lớp và Báo cáo học tập theo kỳ.
1 CSDL về quản lý giáo vụ
Các dòng thông tin liên kết các thực thể và các quá trình.
Hình 3.30 Sơ đồ DFD biểu diễn bài toán quản lý giáo vụ
1 Thi Kãút thuïc
Män hoüc
Sinh viãn Giaïo vuû
Khoa
Giaïo vuû Træåìng Thuí tuûc
Nháûp hoüc
2 kãút quaí
Hoüc táûp Cuäúi khoaï
3
Laìm Theí Sinh viãn
4
Baïo caïo Hoüc táûp theo Kyì 5
Danh saïch caïc Låïp
6 1 CSDL
Âiãøm Thi Thi
Giáúy Nháûp
Hoüc Theí SV
Säø âiãøm
Vaìo âiãøm Thi
Låïp Sinh viãn
Laìm Theí Täøng kãút
Âiãøm
Täø chæïc Låïp theo Ngaình hoüc Häö så
Nháûp hoüc
Baíng âiãøm