SlideShare a Scribd company logo
1 of 30
SYSTEM ANALYSIS AND DESIGN



    Object-Oriented Analysis
              and
            Design


                             1
Learning Objectives
       Key terms
         Association
         Class diagram
         Event
         Object
         Object class
         Operation
         Sequence diagram
         State
         State transition
         Unified Modeling Language (UML)
A.2      Use case                          2
Learning Objectives (continued)

       Discuss the concepts and principles underlying
        the object-oriented approach.
       Learn to develop requirements models using
        use-case diagrams.
       Learn to use class diagrams to develop object
        models of the problem domain.
       Learn to develop requirements models using
        state and sequence diagrams.


A.3                                                3
The Object-Oriented Modeling Approach
      ● Benefits
         1.The ability to tackle more challenging problem
           domains
         2.Improved communication among users,
           analysts, designers, and programmers
         3.Reusability of analysis, design, and
           programming results
         4.Increased consistency among the models
           developed during object-oriented analysis,
           design, and programming
A.4                                                  4
The Object-Oriented Modeling Approach
 (continued)
      ● Object-Oriented Systems Development Life
        Cycle
        – Process of progressively developing
          representation of a system component (or
          object) through the phases of analysis,
          design, and implementation
        – The model is abstract in the early stages
        – As the model evolves, it becomes more and
          more detailed

A.5                                            5
The Object-Oriented Systems
 Development Life Cycle
      ● Analysis Phase
         – Model of the real-world application is
           developed showing its important properties
         – Model specifies the functional behavior of the
           system independent of implementation details
      ● Design Phase
         – Analysis model is refined and adapted to the
           environment
      ● Implementation Phase
         – Design is implemented using a programming
           language or database management system
A.6                                                6
The Object-Oriented Systems Development Life Cycle
 (continued)
      ● Unified Modeling Language (UML)
        – A notation that allows the modeler to
          specify, visualize and construct the artifacts
          of software systems, as well as business
          models
        – Techniques and notations
           • Use cases
           • Class diagrams
           • State diagrams
           • Sequence diagrams
A.7                                                7
Use-Case Modeling
      ● Applied to analyze functional requirements of
        the system
      ● Performed during the analysis phase to help
        developers understand functional
        requirements of the system without regard for
        implementation details
      ● Use Case
         – A complete sequence of related actions
           initiated by an actor
      ● Actor
         – An external entity that interacts with the
           system
A.8                                             8
Use-Case Modeling
      ● Use cases represent complete functionality of
        the system
      ● Use cases may participate in relationships with
        other use cases
      ● Use cases may also use other use cases




A.9                                                 9
A.10   10
Object Modeling: Class Diagrams
     ● Object
        – An entity that has a well-defined role in the
          application domain, and has state, behavior,
          and identity
     ● State
        – A condition that encompasses an object’s
          properties and the values those properties have
     ● Behavior
        – A manner that represents how an object acts
          and reacts
     ● Object Class
        – A set of objects that share a common structure
A.11      and a common behavior                         11
Object Modeling:
  Class Diagrams (continued)
       ● Class Diagram
         – Class is represented as a rectangle with three
           compartments
         – Objects can participate in relationships with
           objects of the same class




A.12                                                 12
Object Modeling:
 Object Diagrams
       ● Object Diagram
          – A graph of instances that are compatible with a
            given class diagram; also called an instance
            diagram
          – Object is represented as a rectangle with two
            compartments
       ● Operation
          – A function or service that is provided by all the
            instances of a class
       ● Encapsulation
          – The technique of hiding the internal
            implementation details of an object from its
            external view
A.13                                                     13
A.14   14
Representing Associations
       ● Association
         – A relationship between object classes
         – Degree may be unary, binary, ternary or higher
         – Depicted as a solid line between participating
           classes
       ● Association Role
         – The end of an association where it connects to
           a class
         – Each role has multiplicity, which indicates how
           many objects participate in a given association
           relationship
A.15                                               15
A.16   16
Representing Generalization
       ● Generalization
          – Abstraction of common features among
            multiple classes, as well as their relationships,
            into a more general class
       ● Subclass
          – A class that has been generalized
       ● Superclass
          – A class that is composed of several generalized
            subclasses
A.17                                                  17
Representing Generalization (continued)

       ● Discriminator
          – Shows which property of an object class is
            being abstracted by a generalization
            relationship
       ● Inheritance
          – A property that a subclass inherits the features
            from its superclass
       ● Abstract Class
          – A class that has no direct instances but whose
            descendents may have direct instances
       ● Concrete Class
          – A class that can have direct instances
