Here’s an example of a Level-1 Data Flow Diagram (DFD) for our reservation system. It highlights how data moves between external entities, processes, and storage components.

flowchart TD %% External Entities Customer[Customer] ResourceCatalog[Resource Catalog] PaymentGateway[Payment Gateway] NotificationService[Notification Service] %% Processes Process1[Submit Reservation] Process2[Check Resource Availability] Process3[Process Payment] Process4[Notify Customer] %% Data Stores D1[Reservation Data Store] D2[Customer Data Store] %% Data Flows Customer -->|Reservation Details| Process1 Process1 -->|Reservation Data| D1 Process1 -->|Customer Details| D2 Process1 -->|Resource Details| Process2 ResourceCatalog -->|Resource Availability| Process2 Process2 -->|Reservation Confirmation| Process1 Process1 -->|Payment Info| Process3 PaymentGateway -->|Payment Status| Process3 Process3 -->|Notification Request| Process4 Process4 -->|Notification| NotificationService

Explanation

  1. External Entities:

    • Customer: Provides reservation details.
    • Resource Catalog: Supplies availability data for requested resources.
    • Payment Gateway: Processes payments for completed reservations.
    • Notification Service: Handles notifications to customers upon reservation confirmation.
  2. Processes:

    • Submit Reservation: Accepts input from the customer and initiates the workflow.
    • Check Resource Availability: Verifies whether the requested resource is available for the specified time frame.
    • Process Payment: Handles payment for the reservation.
    • Notify Customer: Sends confirmation or other communication to the customer.
  3. Data Stores:

    • Reservation Data Store: Maintains reservation-related information such as dates, status, and resource IDs.
    • Customer Data Store: Stores customer details including contact information.
  4. Data Flows:

    • Data flows illustrate how information moves between entities, processes, and storage. For example, reservation details flow from the Customer to the Submit Reservation process, which then interacts with the Reservation Data Store and other processes.

Related Posts