line decor
  373 Home  
line decor
 
 
Projects

The course projects run for the entire semester. I will assign groups to projects and people to groups. There will be two to four main project groups and the possibility that groups may have subgroups. Note that working in these larger groups presents complexities and challenges that are not present in single-developer or small-developer workgroups.

Projects will be in Java, and must be developed using the Eclipse editor. They will be stored in a Subversion repository, and all model-layer classes must have accompanying jUnit unit tests. While we will discuss some of these technologies in class, make sure that you become familiar with them.

Projects will be done in an iterative, agile fashion. Client involvement is limited to the tutorial meeting, so be sure that you extract any requirements during this period. Getting requirements and feedback from the client is the key to agility. A quick start to the project and constant (in our case, weekly) delivery of features are also extremely important. We will schedule four iterations for the semester. At the end of iterations 2 and 4 there will be formal class presentations.

Some students will be called upon to take certain roles (such as manager, software configuration manager, or tester, etc.) in the projects. These roles are temporary (generally for one iteration) and will be rotated to other students. I reduce my expectation of the amount of other project work a student is expected to do when they are performing such a role. It is possible that not all students will be assigned roles during the semester.

All checked-in project code is considered common group and class property.. Any checked-in code may be used as examples in lecture. Develop a thick skin and a learning attitude as there will be some public critiquing of code.