SlideShare una empresa de Scribd logo
1 de 6
•Why Model?
            •Visualize a system.
            •Specify the structure or behavior of a system.
            •Give a template that guide you in constructing a system.
            •Document the design decisions.
•What are the four Model Principles?
            •Influence how the system is attacked.
            •Every model may be expressed at different level of precision.
            •Best models are connected to reality.
            •No single model is sufficient.
•What are the four basic principles of object orientation? Provide a brief description for each.
            •Abstraction: (Finding the commonalities among the objects) determining the essential characteristics of an
            object.
                      Def2: facilitates the easy conceptualization of real world objects, by eliminating the unnecessary
                           details of the object.
            •Encapsulation: hiding data with the methods operating on that data
                 Def2: object interface ensures that all communication with the object takes place through a set of
                 predefined operations.
            •Modularity: break complex system into smaller blocks that are each maintained independently.
            •Hierarchy: is any ranking or ordering of abstractions into a tree-like structure. Hierarchy is not an
            organizational chart or functional decomposition. Hierarchy is taxonomic organization. (Elements of the same
            level of the hierarchy should be at the same level of abstractions).
•What is an object and what is a class?
            •Object: is an entity with a well-defined boundary (that the purpose of the object should be clear) and
            identity that encapsulates state (represented by attributes and associations) and behavior (represented by
            methods, operations and state machines).
            •Class: is a description of a set of objects that share the same attributes, operations, relationships and
            semantics. Class is an abstraction that emphasize relevant characteristics and suppresses other characteristics.
   •What is the difference between the two?
            •Class is an abstraction definition of an object; define the structure and behavior of each object in the class.
            The class services as template for creating objects. The class is the static description
            •Object is a run-time instance of that class. Some objects represent real-world objects in the system context
            and other objects are only software objects to support the design.
•What is an attribute?
            •Attribute: is a named property that describes the range of values that may hold. (Class may have no
            attributes)
•What is an operation?
            •Operation: A service that can be requested from an object to effect behavior. An operation has a signature
            which may restrict the actual parameters that are possible. The operations in a class describes what the class
            can do.
•What is a class relationship? Give some examples.
            •Relationship: is a connection between classes;
                      •Association: (may have arrow head for navigability): association between classes specifies a
                      connection among their instances.
                      •Aggregation: (hollow diamond at the aggregate end; may have arrow head for navigability): is a
                      special form of association that models a whole-part relationship between an aggregate and part,
                      destroying the aggregate doesn't necessary destroy the parts. “part-of”
                      •Composition: (filled diamond at the aggregate end; may have arrow head for navigability): is a
                      stronger form of association in which the composite has sole responsibility for managing its parts.
                      •Dependency: (always have navigability): is a weaker relationship showing a relationship between a
                      client and supplier where the client does not have semantic knowledge of the supplier “non-
                      structural”. “using relationship”. Change on the supplier may cause a change in the client.
•Generalization: (always have navigability): a relationship among classes where one class shares the
                      structure and/or behavior of one or more classes. In which a subclass inherits from one or more
                      superclass. “is-a”. generalization is the relationship while the inherence is the modeling representation
                      •Realization: (always have navigability): is a semantic relationship between two classifiers. One
                      classifier serves as the contract and the other agrees to carry out.
•What is Reflexive association?
            •Reflexive association indicates one instance of a class has a relationship to another instance of the same class.
   •When to use Composite relationship over attributes?
            •Properties need independent identity.
            •Multiple classes share the same properties
            •properties have complex structure and properties of their own
            •properties have complex behavior
            •properties have relationships of their own
   •What is Navigability?
            •Navigability: indicates that it is possible to navigate from an associating class to the target class using
            association. (can be modeled by using arrow head on the target end; the default is bi-directional)
   •What is Multiplicity?
            •Is the number of instances one class relates to one instance of another class. For each association,Two
            multiplicity decisions to make, one for each end. Multiplicity answers 2 questions:
                      •is the association mandatory or optional?
                      •What is the minimum and maximum number of instances (links) that can be linked to one instance?
            •Multiplicity is modeled using comma-separated of integer ranges. There is no default multiplicity (the
            default is not defined multiplicity). Optional scalar is 0..1
•What is a Structured class?
            •Contains parts or roles that form its structure and realize its behavior. Connector represents communications
            paths among parts.
            •The role modeled using rectangle; while a reference to external object modeled by dashed rectangle.
