SlideShare a Scribd company logo
Software Engineering
Lesson #04 - Lecture
Lesson #04 - Lecture
Your KBTU 202409 Software Engineering
class information is updating …
Lesson #04 update is in progress
This will take around 2 hours to complete
Please, don’t turn off your head
Software Engineering
Part 1.
Introduction to Software Engineering
Part 1. Introduction to Software Engineering
#include<iostream>
Using namespace std;
int main()
{
cout << “System modeling” << endl;
return 0;
}
System modeling
Agenda: Lesson #04 - Software Engineering - Lecture
1 Introduction & Context models
2 Interaction models & Structural models
3 Behavioral models
4 Model-driven engineering
Agenda: Lesson #04 - Software Engineering - Lecture
1 Introduction & Context models
2 Interaction models & Structural models
3 Behavioral models
4 Model-driven engineering
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 now usually means
representing a system using some kind
of graphical notation based on diagram
types in the Unified Modeling
Language (UML)
Introduction & Context models
Introduction
Models are used during the requirements engineering process to
help derive the detailed requirements for a system, during the design
process to describe the system to engineers implementing the
system, and after implementation to document the system’s
structure and operation
Introduction & Context models
Introduction
You may develop models of both the existing system and the system
to be developed:
■ Models of the existing system are used during
requirements engineering
■ They help clarify what the existing system does, and they
can be used to focus a stakeholder discussion on its
strengths and weaknesses
Introduction & Context models
Introduction
You may develop models of both the existing system and the system
to be developed:
■ 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
Introduction & Context models
Introduction
It is important to understand that a system model is not a complete
representation of system
Introduction & Context models
Introduction
The detail and rigor of a model depend on how you intend to use it
There are three ways in which graphical models are commonly used:
- As a way to stimulate and focus discussion about an existing or
proposed system
Introduction & Context models
Introduction
The detail and rigor of a model depend on how you intend to use it
There are three ways in which graphical models are commonly used:
- As a way of documenting an existing system
Introduction & Context models
Introduction
The detail and rigor of a model depend on how you intend to use it
There are three ways in which graphical models are commonly used:
- As a detailed system description that can be used to generate a
system implementation
Introduction & Context models
Introduction
UML (Unified Modelling Language) -> 14 diagram types
Widely used 5 diagram types
● Activity diagrams
● Use case diagrams
● Sequence diagrams
● Class diagrams
● State diagrams
Introduction & Context models
Introduction
Lesson #04 - Software Engineering - Lecture.pdf
Lesson #04 - Software Engineering - Lecture.pdf
At an early stage in the specification of a system, you should decide
on the system boundaries, that is, on what is and is not part of the
system being developed
This involves working with system stakeholders to decide what
functionality should be included in the system and what processing
and operations should be carried out in the system’s operational
environment
Introduction & Context models
Context models
Context models are used to illustrate the operational context of a
system - they show what lies outside the system boundaries
The definition of a system boundary is not a value-free judgment
Social and organizational concerns may mean that the position of a
system boundary may be determined by nontechnical factors
Introduction & Context models
Context models
Once some decisions on the boundaries of the system have been
made, part of the analysis activity is the definition of that context and
the dependencies that a system has on its environment
Normally, producing a simple architectural model is the first step in
this activity
Introduction & Context models
Context models
Agenda: Lesson #04 - Software Engineering - Lecture
1 Introduction & Context models
2 Interaction models & Structural models
3 Behavioral models
4 Model-driven engineering
All systems involve interaction of some kind. This can be user
interaction, which involves user inputs and outputs; interaction
between the software being developed and other systems in its
environment; or interaction between the components of a software
system
User interaction modeling is important as it helps to identify user
requirements
Interaction models & Structural models
Interaction models
This section discusses two related approaches to interaction
modeling:
● Use case modeling, which is mostly used to model interactions
between a system and external agents (human users or other
systems)
● Sequence diagrams, which are used to model interactions
between system components, although external agents may also
be included
Interaction models & Structural models
Interaction models
Use case modeling
- A use case can be taken as a simple description of what a user
expects from a system in that interaction
- Each use case represents a discrete task that involves external
interaction with a system
Interaction models & Structural models
Interaction models
Use case modeling
Interaction models & Structural models
Interaction models
Sequence diagrams
● Sequence diagrams in the UML are primarily used to model the
interactions between the actors and the objects in a system and
the interactions between the objects themselves
● The UML has a rich syntax for sequence diagrams, which allows
many different kinds of interaction to be modeled
Interaction models & Structural models
Interaction models
Sequence diagrams
Interaction models & Structural models
Interaction 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, which show the organization of the system design,
or
● dynamic models, which show the organization of the system
when it is executing
Interaction models & Structural models
Structural models
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
● Loosely, an object class can be thought of as a general definition
of one kind of system object
Interaction models & Structural models
Structural models
Class diagrams
● An association is a link between classes indicating that some
relationship exists between these classes
● Consequently, each class may have to have some knowledge of its
associated class
Interaction models & Structural models
Structural models
Class diagrams
Interaction models & Structural models
Structural models
Agenda: Lesson #04 - Software Engineering - Lecture
1 Introduction & Context models
2 Interaction models & Structural models
3 Behavioral models
4 Model-driven engineering
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
Behavioral models
Behavioral models
These stimuli may be either data or events:
● Data becomes available that has to be processed by the system.
The availability of the data triggers the processing
● An event happens that triggers system processing. Events may
have associated data, although this is not always the case
Behavioral models
Behavioral models
Data-driven modeling
● Data-driven models show the sequence of actions involved in
processing input data and generating an associated output
● They can be used during the analysis of requirements as they
show end-to-end processing in a system
Behavioral models
Behavioral models
Event-driven modeling
● 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) may cause a transition from one
state to another
Behavioral models
Behavioral models
Model-driven engineering
● Model-driven engineering (MDE) is an approach to software
development whereby models rather than programs are the
principal outputs of the development process (Brambilla, Cabot,
and Wimmer 2012)
● The programs that execute on a hardware/software platform are
generated automatically from the models
Behavioral models
Behavioral models
Agenda: Lesson #04 - Software Engineering - Lecture
1 Introduction & Context models
2 Interaction models & Structural models
3 Behavioral models
4 Model-driven engineering
Model-driven architecture (Mellor, Scott, and Weise 2004; Stahl and
Voelter 2006) is a model-focused approach to software design and
implementation that uses a subset of UML models to describe a
system
Model-driven engineering
Model-driven engineering
The MDA method recommends that three types of abstract system
model should be produced:
● A computation independent model (CIM) CIMs model the
important domain abstractions used in a system and so are
sometimes called domain models. You may develop several
different CIMs, reflecting different views of the system.
Model-driven engineering
Model-driven engineering
The MDA method recommends that three types of abstract system
model should be produced:
● A platform-independent model (PIM) PIMs model the operation
of the system without reference to its implementation. A PIM is
usually described using UML models that show the static system
structure and how it responds to external and internal events
Model-driven engineering
Model-driven engineering
The MDA method recommends that three types of abstract system
model should be produced:
● Platform-specific models (PSM) PSMs 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
Model-driven engineering
Model-driven engineering
Lesson #04 - Software Engineering - Lecture.pdf
MD engineering
10 to
3 to 1
or
Pixel
Perfect
Prototype
Agenda: Lesson #04 - Software Engineering - Lecture
Q & A

