Page 136 -
P. 136
Chapter 5 System modeling 119
System modeling is the process of developing abstract models of a system, with each
model presenting a different view or perspective of that system. System modeling
has generally come to mean representing the system using some kind of graphical
notation, which is now almost always based on notations in the Unified Modeling
Language (UML). However, it is also possible to develop formal (mathematical)
models of a system, usually as a detailed system specification. I cover graphical
modeling using the UML in this chapter and formal modeling in Chapter 12.
Models are used during the requirements engineering process to help derive the
requirements for a system, during the design process to describe the system to engi-
neers implementing the system and after implementation to document the system’s
structure and operation. You may develop models of both the existing system and the
system to be developed:
1. Models of the existing system are used during requirements engineering. They
help clarify what the existing system does and can be used as a basis for dis-
cussing its strengths and weaknesses. These then lead to requirements for the
new system.
2. Models of the new system are used during requirements engineering to help
explain the proposed requirements to other system stakeholders. Engineers use
these models to discuss design proposals and to document the system for imple-
mentation. In a model-driven engineering process, it is possible to generate a
complete or partial system implementation from the system model.
The most important aspect of a system model is that it leaves out detail. A model
is an abstraction of the system being studied rather than an alternative representation
of that system. Ideally, a representation of a system should maintain all the informa-
tion about the entity being represented. An abstraction deliberately simplifies and
picks out the most salient characteristics. For example, in the very unlikely event of
this book being serialized in a newspaper, the presentation there would be an abstrac-
tion of the book’s key points. If it were translated from English into Italian, this
would be an alternative representation. The translator’s intention would be to main-
tain all the information as it is presented in English.
You may develop different models to represent the system from different perspec-
tives. For example:
1. An external perspective, where you model the context or environment of the system.
2. An interaction perspective where you model the interactions between a system
and its environment or between the components of a system.
3. A structural perspective, where you model the organization of a system or the
structure of the data that is processed by the system.
4. A behavioral perspective, where you model the dynamic behavior of the system
and how it responds to events.