•What is an interface?
            •A declaration of a coherent set of public features and obligations. It is like a contract between the providers
            and the consumers of services. Interfaces are the key to the “Plug-and-Play”.
            •Provided interface: the interfaces that the element provide to anonymous element.
            •Required Interface: the interface that the element uses (requires) from other elements.
            •The interface should have clear purpose. Classes may have multiple interfaces
•What is polymorphism?
            •the ability to hide many different implementations behind a single interface. Interfaces formalize
            polymorphism. Two elements are polymorphic with respect to a set of behaviors if they realize the same
            interfaces. “The same behaviors but different implementation”.
•What is a port?
            •Is a structural feature (it is created and destroyed along with its structured class) Encapsulates the interaction
            between the contents of a class and its environment. Ports behavior is specified by its provided and required
            interfaces.
            •Ports Types: Service Ports, Behavior Port and Relay Port.
•What are the purposes of requirements?
           •Establish main agreement with the client/stakeholder
           •provide system developers with a better understanding of the system
           •delimit the system
           •provide a basis for planning the technical content of iterations.
           •Basis for estimating cost/time
           •define a user interface.
•What are the main artifacts of Requirements?
           •Use-Case Model: describes a system's functional requirements in terms of use cases. The model serves as
           contract between the customer and the developers. The model must be easy to understand
           •Glossary:
           •Supplementary Specifications:
   •What is an actor?
           •Actor represents anything outside the system (coherent set of rules) that interacts with the system
   •What is the use case? List examples of use case properties.
           •Is a sequence of actions a system performs that yield an observable result of value to a particular actor. A use
           case describes what the system do (system behavior), but it does not specify how it does it.
           •Use case has a set of properties that can be documented in the use case specification. Such as Name, Brief
           description, flow of events, relationships, activity diagrams, use-case diagrams, Special req., preconditions,
           post-conditions and other diagrams
           •Use cases are not functional requirements list.
   •What are the benefits of the use case model?
           •Communication with end users.
           •Identification of system users and behaviors.
           •Verification that all requirements have been captured.
           •In general, use cases concise, simple, and understandable by a wide range of stakeholders. Help synchronize
           the content of the different models.
   •What is the difference between a use case and a scenario?
           •A scenario is an instance of a use case.
   •What si the Glossary?
           •Glossary defines important terms in the project.
   •What is the Supplementary Specification?
           •The nonfunctional requirements and functional requirements not captured by the use cases are included in this
           document. Supplementary specification contains functionality (general to many use cases), usability,
           reliability, performance, supportability, and design constraints.
   •What is the purpose of the analysis and design?
           •Transform the requirements into a system design.
           •Evolve a robust architecture.
           •Adapt the design to match the implementation environment, designing it for performance.
   •What are the input and output artifacts?
           •Input: use-case model, glossary, supplementary specification.
           •Output: design model that serves as an abstraction of the source code; that is, the design model consists of
           design classes structured into design packages; it also contains description of how objects of these classes
           collaborate.
   •What is the difference between analysis and design?
           •OO Analysis goal is to understand the problem and to begin to develop a visual model; analysis focuses on
           translating the functional requirements into software concepts.
           •OO Design goal is to refine the analysis model and adapt the implementation and development environment.
   •What is architecture?
           •Architecture encompasses a set of significant decisions about the organization of a software system,
           architecture decisions constrain design and implementation decisions, architecture decisions are most
           fundamental and changing them will have serious impact; such decisions:
                     •the architecture has static perspective (selection of structural elements and their interfaces)
                     •dynamic (elements behavior and collaboration) perspective.
•Elements Composition into larger systems.
                 •Architectural style (patterns) guides the organization of the elements.
•Name and briefly describe the 4+1 views of architecture?
       •Logical View: Analysts/Designers; Structure.
       •Implementation View: Programmers; Software management.
       •Process View: System integrators; performance, scalability, and throughput.
       •Deployment View: System engineers; topology, installation, delivery and communication.
•What is the Designer role and skills?
       •Role: defines the responsibilities, operations, attributes, and relationships of the classes, and determines how
       to adjust (adapt) the classes to the implementation environment.
       •Skills: Use-case modeling, system requirements, software design techniques, technologies with which the
       system will be implemented, and understand the architecture of the system.
•What is a use case Realization?
       •Describes how a particular use case is realized within then design model, in terms of collaborating objects. A
       use case realization specifies what classes must be built to implement each use case. A use case realization in
       the design model can be traced to a use case in the use case model.
       •In UML, the use case realization can be represented using a set of diagrams that model the collaborations
       (class diagram) and the interactions of the collaborations (communication and sequence diagram).
