尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
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

Component level design
Component   level designComponent   level design
Component level design
Midhula Chandren
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)
Hirra Sultan
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
Babeetha Muruganantham
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
Manish Kumar
 
Object Oriented Analysis & Design
Object Oriented Analysis & DesignObject Oriented Analysis & Design
Object Oriented Analysis & Design
Meghaj Mallick
 
Software design
Software designSoftware design
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
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
Ashesh R
 
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
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
Kartik Raghuvanshi
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
Ajit Nayak
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
Kumar
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
Aman Jain
 
UML
UMLUML
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
Mubashir Jutt
 
Ooad ppt
Ooad pptOoad ppt
Ooad ppt
Radhika Yadav
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
Preeti Mishra
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
Rahul Pola
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
Swarnima Tiwari
 

What's hot (20)

Component level design
Component   level designComponent   level design
Component level design
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Object Oriented Analysis & Design
Object Oriented Analysis & DesignObject Oriented Analysis & Design
Object Oriented Analysis & Design
 
Software design
Software designSoftware design
Software design
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
 
UML
UMLUML
UML
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
 
Ooad ppt
Ooad pptOoad ppt
Ooad ppt
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 

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 Relationships
Object Oriented RelationshipsObject Oriented Relationships
Object Oriented Relationships
Taher Barodawala
 
Ph.D. Registeration seminar
Ph.D. Registeration seminarPh.D. Registeration seminar
Ph.D. Registeration seminar
Haitham El-Ghareeb
 
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 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
 
Lecture 01 - Research Methods
Lecture 01 - Research MethodsLecture 01 - Research Methods
Lecture 01 - Research Methods
Haitham El-Ghareeb
 
Paris ML meetup
Paris ML meetupParis ML meetup
Paris ML meetup
Yves Raimond
 
Oracle Sql Tuning
Oracle Sql TuningOracle Sql Tuning
Oracle Sql Tuning
Chris 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 Etsy
Mike Brittain
 
Organizational Communication
Organizational CommunicationOrganizational Communication
Organizational Communication
Dr. Vickram Aadityaa
 
Project Management With Scrum
Project Management With ScrumProject Management With Scrum
Project Management With Scrum
Tommy Norman
 
C the basic concepts
C the basic conceptsC the basic concepts
C the basic concepts
Abhinav Vatsa
 
Metaprogramming JavaScript
Metaprogramming  JavaScriptMetaprogramming  JavaScript
Metaprogramming JavaScript
danwrong
 
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
Leading 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 Beginer
Manas Das
 
Capability maturity model
Capability maturity modelCapability maturity model
Capability maturity model
Roy Antony Arnold G
 
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
 
Capability Maturity Model
Capability Maturity ModelCapability Maturity Model
Capability Maturity Model
Uzair Akram
 
Organizational communication
Organizational communicationOrganizational communication
Organizational communication
Ningsih SM
 
Gear Cutting Presentation for Polytechnic College Students of India
Gear Cutting Presentation for Polytechnic College Students of IndiaGear Cutting Presentation for Polytechnic College Students of India
Gear Cutting Presentation for Polytechnic College Students of India
kichu
 

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 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
 
Gear Cutting Presentation for Polytechnic College Students of India
Gear Cutting Presentation for Polytechnic College Students of IndiaGear Cutting Presentation for Polytechnic College Students of India
Gear Cutting Presentation for Polytechnic College Students of India
 

Similar to Object Oriented Analysis and Design

OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
Mikel Raj
 
Chapter 06
Chapter 06Chapter 06
Chapter 06
andyburghardt
 
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 design
himanshu_airon
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
Praseela R
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
VivekChaudhary93
 
chapter06-120827115400-phpapp01.pdf
chapter06-120827115400-phpapp01.pdfchapter06-120827115400-phpapp01.pdf
chapter06-120827115400-phpapp01.pdf
AxmedMaxamuud6
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
yndaravind
 
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
AxmedMaxamuudYoonis
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
barney92
 
UNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxUNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptx
anguraju1
 
Design Patterns Part1
Design Patterns  Part1Design Patterns  Part1
Design Patterns Part1
Tom Chen
 
ITSE_10(UML,OO).pptx
ITSE_10(UML,OO).pptxITSE_10(UML,OO).pptx
ITSE_10(UML,OO).pptx
mubashirahmed0296
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
SHIVAM691605
 
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 design
Anand Grewal
 
Introduction To Design Patterns
Introduction To Design PatternsIntroduction To Design Patterns
Introduction To Design Patterns
sukumarraju6
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD ppt
PRIANKA 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 worshop
Mohammad Shawahneh
 

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

مختصر وحدة التعلم الذاتي 2015
مختصر وحدة التعلم الذاتي 2015مختصر وحدة التعلم الذاتي 2015
مختصر وحدة التعلم الذاتي 2015
Haitham El-Ghareeb
 
وحدة التعلم الذاتي 2015
وحدة التعلم الذاتي 2015وحدة التعلم الذاتي 2015
وحدة التعلم الذاتي 2015
Haitham El-Ghareeb
 
NoSQL Databases, Not just a Buzzword
NoSQL Databases, Not just a Buzzword NoSQL Databases, Not just a Buzzword
NoSQL Databases, Not just a Buzzword
Haitham El-Ghareeb
 
EMC Academic Alliance Presentation
EMC Academic Alliance PresentationEMC Academic Alliance Presentation
EMC Academic Alliance Presentation
Haitham El-Ghareeb
 
DSA - 2012 - Conclusion
DSA - 2012 - ConclusionDSA - 2012 - Conclusion
DSA - 2012 - Conclusion
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
 
Lect07
Lect07Lect07
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
 
LectureNotes-06-DSA
LectureNotes-06-DSALectureNotes-06-DSA
LectureNotes-06-DSA
Haitham El-Ghareeb
 
LectureNotes-05-DSA
LectureNotes-05-DSALectureNotes-05-DSA
LectureNotes-05-DSA
Haitham El-Ghareeb
 
LectureNotes-04-DSA
LectureNotes-04-DSALectureNotes-04-DSA
LectureNotes-04-DSA
Haitham El-Ghareeb
 
LectureNotes-03-DSA
LectureNotes-03-DSALectureNotes-03-DSA
LectureNotes-03-DSA
Haitham El-Ghareeb
 
LectureNotes-02-DSA
LectureNotes-02-DSALectureNotes-02-DSA
LectureNotes-02-DSA
Haitham El-Ghareeb
 
LectureNotes-01-DSA
LectureNotes-01-DSALectureNotes-01-DSA
LectureNotes-01-DSA
Haitham El-Ghareeb
 
Lecture-05-DSA
Lecture-05-DSALecture-05-DSA
Lecture-05-DSA
Haitham El-Ghareeb
 
Learn Latex
Learn LatexLearn Latex
Learn Latex
Haitham El-Ghareeb
 
Research Methodologies - Lecture 02
Research Methodologies - Lecture 02Research Methodologies - Lecture 02
Research Methodologies - Lecture 02
Haitham El-Ghareeb
 
DSA-Lecture-05
DSA-Lecture-05DSA-Lecture-05
DSA-Lecture-05
Haitham El-Ghareeb
 
DSA - Lecture 04
DSA - Lecture 04DSA - Lecture 04
DSA - Lecture 04
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

Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State StoreElasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
ScyllaDB
 
Introduction to ThousandEyes AMER Webinar
Introduction  to ThousandEyes AMER WebinarIntroduction  to ThousandEyes AMER Webinar
Introduction to ThousandEyes AMER Webinar
ThousandEyes
 
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time MLMongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
ScyllaDB
 
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
Mydbops
 
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to SuccessDynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
ScyllaDB
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
Neeraj Kumar Singh
 
