CMPUT 301

Software Engineering

Project Part 3

Project Part 3 -- Half-Way Checkpoint

Learning Objectives

Overview

This project part focuses on a working prototype with about half of the requirements. You must have some server connectivity working by this part.

Deliverables

1. Addressing Feedback: Address any TA feedback on the previous project part.

2. Code Base of Prototype: Your source code will be inspected. The code should conform to some consistent coding convention. Your prototype should provide something tangible to the user, supporting about half the requirements. Maintain the source code in your source repository.

3. Code Documentation: For each source code file, you should have a brief introductory comment describing its purpose or role within the application or a design pattern, as well as any currently outstanding issues. Provide Javadoc interface documentation for your model classes and their public methods (at least).

4. Test Cases: Write runnable tests for your model and control classes. Provide intent tests for the requirements you have done. Deliver the test code to your source repository. If you have test data files, also include those. Test data should be realistic.

5. Object-Oriented Design: Document your object-oriented design using a UML class diagram (or diagrams), including details on key attributes and methods. Add notes as appropriate to clarify. The diagram(s) will likely evolve.

6. Product Backlog: Update the requirements as appropriate. Note which user stories are done at this checkpoint.

7. User Interface Mockups and Storyboard Sequences: Update these diagrams as appropriate.

8. Sprint Planning and Reviews: Maintain a record of what user stories are planned for each weekly sprint at its start, including who is to work on them. For each intermediate week, in the lab, have a sprint review with your TA mentor and all team members present to review the completed user stories.

9. Demonstration: During your team's assigned lab section after the due date (or possibly at a mutually arranged time), you must demo your working prototype to your TA mentor. All team members have to attend the demo.

10. Tool use: Regular and consistent use of GitHub by all team members to share files for the project deliverables, to effectively track issues, and to manage tasks.

There must be consistency across the deliverables at this checkpoint.

The evaluation of this project part will also include a component called "relative quality". This is used to differentiate projects that meet the minimum from projects that go "the extra mile".

Restrictions

Use Java, with Android, and Firestore.

Hints

Integrate early and often, even if some parts may have to be stubbed out to return canned data. Think about issues like server connectivity early in the design, rather than trying to retrofit them later.

Submission Procedure

Use GitHub. Your team repo must be self-contained, i.e., not link to external content that might change.

Please make sure your repository has the right version of code by the deadline. The TA will try to build your program from the submitted code. The TA may contact you if there are build issues.

If you reuse software, give proper credit to the original developers. Obtain approval for the use of third-party libraries as appropriate.

Individual Task and Peer Review Form

After the due date, each member must complete an assessment form to describe his or her individual contribution to the project for this stage, and to review the performance of the other members.

Marking

No part marks, no extra marks. No half marks.