Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Value: 20% of the Course Mark

...

You are required to use Git to keep track of your code.

All students are required to fill out this declaration form regarding academic integrity.

5.3 Code Quality

You will be marked on the quality of your code at a module / class / file / package level as well as the quality of the code itself. You should make logical design decisions, write robust code and adhere to Software Engineering design principles, including but not limited to the following:

...

  • The board shows the truth of your team’s progress;

  • Tasks are updated, added to and adjusted as necessary as the project progresses;

  • Tasks are updated across the kanban columns; and

  • Tasks are completed according to their assigned priorities.

8. Marking Criteria

Criteria

Description

Breadth & Depth of Implementation (35%)

This is a qualitative mark that your mentor will give based on how much of your service you have implemented, and the quality of what you have implemented. Considerations that are taken into account:

  • Complexity of functionality

  • Robustness of functionality (whether it is working)

Software Design & Architecture (30%)

  • Is the stack well designed and justified, and have any changes from Sprint 1 been documented and justified?

  • Have the non-functional requirements been accommodated and designed for?

  • Has a data model been produced which is accurate and demonstrates thoughtful planning?

  • Have the different layers been written and abstracted appropriately in the code?

  • Does the API design provide a near-complete solution to the specified requirements?

  • Does the API provide ability to create, read, list, update and delete data in the service?

  • Have all required fields been included for each endpoint?

  • Are the endpoint descriptions succinct and understandable?

  • Is the interface well formatted and readable?

Software Quality (20%)

  • Is there a suite of tests which gives a sufficient coverage score?

  • Are the tests well designed and thought out?

  • Have tests been written at multiple levels of abstraction as specified?

  • Do the tests cover a wide range of conceptual cases?

  • Has CI been setup to automatically check code in the repo?

  • Is the code well written and styled (See Section 5.3)

Deployment (5%)

  • Has the service been deployed on a platform?

  • Is it available and functional for anyone to use on the internet?

Project Management & Communications (10%)

  • Are meeting minutes well laid-out, detailed and insightful?

  • Has the team been using a platform for regular communication?

  • Has the team undertaken Agile communications? (standups, sprint planning, sprint retrospective)

  • Has the Jira board been used correctly (See Section 7.2)

  • Have git commits and merge requests been used appropriately?

9. Submission

Place a link to your repository inside a Confluence page called Codebase.

...