0% found this document useful (0 votes)
13 views60 pages

CH 05

The document discusses system modeling and different types of models used including context models, interaction models, structural models, and behavioral models. It provides examples and details on use case diagrams, sequence diagrams, class diagrams, and how they are used to model different aspects of a system.

Uploaded by

nexoro9144
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views60 pages

CH 05

The document discusses system modeling and different types of models used including context models, interaction models, structural models, and behavioral models. It provides examples and details on use case diagrams, sequence diagrams, class diagrams, and how they are used to model different aspects of a system.

Uploaded by

nexoro9144
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

Chapter 5 – System Modeling

Lecture 1

Chapter 5 System modeling 1


Discussion

Chapter 6 Architectural design 2


Discussion

Chapter 6 Architectural design 3


Discussion

Chapter 6 Architectural design 4


Discussion

Chapter 6 Architectural design 5


Discussion

Chapter 6 Architectural design 6


Discussion

Chapter 6 Architectural design 7


Discussion

Chapter 6 Architectural design 8


Discussion

Chapter 6 Architectural design 9


Discussion

Chapter 6 Architectural design 10


Discussion

Chapter 6 Architectural design 11


Discussion

Chapter 6 Architectural design 12


Discussion

Chapter 6 Architectural design 13


Discussion

Chapter 6 Architectural design 14


Discussion

Chapter 6 Architectural design 15


Topics covered

 Context models
 Interaction models
 Structural models
 Behavioral models

Chapter 5 System modeling 16


System modeling

 System modeling is the process of developing


abstract (simplified) models of a system, with each
model presenting a different view or perspective of
that system.
 System modeling represents a system using some kind
of graphical notation, which is now almost always
based on notations in the Unified Modeling Language
(UML).
 System modelling helps to understand the
functionality of the system and models are used to
communicate with customers.

Chapter 5 System modeling 17


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.

Chapter 5 System modeling 18


System perspectives

 1- External perspective, where you model the context


or environment of the system.
 2- Interaction perspective, where you model the
interactions between a system and its environment, or
between the components of a system.
 3- Structural perspective, where you model the
organization of a system or the structure of the data that
is processed by the system.
 4- Behavioral perspective, where you model the
dynamic behavior of the system and how it responds to
events.
Chapter 5 System modeling 19
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.

Chapter 5 System modeling 20


Use of graphical models

 As a means of facilitating discussion about an


existing or proposed system
▪ Incomplete and incorrect models are OK as their
role is to support discussion.
 As a way of documenting an existing system
▪ Models should be an accurate representation of the
system but need not be complete.
 As a detailed system description that can be used to
generate a system implementation
▪ Models have to be both correct and complete.

Chapter 5 System modeling 21


Context models

 Context models are used to illustrate the operational


context of a system - they show what lies outside the
system boundaries.
 Social and organisational concerns may affect the
decision on where to position system boundaries.

Chapter 5 System modeling 22


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 big effect on
the system requirements.
 Defining a system boundary is a political judgment
▪ There may be pressures to develop system boundaries that
increase / decrease the influence or workload of different parts of
an organization.

Chapter 5 System modeling 23


The context of the MHC-PMS

Chapter 5 System modeling 24


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 are used to show how the system
being developed is used in broader business processes.
 UML activity diagrams is used to define business
process models.

Chapter 5 System modeling 25


Process model of involuntary detention

Chapter 5 System modeling 26


Interaction models

 Modeling user interaction:


▪ helps to identify user requirements.
 Modeling system-to-system interaction
▪ highlights the communication problems that may arise.
 Modeling component interaction
▪ helps us understand if a proposed system structure is
likely to deliver the required system performance and
dependability.
 Use case diagrams and sequence diagrams are used
for interaction modeling.

Chapter 5 System modeling 27


Use case modeling

 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 or other systems.
 Represented diagrammatically to provide an overview
of the use case and in a more detailed textual form.

Chapter 5 System modeling 28


Use case modeling

 Example of use cases in the MHC-PMS

Chapter 5 System modeling 29


Tabular description of the ‘Transfer data’ use-
case

MHC-PMS: Transfer data


Actors Medical receptionist, patient records system (PRS)
Description A 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 30


Use cases in the MHC-PMS involving the role
‘Medical Receptionist’

Chapter 5 System modeling 31


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.
 A sequence diagram shows the sequence of
interactions that take place during a particular use
case.
 The objects and actors involved are listed on the top
of the diagram, with a dotted line drawn vertically from
these.
 Interactions between objects are indicated by
annotated arrows.
Chapter 5 System modeling 32
Sequence diagram for View patient information

Chapter 5 System modeling 33


Sequence diagram for Transfer Data

Chapter 5 System modeling 34


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 may be:
▪ static models: show the structure of the system
design
▪ dynamic models: 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.

Chapter 5 System modeling 35


Class diagrams

 Class diagrams are used 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, classes represent
something in the real world, such as a patient, a
prescription, doctor, etc.
 An association is a link between classes that indicates
that there is some relationship between these classes.

Chapter 5 System modeling 36


UML classes and association

Chapter 5 System modeling 37


Classes and associations in the MHC-PMS

Chapter 5 System modeling 38


