COSC 440                            Large Systems Design                            Spring, 2016

Lab 6: GUI Design and Implementation

Chat phases 5 and 6

This lab should be done in groups


Review the given code for Chat phase 5. Create a class diagram for the Client-side GUI. We will add a couple features to this GUI and then add the DrawPad feature (Exercise E149).

1. The book's solution for Phase 5 has the interaction for login take place on the main GUI screen. Change this so that the GUI uses a dialog window to get the user name and password. (This corresponds to at least one of the designs described in class.)

2. The book's solution requires the user to type in the "#channel channelname" command, rather than having a control for this command in the GUI. Change this so that there is a control (button, menu item, or other control) and a dialog box or other appropriate widget is used to get the chanel name.

3. Other functionality of the previous version should be handled in a similar manner.

4. Incorporate the DrawPad feature into the chat room design, as described in exercise E149.


A design diagram and description that shows the book's solution and the changes made to do step 1-3 above. Appropriate interaction diagrams to help describe the operation of the Client GUI (sequence, state, and/or activity diagrams).