Bài tập mẫu về Mô hình hóa chức năng với Biểu đồ Luồng dữ liệu (DFD)
GV: Bùi Thị Hạnh Tổ Công nghệ Thông tin – Khoa Công nghệ.
1
Bài tập:
Để tin học hóa khâu quản lý điểm của Khoa A tại một Trường Đại học B với thông tin sau:
- Khoa có Giáo vụ phụ trách nhập điểm sinh
viên cho mỗi môn học;
- Sinh viên thực hiện đăng ký môn học và xem
điểm trên hệ thống này.
Yêu cầu: Hãy mô hình hóa chức năng khâu quản lý điểm trên bằng biểu đồ luồng dữ liệu DFD.
Khái niệm Mô hình hóa chức năng với biểu đồ luồng dữ liệu (Data Flow Diagram - DFD)
tài liệu hóa
Việc mô hình hóa chức năng của hệ thống giúp người phân tích ……………… hoạt động của hệ thống và trả lời cho câu hỏi:
làm
tài liệu đặc tả
Hệ thống ……..gì? DFD là kỹ thuật nhằm xây dựng ………………
thiết kế xử lý.
Hướng dẫn:
Để mô hình hóa chức năng hệ thống với biểu đồ luồng dữ liệu DFD cần: 1) Căn cứ tài liệu xác định yêu cầu hệ thống, vẽ biểu đồ ngữ cảnh (context diagram) mô tả tổng quát hoạt động của hệ thống. 2) Từ sơ đồ mức ngữ cảnh ở trên kết hợp với các chi tiết xác định yêu cầu về nghiệp vụ của hệ thống, vẽ biểu đồ mô tả chức năng và luồng dữ liệu tương tác của các thành phần: tác nhân, tiến trình, kho dữ liệu gọi là biểu đồ DFD (Data Flow Diagram) mức đỉnh (mức 0) 3) Để có được chi tiết mô tả các chức năng, tiến hành phân rã DFD mức 0 đến mức thứ i(i>=1)
1. Vẽ biểu đồ mức ngữ cảnh
tổng quan
một ô xử lý
kho dữ liệu
Lưu ý về vẽ Biểu đồ mức ngữ cảnh: - Biểu diễn ……………… hoạt động của hệ thống (từ tài liệu khảo sát hiện trạng và xác định yêu cầu) - Diễn tả toàn bộ hệ thống bằng ………… - Không có ………………… Các chức năng của hệ thống: Sinh viên đăng ký môn học, SV xem điểm theo môn học. Giáo vụ Khoa nhập điểm SV theo môn học. Đối tượng người sử dụng tham gia vào hệ
thống: Sinh viên, Giáo vụ Khoa
Biểu đồ mức ngữ cảnh (context diagram) :
Thông tin đăng ký MH
Nhập điểm SV theo môn học Thông tin xác nhận
SINH VIÊN
GIÁO VỤ KHOA
Thông tin xác nhận
0 HỆ THỐNG QUẢN LÝ ĐIỂM TẠI KHOA A
Điểm môn học
2. Vẽ biểu đồ DFD (Data Flow Diagram)
(data store) (process) (actor)
DFD gồm có: Luồng dữ liệu (data flow) Kho dữ liệu Tiến trình Tác nhân Điều kiện cần: có Biểu đồ mức ngữ cảnh và
tài liệu khảo sát và xác định yêu cầu.
Biểu đồ ở mức ban đầu gọi là mức đỉnh (mức 0), khi thực hiện phân rã ở mức i (i>=1)
Biểu đồ mức ngữ cảnh:
Thông tin đăng ký MH
Nhập điểm SV theo môn học Thông tin xác nhận
SINH VIÊN
GIÁO VỤ KHOA
Thông tin xác nhận
0 HỆ THỐNG QUẢN LÝ ĐIỂM TẠI KHOA A
Điểm môn học
Tiến trình (process) là một hay một số công việc hoặc hành Tác nhân (actor) là một người, một nhóm người, bộ phận, một tổ Luồng dữ liệu (data flow) là các dữ liệu di chuyển từ một vị trí Kho dữ liệu (data store) là vị trí lưu trữ dữ liệu động có tác động lên các dữ liệu (di chuyển, thay đổi, lưu trữ, chức hay 1 hệ thống khác nằm ngoài phạm vi này và có tương tác này đến vị trí khác trong hệ thống trên một vật mang nào đó với nó về mặt thông tin (nhận hay gởi dữ liệu) phân phối.
Xác định các thành phần của DFD(Gane/Sarson):
Tác nhân
Tên • Sinh viên, • GV Khoa
Tiến trình
Tên
KH
• Đăng ký môn học • Nhập điểm • Xem điểm
Kho dữ liệu
KH Tên
Tên
Luồng dữ liệu
• Thông tin sinh viên • Thông tin môn học • Thông tin đăng ký môn học • Thông tin giáo vụ • Điểm theo môn học • Từ tác nhân đến tiến trình • Từ tiến trình đến tiến trình • Từ tiến trình đến kho dữ liệu • Từ kho dữ liệu đến tiến trình
K1 Thông tin SViên
K2 Thông tin MHọc
1.0 Đăng ký môn học
TT đăng ký MHọc
K3 Thông tin đăng ký MHọc
TT xác nhận
Thông tin SV đăng ký môn học
SINH VIÊN
TT giáo vụ, Điểm môn học GIÁO VỤ KHOA
2.0 Nhập điểm Theo môn học
TT xác nhận
TT xác nhận, Điểm SV
K3 Thông tin giáo vụ
Thông tin SV Điểm theo môn học
K1 Thông tin SViên
3.0 Xem điểm Theo môn học
K3 Bảng điểm Mhọc
3. Phân rã biểu đồ DFD mức 1
Thay thế
Thêm
Nguyên tắc phân rã: - ………………tiến trình được xét của biểu đồ luồng dữ liệu mức i-1 (i>=1) bằng các tiến trình con tương ứng Giữ nguyên - ……………….toàn bộ các tác nhân ngoài, các kho dữ liệu & các luồng dữ liệu vào – ra liên quan đến tiến trình được xét trong biểu đồ i-1 - …………vào các luồng dữ liệu giữa các tiến trình con, giữa tiến trình và kho dữ liệu
K1 Thông tin SViên
K2 Thông tin MHọc
1.0 Đăng ký môn học
TT đăng ký MHọc
K3 Thông tin đăng ký MHọc
TT xác nhận
Thông tin SV đăng ký môn học
SINH VIÊN
GIÁO VỤ KHOA Điểm SV
2.0 Nhập điểm Theo môn học
TT giáo vụ, Điểm môn học TT xác nhận
K3 Thông tin giáo vụ
Thông tin SV Điểm theo môn học
K1 Thông tin SViên
3.0 Xem điểm Theo môn học
K3 Bảng điểm Mhọc
Phân rã Tiến trình 1.0 Đăng ký môn học
Giữ nguyên Tác nhân: Sinh viên Giữ nguyên Kho dữ liệu: Thông tin sinh viên, Thông tin môn học, Thông tin đăng ký môn học
Thay thế tiến trình Đăng ký môn học bằng
-
-
các tiến trình con sau: (1.1) Xác thực tài khoản (1.2) Chọn môn học (1.3) Chọn lớp học phần (nếu có nhiều lớp)
- Thêm vào các luồng dữ liệu
K1 Thông tin SViên
1.1 Xác thực Tài khoản
TT sinh viên
Thông tin sinh viên
TT xác nhận
SINH VIÊN
K2 Thông tin MHọc
1.2 Chọn môn học
Nếu có nhiều lớp học phần
1.3 Chọn lớp học phần
K3 Thông tin đăng ký MHọc
K1 Thông tin SViên
K2 Thông tin MHọc
1.0 Đăng ký môn học
TT đăng ký MHọc
K3 Thông tin đăng ký MHọc
TT xác nhận
Thông tin SV đăng ký môn học
SINH VIÊN
TT giáo vụ, Điểm môn học GIÁO VỤ KHOA Điểm SV
2.0 Nhập điểm Theo môn học
TT xác nhận
K3 Thông tin giáo vụ
Thông tin SV Điểm theo môn học
K1 Thông tin SViên
3.0 Xem điểm Theo môn học
K3 Bảng điểm Mhọc
Phân rã Tiến trình 2.0 Nhập điểm
Giữ nguyên Tác nhân: Giáo vụ Khoa Giữ nguyên Kho dữ liệu: Thông tin giáo vụ, Thông tin đăng ký môn học, Bảng điểm môn học
Thay thế tiến trình Nhập điểm bằng các tiến
-
-
trình con sau: (2.1) Xác thực tài khoản (2.2) Chọn môn học sinh viên đã đăng ký học (2.3) Nhập điểm
- Thêm vào các luồng dữ liệu
K3 Thông tin giáo vụ
2.1 Xác thực tài khoản
Thông tin giáo vụ
GIÁO VỤ KHOA
K3 Thông tin đăng ký MHọc
2.2 Chọn môn
Thông tin đk môn học, điểm MH
2.3 Nhập điểm
K3 Bảng điểm Mhọc
K1 Thông tin SViên
K2 Thông tin MHọc
1.0 Đăng ký môn học
TT đăng ký MHọc
K3 Thông tin đăng ký MHọc
TT xác nhận
Thông tin SV đăng ký môn học
SINH VIÊN TT giáo vụ, Điểm môn học
GIÁO VỤ KHOA TT xác nhận Điểm SV
2.0 Nhập điểm Theo môn học
K3 Thông tin giáo vụ
Thông tin SV Điểm theo môn học
K1 Thông tin SViên
3.0 Xem điểm Theo môn học
K3 Bảng điểm Mhọc
Phân rã Tiến trình 3.0 Xem điểm
Giữ nguyên Tác nhân: Sinh viên Giữ nguyên Kho dữ liệu: Bảng điểm môn
học, Thông tin sinh viên.
Thay thế tiến trình Xem điểm bằng các tiến
-
-
trình con sau: (3.1) Xác thực tài khoản (3.2) Tính điểm tổng kết (3.3) Xem điểm
- Thêm vào các luồng dữ liệu
K1 Thông tin SViên
3.1 Xác thực tài khoản
TT sinh viên
K3 Bảng điểm Mhọc
Thông tin sinh viên, công thức tính điểm TT xác nhận
SINH VIÊN
3.2 Tính điểm Tổng kết môn
Bảng điểm SV
K3 Bảng điểm Mhọc
Điểm đã tổng kết , Thông tin SV
3.2
Xem điểm
Khi nào ngừng phân rã?
Khi một tiến trình là 1 quyết định hay 1 một tính toán đơn giản, một thao tác dữ liệu (đọc, cập nhật, tạo, ghi, xóa) Khi mỗi luồng dữ liệu không cần chia nhỏ hơn.
Tổng kết bài
Để mô hình hóa chức năng hệ thống với biểu