Transcript Chuong3p

Chương 3
LUỒNG THÔNG TIN DFD
(Data Flow Diagram)
Biên soạn: TS. Đinh Bá HùngAnh
Tel: 01647.077.055/090.9192.766
Mail: [email protected]
Nội dung
1. Mã hóa thông tin
2. Các thành phần của luồng thông tin DFD
3. Nguyên tắc phân rã luồng thông tin DFD
4. Luồng thông tin DFD cân bằng
5. Hướng dẫn vẽ luồng thông tin
6. Sử dụng luồng thông tin DFD để phân tích
7. Ví dụ luồng thông tin DFD.
Chương 3: Luồng thông tin DFD
3-2
Mã hóa thông tin
Lợi ích của mã hoá thông tin
Nhận diện không nhầm lẫn đối tượng
Mô tả nhanh chóng đối tượng
Nhận diện nhóm đối tượng nhanh hơn.
Các phương pháp mã hoá thông tin
Mã hoá phân cấp: hệ thống đánh số đề mục, tài khoản
1 Chương I
1.1 Bài 1
1.1.1 Mục 1
1.1.2 Mục 2
1.1.3 Mục 3
1.2 Bài 2
1.2.1 Mục 1
1.2.2 Mục 2
2 Chương II
Chương 3: Luồng thông tin DFD
111 tiền mặt
1111 tiền mặt việt nam
1112 tiền mặt ngoại tệ
112 tiền gửi ngân hàng
1121 tiền gửi ngân hàng VND
11211 tiền gửi NH Ba đình
11212 tiền gửi NH PTNT
1122 tiền gửi ngân hàng USD
3-3
Mã hóa thông tin
Mã hoá liên tiếp: 001, 002, 003
Mã hoá theo mã xêri: 29/3/1995 – EAN VN
Mã số quốc gia (893), mã nhà sản xuất, mã sản phẩm, số kiểm tra
Ví dụ
8 93 5025 33457 6
Mã hoá gợi nhớ: VND, USD
Mã hoá ghép nối: BKHD1000136
Ví dụ mã hoá thí sinh trường ĐHBK
Chương 3: Luồng thông tin DFD
3-4
Mã hóa thông tin
Ví dụ: Mã hoá thực thể sinh viên thông qua trường
Số thẻ: Khóa, Lớp, Mã hiệu SV trong lớp
3-5
Các thành phần
Mục tiêu: dùng để mô tả thông tin trao đổi giữa các đối tượng và
quá trình cũng như vấn đề lưu trữ thông tin trên hệ thống.
Ký hiệu
Xử lý
Lưu trữ
dữ liệu
Nguồn
/đích
Hệ thống ký hiệu của
DeMarco-Yourdon
và Gane- Sarson để
biểu diễn luồng
thông tin
luồng thông tin
Ký hiệu của
DeMarco-Yourdon
Ký hiệu của Gane- Sarson
3-6
Các thành phần
Xử lý: Mô tả quá trình xử lý, sao lưu hay phát tán dữ liệu
trong hệ thống.
Kho dữ liệu: có thể là thư mục, hay máy tính dùng để lưu trữ
dữ liệu trong hệ thống.
Nguồn, đích: mô tả điểm bắt đầu hoặc đích đến của dữ liệu.
Nguồn, đích có thể đến từ nguồn ngoài.
luồng thông tin: đơn vị thông tin di chuyển trên luồng này.
Được biểu diễn bằng đường dẫn có mũi tên cũng như định
danh bằng tên để hình dung.
Qui tắc vẽ sơ đồ
Vẽ sơ đồ ngữ cảnh, lần lượt phân rã thành các sơ đồ dữ liệu mức
đỉnh, sơ đồ dữ liệu dưới mức đỉnh theo cấu trúc sơ đồ chức năng.
Chương 3: Luồng thông tin DFD
3-7
Sơ đồ ngữ cảnh: thể hiện khái quát nội dung chính của hệ thống
thông tin, thường bỏ qua kho, xử lý cũng như cập nhật dữ liệu.
- Xác định chức năng chính, biên của hệ thống
- Xác định các tác nhân ngoài tương tác với hệ thống
- Mô tả các luồng thông tin vào ra hệ thống.
Sơ đồ ngữ cảnh về thủ tục đặt hàng tại một nhà hàng thức ăn nhanh.
KHÁCH
HÀNG
BẾP
Đặt hàng
Nhận hàng
0
Xử lý
đơn hàng
Gọi bếp
Chức năng chính: Xử
Báo cáo
lý đơn hàng
Nguồn/đích:
Khách
QUẢN
hàng, Bếp, và Quản lý.
Chương 3: Luồng thông tin DFD
LÝ
3-8
Các thành phần
Phát triển luồng thông tin
Biểu đồ mức 0: Sơ đồ dòng thông tin biểu diễn quá trình tổng thể
nhưng có thể hiện dòng thông tin, cũng như lưu trữ thông tin. Sơ
đồ mức 0 được ký hiệu 1.0, 2.0, etc. Từ sơ đồ mức 0 có thể phân rã
thành các luồng thông tin mức thấp hơn.
Chú ý: khi xây dựng phải bảo toàn các luồng thông tin và các tác
nhân ngoài.
Chương 3: Luồng thông tin DFD
3-9
Các thành phần
NHÀ BẾP
KHÁCH HÀNG
Khách đặt hàng
Biểu đồ mức
0 - hệ thống
đặt hàng, cửa
hàng bán thức
ăn nhanh.
Nhận hàng
1.0
Tiếp nhận
và xử lý
đơn hàng
Đặt hàng
3.0
2.0
File cập
Cập nhật
nhật hàng Hàng đã Dữ liệu File tồn
đã bán
bán
tồn kho kho
File lượng hàng đã
bán (đã định dạng)
File hàng
D2 đã bán
D1 File hàng
tồn kho
4.0
Lượng hàng đã bán Qui trình
hình thành
hàng ngày
báo cáo
Chương 3: Luồng thông tin DFD
Lượng tồn kho
hàng ngày
Báo cáo
QUẢN LÝ
NHÀ HÀNG
3-10
Các thành phần
Luồng thông tin mức 1
- Phân rã riêng từng chức năng mức 0 (đỉnh) thành các sơ đồ dưới
mức 0 (đỉnh).
- Tách mỗi chức năng mức 0 (đỉnh) thành các chức năng con mức
dưới.
Chú ý: khi phân rã phải bảo toàn các luồng thông tin và các tác
nhân ngoài.
Chương 3: Luồng thông tin DFD
3-11
Các thành phần
Luồng thông tin mức 1 được phân rã từ chức năng 4.0, luồng
thông tin mức 0 của qui trình đặt hàng, cửa hàng thức ăn nhanh.
Lượng tồn kho
hàng ngày
Lượng hàng đã
bán hàng ngày
Truy cập dữ
liệu
lượng
bán và tồn
kho
Thông
tin
tổng
hợp
lượng bán
và tồn kho
Chuẩn bị
báo
cáo
quản trị
Báo cáo
Quá trình được ký hiệu 4.1, 4.2 có thể được phân rã đến mức
thấp hơn và dừng ở mức primitive.
Chương 3: Luồng thông tin DFD
3-12
Các thành phần
Luồng thông tin mức n
Luồng thông tin mức 2 là phân rã của chức năng 4.3 của luồng
thông tin mức 1.
Các quá trình
4.3.1, 4.3.2 nếu
là các hoạt động
cơ bản thì được
gọi là một luồng
primitive.
Mức n của luồng thông tin là sơ đồ con của chức năng ở luồng
thông tin mức n – 1.
Chương 3: Luồng thông tin DFD
3-13
Các thành phần
Phân rã chức năng để mô tả quá trình chi tiết hơn.
Xây dựng biểu đồ mức thấp hơn để mô tả chi tiết một
chức năng.
Dừng khi không thể phân rã được nữa.
Chức năng Primitive là chức năng cơ bản của một luồng
thông tin
Biểu đồ mức 1 là kết quả của việc phân rã biểu đồ mức 0.
Biểu đồ mức n là kết quả quả việc phân rã n biểu đồ từ
biểu đồ mức 0.
Chương 3: Luồng thông tin DFD
3-14
Nguyên tắc phân rã
Quá trình (xử lý)
A. Không có xử lý chỉ có đầu ra tức xử lý làm ra thông tin. Nếu một
đối tượng chỉ có đầu ra, đối tượng đó là nguồn.
B. Không có xử lý chỉ có đầu vào (lỗ đen). Nếu chỉ có đầu vào thì đó
là trạm cuối.
C. Một quá trình thường được định danh bằng động từ.
Nơi lưu trữ dữ liệu
D. Dữ liệu không thể di chuyển trực tiếp từ một nơi lưu trữ đến một
nơi lưu trữ khác. Dữ liệu phải được chuyển bởi một xử lý.
E. Dữ liệu không thể di chuyển trực tiếp từ nguồn ngoài vào nơi lưu
trữ. Dữ liệu phải được xử lý trước khi đưa vào nơi lưu trữ.
Chương 3: Luồng thông tin DFD
3-15
Nguyên tắc phân rã
F. Dữ liệu không thể di chuyển trực tiếp từ nơi lưu trữ đến trạm cuối.
G. Nơi lưu trữ dữ liệu thường được đặt tên bằng danh từ.
Cần xử lý để
cập
nhật
thông tin
Cần xử lý để
biểu
diễn
thông tin
Cần xử lý để
di
chuyển
thông tin
Chương 3: Luồng thông tin DFD
3-16
Nguyên tắc phân rã
Nguồn dữ liệu/trạm cuối
H. Dữ liệu không thể di chuyển trực tiếp từ nguồn đến trạm cuối
mà phải được xử lý. Nếu không được xử lý thì không gọi là
luồng thông tin DFD.
I. Nguồn/trạm cuối thường định danh bằng danh từ.
Cần
xử lý
thông tin giữa
nguồn và đích
Chương 3: Luồng thông tin DFD
3-17
Nguyên tắc phân rã
Dòng dữ liệu
J. Giữa hai biểu tượng, dòng dữ liệu chỉ có một hướng di
chuyển. Tuy nhiên dùng dòng dữ liệu hai hướng giữa một
quá trình với một nơi lưu trữ để biểu thị dữ liệu được đọc
trước khi cập nhật. Nếu muốn biểu thị dữ liệu sẽ được sử
dụng theo hướng ngược lại sau đó thì nên dùng hai mũi tên
riêng biệt vì trước và sau là hai thời điểm khác nhau.
K. Phân nhánh dữ liệu nghĩa là cùng một loại dữ liệu đi từ một
điểm chung đến các quá trình, nơi lưu trữ, nguồn hay đích
khác nhau (tức copy cùng một dữ liệu đến nhiều đích khác
nhau).
Chương 3: Luồng thông tin DFD
3-18
Nguyên tắc phân rã
L. Tập hợp dữ liệu từ nhiều nguồn nghĩa là cùng một loại dữ
liệu nhưng từ nhiều quá trình, nhiều nơi lưu trữ hay nguồn,
đích khác nhau.
M. Một dòng dữ liệu không thể trở lại trực tiếp nơi nó rời đi.
Dòng dữ liệu phải được xử lý qua ít nhất một khâu.
N. Dòng dữ liệu tới một nơi lưu trữ nghĩa là cập nhật dữ liệu
(xóa hoặc thay đổi)
O. Dòng dữ liệu đi từ nơi lưu trữ nghĩa là quá trình nhận hay sử
dụng dữ liệu
P. Thường định danh dòng dữ liệu bằng danh từ.
Chương 3: Luồng thông tin DFD
3-19
Luồng thông tin DFD cân bằng
Nguyên tắc bảo toàn: Bảo toàn số lượng đầu vào và đầu
ra đến một luồng thông tin phân rã mức kế tiếp;
Cân bằng: Luồng thông tin bảo toàn số đầu vào và đầu ra
dữ liệu khi phân rã ở mức thấp hơn.
DFD cân bằng
Số lượng đầu vào DFD mức thấp bằng số lượng đầu vào
DFD mức cao hơn.
Số lượng đầu ra DFD mức thấp bằng số lượng đầu ra DFD
mức cao hơn.
Chương 3: Luồng thông tin DFD
3-20
Luồng thông tin DFD cân bằng
Luồng thông tin không cân bằng
(a) Biểu đồ ngữ cảnh
1 đầu vào
1 đầu ra
(b) Biểu đồ mức 0
2 đầu vào
1 đầu ra
Chương 3: Luồng thông tin DFD
Là luồng
thông tin
không cân
bằng vì dữ liệu
ngữ cảnh có
một đầu vào
nhưng biểu đồ
mức 0 có 2
đầu vào.
3-21
Luồng thông tin DFD cân bằng
Luồng thông tin cân bằng: Dòng thông tin rẽ nhánh vẫn có thể
cân bằng vì cùng một dữ liệu ở mức cao phân thành các bộ phận
để đến các luồng thông tin mức thấp hơn.
Ví dụ: dữ liệu rẽ nhánh.
(a) Luồng thông tin hỗn hợp
(b) Luồng thông tin phân rã
Chương 3: Luồng thông tin DFD
3-22
Luồng thông tin DFD cân bằng
Thêm luật về luồng thông tin (cân bằng)
Q. Luồng thông tin tổng hợp ở một mức có thể tách thành luồng
thông tin thành phần ở mức thấp hơn mà không cần thêm dữ liệu
mới.
R. Các đầu vào của một xử lý phải đủ hình thành các đầu ra; do
vậy, tất cả các đầu ra đều có thể hình thành.
S. Ở mức thấp nhất của luồng thông tin DFD, luồng thông tin mới
có thể được sử dụng để mô tả các điều kiện nới rộng. Chẳng hạn
để mô tả lỗi người sử dụng không biết, có tạo khách hàng mới?
Hay xác nhận thông báo chẳng hạn “bạn có muốn xóa tập tin
không?
T. Để tránh đường luồng thông tin giao cắt nhau, bạn có thể s
dụng lặp lại kho dữ liệu, hoặc nguồn/đích ở một luồng thông
tin. Sử dụng ký hiệu cộng thêm, như đường đôi có đường tâm,
hay đường gạch chéo ở góc của nguồn/đích để chỉ ký hiệu lặp
3-23
lại.
Bốn loại luồng thông tin
Vật lý hiện tại
Quá trình kỹ thuật (con người hoặc hệ thống dùng trong việc xử
lý dữ liệu).
luồng thông tin và nơi lưu trữ xác định tên thực của thiết bị vật
lý.
Logic hiện tại
Khía cạnh vật lý của thiết bị được bỏ đi nhiều nhất có thể.
Hệ thống hiện tại được giảm xuống chỉ còn thành phần dữ liệu
và xử lý.
Logic mới
Bao hàm các tính năng mới.
Các chức năng lỗi thời được bỏ đi.
luồng thông tin không hiệu quả được tổ chức lại.
Hệ thống vật lý mới: Thể hiện khía cạnh thực hiện vật lý của một hệ
thống mới.
3-24
Hướng dẫn vẽ luồng thông tin
Hoàn thiện
Luồng thông tin phải bao gồm tất cả các bộ phận của hệ
thống.
Mỗi bộ phận phải được mô tả chi tiết ở từ điễn dữ liệu
hoặc kho CASE.
Nhất quán
Thông tin ở một mức của luồng thông tin phải được bao
hàm ở các mức khác.
Thời gian
Luồng thông tin mô tả rất kém khía cạnh thời gian.
Luồng thông tin mô tả tốt nhất cho hệ thống không dừng
hoặc không bắt đầu.
Phát triển
Người phân tích nên vẽ biểu đồ luồng thông tin vài lần để
nhận được hệ thống hoàn thiện.
Chương 3: Luồng thông tin DFD
3-25
Hướng dẫn vẽ luồng thông tin
Luồng thông tin Primitive
Mức logic thấp nhất của phân rã
Ra quyết định khi dừng phân rã.
Nguyên tắc để dừng phân rã
Khi mỗi quá trình đã được giảm đến một quyết định đơn, tính
toán hay một thao tác cơ bản trong xử lý cơ sở dữ liệu.
Khi dữ liệu lưu trữ mô tả một thực thể đơn.
Khi người dùng không muốn dừng quá trình phân rã.
Khi mỗi dòng dữ liệu không cần phân rã nữa nhưng vẫn có thể
xử lý dữ liệu.
Khi người phân tích tin rằng mỗi quá trình, giao dịch, hiển thị
hay biểu mẫu có thể xử lý bằng dòng dữ liệu đơn.
Khi người phân tích tin rằng đã có quá trình riêng biệt cho mỗi
quá trình con.
3-26
Sử dụng luồng thông tin để phân tích
Phân tích lỗi: Tìm hiểu sự khác biệt thông tin giữa hai hay
nhiều luồng thông tin hay trong nội bộ luồng thông tin.
Tính không hiệu quả của một hệ thống có thể được xác định
thông qua luồng thông tin.
(Nguồn: Hammer and Champy, 1993.)
3-27
Sử dụng luồng thông tin để phân tích
Luồng thông tin cơ bản của để xử lý thẻ tín dụng của tập đoàn
IBM sau khi phân tích.
Chương 3: Luồng thông tin DFD
3-28
Ví dụ luồng thông tin DFD
Công ty sản xuất đồ điện tử gia dụng có 6 nhóm chức năng ở mức
cao, hãy xây dựng luồng thông tin mức 0 cho doanh nghiệp trên?
Doanhnghiệp
Quátrình
Trangchính
Sảnphẩm(catalog)
Ghế
Bàn
Bànlàmviệc
Kệsách
Hiểnthịthôngtin
1.0DuyệtCatalog
2.0Chọnhạngmụcđểđặtmua.
Giỏhàng
3.0Hiểnthịgiỏhàng
Kiểmtrađặthàng
4.0Kiểmtraquátrìnhđặthàng
Tàikhoảnngườidùng
5.0Thêm/sửatàikhoảnngườidùng
Tìnhtrạngđơnhàng/quákhứđặthàng
6.0Thôngtintrìnhtrạngđặthàng
Thôngtindoanhnghiệp
Phảnhồi
Thôngtinliênlạc
3-29
Biểu đồ luồng thông tin mức 0 của doanh nghiệp nêu trên
Tình trạng đơn đặt hàng
Thông tin tình
trạng đơn hàng
6.0
5.0
Thêm/sửa
thông tin
khách hàng
Số hiệu
đơn hàng
KHÁCH HÀNG
Thông tin khách hàng/ID
Thông tin
khách hàng
Đặt hàng
HỆ THỐNG HOÀN
THIỆN ĐƠN HÀNG
ID khách hàng
HỆ THỐNG QUẢN
LÝ KHÁCH HÀNG
Thông tin khách hàng
Cấu hình hạng mục
1.0
Duyệt danh
mục sản
phẩm
Cấu hình
hạng mục
Số hiệu đơn
đặt hàng
Thông tin khách hàng
Tình trạng
đơn đặt
hàng
Yêu
cầu sản
phẩm
4.0
Kiểm tra
quá trình
đặt hàng
Kiểm tra
ID khách
hàng
Số hiệu đơn đặt hàng/mã trả hàng
ID ở giỏ hàng/cấu hình hạng mục
Đơn đặt hàng Hạng mục trong giỏ hàng
Giở bỏ hạng mục
KHÁCH HÀNG
Cấu hình
hạng mục
Yêu cầu
đơn hàng
Sản phẩm
3.0
Gỡ bỏ hạng mục/sản phẩm
Hiển thị
hạng mục
trong giỏ
hàng
Xem hạng mục
trong giỏ hàng
ID giỏ
hàng/cấu
hình hạng
mục
2.0
Tồn kho
Chọn hạng
mục để
mua
Cấu hình của hạng mục
D2
GIỎ HÀNG
3-30
Ví dụ luồng thông tin
a. Xây dựng biểu đồ ngữ cảnh mô tả sơ đồ chức năng của hệ thống
quản lý điểm?
b. Mô tả luồng thông tin với hai chức năng là chấm thi và xử lý điểm?
Biểu đồ ngữ cảnh
Sinh viên
Luồng thông tin mức 0
Bài thi
Sinh viên
Điểm trung
bình
Chương 3: Luồng thông tin DFD
0
Xử lý
điểm
1.0
Chấm
thi
2.0
Xử lý
điểm
P. Đào tạo
Bảng điểm
P. Đào tạo
Bảng điểm
3-31
Luồng thông tin mức 1 cho chức năng chấm thi
1.1
Chấm
thi
Bài thi
Sinh viên
VP Khoa
Bài thi đã chấm
1.2
Vào
điểm
Bảng điểm
P. Đào tạo
luồng thông tin mức 1 cho chức năng xử lý điểm
2.1
Vào
điểm MT
Sinh viên
Điểm trung
bình
Chương 3: Luồng thông tin DFD
Bảng điểm
Bảng
điểm
P. Đào tạo
2.2
Tính
điểm
Bảng Điểm
3-32
Mô tả sơ đồ luồng thông tin tổng hợp
1.1
Chấm
thi
Bài thi
SINH VIÊN
VP Khoa
Bài thi
1.2
Vào
điểm
Bảng điểm
P. ĐÀO TẠO
2.1
Điểm trung
bình
Chương 3: Luồng thông tin DFD
Vào điểm
MT
Bài thi
Bảng điểm
2.2
Tính
điểm
Bảng Điểm
3-33
Bài tập
Hãy vẽ luồng thông tin quản lý cho một trường đại học.
Quản lý trường ĐH 0
1. QL
Giáo
viên
2.1 Xử
lý hồ sơ
2. QL
Sinh
viên
2.2 Xử
lý điểm
Chương 3: Luồng thông tin DFD
3. QL
Chương
trình đào tạo
2.3 Xử lý
tốt nghiệp
4. QL
Thời
khoá biểu
5. QL
Hội
trường
2.4 Xử lý
đặc biệt khác
3-34
Bài tập
Hãy vẽ luồng thông tin để quản trị một doanh nghiệp
Doanh nghiệp
1. Marketing
1.1 Kế toán
tổng hợp
nội bộ
Chương 3: Luồng thông tin DFD
0
2. Vận hành
3. Tài chính/kế toán
1.2 Kế
toán
thuế
1.3 Kế
toán tài
chính
3-35