•What is the value of Use case Realization?
       •Provides traceability from analysis and design back to requirements.
•What is the purpose of Architectural Analysis?
            •Define a candidate architecture for the system based on experience gained from similar systems.
            •Define the architectural patterns, key mechanisms, and modeling conventions for the system.
            •Define the reuse strategy.
            •Provide input to the planning process.
            •In general, during architectural analysis an initial attempt is made to define the parts of the system and their
            relationship, organizing these parts into well-defined layers with explicit dependencies , concentrating on the
            upper layers of the system
•What is a package?
            •A package is a general-purpose mechanism for organizing elements into groups. It is a model element that
            can contain other model elements. Packages can be related to one another using a dependency relationship
            (elements of a package import elements from another package); which implies that the changes on the supplier
            may affect the client package, and the client package can't be reused without the supplier. (Circular
            Dependencies should be avoided, make it acyclic).
•What is the Pattern?
            •Pattern is a common solution for a common problem.
   •What is the framework?
            •Defines a general approach to solving the problem. It provides a skeletal solution, whose details may be
            analysis/design patterns. (it is a micro-architecture that provides an incomplete template)
•What is a Layered Architecture? Give examples of typical layers.
            •Layering represents an order grouping of functionality with the application-specific (only one layer) functions
            located in the upper layers, domain functionality (one or more business layer) in the middle and the technology
            specific functionality (deployment environment functionality) at lower layers.
            •When layering, concentrate on grouping similar things, as well as encapsulating change.
            •Typical Layering:
                      •Application-specific layer
                      •Business-specific layer
                      •middle-ware
                      •System Software
•How to model Layer?
            •Using stereotyped packages “<<layer>>”
•What are analysis mechanisms? Give examples.
            •Represents a pattern; these mechanisms show patterns of structure or patterns of behavior or both. They are
            used to reduce the complexity of the analysis and to improve its consistency by providing a shorthand for
            complex behaviors.
            •Analysis mechanism used as placeholders for complex technology in the middle and lower layers.
            •Examples: persistency, communication, routing, distribution, transaction management, Security and legacy
            interface.
•What key abstractions are identified during architectural analysis? Why are they identified here?
            •Key abstractions is a concept, normally uncovered in requirements, that the system must be able to handle.
            •Sources of key abstractions: domain knowledge, requirements, glossary, domain model/business model. (will
            reduce any duplicate effort between the analysis teams)
            •Identified here because there is no need to repeat the identification work again in the use-case analysis.
            •Analysis classes identified at this point will probably change.




•What is the purpose of use-case analysis?
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•What is an Analysis class? Name and describe the 3 analysis stereotypes.
•
•
•
•
•
•
•
•
•
•
•
•describe some considerations when allocating responsibilities to analysis classes
•
•
•
•
•
•
•
•

Más contenido relacionado

La actualidad más candente

Object oriented modeling
Object oriented modelingObject oriented modeling
Object oriented modelingPooja Dixit
 
GoF Design patterns I: Introduction + Structural Patterns
GoF Design patterns I:   Introduction + Structural PatternsGoF Design patterns I:   Introduction + Structural Patterns
GoF Design patterns I: Introduction + Structural PatternsSameh Deabes
 
39f1b9a797dbms chapter2 b.sc2
39f1b9a797dbms chapter2 b.sc239f1b9a797dbms chapter2 b.sc2
39f1b9a797dbms chapter2 b.sc2Mukund Trivedi
 
39f1b9a797dbms chapter2 b.sc2 (1)
39f1b9a797dbms chapter2 b.sc2 (1)39f1b9a797dbms chapter2 b.sc2 (1)
39f1b9a797dbms chapter2 b.sc2 (1)Mukund Trivedi
 
Introduction to Object Oriented Concepts
Introduction to Object Oriented Concepts Introduction to Object Oriented Concepts
Introduction to Object Oriented Concepts Mamoun Nawahdah
 
Software Engineering :UML class diagrams
Software Engineering :UML class diagramsSoftware Engineering :UML class diagrams
Software Engineering :UML class diagramsAjit Nayak
 
Unit 3 object analysis-classification
Unit 3 object analysis-classificationUnit 3 object analysis-classification
Unit 3 object analysis-classificationgopal10scs185
 
Software enginering.group-no-11 (1)
Software enginering.group-no-11 (1)Software enginering.group-no-11 (1)
Software enginering.group-no-11 (1)riarana10
 
