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):
- Communications Protocol Document: before Lab 8 (March 24 and 26)
- 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:
- A title page with your group number and name, and its members.
- A description of the architecture of the client that you are designing. This might include, as appropriate, the following:
- subsystems, packages, layers, threads, etc.
- 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.
- For two important classes, fully document the details of the attributes and operations. This can be bullet lists or a UML class.
- 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.
- A sketch of the main screen of your client user-interface, and possibly other important screens if you have them.
- For the server, a discussion of multi-threading and concurrency issues. Models or diagrams can be used to discuss this.
- 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:
- Complete and submit your Software Design Document: before Lab 9 (March 31 or April 2).
- Carry out a design inspection involving your whole team and write
submit report on problems you found. (Details in next lab description.)
- Demo of state of prototype or client/server interactions in lab. (Details in next lab description.)