SlideShare a Scribd company logo
Software Engineering: Models David Millard (dem@ecs.soton.ac.uk)
Overview Definitions of Modeling UML Use Case Diagrams (recap) A Modeling Problem UML Activity Models What are they? How do you create them? When do you use them?
Definitions Modeling (n) “ A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams. Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “ Some development managers wonder why modeling is important at all. After all, the code should speak for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper
Definitions Modeling (n) “ A modeling language is  any artificial language  that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be  conveyed through diagrams . Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “ Some development managers wonder why modeling is important at all. After all, the code should speak for itself… Why add an extra  layer of abstraction  that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper
Definitions Modeling (n) “ A modeling language is  any artificial language  that can be used to express  information or knowledge  or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries.  Complex software designs  that would be difficult for you to describe textually can readily be  conveyed through diagrams . Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “ Some development managers wonder why modeling is important at all. After all,  the code should speak for itself … Why add an extra  layer of abstraction  that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper
Definitions Modeling (n) “ A modeling language is  any artificial language  that can be used to express  information or knowledge  or systems in a structure that is defined by a consistent set of rules. The rules are used for  interpretation of the meaning  of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries.  Complex software designs  that would be difficult for you to describe textually can readily be  conveyed through diagrams . Modeling provides three key benefits: visualization, complexity management and  clear communication .” IBM “ Some development managers wonder why modeling is important at all. After all,  the code should speak for itself … Why add an extra  layer of abstraction  that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are  enhanced communication , better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper
Unified Modeling Language UML - Unified Modelling Language  - 3 creators: Grady Booch, Ivar Jacobson and James Rumbaugh started in early 1990’s A visual language for developing software systems
UML  Use Cases  to capture requirements Use cases model What the system should do Who uses (benefits from) the system  From the user’s point of view
…but how to capture behaviour?
…but how to capture behaviour? Inside the box!
Problem With a partner draw a diagram to capture the following process (as if you were  graphically  describing it): “ You’re dozing in bed, waiting for your alarm. When it goes off you get up, get dressed and go downstairs. You make some breakfast and eat it while reading the morning paper. When you finish you leave the house.”
Look at Your Diagram What were the features of your diagram? Actions or Events …
Look at Your Diagram What were the features of your diagram? Actions or Events Sequence Parallel A Start and Stop Decisions Logical Partitions?
UML Activity Diagrams UML Equivalent of a FlowChart Provides a high level view of what’s going on  inside  a Use Case (Is a variation of a UML State Diagram)
UML Activity Diagrams Is based on: Activities Linked with Transitions With  one  Start and  one  Stop Get Up Get Dressed Start Transition Stop Activity Activity
UML Activity Diagrams Doze Alarm gone off? Get Up [Yes] [No] Decisions points (branches) are written as diamonds A Branch has an  optional  description Transitions out of a branch are labeled (guard conditions) Branch Guard Conditions
UML Activity Diagrams Bars (Forks and Joins) Used to show that things happen in parallel Or to bring together several transitions Make Breakfast Leave House Eat Breakfast Read Paper Fork Join
Putting it All Together Make Breakfast Leave House Eat Breakfast Read Paper Doze Alarm gone off? Get Dressed [Yes] [No] Go Downstairs Get Up
Adding Swimlanes Make Breakfast Leave House Eat Breakfast Read Paper Doze Alarm gone off? [Yes] [No] Go Downstairs Upstairs Downstairs Get Dressed Get Up
Adding Swimlanes Swimlanes partition a diagram Used to show different logical areas Diagrams can often be partitioned in different ways According to a Phase According to the Actor According to Department There is no  right  way Partition in whatever is the most  useful  way
When to use Activity Diagrams?
When to use Activity Diagrams? When analysing a use case What  actions are there and  when  do they happen? This is sometimes called  Workflow Useful for communicating order and dependency But they do not show Interactions, Data or State Other UML diagrams for this!
Summary Modeling is An abstract representation… … of some complex knowledge or design… … to help communicate it UML Use Cases model  requirements  from the  user view UML Activity Diagrams model  workflow  from the  system view Formal version of flowcharts Activity Diagrams include: Branching (decision making) Forks and Join (parallel activities) Swimlanes (logical partitioning)