Handout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignHandout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignSAFAD ISMAIL
 
Itp oo mand-d
Itp oo mand-dItp oo mand-d
Itp oo mand-dShibu S R
 

La actualidad más candente (13)

Design rule 3
Design rule 3Design rule 3
Design rule 3
 
Object oriented modeling
Object oriented modelingObject oriented modeling
Object oriented modeling
 
GoF Design patterns I: Introduction + Structural Patterns
GoF Design patterns I:   Introduction + Structural PatternsGoF Design patterns I:   Introduction + Structural Patterns
GoF Design patterns I: Introduction + Structural Patterns
 
39f1b9a797dbms chapter2 b.sc2
39f1b9a797dbms chapter2 b.sc239f1b9a797dbms chapter2 b.sc2
39f1b9a797dbms chapter2 b.sc2
 
39f1b9a797dbms chapter2 b.sc2 (1)
39f1b9a797dbms chapter2 b.sc2 (1)39f1b9a797dbms chapter2 b.sc2 (1)
39f1b9a797dbms chapter2 b.sc2 (1)
 
Introduction to Object Oriented Concepts
Introduction to Object Oriented Concepts Introduction to Object Oriented Concepts
Introduction to Object Oriented Concepts
 
Software Engineering :UML class diagrams
Software Engineering :UML class diagramsSoftware Engineering :UML class diagrams
Software Engineering :UML class diagrams
 
Unit 3 object analysis-classification
Unit 3 object analysis-classificationUnit 3 object analysis-classification
Unit 3 object analysis-classification
 
Software enginering.group-no-11 (1)
Software enginering.group-no-11 (1)Software enginering.group-no-11 (1)
Software enginering.group-no-11 (1)
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
Handout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignHandout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and Design
 
Chapter 8 java
Chapter 8 javaChapter 8 java
Chapter 8 java
 
Itp oo mand-d
Itp oo mand-dItp oo mand-d
Itp oo mand-d
 

Destacado

Professional Profile
Professional ProfileProfessional Profile
Professional ProfileAwidge
 
160116_Certificat-Travail-Ueli2
160116_Certificat-Travail-Ueli2160116_Certificat-Travail-Ueli2
160116_Certificat-Travail-Ueli2Gianpaolo Rando
 
Contratacion nucleos de formacion artística
Contratacion nucleos de formacion artísticaContratacion nucleos de formacion artística
Contratacion nucleos de formacion artísticaengativacultural
 
Virtualizion: Maximize Your Resources
Virtualizion: Maximize Your ResourcesVirtualizion: Maximize Your Resources
Virtualizion: Maximize Your ResourcesTecstride
 
Mesa 1363 oropel hasta palavecino
Mesa 1363   oropel hasta palavecinoMesa 1363   oropel hasta palavecino
Mesa 1363 oropel hasta palavecinoGabriel Conte
 
Metodologia de bruno munari
Metodologia de bruno munariMetodologia de bruno munari
Metodologia de bruno munariKlaudhia Payarez
 
Savoldi vittoria paper moda
Savoldi vittoria   paper modaSavoldi vittoria   paper moda
Savoldi vittoria paper modaVittoria Savoldi
 
GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5
GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5
GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5Jeff Larkin
 
PCI security requirements secure coding and code review 2014
PCI security requirements   secure coding and code review 2014PCI security requirements   secure coding and code review 2014
PCI security requirements secure coding and code review 2014Haitham Raik
 
Red hat linux essentials
Red hat linux essentialsRed hat linux essentials
Red hat linux essentialsHaitham Raik
 

Destacado (15)

Professional Profile
Professional ProfileProfessional Profile
Professional Profile
 
160116_Certificat-Travail-Ueli2
160116_Certificat-Travail-Ueli2160116_Certificat-Travail-Ueli2
160116_Certificat-Travail-Ueli2
 
Khalig Atakishiyev CV
Khalig Atakishiyev CVKhalig Atakishiyev CV
Khalig Atakishiyev CV
 
Contratacion nucleos de formacion artística
Contratacion nucleos de formacion artísticaContratacion nucleos de formacion artística
Contratacion nucleos de formacion artística
 
Virtualizion: Maximize Your Resources
Virtualizion: Maximize Your ResourcesVirtualizion: Maximize Your Resources
Virtualizion: Maximize Your Resources
 
Mesa 1363 oropel hasta palavecino
Mesa 1363   oropel hasta palavecinoMesa 1363   oropel hasta palavecino
Mesa 1363 oropel hasta palavecino
 