The Consultation class

Chapter 5 System modeling 39


Key points

 A model is an abstract view of a system that ignores system details.


Complementary system models can be developed to show the
system’s context, interactions, structure and behavior.
 Context models show how a system that is being modeled is
positioned in an environment with other systems and processes.
 Use case diagrams and sequence diagrams are used to describe
the interactions between users and systems in the system being
designed. Use cases describe interactions between a system and
external actors; sequence diagrams add more information to these
by showing interactions between system objects.
 Structural models show the organization and architecture of a
system. Class diagrams are used to define the static structure of
classes in a system and their associations.

Chapter 5 System modeling 40


Chapter 5 – System Modeling

Lecture 2

Chapter 5 System modeling 41


Generalization

 Generalization is an everyday technique that we use to


manage complexity.
 Rather than learn the detailed characteristics of every
entity that we experience, we place these entities in
more general classes (animals, cars, houses, etc.) and
learn the characteristics of these classes.
 This allows us to infer that different members of these
classes have some common characteristics e.g.
falcons and parrots are birds.

Chapter 5 System modeling 42


Generalization

 It is often useful to examine the classes in a system to


see if there is scope for generalization.
▪ If changes are proposed, then you do not have to
look at all classes in the system to see if they are
affected by the change.

Chapter 5 System modeling 43


Generalization

 In object-oriented languages, such as Java,


generalization is implemented using the class
inheritance mechanisms built into the language.
 In a generalization, the attributes and operations
associated with higher-level classes are also
associated with the lower-level classes.
 The lower-level classes are subclasses inherit the
attributes and operations from their superclasses.
 The lower-level classes then add more specific
attributes and operations.

Chapter 5 System modeling 44


A generalization hierarchy

Chapter 5 System modeling 45


A generalization hierarchy with added detail

Chapter 5 System modeling 46


Aggregation models

 An aggregation model shows how classes that are


collections are composed of other classes.
 Aggregation models represent the part-of relationship.

Chapter 5 System modeling 47


The aggregation association

Chapter 5 System modeling 48


Behavioral models

 Behavioral models are models of the dynamic behavior


of a system as it is executing.
 They show what happens or what is supposed to
happen when a system responds to a stimulus from
its environment.

Chapter 5 System modeling 49


Behavioral models

 The stimuli have two types:


▪ Data: some data arrives that must be processed by
the system.
▪ Events: some event happens that triggers system
processing. Events may have associated data.

Chapter 5 System modeling 50


Data-driven modeling

 Many business systems are data-processing


systems that are primarily driven by data. They are
controlled by the data input to the system, with relatively
little external event processing.
 Data-driven models show the sequence of actions
involved in processing input data and generating an
associated output.
 They are particularly useful during the analysis of
requirements as they can be used to show end-to-end
processing in a system.

Chapter 5 System modeling 51


An activity model of the insulin pump’s
operation

Chapter 5 System modeling 52


Order processing

Chapter 5 System modeling 53


Event-driven modeling

 Real-time systems are often event-driven, with


minimal data processing.
 Event-driven modeling shows how a system responds
to external and internal events.
 It is based on the assumption that a system has a
finite number of states and that events (stimuli)
cause a transition from one state to another.

Chapter 5 System modeling 54


State machine models

 State machine models show system states as nodes


and events as arcs between these nodes.
 When an event occurs, the system moves from one
state to another.
 State diagrams are an integral part of the UML and are
used to represent state machine models.

Chapter 5 System modeling 55


State diagram of a microwave oven

Chapter 5 System modeling 56


States and stimuli for the microwave oven (a)

State Description
Waiting The oven is waiting for input. The display shows the current time.
Half power The oven power is set to 300 watts. The display shows ‘Half power’.
Full power The oven power is set to 600 watts. The display shows ‘Full power’.
Set time The cooking time is set to the user’s input value. The display shows
the cooking time selected and is updated as the time is set.
Disabled Oven operation is disabled for safety. Interior oven light is on.
Display shows ‘Not ready’.
Enabled Oven operation is enabled. Interior oven light is off. Display shows
‘Ready to cook’.
Operation Oven in operation. Interior oven light is on. Display shows the timer
countdown. On completion of cooking, the buzzer is sounded for five
seconds. Oven light is on. Display shows ‘Cooking complete’ while
buzzer is sounding.

Chapter 5 System modeling 57


States and stimuli for the microwave oven (b)

Stimulus Description
Half power The user has pressed the half-power button.
Full power The user has pressed the full-power button.
Timer The user has pressed one of the timer buttons.
Number The user has pressed a numeric key.
Door open The oven door switch is not closed.
Door closed The oven door switch is closed.
Start The user has pressed the Start button.
Cancel The user has pressed the Cancel button.

Chapter 5 System modeling 58


Microwave oven operation

Chapter 5 System modeling 59


Key points

 Behavioral models are used to describe the dynamic behavior


of an executing system. This behavior can be modeled from
the perspective of the data processed by the system, or by
the events that stimulate responses from a system.
 Activity diagrams may be used to model the processing of
data, where each activity represents one process step.
 State diagrams are used to model a system’s behavior in
response to internal or external events.

Chapter 5 System modeling 60

You might also like