CS 108: Group Project
Fall Semester 2005


Learning Objective:

In this project, you will learn how to interact with a team of software developers to propose, design, implement, test, and demonstrate a software application.

List of groups is here.


Problem Statement

Typical application development is conducted as a team effort. Work roles include requirements analysis, detailed design, programming, testing, an deployment (presentation in our case).

Your goal is to develop a prototype for a real-works business application. A prototype is a small-scale implementation (to limit complexity and time required) that will server as a proof-of-concept for a larger software project. The goal of developing a prototype is deeper learning about the problem, and developing insights to assist in a further development, should that decision be undertaken.

As a team, you will select the subject of your application. You have a lot of latitude in what you choose to do, and I will assist you as best I can.

Your application should include the following elements of application programming we've used during the semester:

  • data abstraction, modeling business transaction using objects
  • a useful process/algorithm (e.g. order-entry, resource tracking, accounting calculation, etc.)
  • a multiple-window graphical user interface for the application
  • a back-end database to store/retrieve records appropriate to the business transaction

Once you select the subject, you will act out a software development life-cycle project, which will include several deliverables outlines on the next page. We will discuss this process, and each deliverable, in class as we go.


Development Team Rules
  • Teams of 4-5 students will be selected at random during classroom hours.
  • Each team must select a team lead who will coordinate meetings, submit all deliverables, and schedule any required group meetings with the instructor.
  • Collaboration and teamwork are required within the teams. Collaboration across teams is prohibited.
  • Each team member will evaluate each other team member on a form to be provided around the last week of class. Responses will be held in strict confidence, and will be taken into consideration for grading purposes.


Project Deliverables

Deliverable What's expected/details Due Date
Project proposal The project proposal will answer the question: what problem/application will you study?
Explain why this is an interesting problem/application.

Write up of 1/2 page at most.

5pm on Monday
14 November 2005
Requirement analysis The requirements analysis will answer the question: what should the software application do? Here, you will be specific about user interactions, calculations/algorithms, and process/work flow. A UML use-case diagram is required to support your analysis.

Write-up (excluding diagrams of 2 pages at most.

5pm on Monday
21 November 2005
Design and prototype plan The design will answer the question: How should the program work? Here, you should go into detail about the objects involves, and provide UML class diagram(s) to show the interactions among the objects. Think about the behaviors/responsibilities required of each object, and show the method names in the UML class diagram.

Provide a brief narrative text to accompany these diagrams (about 1-2 pages of narrative should suffice).

The prototype plan will be a brief statement on which subset of functionality will be built for the prototype. (keep it brief!)

5pm on Monday
28 November 2005

In-class Tuesday
29 November 2005
Project presentation You will have the opportunity to present your project during the last week of classes. Your presentation should be a fairly relaxed talk about your prototype application. The presentation (about 15 minutes) must include a brief summary of the requirements, the design, and a demonstration of how the program works. You may use a small number of PowerPoint slides or handouts, but keep it simple.
In class on
6 December 2005 or
8 December 2005
Complete project You will submit a complete project portfolio including all previous deliverables (revised as appropriate), all source code (via websbumit), and an executive summary.

The executive summary will introduce the project deliverables, discuss lessons learned from this prototype exercise, as well as a go/no-no recommendation should this application proceed to a full-scale development.

The executive summary should be 2-3 pages maximum.

In class on
8 December 2005
Group evaluations Group evaluation forms will be distributed during the last week of class. The evaluation forms will be due to my office (PSY 228B).

5pm on Monday
12 December 2005


Grading Criteria