* Home
* Description
* Overview
* Schedule *
* Projects
* Grades
* Discussions *
S511 Projects
NEW! Information on this year's projects has been posted. You have the choice
between one of two projects. Information on these projects and the challenges
involved in these projects are available from the Project
Description page
Details on the various project deliverables (see the schedule for exact dates) will be posted
here.
The project grade will be distributed with the following breakdown:
- Design: 30%
- Prototype 20%
- Implementation: 40%
- Misc. (group interaction, meeting logs): 10%
IMPORTANT Each project will receive a cumulative grade which
will be weighted by evaluations that team members submit. Instructions
on the submission of team member evaluations will be available here.
An initial team formation will be done in class during the thirdweek of classes.
The teams will be formed (somewhat) randomly based on your background and performance
in the first quiz.
Team logistics and duties: The following are
duties that each team will need to adhere to, at least initially:
- Team member roles: You will need to assign the
following roles to each of your team members. These roles do not
need to be permanent, but can be floating (i.e., you can change
roles over the course of the semester). The same person can
fulfill multiple roles, while a member may not have any of the
special roles.
- Team leader: The leader shall coordinate team meetings,
assign tasks, and in general ensure the proper
functionality of the team.
- Documentor: The documentor will note down minutes of each
team meeting, specific decisions made in the meeting, and
outcomes of any important decisions. Ensure that all the
meetings are properly logged - these logs will need to be
included in your final project report.
- Guru: The guru is a special role who will be the most
knowledgeable person about the project and its
requirements.
- Code leader: This person will be the main
programming/implementation person. She will have to ensure
consistency of the implementation, keep versions and
backups of the implementation.
- Instructor contact: This will be the person who will serve
as the contact for me on behalf of the team. If I have any
questions regarding the project, or if you have questions,
this person should be available to come and meet me or
communicate with me.
- Team meetings: Starting the week the teams are
formed, each team should meet for at least 15-30 minutes
each week to discuss project issues. The first meeting could
be used for deciding team member roles. You will need to
find a common time to meet. If other times are hard to find,
you can meet immediately before or after the lecture
time.
- Team communication: The documentor of the team
should keep an email folder containing email communications
within and outside the team regarding the project. As usual,
most communication will be via email, but you can also think
about other means of communication.
In this milestone, you will need to submit a design document for the project.
In this document, you will need to provide an approximate site map for the project,
and the database design of the project. As discussed in class - this is the
first step towards implementing your project. The following are three parts
of this design document.
- Detailed writeup: Elaborate the scope of the project in about 2
pages of single-spaced, 12 point, 1" margin word-processed document, describing all
the components of the project that you have thought about.
- Site Map: Think about the structure of the project, including
all the different static componets of the project. For the time being, you can also
treat dynamic components as static. Don't worry about the types (html/xml/asp/aspx)
for now. Create a diagram that represents the site map for your project showing which
components can be navigated to/from other components.
- ER diagram: Create an ER diagram that includes all entities,
relationships, any weak entities/relationships, and ISA hierarchies if any.
You can only display the most important attributes for each of the entities.
Ensure that you display proper cardinality and participant constraints for
every entity-relationship connection.
There are no concrete deliverables for this project. Each team
should meet with the instructor or the grader to demonstrate their
prototypes.
The project prototype should be a semi-complete implementation of
the project. This should reflect a complete understanding of the
design and an understanding of how the implementation would shape
together in its final form. At the minimum, the following should be
included:
- All user-interfaces implemented, including forms, links,
connections between different units.
- All database connection issues resolved. You must demonstrate at least
one application where a page is generated dynamically based on contents
of your database. Your program should be
able to connect to the database and show at least some data
interaction between your code and the database
Well, you guys have come across a number of hurdles, now the last
one. This is hopefully not going to be the most painful one, given the
amount of preparation that has gone into this system.
What do I want from this project?
I want to ensure that the project was at least a learning
experience for you as a database development exercise. I do not like
assigning minimum requirements for the project, but obviously I need
to keep a standard to ensure that people are not going away with
trivial things. So, here are some of the criteria that you will need
to have:
- A decent user-interface. You should have a well-designed menu,
the user interaction should be properly explained and any user
using the system for the first time should know what he/she is
supposed to do at a particular time.
- Code complexity. This is debatable, but a rough estimate of the
number of independent dynamic application-based pages should be
at least three times the number of group members. Static pages are
not considered for this complexity measure.
What do you need to submit?
The following items need to be submitted:
- DML statements to create your database and populate it with a
basic set of test values.
- Complete code (html/xml/asp/aspx). Please zip the
code and maintain the directory hierarchy.
- A writeup containing (i) the final site map and ER model;
(ii) what parts, if any, of the were not implemented and the
reasons behind them; and (iii) your experiences with the
project - what you liked about it, what you disliked about it -
how it could be improved, and whether or not you would like to
see your project continued in a subsequent semester by another
team of students.
- A complete log of your team meetings (remember, I said I will
ask for this?)