The project emphasizes several important aspect of modern day, large scale software development:
The project is divided in four parts. The first three correspond to the iterative development of a client-server chat application. The fourth part corresponds to the development of a standalone Android application.
The chat project involves using the Object Client-Server Framework (OCSF) provided with the textbook and incrementally adding features that are described in chapters 3, 4, 6, and 7, of the Lethbridge/Laganiere book, and those added by the instructor. These chapters correspond to chapters 9--13 of your custom textbook. More information about the Android project will be available later.
Teams have been formed and team information was posted in Canvas both as an announcement as well as a discussion posting.
We will use GitHub for our projects. We have created an organization called CSU-CS314-FA2015. Private repositories were created for each team under that organization. You need to accept the invitation that you received from GitHub to access your team's private repository.
Here is a useful reference on GitHub prepared by Dr. Geri Georg for CS314, Spring 2014. It has undergone several revisions.
Each assignment will have points allocated for the entire team to ensure that GitHub is being used. If the commit log shows that a particular team member didn't check in any code ever, or submitted code only before the deadline, there will be a severe penalty for the team member. You must use GitHub and submit evidence (e.g., a commit log) that each member used the software to check in and check out code. The commit log will help us determine a number of things, such as (1) level of individual participation, (2) adequate use of GitHub. If the document shows an inadequate amount of checkin and checkout, the team may lose points. If an individual has no corresponding entry in the log, this individual may lose a lot of points for not participating in the project (i.e., the penalty is not limited to the points for just submitting a commit log).
With each phase of the project, you must turn in a self-evaluation and peer review of the other team member. The instructor will use these to determine individual grades of each team member. Grades may be adjusted up or down. If someone has done no work for a project, the instructor reserves the right to award no points to this person.
Describe in a few paragraphs your opinion of your teammates' work and assign a letter grade. If you want, you may turn in the reviews separately for confidentiality. The reviews will be used to determine the overall grade for each team member. Not turning in the peer review will result in the loss of 5 points. A lazy review (e.g., just saying "good job done" or "Grade A", but nothing else) will also result in the loss of 5 points.
Also perform a self-evaluation on the same lines as the review of your teammate(s). Each self-evaluation is worth 5 points. If you don't turn in the self-evaluation or if it does not contain the information required, you will lose points.
Put your name and group name at the top of the document.