In software engineering, to develop the system, the abstract representation models are used to show the system’s vision and perspective, throughout the graphical representations, which help read the system’s requirement. These models are introduced in the requirements engineering to clarify and use a structural perspective in the requirements if it is needed to avoid ambiguity. The System modeling can be classified into four kinds of models:
- Context models
- Interaction models
- Structural models
- Behavioral models
They allow us to delimit and determine the functions included in the system besides the panoramic vision they give us. Indeed, this panoramic vision shows if there are external systems involved in the one to be developed. It might mean an exchange in the requirements, ergo reducing costs and additional time in this development.
These models, as these are called, are the interaction within the system (it can be the developed system) and external ones. That interaction is system-to-system interaction. The other possible one is the component interaction between the own system and its components or with users. For example, the use cases are one of these interactions. This is used to model interactions between systems and external actors (users or other systems). In addition, the sequence diagrams are used to model interactions among components of the system and include external agents.
The structural models show us the organization of a system graphically in terms of components and their relationships. This model is a kind of static model. Class diagrams may be utilized to display this model when developing an object-oriented system modeling to show the relationship between the classes and the objects that make them up. These objects can be defined as a representation of the real world.
This kind of model represents the response of the system to a stimulus from its environment. These stimuli may be divided into two types:
- Some data: stimuli to be processed by the system.
- Some event: stimuli triggers system processing
The data-driven model shows the sequence of actions involved in the data processing from input to output data. The event-driven models display how the system may respond to external or internal events that can make up a change from one state to another.
Any model is an abstract vision of a system, disregarding some details while analyzing the different perspectives that display the system. During the process of developing a system, the group of these models is essential to know the reach that may have our software, the actors who be involved and the functions among the different scenarios that included the system. Thus, it allows the possible escalation of the project and continual improvement process.
Whether you are looking to increase agility through automation, modernize your operations or embrace digital transformation, Symphonica has you covered. Symphonica, our no-code provisioning automation engine, takes the complexity out of service and network operations so you can focus on growing your business. Let us handle the OSS.
Sommerville, I. (2011). Ingeniería de Software, Modelado del Sistema, Chapter 5, Edition 9th, pages 119-141.