Metodologia de bruno munari
Metodologia de bruno munariMetodologia de bruno munari
Metodologia de bruno munari
 
Savoldi vittoria paper moda
Savoldi vittoria   paper modaSavoldi vittoria   paper moda
Savoldi vittoria paper moda
 
GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5
GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5
GTC16 - S6410 - Comparing OpenACC 2.5 and OpenMP 4.5
 
Gandini forma 2016
Gandini forma 2016Gandini forma 2016
Gandini forma 2016
 
คู่มือติดตั้ง Obeclms for linux
คู่มือติดตั้ง Obeclms for linuxคู่มือติดตั้ง Obeclms for linux
คู่มือติดตั้ง Obeclms for linux
 
SM-Twittometro "CESAR ACUÑA"
SM-Twittometro "CESAR ACUÑA"SM-Twittometro "CESAR ACUÑA"
SM-Twittometro "CESAR ACUÑA"
 
SM-Twittometro Lourdes Flores
SM-Twittometro Lourdes FloresSM-Twittometro Lourdes Flores
SM-Twittometro Lourdes Flores
 
PCI security requirements secure coding and code review 2014
PCI security requirements   secure coding and code review 2014PCI security requirements   secure coding and code review 2014
PCI security requirements secure coding and code review 2014
 
Red hat linux essentials
Red hat linux essentialsRed hat linux essentials
Red hat linux essentials
 

Similar a IBM OOAD Part1 Summary

Structural modeling and analysis
Structural modeling and analysisStructural modeling and analysis
Structural modeling and analysisJIGAR MAKHIJA
 
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptChapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptRushikeshChikane1
 
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptChapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptRushikeshChikane2
 
Behavioral pattern By:-Priyanka Pradhan
Behavioral pattern By:-Priyanka PradhanBehavioral pattern By:-Priyanka Pradhan
Behavioral pattern By:-Priyanka PradhanPriyanka Pradhan
 
Oo concepts and class modeling
Oo concepts and class modelingOo concepts and class modeling
Oo concepts and class modelingPreeti Mishra
 
Design pattern and their application
Design pattern and their applicationDesign pattern and their application
Design pattern and their applicationHiệp Tiến
 
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtapOverview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtapVikas Jagtap
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UMLSwatiS-BA
 
UML Training for Business Analysts
UML Training for Business AnalystsUML Training for Business Analysts
UML Training for Business AnalystsSwatiS-BA
 
MODELLING WITH OBJECTS.pptx
MODELLING WITH OBJECTS.pptxMODELLING WITH OBJECTS.pptx
MODELLING WITH OBJECTS.pptxTarun710971
 
Slide 5 Class Diagram
Slide 5 Class DiagramSlide 5 Class Diagram
Slide 5 Class DiagramNiloy Rocker
 
UML-class diagram for beginners to adance.ppt
UML-class diagram for beginners to adance.pptUML-class diagram for beginners to adance.ppt
UML-class diagram for beginners to adance.pptWorkDrive2
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UMLVeneet-BA
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UMLVeneet-BA
 

Similar a IBM OOAD Part1 Summary (20)

Structural modeling and analysis
Structural modeling and analysisStructural modeling and analysis
Structural modeling and analysis
 
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptChapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.ppt
 
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptChapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.ppt
 
Behavioral pattern By:-Priyanka Pradhan
Behavioral pattern By:-Priyanka PradhanBehavioral pattern By:-Priyanka Pradhan
Behavioral pattern By:-Priyanka Pradhan
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Ooad ch 2
Ooad ch 2Ooad ch 2
Ooad ch 2
 
Ooad ch 1_2
Ooad ch 1_2Ooad ch 1_2
Ooad ch 1_2
 
Oo concepts and class modeling
Oo concepts and class modelingOo concepts and class modeling
Oo concepts and class modeling
 
Design pattern and their application
Design pattern and their applicationDesign pattern and their application
Design pattern and their application
 
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtapOverview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
UML Training for Business Analysts
UML Training for Business AnalystsUML Training for Business Analysts
UML Training for Business Analysts
 
Introduction
IntroductionIntroduction
Introduction
 
07 intro2 oop
07 intro2 oop07 intro2 oop
07 intro2 oop
 
MODELLING WITH OBJECTS.pptx
MODELLING WITH OBJECTS.pptxMODELLING WITH OBJECTS.pptx
MODELLING WITH OBJECTS.pptx
 
