College of electronic technology
Bani_walid
Software Engineering
chapter 5
2022
semester 8th
1
Chapter 5
System Modeling
2
Topics covered
Context models
Interaction models
Structural models
Behavioral models
3
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 modeling has now come to mean representing a system using some kind of
graphical notation, which is now almost always based on notations in the Unified
Modeling Language (UML).
System modeling helps the analyst
to understand the functionality of the system and
models are used to communicate with customers.
Chapter 5 System modeling 4
Existing and Planned System Models ()
* 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
discussing its strengths and weaknesses These then lead to requirements for the
new system.
* 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 implementation.
In a model-driven engineering process, it is possible to generate a complete or
partial system implementation from the system model.
(ArgoUML software )
5
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.
Chapter 5 System modeling 6
UML Diagram Types
Activity diagrams, which show the activities involved in a process or in data
processing .
Use case diagrams, which show the interactions between a system and its
environment.
Sequence diagrams, which show interactions between actors and the system and
between system components.
Class diagrams, which 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.
7
Use of graphical models
facilitating discussion
Incomplete and incorrect models are OK as their role is to
support discussion.
documenting an existing system
accurate representation of the system but need not be complete.
basis for system implementation (generate code)
Models have to be both correct and complete.
8
1. Context (situation) Models
Context models are used to illustrate the operational context of
a system - They show what lies outside the system boundaries.
Social and organizational concerns may affect the decision on
where to position system boundaries.
Architectural models show the system and its relationship with
other systems.
9
System Boundaries
System boundaries are established to define what is inside and what is
outside the system.
They show other systems that are used or depend on the system being developed.
The position of the system boundary has a profound effect on the system
requirements.
There may be pressures to develop system boundaries that increase /
decrease the influence or workload of different parts of an
organization.
10
The Context of the MHC-PMS
11
Process Perspective
Context models simply show the other systems in the environment,
not how the system being developed is used in that environment.
Process models reveal how the system being developed is used in
broader business processes.
How it 'works' Detailed.
By using UML activity diagrams may be used to define business
process models.
12
Process Model of Involuntary Detention
13
2. Interaction Models
Modeling user interaction is used to identify user requirements.
We see structural connections and dynamic (behavioral) interactions.
(user I, system to system I, component I)
We do this with graphical models.
Use case diagrams and sequence diagrams may be used for interaction
modeling.
These are the most popular modeling mechanisms
14
Use Case Modeling (Interaction Model)
Use cases were developed originally to support requirements
elicitation and now incorporated into the UML.
Each use case represents a discrete task that involves
external interaction with a system.
Actors in a use case may be people, devices, or other
systems.
Represented diagrammatically to provide an overview of the
use case and in a more detailed textual form.
15
Transfer-data Use Case Diagram
(graphical model)
A use case in the MHC-PMS
16
Tabular Description of the ‘Transfer data’ use-case
MHC-PMS: Transfer data
Actors Medical receptionist, patient records system (PRS)
DescriptionA receptionist may transfer data from the MHC-PMS to a general patient record database
that is maintained by a health authority. The information transferred may either be
updated personal information (address, phone number, etc.) or a summary of the
patient’s diagnosis and treatment.
Data Patient’s personal information, treatment summary
Stimulus User command issued by medical receptionist
Response Confirmation that PRS has been updated
Comments The receptionist must have appropriate security permissions to access the patient information and
the PRS. Chapter 5 System modeling
17
Use Cases in the MHC-PMS involving the role ‘Medical
Receptionist’ (only showing one actor here)
18
Sequence Diagrams (Interaction Model)
Sequence diagrams are part of the UML and are used to model the
interactions between the actors and the objects within a system.
A sequence diagram shows the sequence of interactions that take place
during a particular use case or use case instance.
The objects and actors involved are listed along the top of the
diagram, with a dotted line drawn vertically from these.
Interactions between objects are indicated by annotated arrows.
19
Sequence diagram for View Patient
Information
20
Sequence diagram for Transfer Data
21
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.
Structural models maybe static models, which show the organization of
the system design, or dynamic models, which show the organization of the
system when it is executing.
You create structural models of a system when you are discussing and
designing the system architecture.
22
Class diagrams - Structural
Class diagrams are used when developing an object-oriented
system model to show the classes in a system and the associations
between these classes.
An object class can be thought of as a general definition of one
kind of system object.
An association is a link between classes that indicates that there is
some relationship 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.
23
UML classes and association
24
Classes and associations in the
MHC-PMS
25
The Consultation class
26
Behavioral models
Behavioral models – how a system responds to stimulus
You can think of these stimuli as being of two types:
Data Some data arrives that has to be processed by the system.
Events Some event happens that triggers system processing. Events
may have associated data, although this is not always the case.
Diagrams - Input through to output
Activity Diagram used on data
Data (object / box) and Action ( oval )
Sequence diagram
Actions (arrows)
27