Site Search

CS 351: Group Integration Project

Working in teams of four or five students per group, apply the knowledge learned in C#, ASP.NET, SQL Server Express, and Visual Studio 2005 to design, build, and test an online paper peer-review system.

The online system is to replace the paper/email based system currently in use by the Northwestern region of the Consortium for Computing Sciences in Colleges. A sample online peer-review system can be examined at this site.

Use Cases

A System Use Case Diagram, user stories, scenarios, and acceptance tests are provided

At each class period, Dr. G (playing the role of Customer) will prioritize user stories and perform acceptance testing. You are expected to have your program ready for acceptance testing sometime during each class period. Iteration cycles will take an accelerated time period: one iteration per class meeting!

Programming Teams

Students will be grouped into three programming teams of four or five students each.

Each programming team will implement a complete solution to the online peer-review system.

Team 1
cs351g_01
Team 2
cs351g_02
Team 3
cs351g_03
  1. Nicholson, Thomas
  2. Dunda, Brock
  3. Venables, Kevin
  4. Lockwood, William
  1. Woodard, Benjamin
  2. Long, Nathaniel
  3. Pirone, Paul
  4. Roseberry, Eugene
  1. Tomlinson, Gary
  2. Pankiewicz, Michael
  3. Devlin, Liam
  4. Hansen, Samwise
  5. Stearns, Trevor

Expectations

Use this project to experiment with eXtreme programming, pair programming, TortoiseSVN version control, and advanced .NET 2.0 features. Consider it a warm-up for CS 480-481.

Practice the XP core values of simplicity, communication, feedback and courage. Remember that this is an integration project for you to demonstrate mastery of the advanced technologies learned this quarter:

You are expected to learn new features and techniques of ASP.NET development. The primary learning objective of the CS major is (or should be) that students should graduate with the ability to self-learn.

Use this project to the core practices of eXtreme programming: pair programming, small daily releases, continuous integration with TortoiseSVN, onsite customer (Dr. G), spike solutions, and refactoring.

To Receive Credit

This Group Project Assignment is due at the start of class on Wednesday, February 27

Each team will be given a new CS 351 group account to use for this project. Save your files in a TortoiseSVN repository. Your current cs35102_nn accounts should be able to access your team's account

Prior to class on Wednesday, prepare a 15-minute Oral Report with PowerPoint slides that includes

  1. An explanation of the group processes your team followed in developing your solution (e.g. eXtreme programming)
    • Faithfulness to the process
    • Insights into the process' effectiveness and problems encountered
  2. The basic architecture and overall design of your solution (e.g. 3-tier model-view-controller)
  3. The design of your relational database (Database diagram(s) are useful)
  4. Detailed design of your data access layer and business logic layer (Class diagrams are helpful here)
  5. Demonstration of your system
    • Point out areas of pride in your solution and why they are noteworthy
    • Point out areas of concern in your solution and how they could be improved
    • Current status of your solution - what is not yet complete
  6. Project post-mortem
    • Explain at least two items that were done well during the project
    • Explain at least two items that were done poorly during the project
    • Given the opportunity to begin anew, what would the team do differently?

Note: All team members must participate in the project oral report

Grading criteria

A holistic evaluation will be done on your project, based on both the oral presentation and on my testing of your solution.

Peer assessment: Ideally, all group members will work equally hard on the project and receive the same grade. However, to deal with the possibility that some members may not pull their fair share, a peer assessed percentage of an individual's grade for the assignment will be used.

At the completion of the project, each team member will independently award the other team members a percentage of total effort (100%).

You are free to divide up the effort as you see fit, for example 40%, 35%, and 25%, so long as they total 100%. I will average the peer-assessments to pro-rate individual grades received on the assignment.