Slide 5 Class Diagram
Slide 5 Class DiagramSlide 5 Class Diagram
Slide 5 Class Diagram
 
UML-class diagram for beginners to adance.ppt
UML-class diagram for beginners to adance.pptUML-class diagram for beginners to adance.ppt
UML-class diagram for beginners to adance.ppt
 
UML-class_diagram.ppt
UML-class_diagram.pptUML-class_diagram.ppt
UML-class_diagram.ppt
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
 

Más de Haitham Raik

History of Software Architecture
History of Software ArchitectureHistory of Software Architecture
History of Software ArchitectureHaitham Raik
 
Unified Microservices Patterns List
Unified Microservices Patterns ListUnified Microservices Patterns List
Unified Microservices Patterns ListHaitham Raik
 
Advanced Hibernate V2
Advanced Hibernate V2Advanced Hibernate V2
Advanced Hibernate V2Haitham Raik
 
PCI Security Requirements - secure coding
PCI Security Requirements - secure codingPCI Security Requirements - secure coding
PCI Security Requirements - secure codingHaitham Raik
 
Object Oriented Analysis and Design with UML2 part2
Object Oriented Analysis and Design with UML2 part2Object Oriented Analysis and Design with UML2 part2
Object Oriented Analysis and Design with UML2 part2Haitham Raik
 
Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1Haitham Raik
 
Advanced Hibernate
Advanced HibernateAdvanced Hibernate
Advanced HibernateHaitham Raik
 

Más de Haitham Raik (10)

History of Software Architecture
History of Software ArchitectureHistory of Software Architecture
History of Software Architecture
 
Unified Microservices Patterns List
Unified Microservices Patterns ListUnified Microservices Patterns List
Unified Microservices Patterns List
 
GIT In Detail
GIT In DetailGIT In Detail
GIT In Detail
 
Advanced Hibernate V2
Advanced Hibernate V2Advanced Hibernate V2
Advanced Hibernate V2
 
PCI Security Requirements - secure coding
PCI Security Requirements - secure codingPCI Security Requirements - secure coding
PCI Security Requirements - secure coding
 
Object Oriented Analysis and Design with UML2 part2
Object Oriented Analysis and Design with UML2 part2Object Oriented Analysis and Design with UML2 part2
Object Oriented Analysis and Design with UML2 part2
 
Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1
 
JEE5 New Features
JEE5 New FeaturesJEE5 New Features
JEE5 New Features
 
JMX
JMXJMX
JMX
 
Advanced Hibernate
Advanced HibernateAdvanced Hibernate
Advanced Hibernate
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
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
 
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
 
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...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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 Processorsdebabhi2
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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...
 
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
 
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
 
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...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
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
 

