CpSc 872

Assignment 4

Design using UML

 

The design of a software system includes a number of aspects: decomposition, control and coordination. The purpose of this assignment is to construct a design for selected portions of the elevator problem. We have talked about two types of design in class and we have talked about issues with the design of components. Use this information to direct your design.

Steps:

  1. Consider the version of the elevator system in which a processor is in each elevator car and there is a central controller. The floor buttons are hardwired to the controller and the floor request buttons are handled by the individual elevator.
  2. Treat the controller and elevator car software as components. A component talks to components on other processes via a naming service and communication service.
  3. Determine whether the controller and elevators are each multi-threaded. Show all threads and processes in your design.
  4. Update the UML analysis diagrams to show design details. Create additional UML diagrams as needed to design these aspects of the Lift problem.
  5. Annotate the diagrams using OCL

This is a two person team assignment. Hard copy is due by 4 pm Wednesday, December 5, 2001 in the department office.

Grading will be based on:

  1. Completeness of the analysis
  2. Correctness of the reasoning
  3. Any value added beyond the basic assignment