ooad unit2

Click here to load reader

Post on 10-Apr-2018

223 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • 8/8/2019 OOAD unit2

    1/98

    Unit-2

    Rumbaugh Methodology Booch Methodology Jacobson Methodology Patterns Frameworks

    Unified Approach Unified Modeling Language Use case class diagram Interactive Diagram

    Collaboration Diagram State Diagram Activity Diagram.

  • 8/8/2019 OOAD unit2

    2/98

    Chapter Objectives

    You should be able to define and understand

    Object Oriented methodologies.

    - The Rumbaugh OMT- The Booch methodology

    - Jacobsons methodologies

    Patterns

    Frameworks

  • 8/8/2019 OOAD unit2

    3/98

    Rumbaughs Object Modeling Technique (OMT)

    -A method for analysis,design and implementation by

    an object oriented technique.

    -fast and intuitive approach for identifying and

    modeling all objects making up a system.-Class attributes, methods, inheritance and association can

    be expressed easily.

    -Dynamic behavior of objects can be described using

    the OMT dynamic model.-Detailed specification of state transitions and their-descriptions within a system

  • 8/8/2019 OOAD unit2

    4/98

    Four phases of OMT

    (can be performed iteratively) Analysis: objects,dynamic and

    functional models

    System Design: Basic architecture ofthe system.

    Object Design: static, dynamic andfunctional models of objects.

    Implementation: reusable, extendibleand robust code.

  • 8/8/2019 OOAD unit2

    5/98

    Three different parts of OMT

    modeling An object model - object model &

    data dictionary

    A dynamic model - state diagrams &event flow diagrams

    A functional model - data flow &

    constraints

  • 8/8/2019 OOAD unit2

    6/98

    Object Model structure of objects in a system.

    Identity, relationships to otherobjects, attributes and operations.

    Object diagram

  • 8/8/2019 OOAD unit2

    7/98

    Object Diagram Classes interconnected by

    association lines

    Classes- a set of individual objects

    Association lines- relationshipamong classes (i.e., objects of one

    class to objects of another class)

  • 8/8/2019 OOAD unit2

    8/98

    OMT Dynamic Model States, transitions, events and

    actions

    OMT state transition diagram-network of states and events

  • 8/8/2019 OOAD unit2

    9/98

    OMT Functional Model DFD- (Data Flow Diagram) Shows flow of data between different

    processes in a business. Simple and intuitive method for

    describing business processes without

    focusing on the details of computersystems.

  • 8/8/2019 OOAD unit2

    10/98

    Data Flow Diagram Four primary symbols

    Process- any function being performed

    Data Flow- Direction of data element movement

    Data Store Location where data is stored

    External Entity-Source or Destinationof a data element

  • 8/8/2019 OOAD unit2

    11/98

    The Booch Methodology Widely used OO method

    Uses the object paradigm

    Covers the design and analysisphase of an OO system

    Criticized for his large set ofsymbols

  • 8/8/2019 OOAD unit2

    12/98

    method Class diagrams-

    describe roles and responsibilities of objects Object diagrams

    describe the desired behavior of the system interms of scenarios

    State transition diagrams

    state of a class based on a stimulus

    Module diagrams

    to map out where each class & object should

    be declared Process diagrams

    to determine to which processor to allocate aprocess

    Interaction diagramsdescribes behavior of the system in terms of

  • 8/8/2019 OOAD unit2

    13/98

    Booch method prescribes: Macro Development Process

    Micro Development Process

  • 8/8/2019 OOAD unit2

    14/98

    Macro Development

    Process Controlling framework for the

    micro process.

    Primary concern-technicalmanagement of the system.

  • 8/8/2019 OOAD unit2

    15/98

    Steps for macro development

    process1. Conceptualization

    2. Analysis & Development of the model

    3. Design or create the systemarchitecture

    4. Evolution or implementation

    5. Maintenance

  • 8/8/2019 OOAD unit2

    16/98

    Micro Development ProcessEach macro process has its ownmicro development process

    Steps:- Identify classes & objects

    - Identify class & objects semantics

    - Identify class & object relationship- Identify class & objects interface

    and implementation

  • 8/8/2019 OOAD unit2

    17/98

    JACOBSON METHODOLOGIES Use Cases.

    Object Oriented SoftwareEngineering.

    Object Oriented BusinessEngineering.

  • 8/8/2019 OOAD unit2

    18/98

    Use Cases Understanding system requirements Interaction between Users and Systems The use case description must contain

    How and when the use case begins and ends. The Interaction between the use case and its actors,

    including when the interaction occurs and what isexchanged.

    How and when the use case will need data stored inthe system.

    Exception to the flow of events How and when concepts of the problem domain arehandled.

  • 8/8/2019 OOAD unit2

    19/98

    OOSE Object Oriented Software

    Engineering.

    Objectory is built models Use case model

    Domain object model

    Analysis object model Implementation model

    Test model

  • 8/8/2019 OOAD unit2

    20/98

    OOBE Object Oriented Business

    Engineering

    OOBE is object modeling at theenterprise level. Analysis phase

    Design and Implementation phaseTesting phase

    E.g. Unit testing, integration and system

    testing.

  • 8/8/2019 OOAD unit2

    21/98

    PATTERNS It is an instructive information that

    captures the essential structure

    and insight of a successful familyof proven solutions to a recurringproblem that arises within a

    certain context and system offorces.

  • 8/8/2019 OOAD unit2

    22/98

    Good Pattern will do the

    following It solves a problem.

    It is a proven concept.

    The Solution is not obvious.

    It describes a relationship.

    The pattern has a significanthuman component.

  • 8/8/2019 OOAD unit2

    23/98

    Patterns

    Patterns

    Generative Patterns(describe recurring phenomena

    with saying how to

    reproduce them)

    Non Generative Patterns(describe recurring phenomena

    without saying how to

    reproduce them)

  • 8/8/2019 OOAD unit2

    24/98

    Patterns Template Essential Components should be clearly

    recognizable on reading a pattern: Name

    Problem Context Forces Solution Examples Resulting context Rationale Related Patterns Known uses

  • 8/8/2019 OOAD unit2

    25/98

    Frameworks Way of delivering application

    development patterns to support

    best practice sharing duringapplication development.

    Can be viewed as theimplementation of a system ofdesign patterns.

  • 8/8/2019 OOAD unit2

    26/98

    Benefits of Frameworks Reusability

    Modularity

    Extensibility

    Inversion of Control

  • 8/8/2019 OOAD unit2

    27/98

    Difference between Patterns

    and Frameworks Design patterns are more abstract

    than frameworks.

    Design patterns are smallerarchitectural elements thanframeworks.

    Design patterns are lessspecialized than frameworks.

  • 8/8/2019 OOAD unit2

    28/98

    Model An abstract representation of a

    system.

    Types of model1. Use case model

    2. Domain model

    3. Analysis object model4. Implementation model

    5. Test model

  • 8/8/2019 OOAD unit2

    29/98

    Model Types of model

    Use case model defines the outside(actors) & inside (use case) of the

    systems behavior. Domain model maps real world object

    into the domain object model. Analysis object model how source code

    should be carried out & written. Implementation model represents the

    implementation of the system. Test model test plans, specifications &

    reports.

  • 8/8/2019 OOAD unit2

    30/98

    Model Model is an iterative process.

    It can represent static or dynamic

    situations. Model

    Static Dynamic

    Represents a systems behaviors

    that, taken together, reflect its

    behavior over time.

    (e.g.) interaction & activity diagrams

    Provides a systems

    parameters at rest or at a

    specific point in time.

    (e.g.) class diagram

  • 8/8/2019 OOAD unit2

    31/98

    Why modeling Blue print

    Clarity

    Familiarity

    Maintenance

    Simplification

  • 8/8/2019 OOAD unit2

    32/98

    Advantages of modeling Easy to express complex ideas

    Reduce complexity

    Enhance & reinforce learning andtraining

    Low cost

    Easy to change the model

  • 8/8/2019 OOAD unit2

    33/98

    What is Unified Modeling

    Language (UML)? The UML is a graphical /

    standard language for

    visualizing, specifying,constructing & documentingthe artifacts of a software

    system.

  • 8/8/2019 OOAD unit2

    34/98

    History of UML 1980 1990 Many different

    methodologies

    Booch method by Grady Booch Object Modeling Technique (OMT) by JimRumbaugh

    Object Oriented Software Engineering (OOSE) byIvar Jacobson

    Each method had its strengths &weaknesses. Booch was great in design OMT & OOSE were great in analysis

  • 8/8/2019 OOAD unit2

    35/98

    History of UMLUML 1.0 (Janua