Qualification details Title New Zealand Diploma in Software Development (Level 6) Version 1 Qualification type Diploma Level 6 Credits 240 NZSCED 020103 Information Technology > Computer Science > Computer Applications and Programming Qualification developer Institute of IT Professionals New Zealand (IITP) and NZQA National Qualifications Services Next review 2019 Approval date April 2015 Strategic purpose statement The purpose of this qualification is to provide Aotearoa New Zealand with graduates who have attained a range of Information Technology (IT) knowledge, specialist practices and technical skills in software development. It will prepare people for employment in an entry-level developer or tester role in a range of organisational contexts, or to proceed to further study. The qualification is designed for people seeking to focus on one or more application domains, such as general Application Development, Web Development, Games Development, and Mobile Applications Development. Graduates will be capable of operating within applicable professional standards and practice both as part of a team and independently under broad supervision. They will contribute to software development in Aotearoa New Zealand, and be internationally relevant. Businesses, organisations and communities will benefit from having graduates with programming skills including software design, coding, and testing, in all sectors of the economy and society. Outcome Statement Graduate profile Qualification Reference 2604 © New Zealand Qualifications Authority 2015 Graduates will be able to: Technical skills Analyse requirements, design and document software solutions for a range of problems in an organisational context. Write and maintain programs using design patterns, data structures and algorithms to meet specifications. Apply a range of software quality assurance techniques to verify correctness of systems. Apply data management and storage technologies to support the software application and the development process. Establish application security by integrating security principles throughout software development to ensure system integrity. Choose, justify and apply architecture, technologies, and tools, Page 1 of 10 to implement the software solution. (15 credits) Apply IT technical support concepts and practice to manage hardware and software resources to meet organisational requirements in a software development context. Core Skills Apply project management tools and techniques to an IT related project, to analyse and solve problems. Behave with integrity as a responsible Information Technology professional to contribute positively to society. Apply communication, information design, personal and interpersonal skills clearly and professionally to enhance working effectiveness, efficiency, and quality outcomes in an organisational environment. Education pathway Graduates of this qualification may progress to a computing degree, or specialised qualification such as software testing or software security. This qualification may also equip learners to attempt optional industry certifications at the appropriate level and area of specialty. This qualification may provide an education pathway from: - NCEA Level 2 or 3 with appropriate credits in mathematics and digital technologies subjects New Zealand Certificate in Information Technology Essentials (Level 4) [Ref: 2594] New Zealand Certificate in Information Technology (Level 5) [Ref: 2595] New Zealand Diploma in Web Development and Design (Level 5) [Ref: 2598] Appropriate international certifications in software development Graduates of qualifications Ref: 2595 or 2598, who go on to further learning towards this qualification may be granted credit recognition and may only need to demonstrate competence for the additional skills and knowledge required. Employment pathway Graduates of this qualification will have the skills and knowledge to enter employment in development or testing roles, in a range of organisational contexts. These roles may require fundamental coding, scripting, and testing skills, and are less likely to require significant architecture and design skills. Graduates may also be employed in other roles that use programming skills, such as teaching, small business projects; or be self-employed. Qualification specifications Qualification award Qualification Reference 2604 © New Zealand Qualifications Authority 2015 This qualification may be awarded by any education organisation with an approved programme towards this qualification accredited under section 250 of the Education Act 1989. The graduate will be awarded the qualification by the education Page 2 of 10 organisation when the accredited and approved programme has been successfully completed. The formal document certifying the award of this qualification will display the full qualification title, date of award, the NZQF logo and may also include the name and/or logo of the qualification developer or programme owner or other awarding education organisation. Evidence requirements for assuring consistency New Zealand qualifications can be obtained through different programmes, pathways, and education organisations. The process of ‘assuring national consistency of graduate outcomes’ will be coordinated by NZQA, with a focus on comparing graduates from different programmes and education organisations in relation to the qualification graduate outcomes. All programme owners and education organisations arranging training or delivering approved programmes leading to the qualification must engage with arrangements for assuring consistency, including participating in the relevant consistency review event and covering actual and reasonable related costs. Detailed information regarding arrangements for managing consistency will be published and updated via the NZQA website. For more information, please visit: http://www.nzqa.govt.nz/providers-partners/consistency-ofgraduate-outcomes/ and download the guidelines. Evidence for consistency Each education organisation is responsible for preparing a summary self-assessment report which uses evidence to demonstrate how well its graduates meet the graduate profile outcomes at the appropriate threshold. Each education organisation decides what specific evidence it will provide. The core evidence requirements for assuring consistency must include: Qualification Reference 2604 © New Zealand Qualifications Authority 2015 Effective internal and external moderation systems and processes, including results relating to graduate outcomes. This may also include evidence of meeting requirements for external industry certifications and associated consistency demands where appropriate e.g. Certified/Authorised Partner Program (such as Microsoft, CompTIA, etc.) Results of end-user surveys and actions taken or proposed from feedback. This includes consultation with graduates and employers to obtain destination information and enduser feedback specifically assessing the graduates against the graduate profile (e.g. employment, progression, further study) Samples of assessment materials and learners assessments/work (e.g. portfolios of work) Relevant External Evaluation and Review (EER) data, including programme/qualification completion data and course results Page 3 of 10 Comparison of the application of credit transfer and recognition of prior learning arrangements to graduate outcomes and/or qualifications Documenting any action taken to improve quality and consistency of assessment. The core evidence requirements for assuring consistency may include: Credit transfer and recognition of prior learning arrangements Consultation with graduates and employers to obtain destination information and end-user feedback (e.g. employment, progression, further study) Evidence of any benchmarking activities. Consideration of internal quality assurance processes and external reviews, including relevant feedback from programme developers (i.e. may include reviewing, comparing, and evaluating the assessment process, tools and evidence contributing judgements made by a range of assessors against the same graduate outcomes; evidence of appropriate skills and knowledge of staff in relation to the teaching and assessment) Education providers must have policies and procedures in place for managing credit transfer, and assessing recognition of prior learning and recognition of current competency. These policies and procedures, and information about associated fees, must be available to the learner prior to enrolment. Information on and evidence of the application of the credit transfer and recognition of prior learning arrangements by accredited providers must be made available for benchmarking as part of the evidence requirements for assuring consistency. The New Zealand Certificate in Information Technology (Level 5) [Ref: 2595] or the New Zealand Diploma in Web Development and Design (Level 5) [Ref: 2598] may be recognised for credit towards this qualification. This diploma may build on Ref: 2595 or Ref: 2598, and some outcomes from Ref: 2595 may be embedded within the technical outcomes which extend the learning beyond Ref: 2595. Learners may only need to demonstrate competence for the additional skills and knowledge required for this qualification. Minimum standard of achievement and standards for grade endorsements The minimum standard of achievement required for the award of the qualification will be the achievement of all the graduate outcomes in the graduate profile. There are no grade endorsements for this qualification. Entry requirements (including prerequisites to meet regulatory body or legislative requirements) There are no mandatory prerequisites for this qualification Learners enrolling are recommended to hold one of the following qualifications, or equivalent knowledge, skills and experience. - Qualification Reference 2604 © New Zealand Qualifications Authority 2015 NCEA Level 2 or 3 with appropriate credits in mathematics and digital technologies subjects New Zealand Certificate in Information Technology Essentials (Level 4) [Ref: 2594] Page 4 of 10 - New Zealand Certificate in Information Technology (Level 5) [Ref: 2595] New Zealand Diploma in Web Development and Design (Level 5) [Ref: 2598] International students must have an appropriate level of English proficiency for the level at which they intend to study. Details of English language entry requirements are contained in the NZQF Programme Approval and Accreditation Rules 2013 (Appendix 2). E.g. IELTS Academic score of 6, with no band score lower than 5.5; or the New Zealand Certificate in English Language (Academic) (Level 5) [Ref: 1884]. Qualification conditions Overarching conditions relating to the qualification Conditions for programme structure This qualification includes the common core of Level 6 skills and may build on the generalist skills developed at Level 5, or equivalent relevant experience. Professional practice must be an integral part of the curriculum and delivery. It is expected that all programmes have professionalism both purposefully taught and integrated with technical content. Here, professional practice includes the 'soft skills' of communication, team work, interpersonal skills, and ethical principles. Programmes must reflect industry best practice and maintain currency with amendments to, and replacements of, relevant legislation, regulations, Australia/New Zealand standards (AS/NZS), and security responsibilities. Conditions for programme context Current legislation and regulations can be accessed at http://legislation.govt.nz Current AS/NZS standards can be accessed at http://standards.co.nz The Information Technology Code of Practice - Guidelines of good and acceptable practice for IT professionals and organisations operating in New Zealand can be accessed at http://iitp.nz/about/ethics, as can the Code of Professional Conduct. The programme may be designed to focus on one or more application domains, such as General Application Development, Web Development, Games Development, and Mobile Applications Development. Learners are expected to adhere to professional standards for enterprise software development including code structure, testing and documentation (including version control). Programme design, delivery, and assessment, where applicable, will be conducted in and for the context of real or realistic organisations and/or settings; and be relevant to current and/or emerging practice. Programmes leading to the award of this qualification must identify the context, and must justify the allocation of credits to graduate profile outcomes within the programme, in light of the requirements of the context and conditions. The graduate’s capabilities must clearly align with the definition of a Level 6 graduate on the NZQF. See the NZQF level descriptors for further information. All programmes are to be developed with level 6 descriptors in mind – specialised technical knowledge and skills in a field of work, applied Qualification Reference 2604 © New Zealand Qualifications Authority 2015 Page 5 of 10 in specialised/strategic contexts. Consideration should be given to bicultural, multicultural, and gender issues when designing programmes, in relation to encouraging a greater diversity within the professional IT workforce. Programmes may be developed based on Māori principles and values, and are intended to enable Wānanga to meet obligations under the Education Act (1989, section 162(4)(b)(iv)). Some outcomes include embedded learning from the New Zealand Certificate in Information Technology (Level 5) [Ref: 2595]. Other conditions A capstone project is recommended to meet the requirements for this qualification, in a software development context to appropriate industry coding standards and principles. Some programme content could also be aligned with industry certifications. There is a preference for including open and vendor neutral standards, protocols and technologies where possible. Glossary: Abstract data types (ADT) –extend the set primitive data types (e.g. integer, real, Boolean) in a programming language to simplify the coding of complex algorithms, and may be programmer-defined or provided in a software library. Agile: development methodologies/framework that promotes iterative development throughout the lifecycle of the project, encouraging frequent inspection and adaptation. Application domain – the specific area of interest such as General Application Development, Web Development, Games Development, Mobile Applications Development Architecture (software) – the high level structure of a software system, the discipline of creating and documenting these structures Black box testing: a specification-based testing technique also known as behavioural testing; a method of testing functionality of a software application, concentrating on what the software does, not how it does it i.e. the tester does not inspect the code to predict functionality. Boundary value testing: a testing technique where test values are selected to match the upper and lower limits of valid and invalid data, thus potentially exercising all of the program logic, using a minimum of data values Coding: writing statements or instructions in a programming language to form a program – see object oriented, procedural, functional Debugging – process of locating and fixing errors in computer code or hardware devices to make them behave as intended Declarative programming a style of coding that describes what the program should accomplish in terms of the problem domain, rather than describing how to go about accomplishing it as a sequence of programming language statements. Declarative languages include database query languages such as SQL Qualification Reference 2604 © New Zealand Qualifications Authority 2015 Page 6 of 10 Design patterns: reusable solutions to software design problems Digital asset management: management tasks and decisions surrounding control over digital assets such as storing, organising, tracking, sharing Digital storage technologies: computer components, devices, and recording media for storing and backing up digital data Functional programming – is a declarative programming paradigm that treats computation as the evaluation of mathematical functions. Human Computer Interaction (HCI) – interfaces between people (users) and computers Integrated development environment (IDE) – is a programming environment that has been packaged as a tool to facilitate application development. It often comprises a syntax-aware text editor, compiler/interpreter, run-time environment, and a debugging tool. Information Architecture: is a component of enterprise architecture that deals with the information component when describing the structure of an enterprise. In web development; it includes organising and labelling websites, intranets, online communities and software to support usability and findability, factoring in user experience issues of information design. Issue tracking: The process of managing and maintaining lists of issues, such as software bugs, hardware failures, infrastructure and service anomalies Information Systems (IS) – a complementary collection of hardware and software that people and organisations use to collect, filter, process, create and distribute data, with the aim of supporting operations, management and decision making Information Technology (IT) – the common term for the entire spectrum of technologies for information processing and related to computing technology, such as networking, hardware, software, the internet or the people that work these technologies Metrics: a technique or measurement tool used in estimating the effort or time required to develop a software product e.g. lines of code, or function points Model view controller (MVC) – name of a methodology or design pattern Model view presenter (MVP) – displays the user interface of the MVC pattern Object oriented programming (OOP) – integrates code and data using the concept of an "object" (encapsulation). Rather than utilizing database tables, variables, and subroutines (as in a procedural language), an OO developer utilizes objects from their application domain. OWASP - Open web application security project (Refer: https://www.owasp.org/) Procedural programming – programming which contain a series of computational steps to be carried out, as opposed to declarative programming, or object-oriented programming Representational state transfer (REST) – architectural style for creating scalable web services Qualification Reference 2604 © New Zealand Qualifications Authority 2015 Page 7 of 10 Simple object access protocol (SOAP) – a messaging protocol for exchanging structured information in the implementation of web services in computer networks System testing (also end-to-end testing) covering all the functionality of a completely integrated system to verify that it meets specification requirements Unit tests: also known as unit or component testing, refers to tests that verify the functionality of a specific block or module of code User Interface (UI) – everything designed into an information device with which a human may interact User experience (Ux) – the overall experience of a person using a particular product, system or service such as a website or computer application, especially in terms of how easy or pleasing it is to use White box testing – a technique also known as clear box, glass box, or structural testing; involves testing internal structures or workings of a software application by examining the code, as opposed to black-box testing. Specific conditions relating to the Graduate profile Qualification outcomes Conditions Technical Skills (210 credits) 1 Analyse requirements, design and document software solutions for a range of problems in an organisational context. Credits 55 2 Write and maintain programs using design patterns, data structures and algorithms to meet specifications. Credits 60 Qualification Reference 2604 © New Zealand Qualifications Authority 2015 Programmes must include: Applying appropriate business process modelling tools to analyse and document business processes; Software estimation and metrics; User experience (Ux) design including user interface (UI), HCI principles, and universal accessibility; Systems development paradigms e.g. Agile, Structured; Creating accurate and clear technical and user documentation; Application of the core interaction design concepts and practice, underpinned in the third outcome of the New Zealand Certificate in Information Technology (Level 5)[Ref: 2595]; Application of the core information systems skills and knowledge underpinned in the second outcome in the New Zealand Certificate in Information Technology [Ref: 2595]. Programmes must include: Coding – object oriented, procedural; Facility in multiple common programming languages and integrated development environments (IDEs), which fosters the ability to migrate to new languages, tools and systems; Construct software with complex, multi-element architectures and abstract data types (ADTs), such as general graphs, trees, tables; Writing code following design patterns and software development Page 8 of 10 standards; Source and version control; Optimisation concepts and techniques; Automated software builds; Program maintenance techniques; Application of the core software development concepts and practice, underpinned in the fourth outcome of the New Zealand Certificate in Information Technology (Level 5) [Ref: 2595]. Programmes may include: 3 Apply a range of software quality assurance techniques to verify correctness of systems. Credits 25 Interpreted (scripting) and compiled languages; Functional programming. Programmes must include: Designing a variety of tests including unit and system tests, usability testing, user acceptance tests; incorporating a range of testing techniques e.g. white box, black box, boundary-value testing; Testing on a range of platforms e.g. multiple devices and environments; Executing tests using manual and automated software testing, and documenting results; Debugging, which includes debugging utilities, managing bug reports and issue tracking. Programmes may include: 4 5 6 Performance testing; Standards compliance testing. Apply data management and storage technologies to support the software application and the development process. Credits 25 Programmes must include: Establish application security by integrating security principles throughout software development to ensure system integrity. Credits 15 Programmes must include: Choose, justify and apply architecture, technologies, and tools, to implement the software solution. Credits 15 Qualification Reference 2604 © New Zealand Qualifications Authority 2015 Designing and implementing appropriate application data access, management, and storage technologies to match the application domain; Digital asset management and storage technologies appropriate to match the application domain e.g. source and version control, artefact repository. Application security principles, including current best practices in IT security e.g. OWASP; Encryption and privacy; Protecting data integrity, data validation techniques; data access permissions; Authentication and authorization. Programmes must include: Tool selection and architecture; Understanding service orientation and using external services e.g. simple object access protocol (SOAP), representational state transfer (REST); Software architectural patterns including model view controller (MVC) and model view presenter (MVP). Page 9 of 10 7 Apply IT technical support concepts and practice to manage hardware and software resources to meet organisational requirements in a software development context. Credits 15 Programmes must include: Application of the core IT technical skills and knowledge underpinned in the NZ Certificate in Information Technology [Ref: 2595]; Installation and configuration of systems and application software; Foundation networking, including internet concepts; Hardware and software diagnostic testing, maintenance, technical and customer support across a range of devices; Supporting end user requirements; Security concepts, tools and techniques. Core skills (30 credits) 8 9 10 Apply project management tools and techniques to an IT related project, to analyse and solve problems. Credits 10 Programmes must include: Behave with integrity as a responsible Information Technology professional to contribute positively to society. Credits 10 Programmes must include: Apply communication, information design, personal, and interpersonal skills, clearly and professionally to enhance working effectiveness, efficiency, and quality outcomes in an organisational environment. Credits 10 Programmes must include: Qualification Reference 2604 © New Zealand Qualifications Authority 2015 Critical thinking, business logic, organisational processes, innovation and enterprise skills; Project planning, management and control – cost, risk, quality, stakeholder, change, configuration, contracts, and maintenance management. Application of professional and ethical practice, including sustainability, equity, social and contemporary cultural issues, relevant to an IT organisational environment (e.g. Treaty of Waitangi and accessibility issues); Organisational implications of managing and complying with legal and regulatory requirements (e.g. health and safety, contract management, licensing, privacy; observing security responsibilities and industry codes of practices, and codes of conduct (e.g. IITP) relevant to an organisational environment. Information representation design for multiple situations e.g. data visualisation; technical writing - help documents, user instructions, specifications; Personal and interpersonal skills including customer service, leadership, teamwork, negotiating, self-management, social and multicultural awareness, relationship and conflict management. Page 10 of 10