There are 11 assessment criteria required to gain a "Pass" grade. There are an additional 3 criteria to attain a "Distinction" grade. However the Distinction criteria overlap with 3 of the Pass criteria, so there are functionally 11 criteria to meet.
You must use evidence to demonstrate that you meet each of the criteria. For example to meet the criterion "Describes basic software testing frameworks and methodologies" you would need to describe how you wrote tests for a project you worked on.
Here are the criteria:
Explains the roles and responsibilities of all people working within the software development lifecycle, and how they relate to the project
Outlines how teams work effectively to produce software and how to contribute appropriately
Distinction: Compare and contrast the requirements of a software development team, and how they would ensure that each member (including themselves) were able to make a contribution
Outlines and applies the rationale and use of algorithms, logic and data structures.
Reviews methods of software design with reference to functional/technical specifications and applies a justified approach to software development
Distinction: Evaluates different software development approaches in order justifying the best alignment with a given paradigm. (for example, object oriented, event driven or procedural)
Creates logical and maintainable code to deliver project outcomes, explaining their choice of approach.
Distinction: Evaluates the advantages and disadvantages of different coding and programming techniques to create logical and maintainable code
Analyses unit testing results and reviews the outcomes correcting errors.
Identifies and creates test scenarios which satisfy the project specification.
Applies structured techniques to problem solving to identify and resolve issues and debug basic flaws in code.
Distinction: Analyses the software to identify and debug complex issues using a fix that provides a permanent solution
Reviews and justifies their contribution to building, managing and deploying code into the relevant environment in accordance with the project specification.
Establishes a logical thinking approach to areas of work which require valid reasoning and/or justified decision making
Describes how they have maintained a productive, professional and secure working environment throughout the project activity