
A context model in software engineering is a diagram or representation that shows the relationship between the system being developed and its external environment. It describes how...
A context model in software engineering is a diagram or representation that shows the relationship between the system being developed and its external environment. It describes how the system interacts with users, other systems, and external entities, providing a high-level overview of the system's scope and boundaries.
Context models help to establish a clear understanding of what is inside and outside the system, ensuring that all stakeholders have a shared understanding of how the system fits within the broader operational environment. They are especially useful in the early stages of the project to identify key interfaces, data flows, and the scope of the system.
System Boundary:
External Entities:
System Interactions:
Data Flow:
Interfaces:
A Data Flow Diagram (DFD) is one of the most common forms of a context model. It shows how data flows between the system and external entities. The DFD is useful for mapping out how inputs from external entities are processed by the system and how outputs are sent back.
Example: A bank's online system might have a DFD where users (external entities) interact with the system to view account information or transfer money. The system processes the request and retrieves data from the bank's database (data store).
A Use Case Diagram is another type of context model that shows the functional aspects of the system from the user’s perspective. It outlines the key actors (users or other systems) and the interactions they have with the system.
Example: In an e-commerce system, actors might include "Customer," "Admin," and "Payment System," with use cases such as "Browse Products," "Make Purchase," and "Process Payment."
A System Context Diagram provides a high-level view of the system, showing it as a single process (typically a circle or rectangle) at the center. It outlines how the system interacts with external entities without going into much detail about internal processes. The focus is on the system’s scope and boundaries.
Example: In a hospital management system, the system context diagram would show the hospital's software interacting with external entities like "Patients," "Doctors," "Medical Devices," and "Insurance Companies."
While typically used for database modeling, an Entity-Relationship Diagram (ERD) can also serve as a context model when focusing on the data aspect. It shows the entities in the system and how they relate to each other.
Example: In an online store, an ERD would represent entities like "Customer," "Order," and "Product," and their relationships (e.g., a customer can place multiple orders).
Context models are a fundamental tool in software engineering that help define the boundaries, scope, and interactions of a system with its environment. They provide essential insights into system architecture and behavior, allowing both developers and stakeholders to understand the system’s relationship with external entities and the data flows between them. Different types of context models, such as Data Flow Diagrams, Use Case Diagrams, System Context Diagrams, and Entity-Relationship Diagrams, offer various ways to represent the system’s environment and interactions, each suited to different stages of the development process. By utilizing context models, teams can ensure clarity and alignment in the system’s design and implementation.
Open this section to view and download past papers
Click on Show Past Papers to load available exam papers.