A.18                                                  18
A.19   19
Representing Aggregation
       ● Aggregation
         – A part-of relationship between a component object and
           an aggregate object
         – Example: Personal computer
            • Composed of CPU, Monitor, Keyboard, etc




A.20                                                        20
Dynamic Modeling: State Diagrams
       ● State
          – A condition during the life of an object during
            which it satisfies some conditions, performs
            some actions or waits for some events
          – Shown as a rectangle with rounded corners
       ● State Transition
          – The changes in the attributes of an object or in
            the links an object has with other objects
          – Shown as a solid arrow
          – Diagrammed with a guard condition and action
A.21
       ● Event                                        21
          – Something that takes place at a certain point in
A.22   22
Dynamic Modeling:
 Sequence Diagrams
       ● Sequence Diagram
          – A depiction of the interaction among objects
            during certain periods of time
       ● Activation
          – The time period during which an object
            performs an operation
       ● Messages
          – Means by which objects communicate with
            each other
A.23                                                23
Dynamic Modeling:
 Sequence Diagrams (continued)
       ● Synchronous Message
          – A type of message in which the caller has to
            wait for the receiving object to finish executing
            the called operation before it can resume
            execution itself
       ● Simple Message
          – A message that transfers control from the
            sender to the recipient without describing the
            details of the communication


A.24                                                 24
A.25   25
Moving to Design

       ● Start with existing set of analysis model
       ● Progressively add technical details
       ● Design model must be more detailed than analysis
         model
       ● Component Diagram
          – A diagram that shows the software components or
            modules and their dependencies
       ● Deployment Diagram
          – A diagram that shows how the software components,
            processes and objects are deployed into the physical
            architecture of the system

A.26                                                         26
A.27   27
Summary

       ● Object-Oriented Modeling Approach
         – Benefits
         – Unified Modeling Language
            • Use cases
            • Class diagrams
            • State diagrams
            • Sequence diagrams
       ● Use Case Modeling

A.28                                         28
Summary (continued)

       ● Object Modeling: Class Diagrams
         – Associations
         – Generalizations
         – Aggregation
       ● Dynamic Modeling: State Diagrams
       ● Dynamic Modeling: Sequence Diagrams
       ● Moving to Design


A.29                                           29
● THANKS FOR ALL




                   30

More Related Content

What's hot

Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
ramyaaswin
 
Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static Modeling
Saurabh Kumar
 

What's hot (20)

Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
 
Ooad notes
Ooad notesOoad notes
Ooad notes
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
 
Software design
Software designSoftware design
Software design
 
Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static Modeling
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Basic Software Effort Estimation
Basic Software Effort EstimationBasic Software Effort Estimation
Basic Software Effort Estimation
 
Behavioural modelling
Behavioural modellingBehavioural modelling
Behavioural modelling
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 

Viewers also liked

Legacy Systems in Software Engineering SE26
Legacy Systems in Software Engineering SE26Legacy Systems in Software Engineering SE26
Legacy Systems in Software Engineering SE26
koolkampus
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
Kunal Kishor Nirala
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
Komal Singh
 
C the basic concepts
C the basic conceptsC the basic concepts
C the basic concepts
Abhinav Vatsa
 
Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8
Abdul Basit
 
Organizational communication
Organizational communicationOrganizational communication
Organizational communication
Ningsih SM
 

Viewers also liked (20)

Legacy Systems in Software Engineering SE26
Legacy Systems in Software Engineering SE26Legacy Systems in Software Engineering SE26
Legacy Systems in Software Engineering SE26
 
Object Oriented Relationships
Object Oriented RelationshipsObject Oriented Relationships
Object Oriented Relationships
 
Ph.D. Registeration seminar
Ph.D. Registeration seminarPh.D. Registeration seminar
Ph.D. Registeration seminar
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
 
Object relationship model of software engineering,a subtopic of object orient...
Object relationship model of software engineering,a subtopic of object orient...Object relationship model of software engineering,a subtopic of object orient...
Object relationship model of software engineering,a subtopic of object orient...
 
Lecture 01 - Research Methods
Lecture 01 - Research MethodsLecture 01 - Research Methods
Lecture 01 - Research Methods
 
Paris ML meetup
Paris ML meetupParis ML meetup
Paris ML meetup
 
