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:
- 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.
- Treat the controller and elevator car software as components. A component talks to components on other processes via a naming service and communication service.
- Determine whether the controller and elevators are each multi-threaded. Show all threads and processes in your design.
- Update the UML analysis diagrams to show design details. Create additional UML diagrams as needed to design these aspects of the Lift problem.
- Annotate the diagrams using OCL
This is a two person team assignment.