Software Engineering - Lecture 4 - System Models
Software Engineering - Lecture 4 - System Models
Software Engineering
System modeling
➢ 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 perspectives
➢ 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 behavioral perspective,
where you model the dynamic behavior of the system and how it
responds to events.
➢ Use case diagrams, which show the interactions between a system and
its environment.
➢ State diagrams, which show how the system reacts to internal and
external events.
➢ Context models
➢ Interaction models
➢ Structural models
➢ Behavioral models
Context models
used to illustrate the operational context of a system - they
show what lies outside the system boundaries.
Process perspective
Interaction models
➢ Modeling user interaction is important as it helps to
identify user requirements.
Sequence diagrams
➢ Sequence diagrams are part of the UML and are used to
model the interactions between the actors and the objects
within a system.
➢ The objects and actors involved are listed along the top of
the diagram, with a dotted line drawn vertically from
these.
Structural models
➢ Structural models of software display the organization of a
system in terms of the components that make up that
system and their relationships.
Class diagrams
➢ Class diagrams are used when developing an object-oriented
system model to show the classes in a system and the
associations between these classes.
➢ When you are developing models during the early stages of the
software engineering process, objects represent something in
the real world, such as a patient, a prescription, doctor, etc.
Software Engineering