SlideShare a Scribd company logo
INTROSE  Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University [email_address] Modeling Software Systems
How do we model complex systems? Epistemology Knowledge about Causality (Dynamic Model) Describes our  knowledge about the system  Knowledge about Functionality (Functional model) Knowledge about Relationships (Object model) From (Bruegge & Dutoit, 2004) Neural  Networks DataFlow Diagrams (SA/SD) Scenarios/Use Cases (Jacobsen) Formal Specifications (Liskov) Petri Nets(Petri) Inheritance  Frames,SemanticNetworks (Minsky) Uncertain Knowledge Fuzzy Sets (Zadeh) Data Relationship (E/R Modeling, Chen) Hierarchical Database Model (IMS) Network Database Model (CODASYL) Relational Database Model (Codd) Fuzzy Frames (Graham) Class Diagrams (“E/R + Inheritance”,  Rumbaugh) Sequence  Diagrams (Lamport) Activity Diagrams (“good old Flowcharts”)
How do we model  complex systems? Epistemology Knowledge about Causality (Dynamic Model) Describes our  knowledge about the system  Knowledge about Functionality (Functional model) Knowledge about Relationships (Object model) From (Bruegge & Dutoit, 2004) Neural  Networks DataFlow Diagrams (SA/SD) Scenarios/Use Cases (Jacobsen) Formal Specifications (Liskov) Petri Nets(Petri) Inheritance  Frames,SemanticNetworks (Minsky) Uncertain Knowledge Fuzzy Sets (Zadeh) Data Relationship (E/R Modeling, Chen) Hierarchical Database Model (IMS) Network Database Model (CODASYL) Relational Database Model (Codd) Fuzzy Frames (Graham) Class Diagrams (“E/R + Inheritance”,  Rumbaugh) Sequence  Diagrams (Lamport) Activity Diagrams (“good old Flowcharts”)
Components of an Object Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UML Classes ,[object Object],[object Object],[object Object],[object Object],Class Diagram slides from (Lethbridge & Laganiere, 2005)
Associations and Multiplicity   ,[object Object],[object Object]
Labelling Associations   ,[object Object]
Analyzing and Validating Associations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],* worksFor Employee Company 1
Analyzing and Validating Associations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],* supervisor * * * * * 1..* Assistant Manager
Analyzing and Validating Associations ,[object Object],[object Object],[object Object],[object Object],[object Object],1 1
Analyzing and Validating Associations ,[object Object],[object Object]
A More Complex Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Association Classes   ,[object Object],[object Object]
Reflexive Associations ,[object Object]
Directionality in Associations   ,[object Object],[object Object]
Generalization   ,[object Object],[object Object],[object Object]
Avoiding Unnecessary Generalizations   Inappropriate hierarchy of classes, which should be instances
Avoiding Unnecessary Generalizations Improved class diagram, with its corresponding instance diagram
Handling Multiple Discriminators ,[object Object]
Handling Multiple Discriminators ,[object Object]
Object Diagrams   ,[object Object]
Associations vs. Generalizations in Object Diagrams   ,[object Object],[object Object],[object Object],[object Object],[object Object]
Aggregation   ,[object Object],[object Object],[object Object]
When to Use an Aggregation ,[object Object],[object Object],[object Object],[object Object],[object Object]
Composition ,[object Object],[object Object],[object Object]
Aggregation Hierarchy
Propagation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Interfaces   ,[object Object],[object Object]
Notes and Descriptive Text   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How do we model complex systems? Epistemology Knowledge about Causality (Dynamic Model) Describes our  knowledge about the system  Knowledge about Functionality (Functional model) Knowledge about Relationships (Object model) From (Bruegge & Dutoit, 2004) Neural  Networks DataFlow Diagrams (SA/SD) Scenarios/Use Cases (Jacobsen) Formal Specifications (Liskov) Petri Nets(Petri) Inheritance  Frames,SemanticNetworks (Minsky) Uncertain Knowledge Fuzzy Sets (Zadeh) Data Relationship (E/R Modeling, Chen) Hierarchical Database Model (IMS) Network Database Model (CODASYL) Relational Database Model (Codd) Fuzzy Frames (Graham) Class Diagrams (“E/R + Inheritance”,  Rumbaugh) Sequence  Diagrams (Lamport) Activity Diagrams (“good old Flowcharts”)
UML Interaction Diagrams ,[object Object],[object Object],[object Object]
UML Interaction Diagrams ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UML Collaboration Diagram ,[object Object],[object Object],[object Object],[object Object]
Link ,[object Object],[object Object],[object Object],[object Object]
Message ,[object Object],[object Object],[object Object],[object Object],[object Object]
Collaboration Diagram ,[object Object],[object Object],a : Assembly part : CatalogEntry 1.1: number = getNumber() 1 : count(part) : Client
Collaboration Diagram course_form : CourseForm theManager : CurriculumManager aCourse : Course 4 : <<create>> 3 : add_course() 1 : set_course_info() 2 : process_form() : Registrar
Message Sequence ,[object Object],[object Object],[object Object],[object Object]
Sequence Diagram ,[object Object],[object Object],[object Object],[object Object]
Sequence Diagram Time Objects and Message Flows
Lifeline ,[object Object],[object Object],[object Object],Object Name
Message ,[object Object],[object Object],[object Object],Object Name Object Name message
Return ,[object Object],Object Name Object Name message
Activation ,[object Object],[object Object],[object Object]
Sequence Diagram a : Assembly part : CatalogEntry getNumber() count(part) return number Lifeline Activation(optional) Messages control returns to the sender of the message (optional) : Client
Hierarchical Numbering of Messages 1.1 1 1.2 2 2.1 2.2 2.2.1 2.1.1 2.1.2
Object Creation course_form : CourseForm theManager : CurriculumManager aCourse : Course set_course_info process_form add_course <<create>> Object creation : Registrar
Object Creation: Order Entry Example Order OrderLine quantity: integer cost: float CatalogEntry 1 * 1 * : Client : Order : CatalogEntry OrderLine(qty,part) add(qty,part) : OrderLine getCost() return cost Object creation
Object Destruction: Order Entry Example : Order <<destroy>> remove(line) : OrderLine X : Client Object deletion
Recurrence ,[object Object],Object Name Object Name Object Name message message *[recurrence condition]
Branching ,[object Object],[object Object],Object Name Object Name Object Name [condition] message [condition] message
Conditional Message ,[object Object],[object Object],[object Object]
Conditional Message: Sequence Diagram : Order : CatalogEntry [s>=qty]  OrderLine(qty,part) add(qty,part) : OrderLine getCost() return cost getStockLevel(part) return s : Client
Conditional Message: Communication Diagram : Order : OrderLine {new} : CatalogEntry 1: add(qty, part) 1.2:  [s>=qty]  OrderLine(qty, part) 1.2.1: cost = getCost() {new} {new} 1.1: s = getStockLevel(part) : Client
Message to Self ,[object Object],[object Object],[object Object]
Self-Delegation:  Sequence Diagram : Order : Customer getShippingCost() getTotal() : OrderLine  * getLocation() * getValue() : Client
Self-Delegation:  Collaboration Diagram : Order : Customer : OrderLine  * 1: getTotal() 1.2.1: getLocation() 1.1 * : getValue() 1.2: getShippingCost() <<self>> : Client

