KEMBAR78
8 System Modeling | PDF | Class (Computer Programming) | System
0% found this document useful (0 votes)
25 views49 pages

8 System Modeling

The document discusses system modeling, which involves creating abstract models to represent different perspectives of a system using UML. It covers various types of models, including context, interaction, structural, and behavioral models, and highlights their roles in requirement engineering and communication with stakeholders. Additionally, it introduces model-driven engineering (MDE) as an approach to software development that emphasizes models over traditional programming.

Uploaded by

nxhieuidol
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)
25 views49 pages

8 System Modeling

The document discusses system modeling, which involves creating abstract models to represent different perspectives of a system using UML. It covers various types of models, including context, interaction, structural, and behavioral models, and highlights their roles in requirement engineering and communication with stakeholders. Additionally, it introduces model-driven engineering (MDE) as an approach to software development that emphasizes models over traditional programming.

Uploaded by

nxhieuidol
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/ 49

System modeling

Vũ Thị Hồng Nhạn

(vthnhan@vnu.edu.vn)

Dept. Software Engineering, FIT, UET

Vietnam National Univ., Hanoi


Contents
 Context models
 Interaction models
 Structural models
 Behavioral models
 Model-driven engineering

4/3/2025 System modeling Page 2


System modeling
 System modeling is the process of developing abstract models of a system

 Each model presents a different view or perspective of a system

 These models are represented using some form of graphical notation, which
is now almost entirely based on UML (unified modeling language)

 System modeling helps analyst understand the functionality of the system,


and the models are used to communicate with customers

4/3/2025 System modeling Page 3


Existing & planned system models
 Models of existing systems are used during requirement engineering
 They help clarify what the current system does and serve as a basis for
discussing its strengths and weakness
 These discussions, then lead to the identification of requirements for the new
system
 Models of new system are also used during requirement 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’s possible to generate a complete
or partial system implementation directly from the system model

4/3/2025 System modeling Page 4


System perspectives
 An external perspective, where you model the context or environment of
the system

 An interaction perspective, where you model the interactions between the


system and its environment, or between components within the system

 A structured perspective, where you model the organization of the system


or the structure of the data processed by the system

 A behavioral perspective, where you model the dynamic behavior of the


system and how to respond to events

4/3/2025 System modeling Page 5


UML diagram types
 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

 Activity diagrams, which show the activities involved in a process or in


data processing

 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

4/3/2025 System modeling Page 6


Use of graphical models
 As a means of facilitating discussion about an existing or proposed system
 incomplete or inaccurate models are acceptable, as their main purpose is to
support discussion

 As a way of documenting an existing system


 models should be accurate representation of the system, but they don’t need to
be complete

 As a detailed system description that can be used to generate a system


implementation
 Models must be both correct and complete

4/3/2025 System modeling Page 7


Context 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 influence decisions about where to


position boundaries

 Architectural models show the system and its relationships with other
systems

4/3/2025 System modeling Page 8


Context models

System boundaries
 System boundaries are established to define what is inside and what is
outside the system

 They indicate other systems that are used by, or depend on, the system
being developed

 The position of the system boundary has a significant impact on the system
requirements

4/3/2025 System modeling Page 9


Context models

the context of the Mentcare system

4/3/2025 System modeling Page 10


Process perspective
 Context models simply show other systems in the environment, not how the

system being developed is used within the environment

 Process models reveal how the system being developed is used in broader

business process

 UML activity diagrams may be used to define these business process models

4/3/2025 System modeling Page 11


Process model of involuntary detention

‘s

4/3/2025 System modeling Page 12


Interaction models
 Modeling user interaction is important because it helps identify user
requirements

 Modeling system-to-system interaction highlights potential communication


problems

 Modeling component interaction helps determine whether the proposed


system structure is likely to deliver the required performance and
dependability

 Use case diagrams and sequence diagrams may be used for interaction
modeling

4/3/2025 System modeling Page 13


Interaction models

Transfer-data use case


 A use case in the Mentcare system

4/3/2025 System modeling Page 14


Interaction models

Tabular description of the ‘transfer data’ use case

Tranfer data

Actors Medical receptionist, patient records system (PRS)

