JMU CS446 - Software Analysis and Design
Help Policies Solutions Study-Aids Syllabus Tools
Project


1 Overview

For the project you must collectively design and implement a product suite called uSuite, a set of desktop applications that is designed to be used by university administrators, faculty members, and students. You will work in small teams (of 3-5 members); each team will design and implement one product in the suite.

2 Documents

The following documents provide an overview of the suite, describe some of the "shorthands" that are used in the descriptions of the individual applications, and list the requirements that are common to all of the individual applications.

The following documents contain the stories (i.e., features) for the first products to be developed.

As is always the case when using Scrum, the stories are a promise to conduct more detailed conversations in the future. In other words, a story doesn't contain all necessary details, it is a brief description of a feature. Also remember that the stories were written by "business people" (in this case, potential users throughout the University), so may be unclear from a technical perspective. As a result, you should plan on asking a lot of questions while planning each sprint. In most cases, I will be able to answer the questions, but in some cases I may direct you to someone else.

The current icons for these applications are courtesy of the Tango Project. They may be changed in the future.

3 Reminders

3.1 Application Framework

You must use the application framework that was implemented for the programming assignments. Remember that this framework is being used by all of the teams, so you must not make changes to the framework indiscriminately.

3.2 Export/Import

As noted in the overview (and in stories for the individual applications), outputs from some applications must be used as inputs to others. Hence, even though the products are largely independent, you will need to communicate with the other teams.

3.3 Code Organization and Version Control

As mentioned in the overview of the programming assignments, in keeping with the current state of the practice, we will be using two Eclipse projects, one for the deployable code and one for the unit tests, with identical package structures. This will make it easier to deploy the code while still having the unit tests and the code being tested in the same package (allowing for package visibility).

We will be using Git (through Github) for version control.

4 Final Presentation and Deliverables

At the end of the last sprint, you must give a presentation. For more information, see the following document:

Before the start of class on the day of the final presentation you must submit several deliverables. For more information, see the following document:

Copyright 2022