More Related Content

What's hot

Use case Diagram and Sequence Diagram
Use case Diagram and Sequence DiagramUse case Diagram and Sequence Diagram
Use case Diagram and Sequence Diagram
Nikhil Pandit
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
surana college
 
unified modelling language(UML) diagrams
unified modelling language(UML) diagramsunified modelling language(UML) diagrams
unified modelling language(UML) diagrams
pratyashi satapathy
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml OverviewDang Tuan
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
Shahzad
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
barney92
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
fahad_uaar
 
Intro to UML 2
Intro to UML 2Intro to UML 2
Intro to UML 2
rchakra
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
Amr E. Mohamed
 
Lecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASELecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASEbabak danyal
 
34. uml
34. uml34. uml
34. uml
karzansaid
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
sabin kafle
 
Understanding unified modelling language
Understanding unified modelling languageUnderstanding unified modelling language
Understanding unified modelling language
Emmanuel Kumah
 
UML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language IntroductionUML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language Introduction
Ramakant Soni
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
Ramakant Soni
 
Introduction to UML
Introduction to UMLIntroduction to UML

What's hot (20)

Use case Diagram and Sequence Diagram
Use case Diagram and Sequence DiagramUse case Diagram and Sequence Diagram
Use case Diagram and Sequence Diagram
 
Uml Diagrams
Uml DiagramsUml Diagrams
Uml Diagrams
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Class diagram, use case and sequence diagram
Class diagram, use case and sequence diagramClass diagram, use case and sequence diagram
Class diagram, use case and sequence diagram
 
