Lược đồ dòng dữ liệu

Một phần của tài liệu Hệ thống thông tin quản lý (Trang 45 - 47)

Toàn bộ các tiến trình xử lý của hệ thống có thể được mô hình hóa bằng lược đồ dòng dữ liệu (Data Flow Diagram, DFD). DFD sử dụng 4 ký hiệu của Chris Gane và Trish Sarson (1972):

Process (x lý, tiến trình) Là ký hiệu diễn tả cho một công việc hoặc một hệ thống con thao tác trên dữ liệu (biến đổi dữ liệu ở đầu vào thành dữ liệu/thông tin ở đầu ra). Khi mô hình hóa một xử lý, chúng ta không quan tâm nó được thực hiện như thế nào. Phần trên của ký hiệu xử lý ghi số định danh của xử lý. Ví dụ: “1.2.3” là xử lý thứ 3 trong lược đồ DFD 1.2. Mỗi xử lý có một số định danh duy nhất trong toàn bộ lược đồ. Phần bên dưới của xử lý ghi tên của nó. Tên của xử lý bắt đầu bằng một động từ.

Data store (kho d liu) Là ký hiệu diễn tả một phương tiện trừu tượng có chức năng lưu trữ dữ liệu, tương đương với một quyển sổ ghi chép, một tập tin, hay một CSDL,…

Phần bên trái của Data store ghi số định danh của nó, ví dụ: “D1”, “D2”. Phần bên phải ghi tên của Data store, là một danh từ.

Source / Sink (ngun phát sinh d liu / đích tiêu th d liu) Là ký hiệu diễn tả cho một đối tượng phát sinh dữ liệu (source) hoặc tiêu thụ dữ liệu (sink) bên ngoài hệ thống, có thể nó là một tổ chức như “nhà cung cấp”, “đại lý”; hoặc có thể là một con người như “khách hàng”, “người quản lý”.

Tương tự như Data store, tên của Source/Sink phải là một danh từ.

Data flow (dòng d liu) Là một ký hiệu diễn tả cho chiều di chuyển của một nội dung dữ liệu nào đó (gởi từ đâu và đi đến đâu). Data flow phải có nhãn là một danh từ mô tả cho nội dung dữ liệu đang chuyển đi, ví dụ: “Đơn đặt hàng”, “Hóa đơn”.

A. Quy tc v DFD

1. Nếu một đối tượng chỉ có outputs, chắc chắn đối tượng đó phải là source. Tương tự, nếu một đối tượng chỉ có inputs, nó phải là sink.

2. Một xử lý phải có cả inputs lẫn outputs. Không có xử lý nào chỉ có inputs mà không có outputs, hoặc ngược lại.

3. Một dataflow là một mũi tên phải có nhãn và có duy nhất một hướng để chỉ rõ nơi đi và nơi đến của dữ liệu. Do đó, nếu một nội dung dữ liệu được chuyển đi và nhận về giửa hai đối tượng thì nó phải được vẽ bằng 2 mũi tên (theo 2 hướng ngược nhau).

4. Không có dòng dữ liệu trực tiếp giữa các data store, source, sink. Vì đây là những đối tượng “thụ động”; để di chuyển dữ liệu giữa các đối tượng này cần phải có ít nhất một xử lý của hệ thống. 5. Không có dòng dữ liệu rẽ nhánh (hoặc gộp) có nội dung (nhãn) khác nhau. Nội dung dữ liệu ở các

nhánh phải giống y như nhau.

6. Không có dòng dữ liệu trực tiếp đi từ một xử lý đến chính nó (vì một xử lý không cần gửi dữ liệu cho chính nó).

Hình 3.1 Phân rã DFD

Xử lý iở mức n

DFD mức n+1 cho Xử lý i

B. Quy tc phân rã các x lý trong DFD

