Homework 3

Homework 3: DVCS Design Guide

In Homework 3, you will design one of the four modules of DVCS as we have assigned in class on Wednesday (see the attached board photo).   Each module is designed by two teams.  One is the peer team of the other.

The design document you will produce is called "module guide” by Parnas in his 1985 article "The Modular Structure of Complex Systems.”  Read this 1985 paper and the 1972 paper discussed in Wednesday’s class.  You will practice the module design by information hiding following the detailed example given in the 1985 paper.  In his words "Our experience suggests that the use of information hiding in complex systems is practical, but only if the design begins with the writing of a module guide that is used to guide the design of the individual module interfaces.  When we tried to work without the guide, numerous problems slipped between the cracks and responsibilities ended up either in two modules or in none.”  

This homework is for you to design an assigned module and clearly describe the design in the written design guide.  As demonstrated in the 1985 paper, the guide document includes not just the functional specification, the division of submodules, but also the “secrets” that will be hidden in it and in its sub-modules.  The design guide should also formalize the interface functions and their parameters, as demonstrated in the 1972 paper.  

Be precise in your design.  If you are not sure, be clear what you do not know.  It is better to be wrong than to be vague.  

First read the two papers.  A pdf copy can be found on the course material page.  I recommend using the book on reserve at the library, which has the reprint version that’s better formatted and preceded by a short but very interesting introduction.  

The following are the submission requirements:

1) Please finish and email the first version of your design guide as a pdf document to <pli@cs.rochester.edu> by Friday midnight;

2) Please read your peer team’s design guide and revise and email the second version by Monday midnight;

3) Please prepare a 3-minute presentation and record and email a 3-minute audio of the presentation as an mp3 file by Tuesday 6pm.