Page: (Bot) (Prev) (Next)   Class: (Outline) (Summary) (Assign) (Answer)   Course: (Content)
IT532 - SYSTEMS ANALYSIS - CLASS 9
ANSWERS

PROBLEMS (Top)

  1. Consider the following list of essential events.
     Event: Customer Places Order
       Message Stimulus: Receive Order
       Update Response:  Create Order with entered state
       Message Response: Send Order to Shipping
    

    Event: Customer Cancels Order Message Stimulus: Receive Order Cancellation Notice Message Response: If state is shipped, send reject notice to Customer Update Response: If state is entered, set Order state to cancelled Update Response: If state is entered, send Cancel Notice to Shipping

    Event: Shipping Ships Order Message Stimulus: Receive Shipping Notice from Shipping Update Response: Set Order state to shipped Message Response: Send Invoice to Customer

    Event: Customer Pays Invoice Message Stimulus: Receive Payment from Customer Update Response: Set Order state to Paid Message Response: If prior state was overdue, send Paid Notice to Collections

    Event: Customer Fails to Pay Invoice Temporal Stimulus: Invoice has not been paid within forty days Update Response: Set Order state to overdue Message Response: Send Overdue Notice to Collections

    Event: Collections Can not Collect Message Stimulus: Receive Uncollectable Notice from Collections Update Response: Set Order state to uncollectable

    Draw a state transition diagram or a state transition table that models the state transitions for the Order object. Does the diagram indicate that there are missing events?

    [Order State Diagram]

    [Order State Table]

  2. Job Tracking System

    1. Sketch an interaction diagram that illustrates the message flows between and among the various actors and the system for the following scenario.
      • Marketing obtains a new Customer.
      • The Customer asks Engineering to design a new part. The design requires two job steps that do not already exist in the system.
      • The Customer calls Marketing and places an order for 50 of the new part.
      • Production requests the list of job steps for the Customer's order.
      • Production ships the parts by Roadway Express.

      In order to save space and avoid confusion, I did not show the request for the form or the system returning the form. But, every stimulus to the system would have been preceeded by these two interactions.

      [Interactions]

    2. Develop an analysis level domain class model for the automated system. Your model does not need to show any operations but it must show the necessary attributes. You do not need to include a domain root object.

      [Domain Model]

      See the Job Shop Model Construction sidebar to see how this model is constructed from the sequence of events.

      Note that you could argue that there are subclasses of the Part class, one for generic and one for custom. This might be useful because custom parts are only ever ordered by one customer. But, we can easily tell which parts are custom parts because only the custom parts will have a DesignedFor association with a customer.

    3. Sketch an instance diagram for the following scenario:
      • Marketing obtains Customer Ajax Supply.
      • Ajax Supply asks Engineering to design a Framits. The design requires two machine steps, cutting and drilling, and one finish step, painting. The sequence for these steps is cut, drill, and paint. Pick your favorite color for the paint.
      • Ajax Supply orders 50 of the new framits parts on 06/10/2000.
      • Production ships the parts on 06/15/2000 using Roadway Express.

      Use reasonable values for the attributes whose values are not given in the scenario. You only need to show the final diagram.

      [Instance Model]

    4. Which objects in your domain model would need to be accessed though a domain root object?

      • Customer
        Because a customer can exist without ever having placed an order or requested a job design.

      • Part
        Because a generic part might exist without ever having been ordered by any customer.

      • JobStep
        Because a job step can exist without ever being connected to a part or a job step.

      • Shipper
        Because a shipper can exist without ever having been used to ship an order.

    5. Show that there is a navigation path though your domain model that will make it possible to produce the message response for the event Production Requests Job Step List.
        Root --> * Customer --> * Part --> 1 JobStep ---+
                                                | 0,1   |
                                                +-------+
      

    6. Perform a CRUD check on the objects and association attributes in your domain model to be sure that there is at least one event for each custodial activity. Your answer should show at least one event or explicitly indicate that there is no event in the requirements for the activity.
OBJECT CRUD CHECK
Object Create Reference Update Destroy
Customer Marketing Obtains Customer Production Requests Completed Jobs List Marketing Obtains Order
** dnk **
Order Marketing Obtains Order Production Requests Completed Jobs List Production Ships Order
** dnk **
Shipper
** dnk **
Production Ships Order
** dnk **
** dnk **
Part Engineering Defines Job Production Requests Job Step List
** dnk **
** dnk **
MachineStep Engineering Defines Job Step Production Requests Job Step List
** dnk **
** dnk **
Finish Step Engineering Defines Job Step Production Requests Job Step List
** dnk **
** dnk **


Page: (Top) (Prev) (Next)   Class: (Outline) (Summary) (Assign) (Answer)   Course: (Content)

Prepared by David L. March -- Last Revised on October 22, 2002
COPYRIGHT © 1998-2002 BY DAVID L. MARCH