COMP 4350 Software Development II
Project


The project is the major component of this course. You are expected to work within a team of 6 (or maybe 7) developers to develop a complex "enterprise" system. By enterprise, we mean a system consisting of one (or more) server(s) accessed via multiple classes of clients. In our case, we will be using Amazon's Web Services to host our server(s) and we will provide web and (native) mobile clients. To facilitate this we have a number of iPod touches and iPads available for you to sign out for the majority of the term. Depending on numbers, we will be limiting each team to 2-3 iPods and 1 iPad.

The project is broken down into the following components: Proposal
Your team's proposal will outline the scope of your project. Include details on how you will utilize all required technologies, but first and foremost, be sure to include user stories to show how your system will be used.

By the time the proposal is handed in you must have a live repository and project tracking system. As part of your proposal you must include all information I need to access your repository and tracking system. Further, a signed
Honesty Declaration must be included as part of your proposal.

Project Snapshots
After your team's proposal has been handed in, you will begin development. At roughly three week intervals a snapshot of your project's codebase will be taken (by the instructor) for marking purposes. There will be no set time so be sure that your repository is always up-to-date and has fully functioning code.

I will also use your project tracking information to determine what has been accomplished and where you plan on going next. For your snapshot to be marked, the information regarding what has been accomplished must be present within this system. If it isn't, the assumption will be that the given task hasn't been started (let alone completed) and your mark will reflect this.

Final Project Implementation
At the completion of your project I will again take a snapshot of your repository and use your project tracking system to guide the marking of your system. Any changes made after the project due date will be ignored. Once again, if information is not present within your project tracking system I will assume that you didn't implement a feature, even if it is present in your code.

Presentation
The last few classes will be dedicated to live demonstrations of your finished solution. You will be given ~10-15 minutes to demonstration your system and discuss any development issues, surprises, revelations, etc. For each feature that you demonstrate, start with the user story from your proposal, followed by a demonstration of the realized feature.

Individual Marking
While this is a group project, every attempt will be made to assign marks appropriately. The mark given to a team for a snapshot, presentation and the final implementation represents the maximum a team member can receive. The information found in the project tracking system, the repository's change history and peer evaluations will be used to weight the mark given to each team member.