More Related Content

Similar to Lesson #04 - Software Engineering - Lecture.pdf (20)

PDF
Software Engineering Tools and Practices.pdf
MeagGhn
 
PPT
System Models in Software Engineering SE7
koolkampus
 
PPT
SE - System Models
Jomel Penalba
 
PPT
Ch8
phanleson
 
PPT
SECh78
Joe Christensen
 
PDF
Design UML diagrams
Neeraj Kaushik
 
PDF
Design UML diagrams
Neeraj Kaushik
 
PPT
UML- Unified Modeling Language
Shahzad
 
PPTX
Ch5 System modeling globally availabless
faiziikanwal47
 
PDF
Lecture 5 se
Tribhuvan University
 
PDF
Object oriented analysis and design unit- iii
Shri Shankaracharya College, Bhilai,Junwani
 
PDF
Software Engineering : OOAD using UML
Ajit Nayak
 
PDF
Modeling software with UML
6020 peaks
 
PPTX
Software-Modeling-in-Software-Engineering.pptx
MAHERMOHAMED27
 
PPT
UML (Hemant rajak)
hrajak5
 
ODP
Software Patterns
Sudarsun Santhiappan
 
PDF
ch5systemmodeling-150102101848-conversion-gate01.pdf
krishnakumararunacha5
 
