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

Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLAjit Nayak
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design conceptssrijavel
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSMikel Raj
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologiesAmith Tiwari
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and designjayashri kolekar
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Object Oriented Analysis & Design
Object Oriented Analysis & DesignObject Oriented Analysis & Design
Object Oriented Analysis & DesignMeghaj Mallick
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)Arun Shukla
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagramRahul Pola
 

What's hot (20)

Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software quality
Software qualitySoftware quality
Software quality
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and design
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Object modeling
Object modelingObject modeling
Object modeling
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Object Oriented Analysis & Design
Object Oriented Analysis & DesignObject Oriented Analysis & Design
Object Oriented Analysis & Design
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 
Software design
Software designSoftware design
Software design
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
Ooad
OoadOoad
Ooad
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 

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 SE26koolkampus
 
Object Oriented Relationships
Object Oriented RelationshipsObject Oriented Relationships
Object Oriented RelationshipsTaher Barodawala
 
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 pptKunal Kishor Nirala
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering conceptsKomal Singh
 
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...julia121214
 
Oracle Sql Tuning
Oracle Sql TuningOracle Sql Tuning
Oracle Sql TuningChris Adkin
 
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 EtsyMike Brittain
 
Project Management With Scrum
Project Management With ScrumProject Management With Scrum
Project Management With ScrumTommy Norman
 
C the basic concepts
C the basic conceptsC the basic concepts
C the basic conceptsAbhinav Vatsa
 
Metaprogramming JavaScript
Metaprogramming  JavaScriptMetaprogramming  JavaScript
Metaprogramming JavaScriptdanwrong
 
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 ItLeading Edge Process Consultants LLC
 
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 BeginerManas Das
 
Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8Abdul Basit
 
Capability Maturity Model
Capability Maturity ModelCapability Maturity Model
Capability Maturity ModelUzair Akram
 
Organizational communication
Organizational communicationOrganizational communication
Organizational communicationNingsih 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

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...Isuru Perera
 
Architecture and design
Architecture and designArchitecture and design
Architecture and designhimanshu_airon
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manualPraseela R
 
chapter06-120827115400-phpapp01.pdf
chapter06-120827115400-phpapp01.pdfchapter06-120827115400-phpapp01.pdf
chapter06-120827115400-phpapp01.pdfAxmedMaxamuud6
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UMLyndaravind
 
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 ManagementAxmedMaxamuudYoonis
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagramsbarney92
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)Manoj Reddy
 
UNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxUNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxanguraju1
 
Design Patterns Part1
Design Patterns  Part1Design Patterns  Part1
Design Patterns Part1Tom Chen
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdfSHIVAM691605
 
UML and Case study
UML and Case study UML and Case study
UML and Case study Mihika-QA
 
Object analysis and design
Object analysis and designObject analysis and design
Object analysis and designAnand Grewal
 
Introduction To Design Patterns
Introduction To Design PatternsIntroduction To Design Patterns
Introduction To Design Patternssukumarraju6
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD pptPRIANKA R
 
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 worshopMohammad Shawahneh
 

Similar to Object Oriented Analysis and Design (20)

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 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
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

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

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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 WorkerThousandEyes
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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 DevelopmentsTrustArc
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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 educationjfdjdjcjdnsjd
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 

Recently uploaded (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

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