Homework 6: Project Proposals
Overview
The course project involves designing, creating, testing, and demonstrating a database-centric application. Earlier in the semester, we discussed how databases fit into the software engineering process. You should conduct your project as a mini-software engineering project.
As part of your project, you should create a software application where most of the functionality involves accessing a database. In the coming weeks we will cover programming database-backed web applications. You are welcome to create a different type of application, as long as your application has database-centric functionality.
Proposal
Your project proposals are preliminary, and can be updated as your project evolves. Your proposal should include:
- Group/Team Members:
- Include a list of all group members in your proposal.
- You must work on the project as a group. This will help you gain experience in collaboration and team communication.
- Groups of three people are ideal, although groups of four are allowed.
- Main Idea:
- What is the main purpose of your application?
- Who are the main users of your application, and what does it do for them?
- User Stories:
- Write at least three user stories. User stories are short narratives explaining a task that a user needs to conduct and how they will interact with a software system to accomplish their task.
- Use Cases:
- For each type of user, list the things they can do with your application.
- If you are familiar with UML, you may create a UML Use Case diagram.
- Data Requirements:
- What data does your application need to store?
- You do not yet need to create an ER Diagram or Relational Model. However, you will need to create those models eventually. If it’s helpful to sketch out a preliminary ER model diagram, you may do so.
- Capstone:
- If you are a senior Computer Science major, you can use this project for your capstone requirement.
- If any of your team members plan to use the project as a capstone, describe this in your proposal. Those team members will be assigned some additional tasks.
Note: Carefully thinking things through now will save you time in the long run!
Note: Don’t propose a project which is very similar to examples from class (e.g, a bank database, a university database, Facebook’s database, etc.).
Submit
One team member should upload your proposal as a PDF to Gradescope.
Your document should contain clearly labeled sections corresponding to each of the elements described above.
You will be graded on the thoroughness of your proposal, and your selection of a reasonable project domain.