Phát triển DFD với sự tinh chỉnh từng bước

Sơ đồ luồng dữ liệu(DFD) đại diện cho luồng thông tin qua hệ thống. DFD nhanh chóng trở thành một cách phổ biến để hình dung các bước chính và dữ liệu liên quan trong các quy trình hệ thống phần mềm.

Một sơ đồ luồng dữ liệu (DFD) là một cách để đại diện cho luồng dữ liệu của một quy trình hoặc một hệ thống (thường là một hệ thống thông tin), ví dụ:

  • Dữ liệu đến từ đâu?
  • Nó đi đâu?
  • Nó được lưu trữ như thế nào?

Nói cách khác, nó cho thấy cách dữ liệu được xử lý bởi một hệ thống theo các đầu vào và đầu ra bằng cách sử dụng các kỹ thuật phân rã từ trên xuống (hay còn gọi là tinh chỉnh từng bước).

Tinh chỉnh từng bước là gì?

Một trong những cách hiệu quả để giải quyết một vấn đề phức tạp là phân chia nó thành các tiểu vấn đề đơn giản hơn. Bạn bắt đầu bằng cách chia nhỏ toàn bộ nhiệm vụ thành các phần đơn giản hơn.

Tinh chỉnh từng bước về cơ bản là một sự phân rã của hệ thống để có cái nhìn sâu sắc về các tiểu hệ thống tạo nên hệ thống, được gọi là phương pháp phân rã từ trên xuống.

Ví dụ, một cái nhìn tổng quan về hệ thống được phát triển như mộtsơ đồ ngữ cảnh hệ thốngmà chỉ định, nhưng không chỉ định, bất kỳ cấp độ nào của tiểu hệ thống. Mỗi tiểu hệ thống này sau đó được tinh chỉnh đến mức chi tiết hơn (chẳng hạn như các cấp độ 0, 1, 2, và v.v. trong DFD), đôi khi ở nhiều cấp độ tiểu hệ thống bổ sung, cho đến khi toàn bộ thông số kỹ thuật được giảm xuống các yếu tố cơ bản.

Như thường lệ, việc động não đã dẫn đến những ý tưởng (thực ra, là những việc trong danh sách cần làm của chúng ta) ở các cấp độ “chi tiết” khác nhau – một số trong số chúng “thấp hơn” những cái khác, hoặc, chúng ta có thể nói, một số chứa những cái khác.

Hãy sắp xếp những điều này theo thứ bậc. Nói cách khác, hãy xác định các bước nào là một phần của bước khác. Một cách để làm điều này là nghĩ về mỗi hành động như một tập hợp các hành động.

Ví dụ về Tinh chỉnh Từng Bước

Dọn dẹp nhà cửa

{Hút bụi phòng ăn, Dọn dẹp phòng khách}

Nấu ăn

{Chọn công thức , Mua nguyên liệu , Nướng gà . Làm rau}

Bày bàn

Tìm khăn trải bàn , Lấy đĩa ra , Đặt đồ thủy tinh ra , Đặt đồ bạc ra , Khăn ăn

Nướng gà

{Làm nóng lò nướng đến400 , Đặt gà vào chảo , Để gà trong400 lò nướng trong90 phút}

Làm rau

Thái rau , Nấu rau

(*Nguồn: Thiết kế từ trên xuống và Tinh chỉnh từng bước — Sách Wiki)

Khi những yếu tố cơ bản này được xác định, chúng ta có thể xây dựng chúng thành các mô-đun máy tính. Khi chúng được xây dựng, chúng ta có thể ghép chúng lại với nhau và tạo ra toàn bộ hệ thống từ những thành phần riêng lẻ này.

Kỹ thuật phân rã từ trên xuống trong DFD

Trong DFD,phân rã từ trên xuống(còn được gọi là phân cấp hoặc tinh chỉnh từng bước) là một kỹ thuật được sử dụng để hiển thị nhiều chi tiết hơn trong các DFD cấp thấp hơn. Phân cấp được thực hiện bằng cách vẽ một loạt các sơ đồ ngày càng chi tiết cho đến khi đạt được mức độ chi tiết mong muốn. Như được thể hiện trong Hình, Phân cấp DFD đầu tiên hiển thị hệ thống mục tiêu như một quy trình duy nhất, và sau đó hiển thị nhiều chi tiết hơn cho đến khi tất cả các quy trình trở thành các nguyên thủy chức năng.

  • DFD ở cấp cao hơn thì ít chi tiết hơn
  • DFD cấp cao sẽ được phân rã thành các DFD chi tiết hơn ở các cấp thấp hơn
  • Sơ đồ ngữ cảnh là cấp cao nhất trong hệ thống phân cấp (Xem Quy tắc Tạo DFD). Cấp độ không được gọi là Cấp độ 0, bắt đầu với việc đánh số quy trình (Ví dụ: Quy trình 1, Quy trình 2).
  • Trong phần tiếp theo, cấp độ đầu tiên được gọi là DFD 1 – Số thứ tự tiếp tục. Ví dụ, quy trình 1 được chia thành ba cấp độ đầu tiên của DFD, được đánh số 1.1, 1.2 và 1.3.
  • Tương tự, các quy trình ở cấp độ thứ hai (DFD 2) được đánh số ví dụ 1.1.1, 1.1.2, 1.1.3 và 1.1.4.
  • Số lượng cấp độ phụ thuộc vào kích thước của hệ thống mô hình. Mỗi quy trình ở cấp độ 0 có thể không có số lượng cấp độ phân rã giống nhau.