PPTX
Ch5 - System Modeling
Harsh Verdhan Raj
 
PPT
Web technologies: Model Driven Engineering
Piero Fraternali
 
PPT
Introduction to Object orientation , Modeling as a Design Technique Modeling ...
DhwaniDesai21
 
Software Engineering Tools and Practices.pdf
MeagGhn
 
System Models in Software Engineering SE7
koolkampus
 
SE - System Models
Jomel Penalba
 
Design UML diagrams
Neeraj Kaushik
 
Design UML diagrams
Neeraj Kaushik
 
UML- Unified Modeling Language
Shahzad
 
Ch5 System modeling globally availabless
faiziikanwal47
 
Lecture 5 se
Tribhuvan University
 
Object oriented analysis and design unit- iii
Shri Shankaracharya College, Bhilai,Junwani
 
Software Engineering : OOAD using UML
Ajit Nayak
 
Modeling software with UML
6020 peaks
 
Software-Modeling-in-Software-Engineering.pptx
MAHERMOHAMED27
 
UML (Hemant rajak)
hrajak5
 
Software Patterns
Sudarsun Santhiappan
 
ch5systemmodeling-150102101848-conversion-gate01.pdf
krishnakumararunacha5
 
Ch5 - System Modeling
Harsh Verdhan Raj
 
Web technologies: Model Driven Engineering
Piero Fraternali
 
Introduction to Object orientation , Modeling as a Design Technique Modeling ...
DhwaniDesai21
 

Recently uploaded (20)

PDF
Digital Marketing Masterclass by Lalit Sethia.
creationritu568
 
PDF
From Legacy to Velocity: how we rebuilt everything in 8 months.
Product-Tech Team
 
PPTX
Master and Business Administration II Next MBA
RobertoOrellana44
 
PDF
Concept topology- Architectural Build Design.pdf
Brij Consulting, LLC
 
DOCX
How to Choose the Best Dildo for Men A Complete Buying Guide.docx
Glas Toy
 
PDF
15 Essential Cloud Podcasts Every Tech Professional Should Know in 2025
Amnic
 
PPTX
Top RPA Tools to Watch in 2024: Transforming Automation
RUPAL AGARWAL
 
PDF
Connecting Startups to Strategic Global VC Opportunities.pdf
Google
 
PPTX
World First Cardiovascular & Thoracic CT Scanner
arineta37
 
PDF
Buy Verified Payoneer Account – 100% Best With All Documents.pdf
buypaypalaccountsee buypaypalaccounts
 
PDF
Flexible Metal Hose & Custom Hose Assemblies
McGill Hose & Coupling Inc
 
PDF
David Badaro Explains 5 Steps to Solving Complex Business Issues
David Badaro
 
PDF
kcb-group-plc-2024-integrated-report-and-financial-statements (3).pdf
DanielNdegwa10
 
PDF
DIM_COURSE_3_BLOCK_3 (1) compentation.pdf
mohamedismail977252
 
PDF
Thane Stenner - An Industry Expert
Thane Stenner
 
PDF
Raman Bhaumik - A Passion For Service
Raman Bhaumik
 
PPTX
6 Critical Factors to Evaluate Before Starting a Retail Business
RUPAL AGARWAL
 
PDF
Keppel Investor Day 2025 Presentation Slides GCAT.pdf
KeppelCorporation
 
PPTX
Drive Operational Excellence with Proven Continuous Improvement Strategies
Group50 Consulting
 
PDF
Kirill Klip GEM Royalty TNR Gold Presentation
Kirill Klip
 
Digital Marketing Masterclass by Lalit Sethia.
creationritu568
 
From Legacy to Velocity: how we rebuilt everything in 8 months.
Product-Tech Team
 
Master and Business Administration II Next MBA
RobertoOrellana44
 
Concept topology- Architectural Build Design.pdf
Brij Consulting, LLC
 
How to Choose the Best Dildo for Men A Complete Buying Guide.docx
Glas Toy
 
15 Essential Cloud Podcasts Every Tech Professional Should Know in 2025
Amnic
 