Oracle Sql Tuning
Oracle Sql TuningOracle Sql Tuning
Oracle Sql Tuning
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
 
Organizational Communication
Organizational CommunicationOrganizational Communication
Organizational Communication
 
Project Management With Scrum
Project Management With ScrumProject Management With Scrum
Project Management With Scrum
 
C the basic concepts
C the basic conceptsC the basic concepts
C the basic concepts
 
Metaprogramming JavaScript
Metaprogramming  JavaScriptMetaprogramming  JavaScript
Metaprogramming JavaScript
 
Why Project Managers (Understandably) Hate the CMMI -- and What to Do About It
Why Project Managers (Understandably) Hate the CMMI -- and What to Do About ItWhy Project Managers (Understandably) Hate the CMMI -- and What to Do About It
Why Project Managers (Understandably) Hate the CMMI -- and What to Do About It
 
A Simple Introduction To CMMI For Beginer
A Simple Introduction To CMMI For BeginerA Simple Introduction To CMMI For Beginer
A Simple Introduction To CMMI For Beginer
 
Capability maturity model
Capability maturity modelCapability maturity model
Capability maturity model
 
Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8
 
Capability Maturity Model
Capability Maturity ModelCapability Maturity Model
Capability Maturity Model
 
Organizational communication
Organizational communicationOrganizational communication
Organizational communication
 

Similar to Object Oriented Analysis and Design

chapter06-120827115400-phpapp01.pdf
chapter06-120827115400-phpapp01.pdfchapter06-120827115400-phpapp01.pdf
chapter06-120827115400-phpapp01.pdf
AxmedMaxamuud6
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
SHIVAM691605
 
Object analysis and design
Object analysis and designObject analysis and design
Object analysis and design
Anand Grewal
 

Similar to Object Oriented Analysis and Design (20)

OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
 
Chapter 06
Chapter 06Chapter 06
Chapter 06
 
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
 
chapter06-120827115400-phpapp01.pdf
chapter06-120827115400-phpapp01.pdfchapter06-120827115400-phpapp01.pdf
chapter06-120827115400-phpapp01.pdf
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Unified Modelling Language
Unified Modelling Language Unified Modelling Language
Unified Modelling Language
 
Chapter 6 Object Modeling .pptxInformation Technology Project Management
Chapter 6 Object Modeling .pptxInformation Technology Project ManagementChapter 6 Object Modeling .pptxInformation Technology Project Management
Chapter 6 Object Modeling .pptxInformation Technology Project Management
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
UNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxUNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptx
 
Design Patterns Part1
Design Patterns  Part1Design Patterns  Part1
Design Patterns Part1
 
ITSE_10(UML,OO).pptx
ITSE_10(UML,OO).pptxITSE_10(UML,OO).pptx
ITSE_10(UML,OO).pptx
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
 
UML and Case study
UML and Case study UML and Case study
UML and Case study
 
Object analysis and design
Object analysis and designObject analysis and design
Object analysis and design
 
Introduction To Design Patterns
Introduction To Design PatternsIntroduction To Design Patterns
Introduction To Design Patterns
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD ppt
 
Object Oriented, Design patterns and data modelling worshop
Object Oriented, Design patterns and data modelling worshopObject Oriented, Design patterns and data modelling worshop
Object Oriented, Design patterns and data modelling worshop
 

More from Haitham El-Ghareeb

Lecture 9 - DSA - Python Data Structures
Lecture 9 - DSA - Python Data StructuresLecture 9 - DSA - Python Data Structures
Lecture 9 - DSA - Python Data Structures
Haitham El-Ghareeb
 
Data Structures - Lecture 8 - Study Notes
Data Structures - Lecture 8 - Study NotesData Structures - Lecture 8 - Study Notes
Data Structures - Lecture 8 - Study Notes
Haitham El-Ghareeb
 
Lecture 07 Data Structures - Basic Sorting
Lecture 07 Data Structures - Basic SortingLecture 07 Data Structures - Basic Sorting
Lecture 07 Data Structures - Basic Sorting
Haitham El-Ghareeb
 
Research Methodologies - Lecture 02
Research Methodologies - Lecture 02Research Methodologies - Lecture 02
Research Methodologies - Lecture 02
Haitham El-Ghareeb
 

More from Haitham El-Ghareeb (20)

مختصر وحدة التعلم الذاتي 2015
مختصر وحدة التعلم الذاتي 2015مختصر وحدة التعلم الذاتي 2015
مختصر وحدة التعلم الذاتي 2015
 