More Related Content

What's hot (20)

PDF
Object oriented analysis and design unit- i
Shri Shankaracharya College, Bhilai,Junwani
 
PPTX
System modeling
Sajan Poudel
 
PPT
Functional modeling
Fatma Al-sayegh
 
PPTX
System Modelling
Jennifer Polack
 
PPT
Function oriented design
Vidhun T
 
PPTX
Object oriented methodologies
naina-rani
 
PDF
Object oriented analysis and design unit- iv
Shri Shankaracharya College, Bhilai,Junwani
 
PDF
SE18_Lec 06_Object Oriented Analysis and Design
Amr E. Mohamed
 
PDF
SE_Lec 05_System Modelling and Context Model
Amr E. Mohamed
 
PPT
Object Oriented Design in Software Engineering SE12
koolkampus
 
PDF
Modeling software architecture with uml
International Journal of Science and Research (IJSR)
 
PPTX
Software Design and Modularity
Danyal Ahmad
 
PDF
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Dr Sukhpal Singh Gill
 
PDF
SE_Lec 09_ UML Behaviour Diagrams
Amr E. Mohamed
 
PPT
Oomd unit1
VivekChaudhary93
 
PPT
Ch08
guest50f28c
 
PDF
Design and Implementation in Software Engineering
Kourosh Sajjadi
 
PDF
Unit 5- Architectural Design in software engineering
arvind pandey
 
PPTX
"Just Enough" System Modeling
Prof. Amir Tomer
 
PDF
Unit 3 system models
Azhar Shaik
 
Object oriented analysis and design unit- i
Shri Shankaracharya College, Bhilai,Junwani
 
System modeling
Sajan Poudel
 
Functional modeling
Fatma Al-sayegh
 
System Modelling
Jennifer Polack
 
Function oriented design
Vidhun T
 
Object oriented methodologies
naina-rani
 
Object oriented analysis and design unit- iv
Shri Shankaracharya College, Bhilai,Junwani
 
SE18_Lec 06_Object Oriented Analysis and Design
Amr E. Mohamed
 
SE_Lec 05_System Modelling and Context Model
Amr E. Mohamed
 
Object Oriented Design in Software Engineering SE12
koolkampus
 
Modeling software architecture with uml
International Journal of Science and Research (IJSR)
 
Software Design and Modularity
Danyal Ahmad
 
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Dr Sukhpal Singh Gill
 
SE_Lec 09_ UML Behaviour Diagrams
Amr E. Mohamed
 
Oomd unit1
VivekChaudhary93
 
Design and Implementation in Software Engineering
Kourosh Sajjadi
 
Unit 5- Architectural Design in software engineering
arvind pandey
 
"Just Enough" System Modeling
Prof. Amir Tomer
 
Unit 3 system models
Azhar Shaik
 

Similar to Software Engineering: Models (20)

PPT
4_5904551816829340505wewewewewewewew.ppt
PankiaMerAmun
 
PDF
Design UML diagrams
Neeraj Kaushik
 
PDF
Design UML diagrams
Neeraj Kaushik
 
PDF
Object Oriented Database
Megan Espinoza
 
PDF
Cs 2401 Unit 1
Susan Cox
 
PPT
Model-Driven Engineering of User Interfaces: Promises, Successes, Failures, a...
Jean Vanderdonckt
 
PDF
Various Approaches Of System Analysis
Laura Torres
 
PPTX
UNIFIED MODELLING LANGUAGE (UML)
Shamsunder Malgikar
 
PPTX
Architecture and design
himanshu_airon
 
PDF
l1_introuml.pdf
KalsoomTahir2
 
PPTX
Uml
Vishwa Mohan
 
