CSE 444 Project Page
- Project Description
- Students in teams of 3 to 4 are required to select an application
that needs a database and build a database application from start to
finish.
- Philosophy
- Throughout the quarter we have 6 homework assignments designed
to ensure that you know how to do each of the tasks required to
successfully build a database application. However, building a full
database application from scratch allows you to control the process;
instead of having the pieces decided for you, you must make all of the
decisions by yourself. Part of this process is that you will see how
design decisions made at the beginning will effect your final project.
- Goals
- Finding an application are for which database systems would be required
- Modeling the domain of the application, and defining the
application functionalities
- Designing and implementing the schema
- Populating the database (this should not be the main focus
of the project)
- Writing the code needed to embed the database system in the application
- Schedule
-
There are a number of intermediate deadlines that you must meet in
order to ensure a successful project; these steps are also listed on
the schedule for the course. Each group is required to have a project
web site; this web site will serve both as a method for ensuring that
groups are meeting the checkpoints, and to allow groups to see what
other groups are doing. Descriptions for each of the required
checkpoints are on separate pages.
- Suggested projects
- We have prepared for you a number of suggested projects; we've
found a number of good external
projects, and below we list a number of suggested projects you can
design yourself.
- Movies domain:
-
In this domain you would be modeling entities movies, their actors,
directors, genres, playing times, reviews. There exist several sources
on the WWW from which you can get data to populate such a
database. You can support various queries such as finding specific
playing times, finding movies in Seattle directed by a given
director. You can also support updates to the reviews section of the
database (e.g., viewers giving their own opinions). Another
functionality is to provide personal profiles of people (i.e., the
movies they like) and then try to recommend movies to them based on
profiles of viewers with similar tastes.
- Books domain:
-
In this domain you would be modeling entities such as books, their
authors, topics (which may be a complex hierarchy). You may also model
various attributes of the authors, the institutions they belong to,
etc. You can support a buy/sell service of used books, books used in
specific university courses. A personal profile, similar to the one
for movies is also a possibility. Pointing an interested buyer to a
web source to buy a book is also an interesting option.
- Apartments:
-
This domain would require modeling apartments and their properties,
areas of town and their various properties (e.g., bus lines, crime
rate distance from various landmarks). You would provide an interface
for offering apartments for rent, finding apartments. Some data can be
found from the Seattle Times and other sources.
- Database of web sites:
-
In this domain, your basic entities would be web sites. You can model
their various properties: topic, url, organization to which they
belong, other sites they point to, reviews of the site, quality, cost
of accessing, etc. Users can add new sites that they found to the
database, add opinions about existing sites, or search for sites that
may be of interest for them. See Yahoo.com for a partial
inspiration.