Top RPA Tools to Watch in 2024: Transforming Automation
RUPAL AGARWAL
 
Connecting Startups to Strategic Global VC Opportunities.pdf
Google
 
World First Cardiovascular & Thoracic CT Scanner
arineta37
 
Buy Verified Payoneer Account – 100% Best With All Documents.pdf
buypaypalaccountsee buypaypalaccounts
 
Flexible Metal Hose & Custom Hose Assemblies
McGill Hose & Coupling Inc
 
David Badaro Explains 5 Steps to Solving Complex Business Issues
David Badaro
 
kcb-group-plc-2024-integrated-report-and-financial-statements (3).pdf
DanielNdegwa10
 
DIM_COURSE_3_BLOCK_3 (1) compentation.pdf
mohamedismail977252
 
Thane Stenner - An Industry Expert
Thane Stenner
 
Raman Bhaumik - A Passion For Service
Raman Bhaumik
 
6 Critical Factors to Evaluate Before Starting a Retail Business
RUPAL AGARWAL
 
Keppel Investor Day 2025 Presentation Slides GCAT.pdf
KeppelCorporation
 
Drive Operational Excellence with Proven Continuous Improvement Strategies
Group50 Consulting
 
Kirill Klip GEM Royalty TNR Gold Presentation
Kirill Klip
 
Ad

