An Introduction to UML Interaction (Sequence and Communication - PowerPoint by davebusters

VIEWS: 132 PAGES: 28

									  An Introduction to UML
Interaction (Sequence and
Communication) Diagrams

Georgia State University
CIS 3300
Spring, 2009

                            1
   Models, Views, and                                            A model is a complete
                                                                 description of a system

   Diagrams                                 State
                                                                 from a particular
                                                                 perspective
                                              State
                                          Diagrams
                                               Class
                                           Diagrams
                       Use Case              Diagrams
                        Use Case
                       Diagrams                                        State
   Use Case               Use Case
                        Diagrams                                         State
                                                                     Diagrams
    Use Case              Diagrams                                        Object
                                                                      Diagrams
   Diagrams
     Sequence                                                           Diagrams
    Diagrams
     Diagrams


 Scenario                                                              State
   Scenario
 Diagrams                                                                State
                                                                     Diagrams
Communication
  Diagrams                           Models                            Component
                                                                      Diagrams
  Diagrams                                                              Diagrams


      Scenario                                          Component
        Scenario
      Diagrams
                                                          Component
                                                         Diagrams
                                                          Deployment
       State Machine
       Diagrams                                            Diagrams
         Diagrams                                         Diagrams
                                  Activity
                                 Diagrams
Behavioral Diagrams
Used to visualize, specify, construct,
document dynamic aspects of system:
 use case diagram

   sequence diagram
   communication diagram
   state machine diagram
   activity diagram

                                         3
Diagramming Scenarios: UML
ways of expressing scenarios
   Activity diagrams
        Several scenarios (even a full use case) at once
        Similar to Petri nets, Graphcet, (concurrent) flow
         charts…
   Interaction (sequence and communication)
    diagrams
        Only one scenario per diagram
        Involve/introduce (high level) objects
        Sequence diagram
             Accent on the time flow
        Communication diagram
             Accent on the messages between objects
                                                        4
Interaction Diagrams
(Sequence and Communication)
   Describe how groups of objects
    collaborate in some behavior
       Sequence diagrams
           Time-oriented
       Communication diagrams
           Message-oriented




                                     5
Diagramming Scenarios:
Sequence Diagrams
   Describe one scenario
   Involve objects and messages
       Shows a number of objects and the
        messages that are passed between these
        objects.
   Accent is on the time flow of events



                                             6
Diagramming Scenarios:
Sequence Diagrams
   Simple scenario:
We have an order and are going to invoke a command on it to calculate
its price. To do that, the order needs to look at all the line items on the
order and determine their prices, which are based on the pricing rules
of the order’s line products. Having done that for all the line items, the
order then needs to compute an overall discount, which is based on
rules tied to the customer.




                                                                              7
Sequence Diagrams
   UML 1.0 versus UML 2.0:
       Objects pass messages (UML 1.0)
       Participants pass messages (UML 2.0)
   Show how participants (objects) interact.
   Differences in interaction styles:
       Fig 4-1: Centralized, e.g. one participant does all
        the processing and other participants supply data.
       Fig 4-2: Distributed, e.g. processing is split among
        many participants.

                                                        10
           Diagramming Scenarios:
           Sequence Diagrams (cont.)
       Customer            ATM                                            Bank
               insert_card       « new »    Session
                                                      get_Customer_Information()
                                 display_menu()
                  select_transaction(sel)         « new »   Transaction



                                 display_menu()
                                 quit
              card_returned        eject_card

               card_taken
time
                                                                            11
Interaction and Message
An interaction is a behavior that comprises a set
of messages, exchanged among a set of
objects, to accomplish a specific purpose.

A message is the specification of a
communication between objects that conveys
information, with the expectation that some
kind of activity will ensue.


                                              12
Sequence Diagram
A sequence diagram is an interaction
diagram that emphasizes the time
ordering of messages.
A lifeline is a vertical dashed line that
represents the lifetime of an object.
A focus of control is a tall, thin rectangle
that shows the period of time during
which an object is performing an action.

                                           13
Sequence Diagram Notation




                            14
Sequence Diagram Notation




                            15
Sequence Diagram Notation




                            16
Sequence Diagram
   Captures dynamic behavior (time-
    oriented)
   Purpose
       Model flow of control
       Illustrate typical scenarios




                                       17
18
UML Sequence Diagrams
               TicketMachine
Passenger
      selectZone()
                                  Used during requirements analysis
                                      To refine use case descriptions
                                      to find additional objects
                                       (“participating objects”)
      insertCoins()               Used during system design
                                      to refine subsystem interfaces
                                  Classes (and objects) are
                                   represented by columns
      pickupChange()
                                  Messages are represented by
                                   arrows
                                  Activations are represented by
      pickUpTicket()               narrow rectangles
                                  Lifelines are represented by
                                   dashed lines
        UML Sequence Diagrams:
        Nested Messages
                  ZoneButton         TarifSchedule      Display
Passenger

       selectZone()
                         lookupPrice(selection)

                          price
                          displayPrice(price)
        Dataflow
                                  …to be continued...


      The source of an arrow indicates the activation which
       sent the message
      An activation is as long as all nested activations
Sequence Diagram
Observations
   UML sequence diagram represent
    behavior in terms of interactions.
   Complement the class diagrams which
    represent structure.
   Useful to find participating objects.
   Time consuming to build but worth the
    investment.

                                       21
Diagramming Scenarios:
Communication Diagrams
   Describe one scenario
   Involve objects and messages
   Accent is on messages exchanged
    between objects

   Sequence and Communication diagrams
    are largely equivalent.

                                      22
        Diagramming Scenarios:
        Communication Diagrams
        (cont.)


                  4: select_transaction           : Bank
  : Customer

                                                       3: get_customer_informat
 1: insert_card
                  : ATM                    : Session
7: card_taken
                           2: « create »

                           6: eject_card          5: « create »


                                          : Transaction


                                                                        23
Communication Diagram
A communication diagram is an interaction
diagram that emphasizes the organization of
the objects that participate in the interaction.
A path is a link between objects, perhaps with a
stereotype such as «local» attached.
Sequence numbers indicate the time ordering of
messages, to one or more levels.



                                             24
Communication Diagram

   Captures dynamic behavior (message-
    oriented)
   Purpose
       Model flow of control
       Illustrate coordination of object structure
        and control



                                                  25
Communication Diagram
Notation




                        26
Communication Diagram
Notation




                        27
28

								
To top