COMPX341-25A Assignment Three:
Software Development
Due date: 11:59 pm Friday 16th May, 2025
Submission: LaTeX PDF via Moodle and Software via UoW GitLab
Weight in overall grade: 20%
Abstract
You work as a Software Engineer for SoTech, a software engineering company. A new and emerging Smart Home development company, called Encost, has approached your company with a proposed project called The Encost Smart Graph Project (ESGP). ESGP is a software system that enables the visualisation of Encost’s devices using a graph data structure.
Introduction
You still work as a Software Engineer for SoTech, a software engineering com- pany. While you were busy completing your testing documentation, a different team was working on an alternative test plan, which the client has accepted. Your company (SoTech) and the client (Encost) have agreed on the Software Requirements Specifications (SRS) document, the Software Design Specifica- tions (SDS) document, and the Functional Software Test Plan document. Your task now is to continue with the Software construction. Your task is to study the SRS, SDS, and test plan documents that have already been accepted by the client and develop the ESGP software.
Five Functional Software Test Plan documents (along with their correspond- ing SDS document) will be uploaded to Moodle. You must select one of these Test Plan documents as the ‘client accepted version’. Overall, in the assignment, you are required to do the following.
1 Complete a Development Planning Document
The construction phase of your project should follow a SCRUM process, which includes developing a Product Backlog and breaking your work down into so- called Sprints. A LaTeX template has been provided. Your task is to create a development planning document, including your Product Backlog and the Sprints that were undertaken throughout the construction phase of your project. Your planning document must meet the following requirements:
• Product Backlog:
- Write a Product Backlog that covers all High Priority functional requirements in the SRS, based on the design laid out in the SDS, and the tests laid out in the Functional Test Plan.
• Sprints:
Your Planning Document should include information about each of your sprints, including but not limited to:
- The product backlog items that were selected for each sprint
- The tasks that were planned at the start of each sprint (extracted from the product backlog items)
- Design decisions that were made during each sprint
- Proof of tests being passed and/or failed in this sprint
- The status of each task at the end of the sprint. For each task, was it completed, in progress, or not started? Are any tasks being rolled over into the next sprint?
2 Develop the ESGP software
Your task is to develop the ESGP software. Your software should cover all High Priority functional requirements in the SRS, based on the design laid out in the SDS, and the tests laid out in the Functional Test Plan. Your software must be submitted via GitLab (https://courses-git.cms.waikato.ac.nz). Please keep in mind the importance of Software Quality and Code Quality.
Notes
1. You are required to submit your software using UoW GitLab (https: //courses-git.cms.waikato.ac.nz). Please ensure that you commit to GitLab (providing good commit messages) throughout, not just at the end.
2. The use of the Planning Document template is uncommon in industry. Once out in industry, you are more likely to use “Agile-development” software (e.g. Jira). The template is used in this assignment to give you some experience handling a Product Backlog and Sprints without having to learn additional software systems.