CS 530 - Advanced Software Engineering Course Project - Fall 2024

Objective: design and implement a complex software system utilizing the skills acquired in this course

All grades are calculated out of 100 pts maximum

Project phases, deliverables, and due dates

This project must be completed by teams of three or four students using an agile 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 indicating the project title, deliverable name, team name and membership, and submission date.

The following will always be considered when grading your work in this course:

Project team info sheet (5 pts)

Get to know your team and make decisions about your own rules. Submit a PDF document containing the following:

Product vision (5 pts)

Use Moore's product vision template to create a product vision statement as described below:

Personas and scenarios (5 pts)

Create an outline mapping at least three personas to a scenario of how they would use your software product:

Product backlog (5 pts)

Use an online planning tool to put together a detailed prioritized product backlog document as described below:

We will create our product backlogs in two iterations, resulting in a draft and a refined version. The refined version of the product backlog must have the following (none of these are required in the draft):

Cloud architecture options (TBA pts)

Consider three architectural options for building your project:

Compare and contrast these architectural options and their implications on your project. For each approach, discuss the following:

Create a 2-page outline justifying your current architectural choice on the basis of the points listed above. One page of the outline should include a table comparing the three architectural options vs four perspectives.

Microservices integration (TBA pts)

Consider several microservices that are currently are (or are planned to be) integrated into your project. For each one, describe the following:

Propose a new microservice that could be implemented using some of the existing (or soon to be implemented) features of your project. What would be the purpose of this hypothetical microservice? How would other (3rd party) applications take advantage of the microservice you are offering? Keeping in mind the decomposition guidelines, describe the following characteristics of your proposed microservice:

Create a 2-page outline describing your current and/or planned use of existing microservices, as well the proposed new hypothetical microservice.

Sprint retrospectives/reviews and reports (4 @ 5 pts each)

During every sprint retrospective/review, each team needs to present and address the following:

At the end of each sprint, submit a sprint report (PDF, no page limit) containing the following:

Project demonstration (50 pts)

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

User manual (5 pts)

Submit the user manual document (PDF, 2 pages minimum not including the screenshots) as described below:

Grading and teamwork survey

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 one or more 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.