The GUIDE Methodology - Model User Objects 

    Objectives

    • To understand and define the users’ concepts of the objects in the system.
    • To express required system behaviour in terms of business objects in the system, and actions that the user can perform on them.

    Inputs

      Task models and task scenarios

      From which the objects, attributes and actions required to support tasks are identified.

      A data model (if available)

      Objects may be identified from data model entities.

      User classes

      Different user classes may require different mental models of the objects in the system.  This includes;
       
      • what type of objects there are (user objects).
      • what information the user can know about an object of a particular type (user object attributes).
      • how the objects may be related to other objects (relationships).
      • object types having ‘subtypes’ which have additional specialized actions or attributes.  I.e., User object, Container objects, User object action, User object subtype.

    Products

      User object model

      A model of the business objects which end users believe they interact with in a GUI system.
      Optionally a dynamic model may also be produced if significant state and state changing behaviour exists in the object model.

      Glossary

      A list of terms which will be used by end users to describe the state and behaviour of objects in the system.

      Action-object matrix

      A matrix showing how update actions affect objects.  It may be considered to be part of the user object model, as it summarizes user object action definitions in a tabular view.

    Process

    1. Check for multiple models
    2. Identify objects
    3. Create user object model diagram
    4. Define user object attributes
    5. Define user object actions
    6. Create action-object matrix
    7. Check for dynamic behaviour
    8. Review glossary
    9. Validate user object model

    Notation

    Object modeling notation
     

      Example

      For tasks associated with using a telephone handset the following the following task schema may be recorded:
       

        Answer the 'phone

          Hear the ‘phone ringing.              [Ringer]
          Identify the ringing ‘phone.         [Receiver Unit]
          Pick up the handset.                     [Handset]
          Talk to the caller.                          [Other party]
          Replace the handset.                     [Handset]

        Make a ‘phone call.

          Pick up the handset.                      [Handset]
          Listen for the dialling tone.            [Exchange]
          ‘Dial’ the number.                         [Dial]
          Listen for the ringing tone.            [Receiver Unit]
          Talk to the person answering.       [Other party]
          Replace the handset.                      [Handset]
      The objects / actions that may be identified from this are:
       
        Receiver Unit
          Identify
        Ringer
          Hear
        Handset
          Pick up
          Replace
        Other party
          Talk with
        Exchange
          Listen to
        Dial
          Enter number
      The  attributes of the objects identified are:
       
        Receiver Unit
          Identity (phone number)
          Status (ringing, engaged)
        Ringer
          Ringing (true, false)
        Handset
          Hook (on, off)
        Other party
          Status (caller, answered)
        Exchange
          Tone (dead, dialling, other)
        Dial
          Status (empty, number entered)
       

      The User Object Model diagram produced from this is:
       

    User object model example: Telephone
     


    Dynamic modelling

    Objectives

    • To define the dynamic behaviour of user objects.

    Inputs

      User object model

      Comprising objects, attributes, actions and relationships.

      Task model

      From which the significant object states may be identified.

    Products

      Dynamic model

      A model of the dynamic behaviour of a user object.  It defines;
       
      • significant states of the user object,
      • the way that actions depend on the state and affect the state.
      The dynamic model consists of ;
       
      • a dynamic model diagram, showing states and transitions,
      • supplementary notes specifying states and actions in more detail.

    Process

    1. Analyse applicability of actions
    2. Identify object states
    3. Draw dynamic model diagram
    4. Express each state in terms of object attributes
    5. Validate dynamic model

    Concepts

      State

      An object may have one or more states — stable points in its life, expressed by the object's attributes and relationships.

      Event/action

      Something that happens to an object.  Atomic, in that it either has happened or it hasn't.  Event causes an action.

      Transition

      A jump between states, labelled with the corresponding action.

    Notation

    Extended state transition diagram, using the elements shown below.

    Dynamic object model notation
     

    A simple example using this notation is shown below:

    Dynamic model example
     

    States may be analysable into composite states: a collection of states treated as one state at a higher level on analysis.  In the example above, the state "InLibrary" is actually composed of a sequence of sub-states (which the library staff, if not borrowers) would need to know about.

    Dynamic compound state model example

      Example

      Based on the earlier telephone example, a dynamic model is shown below.  There are still  a few details missing from it!
    Example dynamic user object model: Telephone
     
     

    This page is maintained by Richard Griffiths and does not necessarily reflect the official position of the University of Brighton.


    GUIDE home    RG's teaching