CS340, Advanced Software Development
Laboratory 8: Software Design
SMUVE Project, Spring 2008

This is a group laboratory that will be held in MEC205.

It will be a studio-laboratory session, in which teams will be selected to give a PowerPoint presentation (described below), which will be critiqued by instructors and fellow students.  About four or five teams will be asked to present, and each team member must give part of the presentation.

Neither the quality PowerPoint nor your oral presentation skills will affect your grade unless your are poorly prepared.  The goal of studio-labs is for all groups to see other groups' work and ask questions and learn what's good and bad.  Using this knowledge, a deliverable will be prepared as the post-lab and due exactly one week later.


Upcoming Milestone(s):

  1. Communications Protocol Document: before Lab 8 (March 24 and 26)
  2. Software Design Document:  before Lab 9 (March 31 or April 2).

Pre-laboratory Assignment:

Draft document: You should have a draft of the design document with the info listed below.  It will not be graded. But it will be submitted and looked at!

Presentation:   At 3:15 pm before of your lab section meets (on Monday or Wednesday), put a PowerPoint presentation on your group's site as described below.  Also, bring a copy of this to lab on a USB flash drive or make it easily available from the web in case you are called on to present.  Your presentation should include:
  1. A title page with your group number and name, and its members.
  2. A description of the architecture of the client that you are designing.  This might include, as appropriate, the following:
  3. A UML class diagram showing some of the major classes in your client.  This can focus on class names and associations, but does not need to have the complete set of attributes and operations.
  4. For two important classes, fully document the details of the attributes and operations.  This can be bullet lists or a UML class.
  5. A UML sequence diagram showing how one (or two) important use-case(s) from your requirements would be carried out according to the design of your client.
  6. A sketch of the main screen of your client user-interface, and possibly other important screens if you have them.
  7. For the server, a discussion of multi-threading and concurrency issues.  Models or diagrams can be used to discuss this.
  8. Discuss some aspect of your design in terms of information hiding, encapsulation, or other good design qualities.
Note:  for items 7, partner groups should share one set of slides.

Prototyping Team:   We expect the team members doing prototyping to make progress in implementing a working client/server. There will not be a presentation on this, but groups should hold their members doing this accountable on making some progress by the next lab..

In-laboratory Activities:

Presentation by of your pre-liminary design work.

Post-Laboratory Assignment: