Modeling in System
Development
Lecture 5
Introduction
• Modeling is the process of creating abstract
representations of a system to understand, analyze, and
design its structure and behavior. Various techniques are
used to visualize and document the system's processes,
data, and decision-making.
1. Data Flow Diagrams (DFD)
Definition: A Data Flow Diagram (DFD) is a graphical representation of how data
flows through a system, illustrating the input, processing, storage, and output of
data.
Key Components:
• External Entities: Sources or destinations of data outside the system.
• Processes: Activities that transform input data into output.
• Data Stores: Places where data is stored.
• Data Flows: Arrows that show the movement of data between components.
Example DFD for Online Shopping System
Context Diagram (Level 0)
• External Entities: Customer, Payment Gateway, Supplier
• Process: Online Shopping System
• Data Flows: Order Details, Payment Info, Shipping Request
Level 1 Breakdown
1. Customer places an order → Process: "Order Processing"
2. Order details stored → Data Store: "Orders Database"
3. Payment processed → Process: "Payment Verification"
4. Supplier notified → Process: "Send Order to Supplier"
Example of Basic DFD
Symbols and notations
are used to represent
Components of DFD
Types of DFDs:
• Context Diagram: A high-level view of the system showing its interaction with
external entities.
• Level 0 DFD: Shows major processes in the system.
• Level 1 DFD & Beyond: More detailed breakdown of processes.
Advantages:
• Helps understand the flow of data.
• Identifies redundancies and inefficiencies.
• Improves system design and documentation.
2. Entity Relationship Diagram (ERD)
Definition: An Entity Relationship Diagram (ERD) is a graphical representation of
data entities and their relationships in a database system.
Key Components:
• Entities: Objects in the system (e.g., Student, Course).
• Attributes: Properties of entities (e.g., Student_ID, Course_Name).
• Relationships: Associations between entities (e.g., A student enrolls in a course).
• Cardinality: Defines the number of occurrences (e.g., One-to-Many,
Many-to-Many).
Types of ERD Notations:
• Chen Notation: Uses rectangles (entities), ovals (attributes), and diamonds
(relationships).
• Crow’s Foot Notation: Uses symbols to indicate relationships more clearly.
Advantages:
• Helps in database design.
• Ensures data consistency and integrity.
• Simplifies system documentation.
3. Flowcharts
Definition: A Flowchart is a diagram that represents a process using various symbols
to show steps, decisions, and actions in a sequence.
Key Symbols:
• Terminator (Start/End): Oval shape.
• Process: Rectangle shape.
• Decision: Diamond shape.
• Input/Output: Parallelogram shape.
• Arrow: Shows flow direction.
Types of Flowcharts:
• System Flowchart: Represents the flow of data and processes in a system.
• Program Flowchart: Shows the logic of a program.
• Business Process Flowchart: Describes business workflows.
Advantages:
• Easy to understand and communicate.
• Helps identify bottlenecks and inefficiencies.
• Useful for programming and process automation.
4. Decision Tables
Definition: A Decision Table is a structured way to model complex
decision-making by listing all possible conditions and corresponding actions.
Components:
• Conditions: Factors influencing the decision.
• Actions: Possible responses based on conditions.
• Rules: Combination of conditions and the resulting action.
Example of a Decision Table:
Advantages:
•Helps in documenting complex business logic.
•Ensures completeness in decision-making.
•Useful in system rule validation.
Condition 1 Condition 2 Action 1 Action 2
Yes No X
No Yes X
5. Process Specification (Process Specs)
Definition: Process Specification (Process Specs) describes the logic, rules, and flow of a process in a structured format.
Methods for Process Specification:
• Structured English: Uses a subset of natural language to define processes.
• Decision Trees: Graphical representation of decisions and their possible outcomes.
• Pseudocode: Uses a programming-like structure to define logic.
• Mathematical Models: Uses formulas and equations to define rules.
Advantages:
• Ensures clarity in process implementation.
• Helps developers and analysts understand system behavior.
• Improves documentation for system maintenance.
Conclusion
• Modeling techniques like DFDs, ERDs, Flowcharts, Decision Tables,
and Process Specifications play a crucial role in system analysis and design.
Each technique serves a unique purpose, from data representation to
decision-making and process description, ensuring efficient and structured
system development.