Topics -- Design Phase, Real Use Cases, Interaction Diagrams

(L) 15-17 (B) 27

Analysis Phase -- emphasis on discovering and understanding the problem domain  
Aspect of problem domain  Documented by using 
Processes  Use Cases 
Objects, vocabulary, terms, concepts  Conceptual Model 
System events, operations  System sequence diagrams 
System accomplishments  Contracts 


In a mainframe environment,
  In an object oriented environment,
 

Object Oriented design phase,
 

Real Use Case
          In essence, create a user manual of how the system will look and behave


Typical Course of Events: Buy Items -- Version 1
Actor Actions: System Response:
1) This use case begins when a Customer arrives at the POST checkout with items to purchase.  
2) For each item, the Cashier types in the Universal Product code in the UPC area (A) of Window-1. 

If there is more than one of the same item, the Cashier can enter the quantity in area (E) of Window-1 

The Cashier then presses the "Enter Item" button (H).

3) Adds the item information to the running sales transaction.  

The description and price of the current item are displayed in (B) and (F) of Window-1.

4) When there are no more items, the Cashier presses the "End Sales" Button (I). 5) Calculates and presents the sale total 

... etc ...

 

 



It may be important to stay low-tech, so Screen Samples can be line drawings
 

 

-------------------------------------------------------------------------------------------------------------------

Screen navigation diagrams are needed when multiple screens are involved

 

 



Interaction Diagrams
 
  For each use case, an interaction diagram should be drawn for
  the typical course

all alternate courses

 
Sequence Diagrams
   
 
Arrow  Meaning Arrow head style
simple Transfer control to another object 2-line open
synchronous Transfer control and wait for answer full
asynchronous Transfer control, don’t wait for answer half
 

Time sequence
  Objects
  Textual descriptions
 

Collaboration Diagrams -- Useful for understanding the structure and organization of objects
 
    Messages are indicated with a labeled arrow on the link

    Message sequence is indicated by numbering
     

Nesting is shown by prepending the incoming message number to the
outgoing message number
 


 Transition from Analysis to Design
 

Ivar Jacobson’s Ideal Object Model:
  ------------------------------------------------------------------------------------------------------------------

Sources:

------------------------------------------------------------------------------------------------------------------

The Ideal Object Model
 



1) Boundary Objects (Presentation)
   
 
Boundary Objects

2) Entity Objects (Storage)
   
 
Entity Objects   need to "outlive" use case execution Make entity classes for each object of the problem domain involved in the process.



3) Control Objects (Application logic)

Connection between boundary and entity objects.

"Control" objects may remain as infrastructure objects in the solution or be discarded if their operations are more appropriate as operations of entity or boundary objects.  
 
Control Objects
 

4) Validate completeness by walking through scenarios (Robustness Analysis)

If it is not possible to fulfill the requirements of the use case, determine what objects are missing and start over.

Check that there are

1. Small number of controllers per use case.(2-5)

2. Arrows between objects indicate logical associations and logical flow.

Suggestion.

Each reviewer should be able to do the following for each use case.
 

Based on this analysis it may be necessary to keep rewriting use case until trace makes sense.


Robustness Analysis uses restricted relationships between object types
  ----------------------------------------------------------------------------------------------------------------
 
 

-
 

 
 

 

 



5th Assignment (10 points)