Ví dụ DFD – Ví dụ về Hệ thống Dịch vụ Khách hàng

Sơ đồ luồng dữ liệu là một hệ thống phân cấp của sơ đồ bao gồm:

  1. Sơ đồ ngữ cảnh (cấp độ khái niệm bằng không)
  2. DFD cấp độ 1
  3. Và có thể có DFD cấp độ 2 và các cấp độ phân rã chức năng tiếp theo tùy thuộc vào độ phức tạp của hệ thống của bạn

DFD ngữ cảnh

Hình dưới đây cho thấy một Sơ đồ Luồng Dữ liệu ngữ cảnh được vẽ cho Hệ thống Dịch vụ Khách hàng của một công ty đường sắt. Nó chứa một quy trình (hình dạng) đại diện cho hệ thống để mô hình hóa, trong trường hợp này là “Hệ thống CS“. 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, Trợ lý CSHành kháchlà hai 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ó luồng dữ liệu (các kết nối) cho thấy sự tồn tại của việc trao đổi thông tin giữa các thực thể và hệ thống.

Chỉnh sửa ví dụ DFD Yourdon và Coad này

DFD ngữ cảnh là lối vào của một 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ỳ kho dữ liệu nào.

DFD cấp 1

Hình dưới đây cho thấy DFD cấp 1, là sự phân rã (tức là phân chia) của quy trình Hệ thống CS được hiển thị trong DFD ngữ cảnh. Đọc qua sơ đồ và sau đó chúng ta sẽ giới thiệu một số khái niệm chính dựa trên sơ đồ này.

Chỉnh sửa ví dụ sơ đồ Yourdon và Coad này

Ví dụ Sơ đồ Luồng Dữ liệu Hệ thống CS chứa bốn quy trình, hai thực thể bên ngoài và bốn kho dữ liệu. Mặc dù không có hướng dẫn thiết kế nào quy định vị trí của các hình dạng trong Sơ đồ Luồng Dữ liệu, nhưng chúng tôi thường đặt các quy trình ở giữa và các kho dữ liệu cùng các thực thể bên ngoài ở hai bên để dễ hiểu hơn.

Dựa trên sơ đồ, chúng ta biết rằng một Hành khách có thể nhận Chi tiết vận chuyển từ Quy trình Hỏi Chi tiết Vận chuyển quy trình, và các chi tiết được cung cấp bởi các kho dữ liệu Chi tiết Vận chuyểnThống kê Đường sắt Trực tiếp. Trong khi dữ liệu được lưu trữ trong Chi tiết Vận chuyển là dữ liệu bền vững (được chỉ định bởi nhãn “D”), dữ liệu được lưu trữ trong Thống kê Đường sắt Trực tiếp là dữ liệu tạm thời được giữ trong một khoảng thời gian ngắn (được chỉ định bởi nhãn “T”). Một hình dạng gọi ra được sử dụng để liệt kê các loại chi tiết mà hành khách có thể hỏi.

Trợ lý CS có thể khởi xướng Mua Quà lưu niệm quy trình, điều này sẽ dẫn đến việc có Chi tiết Đơn hàng được lưu trữ trong Đơn hàng kho dữ liệu. Mặc dù khách hàng là người thực sự mua quà lưu niệm, nhưng chính Trợ lý CS là người truy cập hệ thống để lưu trữ chi tiết đơn hàng. Do đó, chúng tôi tạo luồng dữ liệu từ Trợ lý CS đến Mua Quà lưu niệm quy trình.

Trợ lý CS cũng có thể khởi xướng Mua Vé quy trình bằng cách cung cấp Chi tiết đơn hàng và các chi tiết sẽ được lưu trữ lại trong Đơn hàng kho dữ liệu. Sơ đồ luồng dữ liệu là một sơ đồ cấp cao được vẽ với mức độ trừu tượng cao. Kho dữ liệu Đơn hàng được vẽ ở đây không nhất thiết phải ngụ ý một cơ sở dữ liệu đơn hàng thực sự hoặc bảng đơn hàng trong một cơ sở dữ liệu. Cách mà các chi tiết đơn hàng được lưu trữ vật lý sẽ được quyết định sau khi triển khai hệ thống.

Cuối cùng, Trợ lý CS có thể khởi xướng Báo Mất quy trình bằng cách cung cấp Chi tiết sự cố và vật phẩm và thông tin sẽ được lưu trữ trong Vật Mất cơ sở dữ liệu.

Tìm hiểu thêm về DFD qua các ví dụ

This post is also available in Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, 简体中文 and 繁體中文.

Leave a Reply

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *