Lesson 4 | The course example and the course project |
Objective | Create a purpose statement for your course project. |
Object Oriented Course example and Course Project
Detailed Design
The course example
Throughout this course, you will watch the design of one sample.
As you learn a skill or technique, you will see it applied to this sample-an application to track video rentals in an ordinary video store.
The purpose of the software is to track the stock of rental videos, recording reservations and rentals.
Among other things, the application will enable a clerk to check a member's outstanding balance; record rentals, reservations, and returns; report on late videos; and add late charges or penalties to a member's balance.
The course project
Most of the exercises in the course give you the opportunity to work on a single project: the backend of a checkbook program.
In other words, you will design the algorithms and data structures that manage the checkbook.
A graphical user interface (GUI) will not be designed in this course.
Interface design is a topic for another course.
Correct object-oriented design separates the user interface from the data model so that different interfaces can be applied to the same fundamental program.
You will not be writing any code for the program.
Instead you will create a design specification that defines what the program does and how it does it.
The object-oriented approach
There is more than one way to approach this task.
An object-oriented approach defines the classes that make up the system, the responsibilities of those classes, and how elements in the classes interact with each other.
How exactly you identify, define, and document these things is the subject of most of the rest of this course. But before you can begin, we first have to define the goal of the Checkbook Manager program.
Toward this end, the first exercise is to provide a short description of why the program should exist and what the program should do.
This also determines why people will buy and use this program. If you cannot elucidate in two or three sentences why people will use your program, then you should really think about why you are writing it.
Course Example - Exercise