Sơ đồ luồng dữ liệu là gì?
Một sơ đồ luồng dữ liệulà một biểu diễn đồ họa về luồng dữ liệu trong một hệ thống thông tin. Nó có thể mô tả các luồng dữ liệu vào, luồng dữ liệu ra và dữ liệu được lưu trữ. DFD không đề cập đến cách dữ liệu chảy qua hệ thống.
Kỹ thuật kỹ thuật DFDphân rã sơ đồ luồng dữ liệu cấp cao thành một tập hợp các sơ đồ chi tiết hơn, cung cấp cái nhìn tổng thể về hệ thống hoàn chỉnh, cũng như phân rã chi tiết hơn. Cung cấp cái nhìn tổng thể về hệ thống hoàn chỉnh, cũng như phân rã chi tiết hơn và, khi thích hợp, một sự phân tích và mô tả chi tiết hơn về các hoạt động riêng lẻ để tạo điều kiện cho việc làm rõ và hiểu biết.
Kết quả là, phạm vi và ranh giới của hệ thống được chỉ rõ trong sơ đồ. Kết quả cuối cùng của một DFD được phát triển tốt là một “bức tranh lớn” cho thấy những gì đang xảy ra ở mỗi cấp độ.
Tại sao lại là DFD?
Sơ đồ luồng dữ liệucung cấp một biểu diễn đồ họa của hệ thống nhằm mục đích dễ tiếp cận với
người chuyên môn máy tính và người dùng không chuyên cũng như nhau.Đó là một biểu diễn đồ họa rất dễ hiểu vì nó giúp hình dung nội dung.
Các mô hình cho phép kỹ sư phần mềm, khách hàng và người dùng làm việc cùng nhau hiệu quả trong quá trình phân tích và xác định yêu cầu.
Mặc dù điều này có nghĩa là khách hàng của chúng tôi cần phải hiểu các kỹ thuật và cấu trúc mô hình, nhưng trong mô hình luồng dữ liệu chỉ sử dụng một tập hợp hạn chế các cấu trúc, và các quy tắc áp dụng được thiết kế để đơn giản và dễ theo dõi.
Dưới đây là những lợi ích của kỹ thuật DFD:
- Đó là một kỹ thuật đồ họa đơn giản dễ hiểu.
- Nó có thể dễ dàng được hiểu hơn bởi cả khán giả kỹ thuật và không kỹ thuật.
- Nó giúp mô tả ranh giới của hệ thống.
- Nó tạo điều kiện cho việc truyền đạt kiến thức về hệ thống hiện có đến người dùng cuối.
- Nó cung cấp một biểu diễn chi tiết về các thành phần của hệ thống.
- Nó được sử dụng như một phần của tài liệu hệ thống.
DFD so với Sơ đồ luồng
Có sự khác biệt đáng kể giữa một DFD và một sơ đồ luồng. Về cơ bản, DFD cho thấy luồng dữ liệu; sơ đồ luồng cho thấy luồng điều khiển.
- Một sơ đồ luồng mô tả luồng điều khiển trong một mô-đun chương trình và giúp minh họa các bước để giải quyết một vấn đề.
- Một DFD minh họa các đầu vào, đầu ra, cách dữ liệu sẽ chảy qua hệ thống và nơi dữ liệu sẽ được lưu trữ. Nó không chứa bất kỳ yếu tố điều khiển hoặc phân nhánh nào.
Các yếu tố của DFD
- Thực thể – Thực thể là nguồn và đích của dữ liệu thông tin. Thực thể được đại diện bởi
những hình chữ nhật và có tên riêng của chúng.
- Quy trình – Các hoạt động và hành động thực hiện trên dữ liệu được đại diện bởi các hình tròn hoặc hình chữ nhật tròn.
- Lưu trữ dữ liệu – Có hai biến thể của lưu trữ dữ liệu – nó có thể được đại diện như – 1. Nó có thể được đại diện như một hình chữ nhật không có hai cạnh nhỏ, 2) hoặc như một hình chữ nhật mở chỉ có một cạnh
Một hình chữ nhật mở với các cạnh bị thiếu.
- Luồng dữ liệu – sự di chuyển của dữ liệu được đại diện bởi các mũi tên sắc nét. Sự di chuyển của dữ liệu được thể hiện như đi từ đáy của mũi tên như nguồn của nó đến đầu của mũi tên như đích của nó.
Ví dụ về Luồng Dữ liệu – Ngân hàng điện tử
Một giám đốc ngân hàng cung cấp thông tin tài khoản mới cho quy trình Tài khoản mở, dẫn đến thông tin khách hàng được lưu giữ trong kho dữ liệu cơ sở dữ liệu Khách hàng và thông tin tài khoản được lưu giữ trong kho dữ liệu cơ sở dữ liệu Tài khoản. Mặc dù chúng tôi sử dụng từ “kết quả” trong cách diễn giải của mình, DFD không ngụ ý nguyên nhân; Tất cả những gì nó cho thấy là quy trình mở tài khoản có thể đọc dữ liệu từ giao diện của giám đốc ngân hàng mà không ghi dữ liệu vào kho dữ liệu cơ sở dữ liệu khách hàng và cơ sở dữ liệu tài khoản theo một thứ tự cụ thể.
Một khách hàng sử dụng quy trình đăng nhập ngân hàng trực tuyến phải cung cấp một số dữ liệu, chẳng hạn như tên người dùng và mật khẩu, dưới dạng một tập hợp thông tin đăng nhập.
Một khách hàng có thể nhận một khoản tiền từ việc rút tiền hoặc đóng góp một khoản tiền vào một khoản tiền gửi; Trong cả hai trường hợp, điều này dẫn đến việc cập nhật số dư tài khoản trong kho dữ liệu cơ sở dữ liệu tài khoản (mặc dù nguyên nhân này không thể được mô hình hóa một cách rõ ràng).
Một khách hàng có thể khởi động quy trình chuyển tiền và phải cung cấp đích tài khoản và số tiền. Quy trình chuyển tiền có thể gửi số tiền đến một ngân hàng khác thông qua giao diện ngân hàng khác.
Chỉnh sửa ví dụ về Sơ đồ Luồng Dữ liệu này
Ví dụ DFD này được hiển thị ở trên bao gồm năm quy trình, bốn giao diện/ vai trò bên ngoài và hai kho dữ liệu. Nó không có nghĩa là một biểu diễn đầy đủ về các luồng dữ liệu trong một hệ thống ngân hàng, nhưng nó đủ toàn diện để cung cấp cảm giác về cách xây dựng một DFD.
Kỹ thuật Phân rã Từ trên xuống – DFD nhiều cấp
Một lợi thế lớn của kỹ thuật mô hình hóa luồng dữ liệu là thông qua một kỹ thuật gọi là phân rã từ trên xuống (còn được gọi là “cấp độ”), độ phức tạp chi tiết của các hệ thống thế giới thực có thể được quản lý và mô hình hóa trong một hệ thống phân cấp các trừu tượng. Cấp độ được thực hiện bằng cách vẽ một loạt các DFD ngày càng chi tiết cho đến khi đạt được mức độ chi tiết mong muốn.
Để làm cho DFD thậm chí phức tạp hơn (tức là, không quá nhiều quy trình), bạn có thể tạo ra các DFD nhiều cấp.
- Sơ đồ ngữ cảnh chứa quy trình hệ thống điều khiển (tổng hợp).
- DFD cấp cao hơn ít chi tiết hơn (DFD chi tiết hơn được phát triển ở cấp thấp hơn) được gọi là quy trình phân rã từ trên xuống.
- Sơ đồ ngữ cảnh bắt đầu với các số quy trình (ví dụ: quy trình 1, quy trình 2, và cứ thế).
- Việc đánh số tiếp tục ở cấp đầu tiên được gọi là (DFD). Ví dụ, quy trình 1 trong sơ đồ ngữ cảnh được tinh chỉnh thành ba quy trình trong DFD cấp một và được đánh số 1.1, 1.2 và 1.3.
- Tương tự, các quy trình trong lớp thứ hai được đánh số, ví dụ: 2.1.1, 2.1.2, 2.1.3 và 2.1.4. Việc đánh số cho quy trình trong phân cấp:
- (1, 2, 3,…);
- (1.1, 1.2, 1.3, …, 2.1, 2.2, 2.3,…);
- (1.1.1, 1.1.2, 1.1.3,…).
- Số lượng lớp phụ thuộc vào kích thước của hệ thống mô hình.
Khi thực hiện phân rã từ trên xuống một DFD đến các DFD cấp thấp hơn, các đầu vào và đầu ra phải được bảo tồn giữa các cấp độ của DFD. Ví dụ, cấp n & n+1 phải có cùng đầu vào và đầu ra
Ví dụ DFD – hệ thống đặt món ăn
Sơ đồ ngữ cảnh (Cấp 0 – DFD)
Một sơ đồ ngữ cảnh cho thấy cái nhìn tổng quan về hệ thống và cách nó tương tác với các phần khác của “thế giới”. Một sơ đồ ngữ cảnh là một sơ đồ luồng dữ liệu chỉ cho thấy cấp độ cao nhất, được gọi là cấp 0. Ở cấp độ này, chỉ có một nút quy trình hiển thị chức năng của một hệ thống hoàn chỉnh, tức là cách nó tương tác với các thực thể bên ngoài. Một số lợi ích của sơ đồ ngữ cảnh là.
- Hiển thị cái nhìn tổng quan về ranh giới của một hệ thống
- Bằng ký hiệu đơn giản của nó, nó không yêu cầu kiến thức kỹ thuật để hiểu
- Dễ dàng vẽ, sửa đổi và phát triển do ký hiệu hạn chế của nó
Hình dưới đây cho thấy một sơ đồ ngữ cảnh (sơ đồ luồng dữ liệu cấp cao) được vẽ cho một hệ thống đặt món ăn.
- Nó chứa một quy trình (hình dạng) đại diện cho mô hình hệ thống, trong trường hợp này là “hệ thống đặt món ăn”.
- Nó cũng cho thấy các bên tham gia sẽ tương tác với hệ thống, được gọi là các thực thể bên ngoài.
Trong ví dụ này, nhà cung cấp, nhà bếp, quản lý và khách hàng là các thực thể sẽ tương tác với hệ thống.
Giữa quy trình và các thực thể bên ngoài, có các luồng dữ liệu (kết nối) cho thấy có sự trao đổi thông tin giữa các thực thể và hệ thống.
DFD ngữ cảnh là điểm vào của mô hình luồng dữ liệu. Nó chứa một và chỉ một quy trình và không hiển thị bất kỳ lưu trữ dữ liệu nào.
DFD Cấp 1
DFD Cấp 1 trình bày một cái nhìn chi tiết hơn về hệ thống so với sơ đồ ngữ cảnh. Bằng cách hiển thị các quy trình con chính và các kho dữ liệu tạo thành hệ thống.
Sơ đồ dưới đây cho thấy DFD Cấp 1, là một sự phân rã (tức là phân rã) của các quy trình hệ thống đặt món ăn được hiển thị trong DFD ngữ cảnh. Đọc qua sơ đồ, và sau đó chúng tôi sẽ giới thiệu một số khái niệm chính dựa trên nó.
Chỉnh sửa ví dụ về Sơ đồ Luồng Dữ liệu này
Một ví dụ về sơ đồ luồng dữ liệu của hệ thống đặt món ăn chứa ba quy trình, bốn thực thể bên ngoài và hai kho dữ liệu.
- Theo sơ đồ, chúng tôi biết rằng một khách hàng có thể đặt hàng. Quy trình đặt món ăn nhận đơn hàng, chuyển tiếp nó đến nhà bếp, lưu trữ nó trong kho dữ liệu đơn hàng và lưu trữ các chi tiết hàng tồn kho đã cập nhật trong kho dữ liệu hàng tồn kho. Quy trình cũng cung cấp hóa đơn cho khách hàng.
- Các quản lý có thể nhận báo cáo thông qua quy trình Tạo báo cáo, quy trình này lấy chi tiết hàng tồn kho và đơn hàng làm đầu vào cho kho dữ liệu hàng tồn kho và kho dữ liệu đơn hàng, tương ứng.
- Người quản lý cũng có thể khởi động quy trình Đặt hàng tồn kho bằng cách cung cấp một đơn đặt hàng hàng tồn kho. Quy trình này chuyển tiếp đơn đặt hàng hàng tồn kho đến nhà cung cấp và lưu trữ các chi tiết hàng tồn kho đã cập nhật trong kho dữ liệu hàng tồn kho.
DFD Logic so với DFD Vật lý
Các sơ đồ luồng dữ liệu được chia thành sơ đồ luồng dữ liệu logic và sơ đồ luồng dữ liệu vật lý. DFD logic tập trung vào doanh nghiệp và cách nó hoạt động. Nó mô tả các sự kiện kinh doanh xảy ra và dữ liệu cần thiết và được tạo ra cho mỗi sự kiện. DFD vật lý, mặt khác, cho thấy cách hệ thống sẽ được triển khai. Dưới đây là những khác biệt chính giữa DFD logic và DFD vật lý:
DFD Logic
- DFD logic mô tả cách doanh nghiệp hoạt động.
- Các quy trình đại diện cho các hoạt động kinh doanh.
- Các kho dữ liệu đại diện cho tập hợp dữ liệu bất kể cách dữ liệu được lưu trữ.
- Đó là cách doanh nghiệp kiểm soát.
DFD Vật lý
-
- DFD vật lý mô tả cách hệ thống sẽ được triển khai (hoặc cách hệ thống hiện tại hoạt động).
- Các quy trình đại diện cho các chương trình, mô-đun chương trình và quy trình thủ công.
- Các kho dữ liệu đại diện cho các tệp vật lý và cơ sở dữ liệu, tệp thủ công.
- Nó cho thấy các kiểm soát để xác thực dữ liệu đầu vào, để lấy một bản ghi, để đảm bảo hoàn thành thành công một quy trình và để bảo mật hệ thống.
- DFD vật lý xác định luồng thực tế của tài liệu vật lý, trong khi DFD logic chỉ tập trung vào luồng thông tin theo thuật ngữ kinh doanh.
Ví dụ, DFD vật lý xác định luồng thực tế của tài liệu vật lý, trong khi DFD logic chỉ tập trung vào luồng thông tin theo thuật ngữ kinh doanh.
Hơn nữa, một DFD logic loại bỏ các quy trình vật lý chỉ đề cập đến các hoạt động vật lý và không biến đổi dữ liệu.
Ví dụ DFD Logic – Cửa hàng tạp hóa
DFD logic minh họa các quy trình liên quan mà không đi vào chi tiết về việc triển khai vật lý của các hoạt động.
Ví dụ DFD vật lý – Cửa hàng tạp hóa
- DFD vật lý cho thấy rằng một mã vạch – mã giá UPC được tìm thấy trên hầu hết các mặt hàng trong cửa hàng tạp hóa được sử dụng
- Ngoài ra, DFD vật lý đề cập đến các quy trình thủ công như quét, giải thích rằng một tệp tạm thời được sử dụng để giữ tổng phụ của các mặt hàng
- Việc THANH TOÁN có thể được thực hiện bằng TIỀN MẶT, SÉC hoặc THẺ GHI NỢ
Cuối cùng, nó đề cập đến biên lai bằng tên của nó, BIÊN LAI QUẦY THU NGÂN
Chỉnh sửa ví dụ DFD vật lý này
Mẹo và Ghi chú về Sơ đồ Dòng Dữ liệu
- Đừng làm cho nó quá phức tạp; thường thì 5-7 người trung bình có thể quản lý các quy trình
- Một kho dữ liệu phải được liên kết với ít nhất một quy trình
- Dòng dữ liệu không nên tồn tại giữa 2 thực thể bên ngoài mà không qua một quy trình
- Một quy trình có đầu vào nhưng không có đầu ra được coi là quy trình hố đen.
- Những nhãn quy trình nên là cụm động từ; kho dữ liệu được đại diện bởi danh từ.
- Một thực thể bên ngoài phải được liên kết với ít nhất một quy trình
- DFD là không xác định – việc đánh số không nhất thiết chỉ ra thứ tự và hữu ích cho việc xác định các quy trình khi thảo luận với người dùng
- Kho dữ liệu không nên được kết nối với một thực thể bên ngoài, nếu không, điều đó có nghĩa là bạn đang cung cấp cho một thực thể bên ngoài quyền truy cập trực tiếp vào tệp dữ liệu của bạn
Tài nguyên
- Sơ đồ Dòng Dữ liệu (DFD) là gì?
- Cách tạo Sơ đồ Dòng Dữ liệu (DFD)?
- Phần mềm Sơ đồ Dòng Dữ liệu (DFD)
- Ví dụ về Sơ đồ Dòng Dữ liệu
This post is also available in Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, 简体中文 and 繁體中文.