Stan Kurkovsky, PhD
HomeTeachingSoftware Engineering › Course Project

Course project

CS 410/530 - Spring 2008 - Please note that this document is subject to change

Objectives

Design and implement a complex software system utilizing the skills acquired in this course.

Project phases, deliverables and due dates

This project must be completed by teams of three students using the incremental delivery process model.

Each deliverable must be submitted on or before the indicated due date. Teams will not be allowed to proceed to a subsequent project phase without submitting a satisfactory deliverable for the previous phase.

Each deliverable document must have a title page indication the project title, deliverable name, team membership, and submission date.

Project proposal

Project proposal must clearly describe the intended use of the system, its overall functionality and main architectural components. It must also identify the members of the proposed team and map their skills and experience to those needed to successfully design and implement the project. Each team must identify a team leader who will be responsible for all aspects of communication with the instructor.

Student teams are strongly encouraged to discuss their project ideas with the instructor prior to submitting their project proposals.

Format: informal essay, 2 pages maximum
Value:
5%
Due date: February 20, 2008

System requirements document

System requirements must be specified at two levels of abstraction and divided into the user requirements and system requirements. Clearly indicate functional and nonfunctional requirements. Include a glossary that defines all relevant terms that may have a special meaning in the context of the system.

User requirements. Begin with a narrative providing a general overview of the system. Use the natural language, but adhere to some format (you must come up with your own). Each item in this part of the requirements document must have at least a name, rationale, and a brief description written in an easy to understand language. Supplement your user requirements document with use case diagram(s).

System requirements. Do not start working on these until the user requirements are complete. Use structured natural language within a standard software requirements document structure (e.g. IEEE). Sequence diagrams must be used throughout the system requirements document.

Format: as described above; UML use case diagrams and sequence diagrams
Value:
15%
Due date: March 3, 2008

System architecture design document

Design the overall system organization and decompose the system into a number of modules. Use object-oriented design and UML diagrams throughout the system architecture design document. Include class diagrams and refined sequence diagrams. These should be based on sequence diagrams from the system requirement document, but they will have more detail and use classes developed during this phase along with their data and methods.

Design the key features of the user interface. If applicable, include sketches for user interface forms.

Format: as described above; UML class diagrams and sequence diagrams; sketches of UI
Value: 15%
Due date: March 26, 2008

Iterative development plan document

As the system is developed using the incremental delivery process model, each team must plan for at least three iterations.

Describe the rationale for the number of planned iterations. Explain what will be accomplished in each iteration. Identify completion dates for each iteration. The final iteration must be completed no later than April 28, 2008.

Format: informal essay; formal iterative plan and schedule
Value: 5%
Due date: March 26, 2008

Iteration report documents

Iteration report document must be submitted at the end of each iteration. Specific due dates will be determined by each team's iterative development schedule.

For each iteration, the report document must include: a subset of relevant requirements (use the same format as in the system requirements document), increment design documents (use the same format as in the system architecture design document), increment integration plan, increment validation plan, intermediate system validation plan.

For all iterations after the first, give a summary of the previous iteration and describe your successes and failures in that iteration.

Format: various
Value: 25% for all iterations
Due date: April 28, 2008 for last report

Deployment document

Deployment document must describe your plan for delivering your system to a potential client. This document should focus on the installation of your system and include a kind of a brief user manual that would help a novice use your system.

Format: informal essay
Value: 5%
Due date: May 5, 2008

Project demonstration

All software developed within this project must be successfully demonstrated in class. Each demonstration must be accompanied by a brief presentation explaining the nature of the project.

Format: in-class presentation with software demonstration
Value: 30%
Due date: May 5-7, 2008

Important: project plan documents

Each deliverable listed above must be accompanied by a current project plan/schedule. This document will evolve and increase in detail as the project progresses. Specific and realistic dates must be included in each version of the plan document. Failure to adhere to the scheduled dates may result in deduction of points. Each plan document must also include information reflecting past dates and activities.

Format: activity network and bar chart; 1 page

Grading

All deliverables will be graded as a result of work of the entire team. However, individual students may receive different grades based on the degree and quality of their involvement in the project. To facilitate the objectivity in grading, each student will be required to complete a confidential survey about the involvement of other members of his or her team in the project. These surveys will be strictly confidential. Students who fail to complete this survey will receive a grade of 0 for the entire course project.