Description A receptionist may transfer data from the Mentcare system to a general patient
record database maintained by a health authority
The information transferred may include either updated personal details (such
as address and phone number) or a summary of the patient’s diagnosis and
treatment

Data Patient’s personal information, treatment summary

Stimulus User command issued by medical receptionist

Comments The receptionist must have appropriate security permissions to access the
patient information and the PRS

4/3/2025 System modeling Page 15


Interaction models

Use cases in the Mentcare system involving the role ‘Medical Receptionist’

4/3/2025 System modeling Page 16


Sequence diagrams
 Sequence diagrams are part of UML and are used to model the interaction
between actors and objects within a system

 A sequence diagram shows the order of interactions that occur during a particular
use case

 The objects and actors are listed along the top of the diagram, with dotted lines
drawn vertically beneath them

 Interactions between objects are represented by annotated arrows

4/3/2025 System modeling Page 17


Sequence diagram for View patient information

4/3/2025 System modeling Page 18


Sequence diagram for Transfer Data

4/3/2025 System modeling Page 19


Structural models
 Structural models of software display the organization of a system in terms of the

components that make up the system and their relationships

 Structural models may be static, showing the structure of the system design, or

dynamic showing the organization of the system during execution

 Structural models of a system are created during the discussion and design of the

system architecture

4/3/2025 System modeling Page 20


Class diagrams
 class diagrams are used when developing an object-oriented system model
to show the classes in a system and the association between them

 An object class can be thought of as a general definition of a specific kind


of system object

 An association is a link between classes that indicates a relationship


between them

 When developing models in the early stages of the software engineering


process, objects typically represent real-world entities, such as a patient,
prescription, doctor, etc.

4/3/2025 System modeling Page 21


UML classes and association

4/3/2025 System modeling Page 22


Classes & associations

4/3/2025 System modeling Page 23


The consultation class

4/3/2025 System modeling Page 24


Generalization
 Generalization is a common technique we use to manage complexity

 Instead of learning the detailed characteristics of every individual entity, we

group them into more general classes (e.g., animals, cars, houses) and

learn the characteristics of these classes

 This allows us to infer that different members of a class share common

characteristics – e.g., squirrels and rats are both rodents

4/3/2025 System modeling Page 25


Generalization...
 When modeling systems, it’s often useful to examine the classes in a
system to determine whether there is scope for generalization

 If changes are proposed, you don’t need to review every class in the
system to see if the are affected – generalization helps localize the impact

 In object-oriented languages such as Java, generalization is implemented


using the class inheritance mechanism built into the language

 Lower-level classes, classed subclasses, inherit attributes and operations


from their superclasses
 These subclasses can then add more specific attributes and operations

4/3/2025 System modeling Page 26


A generalization hierarchy

4/3/2025 System modeling Page 27


A generalization hierarchy with added detail

4/3/2025 System modeling Page 28


Behavioral models
 Behavioral models represent the dynamic behavior of a system during
execution

 They show what happens – or what is supposed to happen – when the


system responds to stimuli from its environment

 These stimuli can be categorized into 2 types


 Data: information arrives that must be processed by the system

 Events: an occurrence triggers system processing. Events may include


associated data, though this is not always the case

4/3/2025 System modeling Page 29


Behavioral models

Data-driven modeling
 Many business systems are data-driven
systems, meaning they are primarily
controlled by the data input to system

 Data-driven models show the sequence of


actions involved in processing input data and
generating the corresponding output

 These models are particularly useful during


requirements analysis, as they can illustrate
end-to-end processing within a system

4/3/2025 System modeling Page 30


Behavioral models

An activity model of the insulin pump’s operation

4/3/2025 System modeling Page 31


Behavioral models

Event-driven modeling
 Real-time systems are often event-driven, with minimal data processing

 E.g., a landline phone switching system responds to events such as


“receiver off hook” by generating a dial tone

 Event-driven modeling shows how a system responds to both external and


internal events

 It is based on the assumption that a system has a finite number of states,


and that events (stimuli) can cause transitions from state to another

4/3/2025 System modeling Page 32


State machine models
 These models represent the behavior of a system in response to external
and internal events

 They show the system’s responses to stimuli and are therefore often used
for modeling real-time systems

 State machine models represent system states as nodes and events as