Lesson #04 - Software Engineering - Lecture.pdf

  • 2. Lesson #04 - Lecture
  • 3. Your KBTU 202409 Software Engineering class information is updating … Lesson #04 update is in progress This will take around 2 hours to complete Please, don’t turn off your head
  • 5. Part 1. Introduction to Software Engineering #include<iostream> Using namespace std; int main() { cout << “System modeling” << endl; return 0; }
  • 7. Agenda: Lesson #04 - Software Engineering - Lecture 1 Introduction & Context models 2 Interaction models & Structural models 3 Behavioral models 4 Model-driven engineering
  • 8. Agenda: Lesson #04 - Software Engineering - Lecture 1 Introduction & Context models 2 Interaction models & Structural models 3 Behavioral models 4 Model-driven engineering
  • 9. 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 now usually means representing a system using some kind of graphical notation based on diagram types in the Unified Modeling Language (UML) Introduction & Context models Introduction
  • 10. Models are used during the requirements engineering process to help derive the detailed requirements for a system, during the design process to describe the system to engineers implementing the system, and after implementation to document the system’s structure and operation Introduction & Context models Introduction
  • 11. You may develop models of both the existing system and the system to be developed: ■ Models of the existing system are used during requirements engineering ■ They help clarify what the existing system does, and they can be used to focus a stakeholder discussion on its strengths and weaknesses Introduction & Context models Introduction
  • 12. You may develop models of both the existing system and the system to be developed: ■ 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 Introduction & Context models Introduction
  • 13. It is important to understand that a system model is not a complete representation of system Introduction & Context models Introduction
  • 14. The detail and rigor of a model depend on how you intend to use it There are three ways in which graphical models are commonly used: - As a way to stimulate and focus discussion about an existing or proposed system Introduction & Context models Introduction
  • 15. The detail and rigor of a model depend on how you intend to use it There are three ways in which graphical models are commonly used: - As a way of documenting an existing system Introduction & Context models Introduction
  • 16. The detail and rigor of a model depend on how you intend to use it There are three ways in which graphical models are commonly used: - As a detailed system description that can be used to generate a system implementation Introduction & Context models Introduction
  • 17. UML (Unified Modelling Language) -> 14 diagram types Widely used 5 diagram types ● Activity diagrams ● Use case diagrams ● Sequence diagrams ● Class diagrams ● State diagrams Introduction & Context models Introduction
  • 20. At an early stage in the specification of a system, you should decide on the system boundaries, that is, on what is and is not part of the system being developed This involves working with system stakeholders to decide what functionality should be included in the system and what processing and operations should be carried out in the system’s operational environment Introduction & Context models Context models
  • 21. Context models are used to illustrate the operational context of a system - they show what lies outside the system boundaries The definition of a system boundary is not a value-free judgment Social and organizational concerns may mean that the position of a system boundary may be determined by nontechnical factors Introduction & Context models Context models
  • 22. Once some decisions on the boundaries of the system have been made, part of the analysis activity is the definition of that context and the dependencies that a system has on its environment Normally, producing a simple architectural model is the first step in this activity Introduction & Context models Context models
  • 23. Agenda: Lesson #04 - Software Engineering - Lecture 1 Introduction & Context models 2 Interaction models & Structural models 3 Behavioral models 4 Model-driven engineering
  • 24. All systems involve interaction of some kind. This can be user interaction, which involves user inputs and outputs; interaction between the software being developed and other systems in its environment; or interaction between the components of a software system User interaction modeling is important as it helps to identify user requirements Interaction models & Structural models Interaction models
  • 25. This section discusses two related approaches to interaction modeling: ● Use case modeling, which is mostly used to model interactions between a system and external agents (human users or other systems) ● Sequence diagrams, which are used to model interactions between system components, although external agents may also be included Interaction models & Structural models Interaction models
  • 26. Use case modeling - A use case can be taken as a simple description of what a user expects from a system in that interaction - Each use case represents a discrete task that involves external interaction with a system Interaction models & Structural models Interaction models
  • 27. Use case modeling Interaction models & Structural models Interaction models
  • 28. Sequence diagrams ● Sequence diagrams in the UML are primarily used to model the interactions between the actors and the objects in a system and the interactions between the objects themselves ● The UML has a rich syntax for sequence diagrams, which allows many different kinds of interaction to be modeled Interaction models & Structural models Interaction models
  • 29. Sequence diagrams Interaction models & Structural models Interaction models
  • 30. 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, which show the organization of the system design, or ● dynamic models, which show the organization of the system when it is executing Interaction models & Structural models Structural models
  • 31. 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 ● Loosely, an object class can be thought of as a general definition of one kind of system object Interaction models & Structural models Structural models
  • 32. Class diagrams ● An association is a link between classes indicating that some relationship exists between these classes ● Consequently, each class may have to have some knowledge of its associated class Interaction models & Structural models Structural models
  • 33. Class diagrams Interaction models & Structural models Structural models
  • 34. Agenda: Lesson #04 - Software Engineering - Lecture 1 Introduction & Context models 2 Interaction models & Structural models 3 Behavioral models 4 Model-driven engineering
  • 35. 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 Behavioral models Behavioral models
  • 36. These stimuli may be either data or events: ● Data becomes available that has to be processed by the system. The availability of the data triggers the processing ● An event happens that triggers system processing. Events may have associated data, although this is not always the case Behavioral models Behavioral models
  • 37. Data-driven modeling ● Data-driven models show the sequence of actions involved in processing input data and generating an associated output ● They can be used during the analysis of requirements as they show end-to-end processing in a system Behavioral models Behavioral models
  • 38. Event-driven modeling ● 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) may cause a transition from one state to another Behavioral models Behavioral models
  • 39. Model-driven engineering ● Model-driven engineering (MDE) is an approach to software development whereby models rather than programs are the principal outputs of the development process (Brambilla, Cabot, and Wimmer 2012) ● The programs that execute on a hardware/software platform are generated automatically from the models Behavioral models Behavioral models
  • 40. Agenda: Lesson #04 - Software Engineering - Lecture 1 Introduction & Context models 2 Interaction models & Structural models 3 Behavioral models 4 Model-driven engineering
  • 41. Model-driven architecture (Mellor, Scott, and Weise 2004; Stahl and Voelter 2006) is a model-focused approach to software design and implementation that uses a subset of UML models to describe a system Model-driven engineering Model-driven engineering
  • 42. The MDA method recommends that three types of abstract system model should be produced: ● A computation independent model (CIM) CIMs model the important domain abstractions used in a system and so are sometimes called domain models. You may develop several different CIMs, reflecting different views of the system. Model-driven engineering Model-driven engineering
  • 43. The MDA method recommends that three types of abstract system model should be produced: ● A platform-independent model (PIM) PIMs model the operation of the system without reference to its implementation. A PIM is usually described using UML models that show the static system structure and how it responds to external and internal events Model-driven engineering Model-driven engineering
  • 44. The MDA method recommends that three types of abstract system model should be produced: ● Platform-specific models (PSM) PSMs 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 Model-driven engineering Model-driven engineering
  • 47. 10 to 3 to 1 or Pixel Perfect Prototype
  • 48. Agenda: Lesson #04 - Software Engineering - Lecture Q & A