Advanced Database Systems
Sep. 3, 2002
Due Sep. 10
Description of a Database System Application
In this first homework, you are asked to describe an application for which you would like to design and implement a database system, or for which you would like a database system to be built by others. I will help by giving you guidelines and examples below. You may also discuss your ideas informally with me.
You will be asked to post your description on the Web in a week. Then in two weeks, you will be asked to choose a course project based on either the one you described in this homework, or one of applications described by others in the class, or one of yet others but for which you need to write a description then. I will help to see that your project is appropriate (not too big, too small, or many groups picking the same application).
Below you are given a guideline for the complexity of the application. You are also given several examples from previous years. If you have any other questions, let me know.
What to do?
Describe an application that can use a database management system. This should be an application that you like both as a customer (so that it is motivated and useful) and an implementor (so that it is fun to work on it). It would be really interesting (isn't it interesting to try something new?:-)) if, to your knowledge, such a system does not exists yet, or is not available exactly as you like.
In particular, explain the application, why is it useful (if there is anything not obvious), why you'd like to work on it (if there is anything special), and possibly how different it is from related systems that you know are available. You may cite references to support your description.
Then, more precisely, describe (1) the kinds of users of the system and the kinds of things they can do, (2) the kinds of data that need to be in the system and constraints on the data, (3) the kinds of transactions that need to be supported by the system, and (4) typical size of the data and typical performance requirements on the transactions.
In particular, follow the guidelines below. You can look at the examples provided below; they typically contain items (1)-(3) and descriptions about the implementations, so ignore the implementation aspects and add item (4) instead.
Your description should be as clear and complete as you can possibly write in about two pages. If you think of building a database like building a house, then specifying what software you want is similar to specifying what a house you want exactly.
What to deliver?
Before class on the due date, send the TA a plain email containing
Name of the Database Application You Describe url-of-your-description Your Name url-of-your-homepage your-email-addressand hand in a print out of your description in class.
This homework is worth 5% of the course grade. Exceptionally well thought-out and well written homeworks will receive appropriate extra credit.