6.033 2009 Design Project Two

Update: DP2 final presentation information is available here.

I. Due dates

You will do Design Project Two in teams of three students who share the same recitation instructor. There are four deliverables:
  1. A list of team members emailed to your recitation instructor by April 9, 2009.
  2. One copy of a design proposal not exceeding 1,200 words, due on Thursday, April 23, 2009.
  3. One copy of a design report not exceeding 5,000 words, due on Thursday, May 7, 2009.
  4. An in-class presentation on May 12, 2009. In consultation with the chair of the faculty we have determined that the assignment follows the spirit of the end-of-term rules.
This assignment is under-specified, and part of your job is to complete the specification sensibly, given the project requirements. Your interpretation of the specifications may need some adjustment as you flesh out your design. Start early to give yourself time to think about your design and revise it. A good design will likely take more than a few days.

II. Introduction

You and your team are the founders of a new start-up company, called Chatter. The basic idea is to allow users to distribute short text messages to each other using hand-held wireless devices.

A typical use scenario is a stadium full of sports fans exchanging comments about the game. Another is students attending a lecture, exchanging questions or feedback. Students might also use Chatter to help organize their social lives, to find nearby friends at meal-times or to find out about campus events. In principle all users should be able to see all messages, though in practice your design will need to restrict distribution to conform with the requirements in the next section.

III. System requirements

You and your investors agree that Chatter must meet the following requirements:

Your design need not include security mechanisms.

IV. Your job

Your job is to design the Chatter system, focusing on the algorithms and network protocols that the ChatterBoxes use to fulfill the requirements in Section III. If your design includes servers on the Internet, then you should also design the services those servers provide. Your design should also include any aspects of the Chatter user interface on the ChatterBox that are important in fulfilling the requirements.

Here are some questions that your design should answer (and that we will expect to read about in your report):

It may not be possible to design a system with good performance in all possible scenarios: you may need to make tradeoffs, supporting some kinds of use well, and others not so well.

V. Your design proposal

The design proposal should be a concise summary (1200 words) of your overall system design. Your proposal should explain the basic mechanisms with which ChatterBoxes distribute messages.

You do not have to present a detailed rationale or analysis in your proposal. However, if any of your design decisions are unusual (particularly creative, experimental, or risky) or if you deviate from the requirements, you should explain and justify those decisions in your proposal.

You will receive feedback from your TA in time to adjust your final report.

VI. Your design report

Your report should explain your design for Chatter. It should discuss the major design decisions and tradeoffs you made, and justify your choices. It should discuss any limitations of which you are aware. You should assume that your report is being read by someone who has read this assignment but has not thought carefully about this particular design problem. Give enough detail that your project can be turned over successfully to an implementation team.

Your report should convince the reader that your design satisfies the requirements in Section III, and should tell the reader the answers to the questions in Section IV.

Use this organization for your report:

Here are a few tips:

While the Writing Program will not be grading DP2, you should feel free to ask them for help.

VII. How we evaluate your work

Your recitation instructor will assign your report a grade that reflects both the design itself and how well your report presents the design. These are the main high-level grading criteria:
  1. Clarity. Is the design described well enough to be understood, evaluated, and implemented?
  2. Correctness and completeness. Does the design meet the requirements in Section III?
  3. Simplicity. Is the level of complexity in the design justified?

Last updated: $Date: 2009-04-27 14:49:15 -0400 (Mon, 27 Apr 2009) $