MongoDB to ScyllaDB: Technical Comparison and the Path to Success
MongoDB to ScyllaDB: Technical Comparison and the Path to SuccessMongoDB to ScyllaDB: Technical Comparison and the Path to Success
MongoDB to ScyllaDB: Technical Comparison and the Path to Success
ScyllaDB
 
intra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_Enintra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_En
NTTDATA INTRAMART
 
Multivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back againMultivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back again
Kieran Kunhya
 
Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...
Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...
Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...
anilsa9823
 
New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024
ThousandEyes
 
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDBScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB
 
Facilitation Skills - When to Use and Why.pptx
Facilitation Skills - When to Use and Why.pptxFacilitation Skills - When to Use and Why.pptx
Facilitation Skills - When to Use and Why.pptx
Knoldus Inc.
 
ThousandEyes New Product Features and Release Highlights: June 2024
ThousandEyes New Product Features and Release Highlights: June 2024ThousandEyes New Product Features and Release Highlights: June 2024
ThousandEyes New Product Features and Release Highlights: June 2024
ThousandEyes
 
So You've Lost Quorum: Lessons From Accidental Downtime
So You've Lost Quorum: Lessons From Accidental DowntimeSo You've Lost Quorum: Lessons From Accidental Downtime
So You've Lost Quorum: Lessons From Accidental Downtime
ScyllaDB
 
Fuxnet [EN] .pdf
Fuxnet [EN]                                   .pdfFuxnet [EN]                                   .pdf
Fuxnet [EN] .pdf
Overkill Security
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
ScyllaDB Real-Time Event Processing with CDC
ScyllaDB Real-Time Event Processing with CDCScyllaDB Real-Time Event Processing with CDC
ScyllaDB Real-Time Event Processing with CDC
ScyllaDB
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 

Recently uploaded (20)

Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State StoreElasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
 
Introduction to ThousandEyes AMER Webinar
Introduction  to ThousandEyes AMER WebinarIntroduction  to ThousandEyes AMER Webinar
Introduction to ThousandEyes AMER Webinar
 
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time MLMongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
MongoDB vs ScyllaDB: Tractian’s Experience with Real-Time ML
 
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
 
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to SuccessDynamoDB to ScyllaDB: Technical Comparison and the Path to Success
DynamoDB to ScyllaDB: Technical Comparison and the Path to Success
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
 
MongoDB to ScyllaDB: Technical Comparison and the Path to Success
MongoDB to ScyllaDB: Technical Comparison and the Path to SuccessMongoDB to ScyllaDB: Technical Comparison and the Path to Success
MongoDB to ScyllaDB: Technical Comparison and the Path to Success
 
intra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_Enintra-mart Accel series 2024 Spring updates_En
intra-mart Accel series 2024 Spring updates_En
 
Multivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back againMultivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back again
 
Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...
Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...
Call Girls Chennai ☎️ +91-7426014248 😍 Chennai Call Girl Beauty Girls Chennai...
 
New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024
 
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDBScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
 
Facilitation Skills - When to Use and Why.pptx
Facilitation Skills - When to Use and Why.pptxFacilitation Skills - When to Use and Why.pptx
Facilitation Skills - When to Use and Why.pptx
 
ThousandEyes New Product Features and Release Highlights: June 2024
ThousandEyes New Product Features and Release Highlights: June 2024ThousandEyes New Product Features and Release Highlights: June 2024
ThousandEyes New Product Features and Release Highlights: June 2024
 
So You've Lost Quorum: Lessons From Accidental Downtime
So You've Lost Quorum: Lessons From Accidental DowntimeSo You've Lost Quorum: Lessons From Accidental Downtime
So You've Lost Quorum: Lessons From Accidental Downtime
 
Fuxnet [EN] .pdf
Fuxnet [EN]                                   .pdfFuxnet [EN]                                   .pdf
Fuxnet [EN] .pdf
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
ScyllaDB Real-Time Event Processing with CDC
ScyllaDB Real-Time Event Processing with CDCScyllaDB Real-Time Event Processing with CDC
ScyllaDB Real-Time Event Processing with CDC
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 

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
  翻译: