System modelling is the process of developing an abstract model of a system, with each model presenting a different view or perspective of that system. System modelling has generally come to mean representing the system using some kind of graphical notation, which is now almost always based on notation in the unified modelling language(UML).
These models are used during the requirement engineering process to help derive the requirement for a system, during the design process to describe the system to engineers implementing the system and after implementation to document the system’s structure and operation.
You may develop different models to represent the system from different perspectives. These perspectives are:-
An external perspective:- where you model the context or environment of the system.
An interaction perspective:- where you model the interactions between a system and its environment or between the components of a system.
A structural perspective:- where you model the organization of a system or the structure of the data that is processed by the system.
A behavioural perspective:- where you model the dynamic behaviour of the system and how it responds to events.
Five diagram types that could represent the essentials of a system are:-
Activity diagrams, which show the activities involved in a process or data processing.
Use case diagrams, which show the interactions between a system and its environment.
Sequence diagrams show interactions between actors and the system and between system components.
Class diagrams, show the object classes in the system and the associations between these classes.
State diagrams, which show how the system reacts to internal and external events.
Key components of system modelling are :
Structure: It describes the organisation and arrangement of components within the system, which includes entities, components and relationships.
Behaviour: it illustrates how the system operates and responds to inputs and events It captures the dynamic aspect of the system.
Interaction: depicts the flow of information, data and control among the system components. It describes the communication and collaboration between different parts of the system
Data:- defines the data entities' attributes and their relationships. It specifies how the data is stored, processed and accessed within the system.
The importance of system models are:-
Clarity and communication: help stakeholders, including designers, developers and users to visualise and communicate the system structure and behaviour more efficiently.
Analysis and design: facilitate analysis of the system requirements and aid in the design process by providing the foundation for decision-making.
Documentation: serves as documentation that can be referred to through the development lifecycle, aiding in understanding, maintenance and future enhancement.
Verification and validation: Assist in verifying that the system meets specified requirements and invalidating its behaviour against user expectations.
Risk management: enables the identification and assessment of potential risk by providing a comprehensive view of the system components and interactions.
The assistive model is a crucial tool in the field of system engineering and software development, providing a structural representation of a system to enhance understanding of communication and decision-making through the software development lifecycle.
Context model
In software engineering, a context mode is a diagram that represents the environment in which the assistant team or a subject operates to help to understand the boundaries and interaction between the system and its environment.
Context models are used to illustrate the operational context of a system. They show what lies outside the system's boundaries.
The context model provides the environment in which the object of our interest exists Context model captures how external objects interact within the environment, be it by exchanging data, physical objects or funds.
Now let us understand the components of the context model
System: represents the software system under consideration This is the central focus of the context model. It represents the software, hardware or process of the software being developed.
External entities: entities outside the system that interact with it These can include users, other software systems, hardware devices or any external factor that influences the system.
Interactions: these are the arrow lines connecting the system and the external entities. This helps in symbolizing the flow of information or data control in the system. Each arrow represents a form of interaction, such as input, output or event triggers.
Boundaries: the restriction that separates the system from external entities It visually defines what is inside the system and what is outside the system. System boundaries are established and differentiate between internal entities and external entities.
Characteristics or purpose of context model:-
Clarity and communication
Scope definition
Requirement analysis
Risk definition
This is all about the content model, we will learn about the other models in further blogs.