PPTX
ekshitha rev 2 (1).pptx
Abdulsyed37
 
PPT
Activity Diagram
Ashesh R
 
PDF
Modeling software with UML
6020 peaks
 
PPTX
Uml diagram assignment help
smithjonny9876
 
PPT
Unit-II(STATIC UML DIAGRAMS).ppt
ganeshkarthy
 
PDF
Software Engineering Tools and Practices.pdf
MeagGhn
 
PPTX
PATTERNS01 - An Introduction to Design Patterns
Michael Heron
 
PPT
SE UML.ppt
AliZaib71
 
PDF
L12 Visualizing Architecture
Ólafur Andri Ragnarsson
 
4_5904551816829340505wewewewewewewew.ppt
PankiaMerAmun
 
Design UML diagrams
Neeraj Kaushik
 
Design UML diagrams
Neeraj Kaushik
 
Object Oriented Database
Megan Espinoza
 
Cs 2401 Unit 1
Susan Cox
 
Model-Driven Engineering of User Interfaces: Promises, Successes, Failures, a...
Jean Vanderdonckt
 
Various Approaches Of System Analysis
Laura Torres
 
UNIFIED MODELLING LANGUAGE (UML)
Shamsunder Malgikar
 
Architecture and design
himanshu_airon
 
l1_introuml.pdf
KalsoomTahir2
 
ekshitha rev 2 (1).pptx
Abdulsyed37
 
Activity Diagram
Ashesh R
 
Modeling software with UML
6020 peaks
 
Uml diagram assignment help
smithjonny9876
 
Unit-II(STATIC UML DIAGRAMS).ppt
ganeshkarthy
 
Software Engineering Tools and Practices.pdf
MeagGhn
 
PATTERNS01 - An Introduction to Design Patterns
Michael Heron
 
SE UML.ppt
AliZaib71
 
L12 Visualizing Architecture
Ólafur Andri Ragnarsson
 
Ad

More from David Millard (10)

PPTX
People Like You Like Presentations Like This
David Millard
 
PPTX
StoryPlaces Crystal Palace Writers Workshop
David Millard
 
PPT
Building Solutions08
David Millard
 
PPT
Control Structures08
David Millard
 
PPT
Sequences Modules08
David Millard
 
PPT
PeerPigeon - eLearn 2008
David Millard
 
PPT
Systems in the small - Introduction to Algorithms
David Millard
 
PDF
Faroes Open Repositories 08
David Millard
 
PPT
Faroes Future: Questions and Storyboards
David Millard
 
PPT
Introduction to Faroes
David Millard
 
People Like You Like Presentations Like This
David Millard
 
StoryPlaces Crystal Palace Writers Workshop
David Millard
 
Building Solutions08
David Millard
 
Control Structures08
David Millard
 
Sequences Modules08
David Millard
 
PeerPigeon - eLearn 2008
David Millard
 
Systems in the small - Introduction to Algorithms
David Millard
 
Faroes Open Repositories 08
David Millard
 
Faroes Future: Questions and Storyboards
David Millard
 
Introduction to Faroes
David Millard
 
Ad

Recently uploaded (20)

PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
PDF
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
PPTX
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
PDF
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
PPTX
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
PPTX
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
PDF
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PPT
Talk on Critical Theory, Part One, Philosophy of Social Sciences
Soraj Hongladarom
 
PPTX
How to Set Maximum Difference Odoo 18 POS
Celine George
 
PPTX
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
PPTX
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
PDF
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
PDF
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
PPTX
Growth and development and milestones, factors
BHUVANESHWARI BADIGER
 
PPTX
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
PPTX
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
PPSX
HEALTH ASSESSMENT (Community Health Nursing) - GNM 1st Year
Priyanshu Anand
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PDF
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
Talk on Critical Theory, Part One, Philosophy of Social Sciences
Soraj Hongladarom
 