unified modelling language(UML) diagrams
unified modelling language(UML) diagramsunified modelling language(UML) diagrams
unified modelling language(UML) diagrams
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml Overview
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
 
Intro to UML 2
Intro to UML 2Intro to UML 2
Intro to UML 2
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
Lecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASELecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASE
 
34. uml
34. uml34. uml
34. uml
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
 
Understanding unified modelling language
Understanding unified modelling languageUnderstanding unified modelling language
Understanding unified modelling language
 
UML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language IntroductionUML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language Introduction
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
 
Uml sequence diagrams
Uml sequence diagramsUml sequence diagrams
Uml sequence diagrams
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 

Viewers also liked

Planning-Based Approach for Automating Sequence Diagram Generation
Planning-Based Approach for Automating Sequence Diagram GenerationPlanning-Based Approach for Automating Sequence Diagram Generation
Planning-Based Approach for Automating Sequence Diagram Generation
Yaser Sulaiman
 
"Just Enough" System Modeling
"Just Enough" System Modeling"Just Enough" System Modeling
"Just Enough" System Modeling
Prof. Amir Tomer
 
Agile Software Development With SCRUM
Agile Software Development With SCRUMAgile Software Development With SCRUM
Agile Software Development With SCRUM
Alexey Krivitsky
 
Diagrams
DiagramsDiagrams
Diagrams
janessa24
 
Contracting for Agile Software Development
Contracting for Agile Software DevelopmentContracting for Agile Software Development
Contracting for Agile Software Development
cspag67
 
Intro Agile Software Development with Scrum for Campus Party 2009
Intro Agile Software Development with Scrum for Campus Party 2009Intro Agile Software Development with Scrum for Campus Party 2009
Intro Agile Software Development with Scrum for Campus Party 2009
Antonio Silveira
 
Lecture#08 sequence diagrams
Lecture#08 sequence diagramsLecture#08 sequence diagrams
Lecture#08 sequence diagramsbabak danyal
 
Software Engineering: Models
Software Engineering: ModelsSoftware Engineering: Models
Software Engineering: Models
David Millard
 
Sequence diagrams in UML
Sequence diagrams in UMLSequence diagrams in UML
Sequence diagrams in UML
Paxcel Technologies
 
