Application
This unit describes the skills and knowledge required to check a software application design against the specifications, and to apply validation techniques across the system’s life cycle.
It applies to individuals employed in the area of software development who are responsible for verifying and validating software design specifications. They may be software project managers, testers, software engineers, system analysts or software developers.
No licensing, legislative or certification requirements apply to this unit at the time of publication.
Elements and Performance Criteria
ELEMENT | PERFORMANCE CRITERIA |
Elements describe the essential outcomes. | Performance criteria describe the performance needed to demonstrate achievement of the element. |
1. Evaluate the software requirement specifications | 1.1 Review the software requirement specifications document prior to design, to ensure that it is complete and correct 1.2 Validate the software requirement specifications document |
2. Create a proof of concept prototype | 2.1 Use rapid application development tools (RAD) to create a prototype system 2.2 Present the prototype system for demonstration to the appropriate person 2.3 Validate the proof of concept |
3. Evaluate the software design | 3.1 Determine if the design is complete, accurate, consistent and feasible 3.2 Validate the software design document 3.3 Validate the database structure and its elements 3.4 Validate the user interface (UI) 3.5 Review the software risk analysis |
4. Evaluate the source code | 4.1 Validate the consistency between the code and the software design document 4.2 Validate logical structure and syntax, using static analysis tools |
5. Evaluate the testing requirements | 5.1 Review and validate the test plans 5.2 Review and validate the test cases |
6. Document the validation | 6.1 Document the results of the validation exercise 6.2 Recommend the current software design, or itemise the required alterations 6.3 Submit the report to the appropriate person for action |
Evidence of Performance
Evidence of the ability to:
interpret and check software requirement specifications documents
use rapid application development (RAD) tools to create and present a validated proof of concept prototype
validate the software design, source code and testing requirements and document the results
report on results of validation, including recommended actions.
Note: If a specific volume or frequency is not stated, then evidence must be provided at least once.
Evidence of Knowledge
To complete the unit requirements safely and effectively, the individual must:
explain the database design and implementation
describe business and technical modelling using UML tools at intermediate level
outline current software development methodologies
describe, in detail, the system development life cycle (SDLC)
explain object-oriented programming
describe open-source development tools
describe software-testing techniques.
Assessment Conditions
Gather evidence to demonstrate consistent performance in conditions that are safe and replicate the workplace. Noise levels, production flow, interruptions and time variances must be typical of those experienced in the programming and software development industry, and include access to:
tools to create prototype systems
static analysis tools
test plan and test cases.
Assessors must satisfy NVR/AQTF assessor requirements.
Foundation Skills
This section describes language, literacy, numeracy and employment skills incorporated in the performance criteria that are required for competent performance.
Skill | PerformanceCriteria | Description |
Reading | 1.1 | Interprets and critically analyses complex software-requirement specifications |
Writing | 6.1 | Prepares documents using required structure, layout, and conventions |
Interact with others | 2.2, 6.3 | Takes audience, purpose and contextual factors into account, when making decisions about what to communicate, with whom, why, and how |
Get the work done | All | Sequences and schedules complex activities, monitors implementation and manages relevant communication Takes responsibility for decisions about when, and how, to complete tasks and coordinate with others Uses analytical processes to decide on a course of action, establishing the criteria for deciding between options, and evaluating options against the criteria Understands the key principles and concepts underpinning the design, and operation, of digital systems and tools |
Sectors
Programming and software development