وحدة التعلم الذاتي 2015
وحدة التعلم الذاتي 2015وحدة التعلم الذاتي 2015
وحدة التعلم الذاتي 2015
 
NoSQL Databases, Not just a Buzzword
NoSQL Databases, Not just a Buzzword NoSQL Databases, Not just a Buzzword
NoSQL Databases, Not just a Buzzword
 
EMC Academic Alliance Presentation
EMC Academic Alliance PresentationEMC Academic Alliance Presentation
EMC Academic Alliance Presentation
 
DSA - 2012 - Conclusion
DSA - 2012 - ConclusionDSA - 2012 - Conclusion
DSA - 2012 - Conclusion
 
Lecture 9 - DSA - Python Data Structures
Lecture 9 - DSA - Python Data StructuresLecture 9 - DSA - Python Data Structures
Lecture 9 - DSA - Python Data Structures
 
Data Structures - Lecture 8 - Study Notes
Data Structures - Lecture 8 - Study NotesData Structures - Lecture 8 - Study Notes
Data Structures - Lecture 8 - Study Notes
 
Lect07
Lect07Lect07
Lect07
 
Lecture 07 Data Structures - Basic Sorting
Lecture 07 Data Structures - Basic SortingLecture 07 Data Structures - Basic Sorting
Lecture 07 Data Structures - Basic Sorting
 
LectureNotes-06-DSA
LectureNotes-06-DSALectureNotes-06-DSA
LectureNotes-06-DSA
 
LectureNotes-05-DSA
LectureNotes-05-DSALectureNotes-05-DSA
LectureNotes-05-DSA
 
LectureNotes-04-DSA
LectureNotes-04-DSALectureNotes-04-DSA
LectureNotes-04-DSA
 
LectureNotes-03-DSA
LectureNotes-03-DSALectureNotes-03-DSA
LectureNotes-03-DSA
 
LectureNotes-02-DSA
LectureNotes-02-DSALectureNotes-02-DSA
LectureNotes-02-DSA
 
LectureNotes-01-DSA
LectureNotes-01-DSALectureNotes-01-DSA
LectureNotes-01-DSA
 
Lecture-05-DSA
Lecture-05-DSALecture-05-DSA
Lecture-05-DSA
 
Learn Latex
Learn LatexLearn Latex
Learn Latex
 
Research Methodologies - Lecture 02
Research Methodologies - Lecture 02Research Methodologies - Lecture 02
Research Methodologies - Lecture 02
 
DSA-Lecture-05
DSA-Lecture-05DSA-Lecture-05
DSA-Lecture-05
 
DSA - Lecture 04
DSA - Lecture 04DSA - Lecture 04
DSA - Lecture 04
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

