Flowcharts vs DFDs vs Other Models
Flowcharts vs DFDs vs Other Models
By this point in the tutorial you have built flowcharts that trace the step-by-step logic of a process, and DFDs that expose the data that flows between processes, stores, and external entities. Both are process models — but they answer very different questions. In the real world an analyst often faces a blank whiteboard and must decide: which diagram will actually help stakeholders and developers understand this system?
Choosing the wrong model is not a minor inconvenience. It wastes hours of modeling time, confuses reviewers, and can lead to design decisions based on an incomplete or misleading picture of the problem. This lesson gives you a practical decision framework — and introduces three other diagram types you will encounter — so you can select the right tool every time.
What Each Model Is Actually For
Before comparing models, lock in a precise mental model of each one's purpose:
- Flowchart: Shows the sequence of steps and decisions inside a single process. The central question is "What happens next, and under what condition?" Flowcharts are logic-first. They are excellent for describing an algorithm, a business rule, or a procedure.
- DFD (Data Flow Diagram): Shows what data moves where — between processes, between stores, and between the system and the outside world. The central question is "What data does this part of the system receive, transform, and produce?" DFDs are data-first. They are excellent for scoping a system and communicating data requirements to a database designer or developer.
A simple test: if someone asks "How does the library fine calculation work?" you draw a flowchart. If they ask "What information does the library system handle, and where does it come from and go to?" you draw a DFD.
A Side-by-Side Comparison
Consider the same scenario from two angles: a patient books an appointment at a clinic online.
As a flowchart you would trace: patient visits booking page → enters details → system checks availability → if slot available, confirm and save; if not, show alternatives → send confirmation email → end. The diagram shows every decision point and every branch.
As a DFD you would show: the external entity Patient sending booking request data into the Process Booking process, which reads from the Appointment Schedule data store and writes back to it, then pushes a confirmation record to a Notifications data store that feeds the Email Service external entity. The diagram shows every data element and every place it rests.
Other Models You Will Encounter
Flowcharts and DFDs are process-centric, but a complete analysis engagement requires additional diagram types. Here is a brief, practical summary of the most common ones — with guidance on when to reach for them.
Use Case Diagrams
Question answered: Who does what with this system? Use case diagrams (UML) map the functional boundary of a system by showing actors (people or other systems) and the use cases (goals) they interact with. They are excellent for stakeholder conversations about scope — quick to read, requires no technical background. Draw one early to agree on what is inside and outside the system.
When to use over a DFD: When the primary need is to enumerate user goals and get stakeholder sign-off on scope, not to detail data flows. A use case diagram does not show data or logic — it shows who can do what.
Class Diagrams
Question answered: What are the key entities, their attributes, and how do they relate? Class diagrams (UML) are the go-to tool for communicating the structure of a system to developers. They show classes, attributes, methods, and relationships (association, inheritance, composition). Use them when you are handing off requirements to a development team or when designing a database schema.
When to use over a DFD: When the audience is developers and the question is about object structure, not about what data flows. A DFD does not show attributes or operations; a class diagram does not show flow.
Sequence Diagrams
Question answered: In what time order do messages pass between objects or components for a specific scenario? Sequence diagrams show the interaction between actors and system components as a timeline. They are indispensable for documenting API integrations, message-based systems, and the internal logic of complex use cases.
When to use over a flowchart: When there are multiple participants passing messages, and the sequence across participants matters. A flowchart shows what one actor does; a sequence diagram shows how several actors coordinate.
Entity-Relationship Diagrams (ERDs)
Question answered: What data does the system store permanently, and how is that data structured? ERDs model the persistent data layer: entities, attributes, and cardinality relationships. Every database design starts with an ERD.
When to use over a DFD: When the focus shifts from how data moves to how data is stored and structured. A DFD data store is just a rectangle with a name; an ERD fills in every attribute and every relationship between entities.
A Decision Framework: Which Model to Use
Use this decision table when you sit down at the whiteboard:
A Realistic Scenario: Online Library System
A city library wants a new system for borrowing books. Here is how an analyst would sequence the models across the project:
- Scope agreement (week 1): Draw a use case diagram showing actors (Member, Librarian, Overdue-Fine-System) and use cases (Search Catalogue, Borrow Book, Return Book, Pay Fine, Manage Inventory). Present to stakeholders to confirm what is in scope.
- System boundary and external data (week 2): Draw a context DFD (Level 0) to show all external entities and data flows crossing the system boundary — Member, Librarian, Payment Gateway, and Email Notification Service all appear, with named data flows. This confirms the interfaces that must be built.
- Process decomposition (weeks 2-3): Draw DFD Level 1 for the main functional areas: Catalogue Management, Borrowing, Returns, Fines. Show data stores (Book Catalogue, Loans, Member Records). This drives the database design and module structure.
- Business rule documentation (week 3): For the "Calculate Fine" process, draw a flowchart: check overdue days → if 0, no fine; if 1–7 days, apply base rate; if 8–30 days, escalating rate; if 30+, suspend account. This clarifies the business logic exactly.
- Data design (week 4): Draw an ERD based on the DFD data stores: Member, Book, Copy, Loan, Fine entities with cardinalities and key attributes.
- Integration design (week 5): For the payment integration, draw a sequence diagram showing Member → Library System → Payment Gateway → Library System → Email Service message flow.
Common Mistakes in Model Selection
- Using a flowchart when stakeholders need scope: A 40-step flowchart handed to a business sponsor to agree on system scope will be ignored. Use a use case diagram instead — it takes 10 minutes to read.
- Using a DFD when developers need logic: A DFD Level 2 does not tell a developer how to implement a calculation. Write the business rule as a flowchart or pseudo-code.
- Mixing notations: Drawing a DFD with flowchart decision diamonds creates a diagram that breaks both sets of rules and confuses everyone. Pick one notation and follow its standard.
- Over-modeling: Drawing every possible diagram for a simple change request adds no value. For a one-screen admin panel change, a single annotated wireframe may outperform three formal diagrams.
Model selection is a professional judgment call. It sharpens with practice. As a working rule: lead with the question your stakeholder is actually asking, identify who will read the diagram, and pick the notation that answers the question most directly without requiring the reader to learn a new language first.