Homework 1: Design Suggestions

1. Define your problem

A. Designing the structure of the store

It is apparent at this point that Adelaida wants you to design a program simulating a movie rental store, like Blockbusters. So the first step would be to NOT THINK ABOUT CODE! So first we have to look at what a Blockbuster movie rental is composed of. First we have to realize that you have movies on shelves, employees, and records about the store. So basically we have our first layer of design:

So now we have this information about the store we need to think about if we can break this down even more. Obviously we can break the Employees down more. We need someone to handle the movies on the shelves, a person that handles the customer, and a guy that just keeps the record straight.

Ok, so now we have figured out what the people needs to do. We now need to figure out what the movie needs to do. Well... it needs to know about itself. Basically you have a box/cover for the movie. We can think about what that box/cover thing needs to say. That box/cover thing is our interface to the movie. So we need to know what movie it is, so its title. Then we need to know how long the movie is so that customers can know if they have the time to watch it. Then what year it is so that remakes and remediations can be separated from the original.

Ok, next in line are the records. What information about the store do you need. This part is purely provided by Adelaida. She wants you to keep a store ID, a daily sales, a rental fee, and a record of all movies availible. So that's what we have:

Ok, so structurally this is what a store needs... in theory.

B. Designing for the Customer's needs