Assignment 2 - Design Specifications

What to do

In this assignment, you will produce two design specifications for a program that formats HTML documents to ASCII using a subset of the HTML specification. One of the design specifications will use the object-oriented design methodology, and the other one can be any of the other methodologies that have been covered in class. The requirements specification explains what parts of the full HTML specification you will need to design for.

What to hand in

Each group will be required to hand in two designs. Each design should be about two pages long. The design specifications should include justifications for major design decisions. The object oriented design should include the classes you will implement, how they interact and what each is responsible for. The other design can be functional, top-down, bottom-up, data-flow, control-flow or any other design types that were described in class. It should include a chart describing the decomposition (any of the notations described in class will do), a description of the major data structures and a textual description of the modules and their interfaces. In summary, each design should include a structural breakdown of the problem (into classes, modules, functions or whatever), an english description of the major structural units and a description of the data structures.

There is no "right" answer, but you will need to justify your choices. Justifications can include reduced coupling and increased cohesion. Finally, the purpose of assigning two types of designs is to give you experience with different strategies, not to show that you can draw the same design as a class hierarchy and a data-flow. Different methodologies highlight different aspects of the problem, you should try to pick a methodology that works well for this problem, and let it lead you where it will. You will not be graded down if your object-oriented design looks a lot like the other one, but you will have missed a learning experience if you just do one design and show it two ways.

Due Date:

May 3, 1996
Adam Carlson