JMU CS345 - Software Engineering
Help Policies Solutions Study-Aids Syllabus Tools
Team Project


The team project this semester involves the design, construction, testing, and deployment of a recipe management program (not a recipe book) that will, ultimately, interact with the devices in a "smart" kitchen.

1 About the Client/Product

Each team is working for the company KitchIntel on the product KILowBites. KitchIntel has supplied you with a Domain Glossary containing many of the things you will need to know in order to work with them.

2 Required Process and Tools

Every student in the course will be assigned to a team as described in the "Project Policies" document that is available from the course "Policies" page.

Teams must use Scrum. The Product Owner will provide a set of prioritized features (i.e., a product backlog) that constitutes the product design. During the sprint planning meetings, your team must determine which features (i.e., stories) will be included in the sprint backlog and create tasks and acceptance criteria for each.

Each team member must use the required Java Development Tools, Engineering Design Tools, Scrum Tools, and Code Management Tools (as described on the course "Tools" page). Note that you must use Java v21 (not higher). If you have installed a higher version, your code must not use features beyond those in v21 and you must cross-compile your code so that the .class files are consistent with v21. (See the CS Wiki for help.)

Your source code (other than test suites) must conform to the course style guide and must not contain any style defects at any time. In other words, source code in the repository must not contain style defects.

Your JUnit tests must be in a package named testing and each test class must include the word "Test" in its name.

3 Final Product Review 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:

4 Assessment

Your team's grade on a sprint will be based on the quality of the team's planning. Your individual grade on a sprint will be based on your attendance, whether or not you completed the tasks you committed to during the sprint planning meeting, whether or not you committed to enough tasks, and whether or not you reported your progress as you worked through tasks.

Your team's grade on the final product will be based on the quality of the final deliverables and on the improvements your team made to the process it used.

Copyright 2024