CS 562
Software Engineering II
Group Project 3 (100 points)
Due:  April 9, 2014 (Due dates for milestones are denoted below and will be strictly enforced)

Project teams have been assigned in class.  There are two groups of five and there is one group of four.  Students have been assigned one of the three following projects.  Unless there is a major issue with a project (e.g. legal, financial, etc.), groups will not be allowed to change the content of their project.  In the case that such an issue arises, groups must come to a consensus on a new or updated topic and clear it with the instructor.

General Guidelines

All teams are expected to at minimum complete the work outlined on this webpage.  Completion of this work does not guarantee an A nor will minimal completion of a project.  Note that you may submit one copy of each milestone's requirements per team unless otherwise instructed.

Team members are expected to exhibit professionalism while working on group projects.  This includes but is not limited to communicating with other team members, ensuring project related emails are cc'ed to other team members, attending team meetings on time, etc.  The instructor reserves the right (but is not obligated) to decrease an individual's grade on this project by half of a letter grade (5 points) for each instance failing to adhere to these standards.

Be sure to determine expertise in each of the following areas
    Documentation
    Design (including UML and MS Visio)
    Databases (MySQL, SQLite, etc.)
    UI (Static and Dynamic Webpages, Android, iOS, Java Swing, etc.)
    Project Management (Estimated cost, Issues, Bug Tracking, Burn Down Charts, Extreme Programming, Agile Scrum, etc.)
    Various project related APIs (J2EE, OpenGL, Java Graphics, Dropbox, etc.)

If you have deficiencies in any of these areas, it is your responsibility to learn the material and contact me about any issues you have with that material.

Presentation requirements

An in class presentation will be required on the project due date.
Presentations should last 12 minutes with 3 minutes for questions and answers.
All team members must participate in the presentation, but the length of said participation is at the team's discretion.
Dress requirements are informal but neat.
Discuss your project, demonstrate features, discuss what you plan to do next, and describe any problems you are having.
Be prepared to answer technical questions about your project and to describe any design, working software, or testing documents.
Take notes during the question and answer period.
Every team member must participate in the project.
If possible, test your equipment with the projector in the classroom at least one day in advance of the presentation.

Milestone 1 (Due: March 14, 2014) 10 points

Continue work on a segment of your project, estimate the time for this and future segments, determine brief use cases for that portion of the project, create test cases for this segment, unit test the segment using stubs or driver classes if necessary, keep a log of issues faced during this segment, update your design documents if necessary, denote any questions or concerns the team has about the project, and include any code you have completed so far (even items that do not yet compile).  Refer to worksheet 3 for information on updating your documentation, requirements, and code.  Each team must complete a progress report (one paragraph summation of work completed).  For this milestone, your team must keep a burndown chart.  Examples of how to keep burndown charts are provided by Wikipedia and JoelinPointForm.  You must also use Planning Poker to resolve at least one time related conflict your team is having.  Submit these items to the eCompanion Dropbox for Project 3, Milestone 1.

Be sure to complete your existing work before moving on to new segments of your project.  It is highly recommended that you start documenting your progress now.  

Milestone 2 (Due: March 31, 2014) 10 points

Continue work on a new segments of your project.  If necessary, estimate the time for this and future segments, determine brief use cases for those portions of the project, create test cases for this segment, unit test the segment using stubs or driver classes if necessary, keep a log of issues faced during this segment, update your design documents, denote any questions or concerns the team has about the project, and include any code you have completed so far (even items that do not yet compile).  Refer to worksheet 4 for information on the detailed requirements for this iteration.  You must keep an agenda for one meeting, use automated testing, document your code, create a readme file, and begin incremental and/or regresssion testing.  Each team must complete a progress report (one paragraph summation of work completed).  Additionally, each team member must perform a usability/user acceptance test on another team's project. This means that each team must create a survey form for assessing the quality of their work and instructions on how to use the project. Sample surveys and usability test plans will be provided to you via email. These surveys are to be used in class only. If you wish to use your survey results for research, the survey and test plan must be approved by the university IRB. For this milestone, it is recommended but not required that your team keep a burndown chart.  Submit these items to the eCompanion Dropbox for Project 3, Milestone 2. The usability study has been delayed to Project 3, Milestone 3.

Again, be sure to complete your existing work before moving on to new segments of your project.  It is highly recommended that you start documenting your progress now.  

Milestone 3 (Due: April 9, 2014) 80 points

Complete an in class presentation over your project.  All team members must participate in the presentation.  Your presentation must include an introduction and list of basic requirements/goals for your project, a brief demonstration of the working aspects of your project, a description of updates to your design, and plans for continued work and testing of your project.  Be sure to update documentation, code, testing, or other items that were not finished by the end of Milestone 2.  This includes but is not limited to requirements and specification documents, domain analysis, updated use cases, updated UML diagrams, updated ER diagrams, data dictionary, unresolved issues, burndown chart, results of planning poker games, readme file(s), test plans, and information about any additional modules you want to add to your project.  Submit your code, documentation, presentation, and other relevant documents, to the eCompanion Dropbox for Project 3, Milestone 3.