You will build your project incrementally, throughout the semester. Unless otherwise noted, each of these project deliverables is due at the normal assignment due time, one week after it is assigned. Be sure to upgrade previous submissions as you proceed through the semester.

  1. Vision — Write a one-to-two-paragraph description of a non-trivial information system project. The domain of application is up to you. You don’t need to give a full description of the database structure at this point, but you should describe the stakeholders for your database (give a short list of potential users) and your domain should be complex enough to support the following requirements.

    Talk to me if you have any questions about whether your idea fits these requirements or if you need suggestions on where to start.

    Submit your vision as a text file in vision.txt by the end of unit 2. See the policies page for submission details. We’ll grade on the quality and novelty of your idea and on the level of domain details you give.

  2. Design — Design an ERD for your domain and then translate it into a relational database.

    Talk to me if you have any questions about how complex your database needs to be or how much data you need to generate. Submit the following materials in project/* by the end of unit 5.

    We’ll grade on the quality and completeness of your model and implementation, and on the correctness of your analysis.

  3. Queries — Build a set of queries for your system that would serve the users/stakeholders you identified in your vision statement and test those queries on your representative data. The nature and complexity of your queries is up to you, but they should satisfy the following requirements.

    You may need to modify your schema (and ERD) or your database instance to support these queries. The information “value” of your queries matters here, so don’t just pick simple queries; pick queries that would matter to your stakeholders. Talk to me if you have any questions about the appropriate nature and/or complexity of your queries.

    Submit your solution as a commented SQL command file in queries.sql by the end of unit 8. We’ll grade on the utility, complexity and correctness of your queries.

  4. Application — Add appropriate stored procedures, triggers, tuning features and transaction processing.

    Submit your solution as specified above by the end of unit 11. We’ll grade on the utility, complexity and correctness of your upgrades.

  5. Extensions — Add an appropriate enterprise web service and a separate NoSQL version for selected parts of your system.

    Submit your code by the end of unit 14. We’ll grade on the completeness and soundness of your new implementations.

  6. Final Deliverable — There are no additional features to add for this deliverable. Address all the comments made on earlier project deliverables, modify your proposal so that it can serve as a vision statement for the project, modify the ERD so that it accurate reflects the table structure and include a readme.txt file that explains how to use the scripts.

    This final deliverable is due by the end of the day of the final exam. We’ll grade on the overall quality of your app, including its vision, design and implementation.