Class, Collaboration, Sequence Diagram of a sample project
Class, Collaboration, Sequence Diagram of a sample projectClass, Collaboration, Sequence Diagram of a sample project
Class, Collaboration, Sequence Diagram of a sample project
Naimul Arif
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
Ashita Agrawal
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7koolkampus
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and Scrum
Lemi Orhan Ergin
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9Ian Sommerville
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
Kumar
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
Mikel Raj
 
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...
Modeling objects interaction via UML sequence diagrams  [Software Modeling] [...Modeling objects interaction via UML sequence diagrams  [Software Modeling] [...
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...
Ivano Malavolta
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile MethodologyHaresh Karkar
 

Viewers also liked (18)

Planning-Based Approach for Automating Sequence Diagram Generation
Planning-Based Approach for Automating Sequence Diagram GenerationPlanning-Based Approach for Automating Sequence Diagram Generation
Planning-Based Approach for Automating Sequence Diagram Generation
 
"Just Enough" System Modeling
"Just Enough" System Modeling"Just Enough" System Modeling
"Just Enough" System Modeling
 
Agile Software Development With SCRUM
Agile Software Development With SCRUMAgile Software Development With SCRUM
Agile Software Development With SCRUM
 
Diagrams
DiagramsDiagrams
Diagrams
 
Contracting for Agile Software Development
Contracting for Agile Software DevelopmentContracting for Agile Software Development
Contracting for Agile Software Development
 
Intro Agile Software Development with Scrum for Campus Party 2009
Intro Agile Software Development with Scrum for Campus Party 2009Intro Agile Software Development with Scrum for Campus Party 2009
Intro Agile Software Development with Scrum for Campus Party 2009
 
Lecture#08 sequence diagrams
Lecture#08 sequence diagramsLecture#08 sequence diagrams
Lecture#08 sequence diagrams
 
Software Engineering: Models
Software Engineering: ModelsSoftware Engineering: Models
Software Engineering: Models
 
Sequence diagrams in UML
Sequence diagrams in UMLSequence diagrams in UML
Sequence diagrams in UML
 
Class, Collaboration, Sequence Diagram of a sample project
Class, Collaboration, Sequence Diagram of a sample projectClass, Collaboration, Sequence Diagram of a sample project
Class, Collaboration, Sequence Diagram of a sample project
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and Scrum
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
 
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...
Modeling objects interaction via UML sequence diagrams  [Software Modeling] [...Modeling objects interaction via UML sequence diagrams  [Software Modeling] [...
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
 

Similar to 08 class and sequence diagrams

Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
Raj Thilak S
 
OOP_Module 2.pptx
OOP_Module 2.pptxOOP_Module 2.pptx
OOP_Module 2.pptx
PrasenjitKumarDas2
 
Different Types Diagrams
Different Types Diagrams  Different Types Diagrams
Different Types Diagrams
ShauryaGupta38
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
Sudarsun Santhiappan
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented DesignAravinth NSP
 
Uml
UmlUml
Uml
parag
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
Amit Singh
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
himanshu_airon
 
Uml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot netUml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot net
mekhap
 
2 class use case
2 class use case2 class use case
2 class use case
Minal Maniar
 
uml2-1214558329929112-8.ppt
uml2-1214558329929112-8.pptuml2-1214558329929112-8.ppt
uml2-1214558329929112-8.ppt
AleksandarUrdarevski
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural Modeling
AMITJain879
 
Class and object_diagram
Class  and object_diagramClass  and object_diagram
Class and object_diagramSadhana28
 
Css uml
Css umlCss uml
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2Sisir Ghosh
 

Similar to 08 class and sequence diagrams (20)

Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
432
432432
432
 
OOP_Module 2.pptx
OOP_Module 2.pptxOOP_Module 2.pptx
OOP_Module 2.pptx
 
Different Types Diagrams
Different Types Diagrams  Different Types Diagrams
Different Types Diagrams
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Uml
UmlUml
Uml
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
Uml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot netUml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot net
 
UML
UMLUML
UML
 
2 class use case
2 class use case2 class use case
2 class use case
 
uml2-1214558329929112-8.ppt
uml2-1214558329929112-8.pptuml2-1214558329929112-8.ppt
uml2-1214558329929112-8.ppt
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural Modeling
 
Class and object_diagram
Class  and object_diagramClass  and object_diagram
Class and object_diagram
 
Css uml
Css umlCss uml
Css uml
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
 
SE - System Models
SE - System ModelsSE - System Models
SE - System Models
 
Ch8
Ch8Ch8
Ch8
 

More from kebsterz

07 software design
07   software design07   software design
07 software designkebsterz
 
07 software design
07   software design07   software design
07 software designkebsterz
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value points
kebsterz
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value points
kebsterz
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value pointskebsterz
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value pointskebsterz
 
Pokémon competitive battling an introduction
Pokémon competitive battling   an introductionPokémon competitive battling   an introduction
Pokémon competitive battling an introductionkebsterz
 
Pokemon an introduction
Pokemon   an introductionPokemon   an introduction
Pokemon an introductionkebsterz
 
Pokémon competitive battling an introduction
Pokémon competitive battling   an introductionPokémon competitive battling   an introduction
Pokémon competitive battling an introductionkebsterz
 
Pokemon an introduction
Pokemon   an introductionPokemon   an introduction
Pokemon an introductionkebsterz
 

More from kebsterz (10)

07 software design
07   software design07   software design
07 software design
 
07 software design
07   software design07   software design
07 software design
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value points
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value points
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value points
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value points
 
Pokémon competitive battling an introduction
Pokémon competitive battling   an introductionPokémon competitive battling   an introduction
Pokémon competitive battling an introduction
 
Pokemon an introduction
Pokemon   an introductionPokemon   an introduction
Pokemon an introduction
 
Pokémon competitive battling an introduction
Pokémon competitive battling   an introductionPokémon competitive battling   an introduction
Pokémon competitive battling an introduction
 
Pokemon an introduction
Pokemon   an introductionPokemon   an introduction
Pokemon an introduction
 

Recently uploaded

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 

Recently uploaded (20)

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 

08 class and sequence diagrams

  • 1. INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University [email_address] Modeling Software Systems
  • 2. How do we model complex systems? Epistemology Knowledge about Causality (Dynamic Model) Describes our knowledge about the system Knowledge about Functionality (Functional model) Knowledge about Relationships (Object model) From (Bruegge & Dutoit, 2004) Neural Networks DataFlow Diagrams (SA/SD) Scenarios/Use Cases (Jacobsen) Formal Specifications (Liskov) Petri Nets(Petri) Inheritance Frames,SemanticNetworks (Minsky) Uncertain Knowledge Fuzzy Sets (Zadeh) Data Relationship (E/R Modeling, Chen) Hierarchical Database Model (IMS) Network Database Model (CODASYL) Relational Database Model (Codd) Fuzzy Frames (Graham) Class Diagrams (“E/R + Inheritance”, Rumbaugh) Sequence Diagrams (Lamport) Activity Diagrams (“good old Flowcharts”)
  • 3. How do we model complex systems? Epistemology Knowledge about Causality (Dynamic Model) Describes our knowledge about the system Knowledge about Functionality (Functional model) Knowledge about Relationships (Object model) From (Bruegge & Dutoit, 2004) Neural Networks DataFlow Diagrams (SA/SD) Scenarios/Use Cases (Jacobsen) Formal Specifications (Liskov) Petri Nets(Petri) Inheritance Frames,SemanticNetworks (Minsky) Uncertain Knowledge Fuzzy Sets (Zadeh) Data Relationship (E/R Modeling, Chen) Hierarchical Database Model (IMS) Network Database Model (CODASYL) Relational Database Model (Codd) Fuzzy Frames (Graham) Class Diagrams (“E/R + Inheritance”, Rumbaugh) Sequence Diagrams (Lamport) Activity Diagrams (“good old Flowcharts”)
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Avoiding Unnecessary Generalizations Inappropriate hierarchy of classes, which should be instances
  • 18. Avoiding Unnecessary Generalizations Improved class diagram, with its corresponding instance diagram
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 27.
  • 28.
  • 29.
  • 30. How do we model complex systems? Epistemology Knowledge about Causality (Dynamic Model) Describes our knowledge about the system Knowledge about Functionality (Functional model) Knowledge about Relationships (Object model) From (Bruegge & Dutoit, 2004) Neural Networks DataFlow Diagrams (SA/SD) Scenarios/Use Cases (Jacobsen) Formal Specifications (Liskov) Petri Nets(Petri) Inheritance Frames,SemanticNetworks (Minsky) Uncertain Knowledge Fuzzy Sets (Zadeh) Data Relationship (E/R Modeling, Chen) Hierarchical Database Model (IMS) Network Database Model (CODASYL) Relational Database Model (Codd) Fuzzy Frames (Graham) Class Diagrams (“E/R + Inheritance”, Rumbaugh) Sequence Diagrams (Lamport) Activity Diagrams (“good old Flowcharts”)
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37. Collaboration Diagram course_form : CourseForm theManager : CurriculumManager aCourse : Course 4 : <<create>> 3 : add_course() 1 : set_course_info() 2 : process_form() : Registrar
  • 38.
  • 39.
  • 40. Sequence Diagram Time Objects and Message Flows
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. Sequence Diagram a : Assembly part : CatalogEntry getNumber() count(part) return number Lifeline Activation(optional) Messages control returns to the sender of the message (optional) : Client
  • 46. Hierarchical Numbering of Messages 1.1 1 1.2 2 2.1 2.2 2.2.1 2.1.1 2.1.2
  • 47. Object Creation course_form : CourseForm theManager : CurriculumManager aCourse : Course set_course_info process_form add_course <<create>> Object creation : Registrar
  • 48. Object Creation: Order Entry Example Order OrderLine quantity: integer cost: float CatalogEntry 1 * 1 * : Client : Order : CatalogEntry OrderLine(qty,part) add(qty,part) : OrderLine getCost() return cost Object creation
  • 49. Object Destruction: Order Entry Example : Order <<destroy>> remove(line) : OrderLine X : Client Object deletion
  • 50.
  • 51.
  • 52.
  • 53. Conditional Message: Sequence Diagram : Order : CatalogEntry [s>=qty] OrderLine(qty,part) add(qty,part) : OrderLine getCost() return cost getStockLevel(part) return s : Client
  • 54. Conditional Message: Communication Diagram : Order : OrderLine {new} : CatalogEntry 1: add(qty, part) 1.2: [s>=qty] OrderLine(qty, part) 1.2.1: cost = getCost() {new} {new} 1.1: s = getStockLevel(part) : Client
  • 55.
  • 56. Self-Delegation: Sequence Diagram : Order : Customer getShippingCost() getTotal() : OrderLine * getLocation() * getValue() : Client
  • 57. Self-Delegation: Collaboration Diagram : Order : Customer : OrderLine * 1: getTotal() 1.2.1: getLocation() 1.1 * : getValue() 1.2: getShippingCost() <<self>> : Client