arcs (transitions) between these nodes

 When an event occurs, the system transition from on state to another

 Statecharts are an integral part of UML and are used to represent state
machine models

4/3/2025 System modeling Page 33


State diagram of a microwave oven

4/3/2025 System modeling Page 34


Microwave oven operation

4/3/2025 System modeling Page 35


States & stimuli for the microwave oven

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 over power is set to 600 watts. The display shows ‘Full power’
Set time The cooking time is set to the user’ 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 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 5
seconds. Oven light is on. Display shows ‘cooking complete’ while
buzzer is sounding

4/3/2025 System modeling Page 36


States & stimuli for the microwave oven

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 switches 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

4/3/2025 System modeling Page 37


Model-driven engineering
 Model-driven engineering (MDE) is an approach to software development in
which models, rather than programs, are the principal output of the development
process

 The programs that run on a hardware/software platforms are then automatically


generated from these models

 Proponents of MDE argue that it raises the level of abstraction in software


engineering, allowing engineers to focus less on programming language details or
platform-specific concerns

4/3/2025 System modeling Page 38


Usage of model-driven engineering
 Model-driven engineering is still at an early stage of development, and it remains
unclear whether it will have a significant impact on software engineering practices
 Pros
 Allows system to be considered at a high level of abstractions
 Automatically generating code can reduce the cost of adapting systems to new
platforms
 Cons
 Models designed for abstraction may not be suitable for direct implementation
 The cost savings from code generation may be offset by the expense of developing
translators for new platforms

4/3/2025 System modeling Page 39


Model-driven architecture
 Model-driven architecture is a model-focused approach to software design

and implementation that uses a subset of UML models to describe a system

 Models are created at different levels of abstraction

 Starting from a high-level, platform-independent model, it is, in principle,

possible to generate a working program without manual intervention

4/3/2025 System modeling Page 40


Types of model
 A computation independent model (CIM)
 These model the important domain abstractions used in a system
 CIMs are sometimes called domain models
 A platform independent model (PIM)
 These model the operation of the system without reference to its
implementation
 The PIM is usually described using UML models that show the static system
structure and how it responds to external and internal events
 Platform specific models (PSM)
 These are transformations of the platform-independent model with a separate
PSM for each application platform
 In principle, there may be layers of PSM, with each layer adding some platform-
specific detail

4/3/2025 System modeling Page 41


MDA transformations

4/3/2025 System modeling Page 42


Multiple platform-specific models

4/3/2025 System modeling Page 43


Agile methods and MDA
 The developers of MDA claim that it is intended to support an iterative
approach to development  so can be used within agile methods
 The notion of extensive up-front modeling contradicts the fundamental
ideas in the agile manifesto
 If transformations can be completely automated and a complete
program generated from a PIM,
 then in principle, MDA could be used in an agile development process as no
separate coding would be required

4/3/2025 System modeling Page 44


Adoption of MDA
 A range of factors has limited the adoption of MDE/MDA
 Specialized tool support is required to covert models from one level to
another
 There is limited tool availability and organizations may require tool
adaptation and customization to their environment
 For the long-lifetime systems developed using MDA, companies are
reluctant to …
 develop their own tools
 or rely on small companies that may go out of business

4/3/2025 System modeling Page 45


Adoption of MDA...
 Models are a good way of facilitating discussion about a software
design
 However abstractions that are useful for discussions may not be the right
abstraction for implementation
 For most complex systems, implementation is not the major problem –
requirement engineering, security and dependability, integration
with legacy systems and testing are all more significant

4/3/2025 System modeling Page 46


Adoption of MDA
 The arguments for platform-independence are only valid for large, long-
lifetime systems
 For software products and information systems, the savings from the use of
MDA are likely to be outweighed by the costs of its introduction and tooling
 The widespread adoption of agile methods over the same period that
MDA was evolving has diverted attention away from model-driven
approaches

4/3/2025 System modeling Page 47


Key points
 A model is an abstraction 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 and their
associations

4/3/2025 System modeling Page 48


Key points
 Behavior models are used to described 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’ behavior in response to
internal or external events
 Model-driven engineering is an approach to software development in which
a system is represented as a set of models that can be automatically
transformed to executable code

4/3/2025 System modeling Page 49

You might also like