Object Oriented Analysis and Design

  • 1. SYSTEM ANALYSIS AND DESIGN Object-Oriented Analysis and Design 1
  • 2. Learning Objectives  Key terms  Association  Class diagram  Event  Object  Object class  Operation  Sequence diagram  State  State transition  Unified Modeling Language (UML) A.2  Use case 2
  • 3. Learning Objectives (continued)  Discuss the concepts and principles underlying the object-oriented approach.  Learn to develop requirements models using use-case diagrams.  Learn to use class diagrams to develop object models of the problem domain.  Learn to develop requirements models using state and sequence diagrams. A.3 3
  • 4. The Object-Oriented Modeling Approach ● Benefits 1.The ability to tackle more challenging problem domains 2.Improved communication among users, analysts, designers, and programmers 3.Reusability of analysis, design, and programming results 4.Increased consistency among the models developed during object-oriented analysis, design, and programming A.4 4
  • 5. The Object-Oriented Modeling Approach (continued) ● Object-Oriented Systems Development Life Cycle – Process of progressively developing representation of a system component (or object) through the phases of analysis, design, and implementation – The model is abstract in the early stages – As the model evolves, it becomes more and more detailed A.5 5
  • 6. The Object-Oriented Systems Development Life Cycle ● Analysis Phase – Model of the real-world application is developed showing its important properties – Model specifies the functional behavior of the system independent of implementation details ● Design Phase – Analysis model is refined and adapted to the environment ● Implementation Phase – Design is implemented using a programming language or database management system A.6 6
  • 7. The Object-Oriented Systems Development Life Cycle (continued) ● Unified Modeling Language (UML) – A notation that allows the modeler to specify, visualize and construct the artifacts of software systems, as well as business models – Techniques and notations • Use cases • Class diagrams • State diagrams • Sequence diagrams A.7 7
  • 8. Use-Case Modeling ● Applied to analyze functional requirements of the system ● Performed during the analysis phase to help developers understand functional requirements of the system without regard for implementation details ● Use Case – A complete sequence of related actions initiated by an actor ● Actor – An external entity that interacts with the system A.8 8
  • 9. Use-Case Modeling ● Use cases represent complete functionality of the system ● Use cases may participate in relationships with other use cases ● Use cases may also use other use cases A.9 9
  • 10. A.10 10
  • 11. Object Modeling: Class Diagrams ● Object – An entity that has a well-defined role in the application domain, and has state, behavior, and identity ● State – A condition that encompasses an object’s properties and the values those properties have ● Behavior – A manner that represents how an object acts and reacts ● Object Class – A set of objects that share a common structure A.11 and a common behavior 11
  • 12. Object Modeling: Class Diagrams (continued) ● Class Diagram – Class is represented as a rectangle with three compartments – Objects can participate in relationships with objects of the same class A.12 12
  • 13. Object Modeling: Object Diagrams ● Object Diagram – A graph of instances that are compatible with a given class diagram; also called an instance diagram – Object is represented as a rectangle with two compartments ● Operation – A function or service that is provided by all the instances of a class ● Encapsulation – The technique of hiding the internal implementation details of an object from its external view A.13 13
  • 14. A.14 14
  • 15. Representing Associations ● Association – A relationship between object classes – Degree may be unary, binary, ternary or higher – Depicted as a solid line between participating classes ● Association Role – The end of an association where it connects to a class – Each role has multiplicity, which indicates how many objects participate in a given association relationship A.15 15
  • 16. A.16 16
  • 17. Representing Generalization ● Generalization – Abstraction of common features among multiple classes, as well as their relationships, into a more general class ● Subclass – A class that has been generalized ● Superclass – A class that is composed of several generalized subclasses A.17 17
  • 18. Representing Generalization (continued) ● Discriminator – Shows which property of an object class is being abstracted by a generalization relationship ● Inheritance – A property that a subclass inherits the features from its superclass ● Abstract Class – A class that has no direct instances but whose descendents may have direct instances ● Concrete Class – A class that can have direct instances A.18 18
  • 19. A.19 19
  • 20. Representing Aggregation ● Aggregation – A part-of relationship between a component object and an aggregate object – Example: Personal computer • Composed of CPU, Monitor, Keyboard, etc A.20 20
  • 21. Dynamic Modeling: State Diagrams ● State – A condition during the life of an object during which it satisfies some conditions, performs some actions or waits for some events – Shown as a rectangle with rounded corners ● State Transition – The changes in the attributes of an object or in the links an object has with other objects – Shown as a solid arrow – Diagrammed with a guard condition and action A.21 ● Event 21 – Something that takes place at a certain point in
  • 22. A.22 22
  • 23. Dynamic Modeling: Sequence Diagrams ● Sequence Diagram – A depiction of the interaction among objects during certain periods of time ● Activation – The time period during which an object performs an operation ● Messages – Means by which objects communicate with each other A.23 23
  • 24. Dynamic Modeling: Sequence Diagrams (continued) ● Synchronous Message – A type of message in which the caller has to wait for the receiving object to finish executing the called operation before it can resume execution itself ● Simple Message – A message that transfers control from the sender to the recipient without describing the details of the communication A.24 24
  • 25. A.25 25
  • 26. Moving to Design ● Start with existing set of analysis model ● Progressively add technical details ● Design model must be more detailed than analysis model ● Component Diagram – A diagram that shows the software components or modules and their dependencies ● Deployment Diagram – A diagram that shows how the software components, processes and objects are deployed into the physical architecture of the system A.26 26
  • 27. A.27 27
  • 28. Summary ● Object-Oriented Modeling Approach – Benefits – Unified Modeling Language • Use cases • Class diagrams • State diagrams • Sequence diagrams ● Use Case Modeling A.28 28
  • 29. Summary (continued) ● Object Modeling: Class Diagrams – Associations – Generalizations – Aggregation ● Dynamic Modeling: State Diagrams ● Dynamic Modeling: Sequence Diagrams ● Moving to Design A.29 29
  • 30. ● THANKS FOR ALL 30