Lab 5:  Feb. 25/27
In-lab Activities


Goals for this week (before next lab);

A. Requirements documentation:
  1. Complete SRS for your client (on Weds.)
  2. Plan to swap documents with your partner group this week, and plan to review partner group's SRS document before the next lab.
In the next studio-lab, you will need to present some problems and issues in your partner group's SRS.  The revised SRS will not be due until Friday, March 14.


B. Server Requirements:


In Lab 5 this week,  pairs of groups will discuss what they think is required for the server.  We will not require you to write formal SRS, but you will create documentation about parts of the requirements for the server.  This documentation will include:
What you write up will be submitted before Lab 7 (March 17/19).

In discussing data models, focus on data or information defined at the requirements level (the problem space) and do not introduce design level data at this time.  You could document data using text (bullet-lists etc.) or using UML class diagrams.

In discussing communications requirements, again you should describe what's needed as requirements (not design).  These are system requirements not end-user requirements, but again focus on "what" not "how".    Examples:
Pay attention to:
Eventually you must document a complete communications protocol that include an interaction that supports all requirements of both clients.  Again, this Server Requirements Document must be completed before Lab 7 (March 17/19).  Experience tells us that this document will change over time as you build the system.

C. Client/Server Prototyping:

You may recognize that creating an effective client/server combination is a high-level risk for your pair of groups.  This is a good opportunity for technical prototyping: you will explore a new technology to learn and demonstrate what is needed before you try to build with that technology.

In lab today, you can start to plan a client/server prototype.  First, think about your goals: what technology do we want to try to demonstrate or learn or try out?   Make some simple statements about a sequence of steps or sub-tasks to meet this need.

Before the next lab, part of your team should follow these steps or tasks to attempt to reduce the risks and increase your knowledge of client/server programming.

In the next studio-lab, your group will present the goals of your prototype, what progress you've made, and what problems you've encountered and what solutions you've found (if any).   Then you will submit a short prototyping report (a simple write-up) and your source code before Lab 7 (March 17/19).


For submission just before Lab 6 (March 10/12):
  1. Draft of communications requirements document.  (For Weds. lab only.)
For presentation in Lab 6 (March 10/12):
  1. Report on requirements issues, problems, experience.
  2. Overview of client/server communcations
  3. Some client/server communications protocol requirements examples (two or three slides)
  4. Use-cases:   For two important client functions, document a use-case to show how the client and server interact to achieve this.  (Do ones that are  useful for you.
  5. A report on what you've done and learned from your prototype experience
For submission later that week:  
  1. Comments on SRS to partner group by Weds., March 12, at 3:30 pm.
  2. Revised SRS by Friday, March 14 at 5pm.

For submission just before Lab 7 (March 17/19):
  1. Prototype report, sample code and executables
  2. Server requirements document, including communications protocol requirements and data model.

For presentation in Lab 7 (March 17/19):
  1. Initial design descriptions for client and server
  2. Preliminary protocol design (messages, encoding)

[Information from this point on subject to change.]

For submission just before Lab 8 (March 24/26):
  1. something

For presentation in Lab 8 (March 24/26):
  1. Communications protocol design document.

For submission just before Lab 9 (March 31/April 2):
  1. Pr

For presentation in Lab 9 (March 31/April 2):
  1. C


For submission just before Lab 7 (March 17/19):
  1. Pr

For presentation in Lab 7 (March 17/19):
  1. Cli

Work-products in final portfolio:
  1. Group Process Document (on-going modification)
  2. Software Requirements Specification document for one client (due Feb. 28)
  3. Requirements modification report (due March 10/12)
  4. Client requirements list (spreadsheet) (due March 10/12)
  5. Server requirements document (due March 17/19)
  6. Communications Protocol Document (both requirements and design)
  7. Server Requirements Document (not IEEE 830 style)
  8. Client Design Document
  9. Server Design Document