UMBC CMSC 202
UMBC CMSC 202 CSEE | 202 | current 202

Project 2 Design

Due Date

Objective

The objective of this assignment is to make sure that you begin thinking about your project in a serious way early. This will not only give you experience doing design work, but will help you anticipate the number of hours that you'll need to set aside to be able to complete the project.

The Assignment

Part 1 - Designing Classes

Your design assignment is essentially to write the .h file for each class in the DVD rental system.

The required functionality of the Rental System is described in the project description. You must design the public methods (full function prototypes, pre- and post-conditions) required to support that functionality. You will also decide on the private data members for this class. Remember that as you design your classes - you should focus on each class representing ONE THING like a DVD. Then each object corresponds to an instance of that class - a physical DVD that you can hold in your hand. It is, however, appropriate to also have classes that represent a collection of objects. Remember to use aggregation whenever appropriate.

Part 2 - Testing Classes

The second part of your design assignment is to generate 5 test cases that you will use to test and exercise your classes. In order to implement this once you have begun development, you can make a "test-driver" that will simply run each method in your class, passing it appropriate data and seeing if the returned values are correct.

There are no restrictions on what the test cases can be, so all 5 can test one method if you like, or each can test a different method. However, you MUST include at least one valid and one invalid test. Again, you should use the categories:

Description
Input (this will be parameter values this time...)
Expected Output

Grading

You p2design.txt file will count as 10% of your project 2 grade (part of the Correctness). If this file is not submitted by its due date, or if you submit a new version after its due date, you will lose all 10 points.

Your p2design.txt file will be compared to the header file or files that you submit when Project 2 is due. Minor changes to the design are allowed. A minor change might be the addition of another function or two or changing the way in which one or two parameters are passed.

If there are major changes between the design document and the header files that are part of the final project, you will lose 5 points. This would indicate that you didn't give sufficient thought to your design before beginning the implementation.

A template for your design document, p2design.txt, is provided in Ms. Wortman's public directory. Copy that file

/afs/umbc.edu/users/d/a/dana3/pub/CMSC202/p2/p2design.txt to your local directory and fill in the necessary information. Submit your modified p2design.txt file to complete this assignment.


Last Modified: Friday, 30-Sep-2005 16:27:32 EDT