IBM OOAD Part1 Summary

  • 1. •Why Model? •Visualize a system. •Specify the structure or behavior of a system. •Give a template that guide you in constructing a system. •Document the design decisions. •What are the four Model Principles? •Influence how the system is attacked. •Every model may be expressed at different level of precision. •Best models are connected to reality. •No single model is sufficient. •What are the four basic principles of object orientation? Provide a brief description for each. •Abstraction: (Finding the commonalities among the objects) determining the essential characteristics of an object. Def2: facilitates the easy conceptualization of real world objects, by eliminating the unnecessary details of the object. •Encapsulation: hiding data with the methods operating on that data Def2: object interface ensures that all communication with the object takes place through a set of predefined operations. •Modularity: break complex system into smaller blocks that are each maintained independently. •Hierarchy: is any ranking or ordering of abstractions into a tree-like structure. Hierarchy is not an organizational chart or functional decomposition. Hierarchy is taxonomic organization. (Elements of the same level of the hierarchy should be at the same level of abstractions). •What is an object and what is a class? •Object: is an entity with a well-defined boundary (that the purpose of the object should be clear) and identity that encapsulates state (represented by attributes and associations) and behavior (represented by methods, operations and state machines). •Class: is a description of a set of objects that share the same attributes, operations, relationships and semantics. Class is an abstraction that emphasize relevant characteristics and suppresses other characteristics. •What is the difference between the two? •Class is an abstraction definition of an object; define the structure and behavior of each object in the class. The class services as template for creating objects. The class is the static description •Object is a run-time instance of that class. Some objects represent real-world objects in the system context and other objects are only software objects to support the design. •What is an attribute? •Attribute: is a named property that describes the range of values that may hold. (Class may have no attributes) •What is an operation? •Operation: A service that can be requested from an object to effect behavior. An operation has a signature which may restrict the actual parameters that are possible. The operations in a class describes what the class can do. •What is a class relationship? Give some examples. •Relationship: is a connection between classes; •Association: (may have arrow head for navigability): association between classes specifies a connection among their instances. •Aggregation: (hollow diamond at the aggregate end; may have arrow head for navigability): is a special form of association that models a whole-part relationship between an aggregate and part, destroying the aggregate doesn't necessary destroy the parts. “part-of” •Composition: (filled diamond at the aggregate end; may have arrow head for navigability): is a stronger form of association in which the composite has sole responsibility for managing its parts. •Dependency: (always have navigability): is a weaker relationship showing a relationship between a client and supplier where the client does not have semantic knowledge of the supplier “non- structural”. “using relationship”. Change on the supplier may cause a change in the client.
  • 2. •Generalization: (always have navigability): a relationship among classes where one class shares the structure and/or behavior of one or more classes. In which a subclass inherits from one or more superclass. “is-a”. generalization is the relationship while the inherence is the modeling representation •Realization: (always have navigability): is a semantic relationship between two classifiers. One classifier serves as the contract and the other agrees to carry out. •What is Reflexive association? •Reflexive association indicates one instance of a class has a relationship to another instance of the same class. •When to use Composite relationship over attributes? •Properties need independent identity. •Multiple classes share the same properties •properties have complex structure and properties of their own •properties have complex behavior •properties have relationships of their own •What is Navigability? •Navigability: indicates that it is possible to navigate from an associating class to the target class using association. (can be modeled by using arrow head on the target end; the default is bi-directional) •What is Multiplicity? •Is the number of instances one class relates to one instance of another class. For each association,Two multiplicity decisions to make, one for each end. Multiplicity answers 2 questions: •is the association mandatory or optional? •What is the minimum and maximum number of instances (links) that can be linked to one instance? •Multiplicity is modeled using comma-separated of integer ranges. There is no default multiplicity (the default is not defined multiplicity). Optional scalar is 0..1 •What is a Structured class? •Contains parts or roles that form its structure and realize its behavior. Connector represents communications paths among parts. •The role modeled using rectangle; while a reference to external object modeled by dashed rectangle. •What is an interface? •A declaration of a coherent set of public features and obligations. It is like a contract between the providers and the consumers of services. Interfaces are the key to the “Plug-and-Play”. •Provided interface: the interfaces that the element provide to anonymous element. •Required Interface: the interface that the element uses (requires) from other elements. •The interface should have clear purpose. Classes may have multiple interfaces •What is polymorphism? •the ability to hide many different implementations behind a single interface. Interfaces formalize polymorphism. Two elements are polymorphic with respect to a set of behaviors if they realize the same interfaces. “The same behaviors but different implementation”. •What is a port? •Is a structural feature (it is created and destroyed along with its structured class) Encapsulates the interaction between the contents of a class and its environment. Ports behavior is specified by its provided and required interfaces. •Ports Types: Service Ports, Behavior Port and Relay Port.
  • 3. •What are the purposes of requirements? •Establish main agreement with the client/stakeholder •provide system developers with a better understanding of the system •delimit the system •provide a basis for planning the technical content of iterations. •Basis for estimating cost/time •define a user interface. •What are the main artifacts of Requirements? •Use-Case Model: describes a system's functional requirements in terms of use cases. The model serves as contract between the customer and the developers. The model must be easy to understand •Glossary: •Supplementary Specifications: •What is an actor? •Actor represents anything outside the system (coherent set of rules) that interacts with the system •What is the use case? List examples of use case properties. •Is a sequence of actions a system performs that yield an observable result of value to a particular actor. A use case describes what the system do (system behavior), but it does not specify how it does it. •Use case has a set of properties that can be documented in the use case specification. Such as Name, Brief description, flow of events, relationships, activity diagrams, use-case diagrams, Special req., preconditions, post-conditions and other diagrams •Use cases are not functional requirements list. •What are the benefits of the use case model? •Communication with end users. •Identification of system users and behaviors. •Verification that all requirements have been captured. •In general, use cases concise, simple, and understandable by a wide range of stakeholders. Help synchronize the content of the different models. •What is the difference between a use case and a scenario? •A scenario is an instance of a use case. •What si the Glossary? •Glossary defines important terms in the project. •What is the Supplementary Specification? •The nonfunctional requirements and functional requirements not captured by the use cases are included in this document. Supplementary specification contains functionality (general to many use cases), usability, reliability, performance, supportability, and design constraints. •What is the purpose of the analysis and design? •Transform the requirements into a system design. •Evolve a robust architecture. •Adapt the design to match the implementation environment, designing it for performance. •What are the input and output artifacts? •Input: use-case model, glossary, supplementary specification. •Output: design model that serves as an abstraction of the source code; that is, the design model consists of design classes structured into design packages; it also contains description of how objects of these classes collaborate. •What is the difference between analysis and design? •OO Analysis goal is to understand the problem and to begin to develop a visual model; analysis focuses on translating the functional requirements into software concepts. •OO Design goal is to refine the analysis model and adapt the implementation and development environment. •What is architecture? •Architecture encompasses a set of significant decisions about the organization of a software system, architecture decisions constrain design and implementation decisions, architecture decisions are most fundamental and changing them will have serious impact; such decisions: •the architecture has static perspective (selection of structural elements and their interfaces) •dynamic (elements behavior and collaboration) perspective.
  • 4. •Elements Composition into larger systems. •Architectural style (patterns) guides the organization of the elements. •Name and briefly describe the 4+1 views of architecture? •Logical View: Analysts/Designers; Structure. •Implementation View: Programmers; Software management. •Process View: System integrators; performance, scalability, and throughput. •Deployment View: System engineers; topology, installation, delivery and communication. •What is the Designer role and skills? •Role: defines the responsibilities, operations, attributes, and relationships of the classes, and determines how to adjust (adapt) the classes to the implementation environment. •Skills: Use-case modeling, system requirements, software design techniques, technologies with which the system will be implemented, and understand the architecture of the system. •What is a use case Realization? •Describes how a particular use case is realized within then design model, in terms of collaborating objects. A use case realization specifies what classes must be built to implement each use case. A use case realization in the design model can be traced to a use case in the use case model. •In UML, the use case realization can be represented using a set of diagrams that model the collaborations (class diagram) and the interactions of the collaborations (communication and sequence diagram). •What is the value of Use case Realization? •Provides traceability from analysis and design back to requirements.
  • 5. •What is the purpose of Architectural Analysis? •Define a candidate architecture for the system based on experience gained from similar systems. •Define the architectural patterns, key mechanisms, and modeling conventions for the system. •Define the reuse strategy. •Provide input to the planning process. •In general, during architectural analysis an initial attempt is made to define the parts of the system and their relationship, organizing these parts into well-defined layers with explicit dependencies , concentrating on the upper layers of the system •What is a package? •A package is a general-purpose mechanism for organizing elements into groups. It is a model element that can contain other model elements. Packages can be related to one another using a dependency relationship (elements of a package import elements from another package); which implies that the changes on the supplier may affect the client package, and the client package can't be reused without the supplier. (Circular Dependencies should be avoided, make it acyclic). •What is the Pattern? •Pattern is a common solution for a common problem. •What is the framework? •Defines a general approach to solving the problem. It provides a skeletal solution, whose details may be analysis/design patterns. (it is a micro-architecture that provides an incomplete template) •What is a Layered Architecture? Give examples of typical layers. •Layering represents an order grouping of functionality with the application-specific (only one layer) functions located in the upper layers, domain functionality (one or more business layer) in the middle and the technology specific functionality (deployment environment functionality) at lower layers. •When layering, concentrate on grouping similar things, as well as encapsulating change. •Typical Layering: •Application-specific layer •Business-specific layer •middle-ware •System Software •How to model Layer? •Using stereotyped packages “<<layer>>” •What are analysis mechanisms? Give examples. •Represents a pattern; these mechanisms show patterns of structure or patterns of behavior or both. They are used to reduce the complexity of the analysis and to improve its consistency by providing a shorthand for complex behaviors. •Analysis mechanism used as placeholders for complex technology in the middle and lower layers. •Examples: persistency, communication, routing, distribution, transaction management, Security and legacy interface. •What key abstractions are identified during architectural analysis? Why are they identified here? •Key abstractions is a concept, normally uncovered in requirements, that the system must be able to handle. •Sources of key abstractions: domain knowledge, requirements, glossary, domain model/business model. (will reduce any duplicate effort between the analysis teams) •Identified here because there is no need to repeat the identification work again in the use-case analysis. •Analysis classes identified at this point will probably change. •What is the purpose of use-case analysis? •
  • 6. • • • • • • • • • • • • • • • • • • • •What is an Analysis class? Name and describe the 3 analysis stereotypes. • • • • • • • • • • • •describe some considerations when allocating responsibilities to analysis classes • • • • • • • •