How to Set Maximum Difference Odoo 18 POS
Celine George
 
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
Growth and development and milestones, factors
BHUVANESHWARI BADIGER
 
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
HEALTH ASSESSMENT (Community Health Nursing) - GNM 1st Year
Priyanshu Anand
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 

Software Engineering: Models

  • 2. Overview Definitions of Modeling UML Use Case Diagrams (recap) A Modeling Problem UML Activity Models What are they? How do you create them? When do you use them?
  • 3. Definitions Modeling (n) “ A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams. Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “ Some development managers wonder why modeling is important at all. After all, the code should speak for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper
  • 4. Definitions Modeling (n) “ A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams . Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “ Some development managers wonder why modeling is important at all. After all, the code should speak for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper
  • 5. Definitions Modeling (n) “ A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams . Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “ Some development managers wonder why modeling is important at all. After all, the code should speak for itself … Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper
  • 6. Definitions Modeling (n) “ A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams . Modeling provides three key benefits: visualization, complexity management and clear communication .” IBM “ Some development managers wonder why modeling is important at all. After all, the code should speak for itself … Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication , better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper
  • 7. Unified Modeling Language UML - Unified Modelling Language - 3 creators: Grady Booch, Ivar Jacobson and James Rumbaugh started in early 1990’s A visual language for developing software systems
  • 8. UML Use Cases to capture requirements Use cases model What the system should do Who uses (benefits from) the system From the user’s point of view
  • 9. …but how to capture behaviour?
  • 10. …but how to capture behaviour? Inside the box!
  • 11. Problem With a partner draw a diagram to capture the following process (as if you were graphically describing it): “ You’re dozing in bed, waiting for your alarm. When it goes off you get up, get dressed and go downstairs. You make some breakfast and eat it while reading the morning paper. When you finish you leave the house.”
  • 12. Look at Your Diagram What were the features of your diagram? Actions or Events …
  • 13. Look at Your Diagram What were the features of your diagram? Actions or Events Sequence Parallel A Start and Stop Decisions Logical Partitions?
  • 14. UML Activity Diagrams UML Equivalent of a FlowChart Provides a high level view of what’s going on inside a Use Case (Is a variation of a UML State Diagram)
  • 15. UML Activity Diagrams Is based on: Activities Linked with Transitions With one Start and one Stop Get Up Get Dressed Start Transition Stop Activity Activity
  • 16. UML Activity Diagrams Doze Alarm gone off? Get Up [Yes] [No] Decisions points (branches) are written as diamonds A Branch has an optional description Transitions out of a branch are labeled (guard conditions) Branch Guard Conditions
  • 17. UML Activity Diagrams Bars (Forks and Joins) Used to show that things happen in parallel Or to bring together several transitions Make Breakfast Leave House Eat Breakfast Read Paper Fork Join
  • 18. Putting it All Together Make Breakfast Leave House Eat Breakfast Read Paper Doze Alarm gone off? Get Dressed [Yes] [No] Go Downstairs Get Up
  • 19. Adding Swimlanes Make Breakfast Leave House Eat Breakfast Read Paper Doze Alarm gone off? [Yes] [No] Go Downstairs Upstairs Downstairs Get Dressed Get Up
  • 20. Adding Swimlanes Swimlanes partition a diagram Used to show different logical areas Diagrams can often be partitioned in different ways According to a Phase According to the Actor According to Department There is no right way Partition in whatever is the most useful way
  • 21. When to use Activity Diagrams?
  • 22. When to use Activity Diagrams? When analysing a use case What actions are there and when do they happen? This is sometimes called Workflow Useful for communicating order and dependency But they do not show Interactions, Data or State Other UML diagrams for this!
  • 23. Summary Modeling is An abstract representation… … of some complex knowledge or design… … to help communicate it UML Use Cases model requirements from the user view UML Activity Diagrams model workflow from the system view Formal version of flowcharts Activity Diagrams include: Branching (decision making) Forks and Join (parallel activities) Swimlanes (logical partitioning)