I am new to C#, ASP.NET and OOA&D. I am trying to identify the classes that I want to represent in my ASP.NET 3 tier design web app. I am having a hard time deciding what classes to create from my requirements. After looking at my requirements, can someone recommend an approach? I tried to identify classes by finding nouns in my requirements. So far I have these nouns but don't know if any should be classes: movie, format, director, studio, genre, wishlist, specification, audio, video, extra, media, rating. Thanks.
Purpose: Create a movie media website that
allows me to catalog the movies that I currently own as well as provide
detailed movie information for existing and upcoming movie releases.
Requirements:
-
The
user must be able to view all the movies that they currently own. These movies
can be from varying media formats (DVD, Blu-ray, etc). They should also be
sortable based on movie title, genre, or movie studio. The user should be
provided with the total amount of movies in the system, owned or on their
wishlist.
-
A
movie can have no format or one or more formats associated with it.
-
The
user should be able to select, create new, update and delete movies in the
system. They should be able to specify various movie attributes such as the title,
production year, studio, media release date, director, summary, runtime, genre
and format type (of the type they own).
-
They
should be able to search for a movie based on title and have the result
displayed.
-
The
use must be able to specify the specifications for the movie format (usually
Blu-ray) for a particular movie (reference blu-ray.com for the type of movie
specs)
-
The
user must be able to select a movie and be provided with a list of movie
attributes.
-
The
user must be able to delete movie records as well as update various data
attributes
-
The
user should be able to run reports based on the information stored in their
collector website.
-
The
user should be able to add movies to a wish list, whether they are currently
released or planned to be released
-
The
user should be able to rate movies using a 1-5 rating system. This rating
should encompass audio, video, the movie itself, extras and overall.
-
There
needs to be a facility to modify existing movie, genre, director, studio, etc
content.