Việc phân rã DFD dựa trên kỹ thuật phân tích thiết kế hướng cấu trúc (SADT, Structured Analysis Design Technique); mỗi xử lý được mô tả “từ ngoài vào trong” và “từ tổng quát đến chi tiết”. Nhiệm vụ của mỗi xử lý là biến đổi các dòng dữ liệu đi vào thành các dòng dữ liệu đi ra. Nếu tên gọi của xử lý không thể hiện được nó cần làm gì để biến đổi dữ liệu đi vào thành dữ liệu đi ra, thì xử lý đó cần phải được phân rã thành các xử lý chi tiết hơn để người đọc có thể hiểu được.

Lược đồ bao quát cho toàn hệ thống là lược đồ ngữ cảnh (context diagram). Lược đồ ngữ cảnh chỉ có một xử lý duy nhất đại diện cho toàn bộ hệ thống (có số định danh là 0), các source, sink và các dòng dữ liệu vào ra của hệ thống.

Lược đồ phân rã toàn bộ hệ thống là lược đồ DFD mức 0 (ký hiệu là DFD-0), gồm có nhiều xử lý cơ bản bên trong hệ thống (được đánh số 1.0, 2.0, 3.0,…), các data store, source, sink và các dòng dữ liệu.

Mỗi một xử lý trong DFD-0 có thể được phân rã tiếp và được vẽ bằng một lược đồ DFD cho xử lý đó ở mức chi tiết hơn như minh họa trên hình 3.1. Lược đồ chi tiết (DFD n+1) có số định danh là số của xử lý được phân rã, ví dụ DFD-1.0 là lược đồ DFD cho xử lý 1.0 của DFD-0.

Công việc được lặp lại cho đến khi toàn bộ hệ thống được vẽ xong. Lược đồ ở mức chi tiết nhất là DFD cơ bản (primitive

DFD) của hệ thống. Như vậy, DFD thực sự là một hệ thống các lược đồ phân cấp từ tổng quát đến chi tiết.

Trong khi phân rã các lược đồ, chúng ta cần chú ý bảo toàn (cân bằng) cho các nội dung dữ liệu vào ra ở các mức, để không làm mất dữ liệu của DFD mức tổng quát, hoặc không sinh ra dữ liệu ngoại lai ở mức chi tiết, như mô tả trong hình 3.2. Trong trường hợp chia nhỏ dữ liệu (splitting), lược đồ cần bổ sung thêm từ điển dữ liệu (được giải thích trong phần sau) để liên kết dữ liệu tổng hợp với dữ liệu được chia nhỏ.

C. Tính cht ca lược đồ DFD

Tính hoàn chnh: một DFD có tính hoàn chỉnh khi tất cả các thành phần cần thiết để mô tả hệ thống đã được vẽ và mô tả đầy đủ. Trong một DFD, nếu có một data flow không dẫn đến đâu cả, hoặc một xử lý, một data store, source, sink không nối với thành phần nào khác (bằng một vài data flow) thì DFD đó không hoàn chỉnh. Tất cả các nhánh của DFD cần phân rã đến mức cơ bản, mỗi DFD cơ bản

A B X X Mức n Mức n+1 A, B A B X X Mức n Mức n+1

a) Cân bằng dữ liệu ở các mức b) Chia nhỏ dữ liệu ở mức chi tiết

được mô tả chi tiết trong các tài liệu của hệ thống, như từ điển dữ liệu, ngôn ngữ giản lược, bảng quyết định hoặc cây quyết định.

Tính nht quán: Một DFD có tính nhất quán khi toàn bộ thông tin trong một mức phân rã phải được đưa vào (và tương thích hoàn toàn với) các mức phân rã khác. Vi phạm nguyên tắc cân bằng, hoặc ví dụ nếu có một dòng dữ liệu là đầu vào của xử lý 1.0 trong DFD-0 được vẽ thành dòng dữ liệu đầu vào cho xử lý 2.1 trong DFD-2.0, sẽ làm cho các DFD mất tính nhất quán. (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Hệ thống thông tin quản lý (Trang 45 - 47)