OOSDLab03-The Movement to Objects

Embed Size (px)

Citation preview

  • 7/31/2019 OOSDLab03-The Movement to Objects

    1/27

    Systems Analysis and Design with UML 2.0, Third Edition

    THE MOVEMENT TO OBJECTS

  • 7/31/2019 OOSDLab03-The Movement to Objects

    2/27

    Objective

    Understand the basic characteristics of object-oriented systems

    Be familiar with the Unified Modeling Language (UML) Version 2.0

    Be familiar with the Unified Process

  • 7/31/2019 OOSDLab03-The Movement to Objects

    3/27

    Basic Characteristics of Object-Oriented

    Systems

    Classes and Objects

    Methods and Messages

    Encapsulation and Information Hiding

    Inheritance

    Polymorphism and Dynamic Binding

  • 7/31/2019 OOSDLab03-The Movement to Objects

    4/27

    Basic Characteristics of Object

    Oriented Systems (Cont.)

    An Object is a thing (person, place, etc) which we want to capture

    information

    An Object has attributes that describe information about the object

    Objects are grouped into classes (collections of objects that share

    common attributes and methods)

  • 7/31/2019 OOSDLab03-The Movement to Objects

    5/27

    Basic Characteristics of Object

    Oriented Systems (Cont.)

    Hierarchy of classes helps reducing redundancy in development

    An Object has behaviors which are described by methods that

    specify what an object can do

    Objects communicate by sending messages which trigger methods

  • 7/31/2019 OOSDLab03-The Movement to Objects

    6/27

    Classes and Objects

    Class Template to define specific instances or objects

    Object Initiation of a class

    Attributes Describe the object

    Behaviors Specify what can object do

  • 7/31/2019 OOSDLab03-The Movement to Objects

    7/27

    Classes and Objects (Cont.)

  • 7/31/2019 OOSDLab03-The Movement to Objects

    8/27

    Methods and Messages

    Methods implement an object behavior

    Analogous to a function or procedure

    Messages are sent to trigger methods

    Procedure call from one object to the next

  • 7/31/2019 OOSDLab03-The Movement to Objects

    9/27

    Methods and Messages

  • 7/31/2019 OOSDLab03-The Movement to Objects

    10/27

    Encapsulation and Information Hiding

    Encapsulation combination of data and

    process into entity

    Information Hiding only the information

    required to use a software module is published to

    user

    Reusability Key use an object by calling

    methods

  • 7/31/2019 OOSDLab03-The Movement to Objects

    11/27

    Inheritance

    Superclasses or general classes are at the top

    of hierarchy of classes

    Subclasses or specific classes are at the botom

    Subclasses inherit attributes and methods

    from classes higher in the hierarchy

  • 7/31/2019 OOSDLab03-The Movement to Objects

    12/27

    Inheritance (Cont.)

  • 7/31/2019 OOSDLab03-The Movement to Objects

    13/27

    Inheritance (Cont.)

  • 7/31/2019 OOSDLab03-The Movement to Objects

    14/27

    Polymorphism and Dynamic Binding

    Polymorphism

    a message can be interpreted differently by different

    classes of objects

    Dynamic Binding

    Sometimes call late binding

    Delays typing or choosing a method for an object until

    run-time

  • 7/31/2019 OOSDLab03-The Movement to Objects

    15/27

    Polymorphism and Encapsulation

    (Cont.)

  • 7/31/2019 OOSDLab03-The Movement to Objects

    16/27

    Object-Oriented System Analysis and

    Design

    Use-case driven

    Architecture Centric

    Iterative and Incremental

    The Unified Process

  • 7/31/2019 OOSDLab03-The Movement to Objects

    17/27

    Before the UML

    Evolution of OO Development Methods

    1960s 1970s

    COBOL, FORTRAN, C

    Structured Analysis and Design Techniques

    1980s early 1990s

    Smalltalk, Ada, C++, Visual Basic

    Early generation OO methods

    Mid/ Late 1990s

    Java

    UML

    Unified Process

  • 7/31/2019 OOSDLab03-The Movement to Objects

    18/27

    UML Version 2.0

    Broken into two major groupings

    Structure Diagrams

    Behavioral Diagrams

    Developers

    Grady Booch

    Ivar Jacobson

    James Rumbaugh

  • 7/31/2019 OOSDLab03-The Movement to Objects

    19/27

    UML 1.4 VS UML 2.0

    No. UML 1.4 Model Element Name UML 2.0 Model Element Name

    1 Association end Member end and Property

    2 Object (when used in activity diagrams) Object node

    3 Object (when used in sequence diagrams) Lifeline

    4 Collaboration diagrams Communication diagrams

    5 Swimlane (or partition) ActivityPartition

    6 Activity Structured activity node

    7 Decision Decision node or merge node

    8 Final State or end state Final Activity Node

    9 Initial state or start state Initial node

    10 Object Instance (in activity diagrams) Central buffer node

    11 State Structured activity node

    12 State machine Structured activity node

    Source: http://publib.boulder.ibm.com/infocenter/rtnlhelp/v6r0m0/index.jsp?topic=/com.ibm.xtools.modeler.doc/topics/r_uml_name_diffs.html

  • 7/31/2019 OOSDLab03-The Movement to Objects

    20/27

    UML 1.4 VS UML 2.0 (Cont.)

    No. UML 1.4 Model Element Name UML 2.0 Model Element Name

    13 Synchronization bar (synch bar) Fork node or Join node

    14 Transition (on an activity diagram) Control flow

    15 Transition condition (guard condition) Control flow guard

    16 Formal Argument Template Parameter Substitution

    17 Formal Arguments (collection of Formal

    Arguments)

    Template Binding

    18 Three-tiered diagrams Class diagrams

    19 Class Instance Lifeline

    20 Self-link Message pathway

    21 Connection relationship Communication Path

    22 Process (in a deployment diagram) Artifact

    23 Processor Execution environment

    24 Destruction marker Stop node

    Source: http://publib.boulder.ibm.com/infocenter/rtnlhelp/v6r0m0/index.jsp?topic=/com.ibm.xtools.modeler.doc/topics/r_uml_name_diffs.html

  • 7/31/2019 OOSDLab03-The Movement to Objects

    21/27

    UML 1.4 VS UML 2.0 (Cont.)

    No. UML 1.4 Model Element Name UML 2.0 Model Element Name

    25 Focus of Control Execution Occurrence

    26 Action UML activity

    27 - Composite Structure Diagram

    28 - Interaction Overview Diagram

    29 - Timing Diagram

    Source: http://publib.boulder.ibm.com/infocenter/rtnlhelp/v6r0m0/index.jsp?topic=/com.ibm.xtools.modeler.doc/topics/r_uml_name_diffs.html

  • 7/31/2019 OOSDLab03-The Movement to Objects

    22/27

    Structure Diagrams

    Class

    Object

    Package

    Deployment

    Component

    Composite Structure

  • 7/31/2019 OOSDLab03-The Movement to Objects

    23/27

    Structure Diagrams (Cont.)

    Class

    Relationships between classes

    Object

    Relationships between objects

    Package

    Group UML elements together to form higher level

    constructs

  • 7/31/2019 OOSDLab03-The Movement to Objects

    24/27

    Structure Diagram (Cont.)

    Deployment

    Show the physical architecture and software

    components of system

    Component

    Physical relationships among software components

    Composite Structure

    Illustrates internal structure of class

  • 7/31/2019 OOSDLab03-The Movement to Objects

    25/27

    Behavioral Diagrams

    Activity

    Illustrates business workflows

    Interaction Diagrams

    Sequence Time-based ordering behavior of objects activities in usecase

    Communication Communication among a set of collaborating objects on an activity

    Interaction Overview

    Overview of flow of control of a process Timing

    Illustrate the interaction and state changes which they go throughtime

  • 7/31/2019 OOSDLab03-The Movement to Objects

    26/27

    Behavior Diagrams (Cont.)

    State Machines

    Behavioral State Machine

    Examines behavior of one class

    Protocol State Machine

    Show dependencies of different interfaces of class

    Use Case

    Captures business requirements

    Illustrates interaction between system and environment

  • 7/31/2019 OOSDLab03-The Movement to Objects

    27/27

    Use Case Diagram

    Captures business requirements

    Illustrates interaction between a system and its

    environment

    Includes end user

    Any external system that interacts with its information

    system

    Documents and clarifies requirements of system being

    modeled