LBSC 796/INFM 718R
Information Retrieval Systems
Spring 2011
System Design


Before you can build a system, you need to envision it. It will help you a lot to write this down, because while it lives only in your mind it is hard to know what you have not yet decided on. Writing it down will also help you to determine later whether you accomplished what you set out to do, but that is not the main point (since we can reasonably hope that you'll learn something along the way!). If you are already familiar with some formalism for creating functional specifications or parts of functional specification (e.g., UML) it is fine to use what you're comfortable with. If not, the following way of thinking though the process should be helpful.

You can think of a functional design as having three parts:

One big risk in any course project is that you'll focus on building what you know how to (or can figure out how to) build. That's the wrong way to go about this, though. The reason to do your initial system design well is so that you'll have a good chance of building something that someone will actually want to use, not just something that you know can be done when you start. In some sense, this is the difference between homework and a project.

Doing this kind of a design well requires that you stay out of the weeds and work at a level where you can see the big picture. Details can be seductive, and if you let them draw you down to too low a level you run the risk of designing the wrong thing well. Better to design the right thing incompletely. You'll get to the details soon enough -- the entire implementation process is essentially progressive refinement of your design.

It is important that your whole team contribute to this design process, because the resulting shared vision is one of the key things that will hold you together as a team. But it is not important that the document be written as a group. Indeed, it is probably best if one person takes the lead on pulling together the document, with several others contributing pieces and with everyone commenting and critiquing. Naturally, that process will go best if you don't leave it till the last minute.

The document you submit (by posting it on your Web page) will be read and returned with comments and with a grade. Don't read too much into the grade, though -- all I can hope to grade at this point is whether you addressed the things I asked you to (I will not be grading your drawing skills!). But the most important impact of this part of your project will be the role it plays in helping you to focus your efforts.


Doug Oard
Last modified: Jan 24 2011