0% found this document useful (0 votes)
79 views22 pages

NESA - Software - Engineering - 11 - 12 - 2022 (S6)

Uploaded by

Unknown person
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views22 pages

NESA - Software - Engineering - 11 - 12 - 2022 (S6)

Uploaded by

Unknown person
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

NSW Education Standards Authority

Software Engineering 11–12


curriculum.nsw.edu.au

Generated Sep 2024


Downloaded September 2024

© 2024 NSW Education Standards Authority

NESA acknowledges Traditional Owners and Custodians of Country throughout NSW, and pays
respect to Elders past and present. NESA recognises Aboriginal Peoples’ continuing Cultures and
Connections to lands, waters, skies and Community.

The documents on the NSW Education Standards Authority (NESA) website and the NSW
Curriculum website contain material prepared by NESA for and on behalf of the Crown in right of
the State of New South Wales. The material is protected by Crown copyright.

These websites hold the only official and up-to-date versions of the documents available on the
internet. Any other copies of these documents, or parts of these documents, that may be found
elsewhere on the internet might not be current and are not authorised. You cannot rely on copies
from any other source.

All rights are reserved. No part of the material may be:

§ reproduced in Australia or in any other country by any process, electronic or otherwise, in any
material form
§ transmitted to any other person or stored electronically in any form without the written
permission of NESA except as permitted by the Copyright Act 1968 (Cth).
When you access the material, you agree:

§ to use the material for research or study, criticism or review, reporting news and parody or
satire
§ to use the material for information purposes only
§ not to modify the material or any part of the material without the written permission of NESA
§ to reproduce a single copy for personal bona fide study use only and not to reproduce any
major extract or the entire material without the permission of NESA
§ to include this copyright notice in any copy made
§ to acknowledge that NESA is the source of the material.
The documents may include third-party copyright material such as photos, diagrams, quotations,
cartoons and artworks. This material is protected by Australian and international copyright laws
and may not be reproduced or transmitted in any format without the copyright owner’s permission.
Unauthorised reproduction, transmission or commercial use of such copyright material may result
in prosecution.

NESA has made all reasonable attempts to locate the owners of third-party copyright material.
NESA invites anyone from whom permission has not been sought to contact the Copyright Officer.
Special arrangements applying to the NSW Curriculum Reform
As part of the NSW Curriculum Reform process, NESA grants a limited non-exclusive licence
to:
§ teachers employed in NSW government schools and registered non-government schools
§ representatives from peak school education bodies, such as the NSW Department of
Education, Catholic Schools NSW, the Association of Independent Schools of NSW and
TAFE NSW
§ parents of children registered for home schooling
to use, modify and adapt the NSW syllabuses for non-commercial educational use only.
The adaptation must not have the effect of bringing NESA into disrepute.
Note: The above arrangements do not apply to private/home tutoring companies, professional
learning service providers, publishers, and other organisations.
For more information on the above or for commercial use or any other purpose, please
contact the Copyright Officer for permission.
Email: copyright@nesa.nsw.edu.au
Table of contents
Table of contents................................................................................................................................4

Software Engineering 11–12..............................................................................................................5

Implementation from 2024..............................................................................................................5

Outcomes and content for Year 11................................................................................................5

Programming fundamentals.......................................................................................................5

The object-oriented paradigm....................................................................................................8

Programming mechatronics.....................................................................................................10

Outcomes and content for Year 12..............................................................................................12

Secure software architecture....................................................................................................12

Programming for the web.........................................................................................................15

Software automation................................................................................................................18

Software engineering project....................................................................................................20


Software Engineering 11–12
Implementation from 2024
The new Software Engineering 11–12 Syllabus (2022) is to be implemented from 2024.

2024, Term 1

§ Start teaching new syllabus for Year 11


§ Start implementing new Year 11 school-based assessment requirements
§ Continue to teach the Software Design and Development Stage 6 Syllabus (2010) for Year 12
2024, Term 4

§ Start teaching new syllabus for Year 12


§ Start implementing new Year 12 school-based assessment requirements
2025

§ First HSC examination for new syllabus

Outcomes and content for Year 11


Programming fundamentals
Outcomes
A student:

§ describes methods used to plan, develop and engineer software solutions SE-11-01
§ explains how structural elements are used to develop programming code SE-11-02
§ describes how current hardware, software and emerging technologies influence the
development of software engineering solutions SE-11-03
§ applies safe and secure practices to collect, use and store data SE-11-04
§ applies tools and resources to design, develop, manage and evaluate software SE-11-06
§ implements safe and secure programming solutions SE-11-07

Content

Software development
§ Explore fundamental software development steps used by programmers when designing
software

Including:
§ requirements definition
§ determining specifications
§ design
§ development
§ integration
§ testing and debugging
§ installation
§ maintenance

§ Research and evaluate the prevalence and use of online code collaboration tools
Software Engineering 11–12 Page 5 of 22
Designing algorithms
§ Apply computational thinking and algorithmic design by defining the key features of standard
algorithms, including sequence, selection, iteration and identifying data that should be stored
§ Apply divide and conquer and backtracking as algorithmic design strategies
§ Develop structured algorithms using pseudocode and flowcharts, including the use of
subprograms
§ Use modelling tools including structure charts, abstraction and refinement diagrams to support
top-down and bottom-up design
§ Analyse the logic and structure of written algorithms

Including:
§ determining inputs and outputs
§ determining the purpose of the algorithm
§ desk checking and peer checking
§ determining connections of written algorithms to other subroutines or functions

§ Identify procedures and functions in an algorithm


§ Experiment with object-oriented programming, imperative, logic and functional programming
paradigms

Data for software engineering


§ Investigate the use of number systems for computing purposes, including binary, decimal and
hexadecimal
§ Represent integers using two’s complement
§ Investigate standard data types

Including:
§ char (character) and string
§ Boolean
§ real
§ single precision floating point
§ integer
§ date and time

§ Create data dictionaries as a tool to describe data and data types, structure data, and record
relationships
§ Use data structures of arrays, records, trees and sequential files

Developing solutions with code


§ Apply skills in computational thinking and programming to develop a software solution

Including:
§ converting an algorithm into code
§ using control structures
§ using data structures
§ using standard modules
§ creating relevant subprograms that incorporate parameter passing

§ Implement data structures that support data storage

Software Engineering 11–12 Page 6 of 22


Including:
§ single and multidimensional arrays
§ lists
§ trees
§ stacks
§ hash tables

§ Compare the execution of the Waterfall and Agile project management models as applied to
software development
§ Test and evaluate solutions, considering key aspects including functionality, performance,
readability of code, quality of documentation
§ Use debugging tools

Including:
§ breakpoints
§ single line stepping
§ watches
§ interfaces between functions
§ debugging output statements
§ debugging software available in an integrated development environment (IDE)

§ Determine sets of suitable test data

Including:
§ boundary values
§ path coverage
§ faulty and abnormal data

§ Determine typical errors experienced when developing code, including syntax, logic and
runtime, and explain their likely causes

Software Engineering 11–12 Page 7 of 22


The object-oriented paradigm
Outcomes
A student:

§ describes methods used to plan, develop and engineer software solutions SE-11-01
§ explains how structural elements are used to develop programming code SE-11-02
§ describes how current hardware, software and emerging technologies influence the
development of software engineering solutions SE-11-03
§ applies safe and secure practices to collect, use and store data SE-11-04
§ applies tools and resources to design, develop, manage and evaluate software SE-11-06
§ implements safe and secure programming solutions SE-11-07
§ applies language structures to refine code SE-11-08
§ manages and documents the development of a software project SE-11-09

Content

Understanding OOP
§ Apply the key features of an object-oriented programming (OOP) language

Including:
§ objects
§ classes
§ encapsulation
§ abstraction
§ inheritance
§ generalisation
§ polymorphism

§ Compare procedural programming with OOP


§ Use data flow diagrams, structure charts and class diagrams to represent a system
§ Describe the process of design used to develop code in an OOP language

Including:
§ task definition
§ top-down and bottom-up
§ facade pattern
§ agility

§ Assess the effectiveness of programming code developed to implement an algorithm


§ Investigate how OOP languages handle message-passing between objects
§ Explain code optimisation in software engineering
§ Outline the features of OOP that support collaborative code development

Software Engineering 11–12 Page 8 of 22


Including:
§ consistency
§ code commenting
§ version control
§ feedback

Programming in OOP
§ Design and implement computer programs involving branching, iteration and functions in an
OOP language for an identified need or opportunity
§ Implement and modify OOP programming code

Including:
§ clear and uncluttered mainline
§ one logical task per subroutine
§ use of stubs
§ use of control structures and data structures
§ ease of maintenance
§ version control
§ regular backup

§ Apply methodologies to test and evaluate code

Including:
§ unit, subsystem and system testing
§ black, white and grey box testing
§ quality assurance

Software Engineering 11–12 Page 9 of 22


Programming mechatronics
Outcomes
A student:

§ describes methods used to plan, develop and engineer software solutions SE-11-01
§ explains how structural elements are used to develop programming code SE-11-02
§ describes how current hardware, software and emerging technologies influence the
development of software engineering solutions SE-11-03
§ applies safe and secure practices to collect, use and store data SE-11-04
§ describes the social, ethical and legal implications of software engineering on the individual,
society and the environment SE-11-05
§ applies tools and resources to design, develop, manage and evaluate software SE-11-06
§ implements safe and secure programming solutions SE-11-07
§ applies language structures to refine code SE-11-08
§ manages and documents the development of a software project SE-11-09

Content

Understanding mechatronic hardware and software


§ Outline applications of mechatronic systems in a variety of specialised fields
§ Identify the hardware requirements to run a program and the effect on code development

Including:
§ assessing the relationship of microcontrollers and the central processing unit (CPU)
§ the influence of instruction set and opcodes
§ the use of address and data registers

§ Identify and describe a range of sensors, actuators and end effectors/manipulators within
existing mechatronic systems

Including:
§ motion sensors
§ light level sensors
§ hydraulic actuators
§ robotic grippers

§ Use different types of data and understand how it is obtained and processed in a mechatronic
system, including diagnostic data and data used for optimisation
§ Experiment with software to control interactions and dependencies within mechatronic systems

Including:
§ motion constraints
§ degrees of freedom
§ combination of subsystems
§ combination of sensors, actuators and end effectors to create viable subsystems

§ Determine power, battery and material requirements for components of a mechatronic system
§ Develop wiring diagrams for a mechatronic system, considering data and power supply
requirements
§ Determine specialist requirements that influence the design and functions of mechatronic
systems designed for people with disability

Software Engineering 11–12 Page 10 of 22


Designing control algorithms
§ Develop, modify and apply algorithms to control a mechatronic system
§ Explore the algorithmic patterns, code and applications for open and closed control systems
§ Outline the features of an algorithm and program code used for autonomous control

Programming and building


§ Design, develop and produce a mechatronic system for a real-world problem

Including:
§ software control
§ mechanical engineering
§ electronics and mathematics

§ Implement algorithms and design programming code to drive mechatronic devices


§ Develop simulations and prototypes of a potential mechatronic system to test programming
code
§ Design, develop and implement programming code for a closed loop control system
§ Apply programming code to integrate sensors, actuators and end effectors/manipulators
§ Implement specific control algorithms that enhance the performance of a mechatronic system
§ Design, develop and implement a user interface (UI) to control a mechatronic system
§ Create and use unit tests to determine the effectiveness and repeatability of each component’s
control algorithm

Software Engineering 11–12 Page 11 of 22


Outcomes and content for Year 12
Secure software architecture
Outcomes
A student:

§ justifies methods used to plan, develop and engineer software solutions SE-12-01
§ applies structural elements to develop programming code SE-12-02
§ analyses how current hardware, software and emerging technologies influence the
development of software engineering solutions SE-12-03
§ evaluates practices to safely and securely collect, use and store data SE-12-04
§ explains the social, ethical and legal implications of software engineering on the individual,
society and the environment SE-12-05
§ justifies the selection and use of tools and resources to design, develop, manage and evaluate
software SE-12-06
§ designs, develops and implements safe and secure programming solutions SE-12-07
§ tests and evaluates language structures to refine code SE-12-08

Content

Designing software
§ Describe the benefits of developing secure software

Including:
§ data protection
§ minimising cyber attacks and vulnerabilities

§ Interpret and apply fundamental software development steps to develop secure code

Including:
§ requirements definition
§ determining specifications
§ design
§ development
§ integration
§ testing and debugging
§ installation
§ maintenance

§ Describe how the capabilities and experience of end users influence the secure design
features of software

Developing secure code


§ Explore fundamental software design security concepts when developing programming code

Software Engineering 11–12 Page 12 of 22


Including:
§ confidentiality
§ integrity
§ availability
§ authentication
§ authorisation
§ accountability

§ Apply security features incorporated into software including data protection, security, privacy
and regulatory compliance
§ Use and explain the contribution of cryptography and sandboxing to the ‘security by design’
approach in the development of software solutions
§ Use and explain the ‘privacy by design’ approach in the development of software solutions

Including:
§ proactive not reactive approach
§ embed privacy into design
§ respect for user privacy

§ Test and evaluate the security and resilience of software by determining vulnerabilities,
hardening systems, handling breaches, maintaining business continuity and conducting
disaster recovery
§ Apply and evaluate strategies used by software developers to manage the security of
programming code

Including:
§ code review
§ static application security testing (SAST)
§ dynamic application security testing (DAST)
§ vulnerability assessment
§ penetration testing

§ Design, develop and implement code using defensive data input handling practices, including
input validation, sanitisation and error handling
§ Design, develop and implement a safe application programming interface (API) to minimise
software vulnerabilities
§ Design, develop and implement code considering efficient execution for the user

Including:
§ memory management
§ session management
§ exception management

§ Design, develop and implement secure code to minimise vulnerabilities in user action controls

Including:
§ broken authentication and session management
§ cross-site scripting (XSS) and cross-site request forgery (CSRF)
§ invalid forwarding and redirecting
§ race conditions

§ Design, develop and implement secure code to protect user file and hardware vulnerabilities
from file attacks and side channel attacks

Software Engineering 11–12 Page 13 of 22


Impact of safe and secure software development
§ Apply and describe the benefits of collaboration to develop safe and secure software

Including:
§ considering various points of view
§ delegating tasks based on expertise
§ quality of the solution

§ Investigate and explain the benefits to an enterprise of the implementation of safe and secure
development practices

Including:
§ improved products or services
§ influence on future software development
§ improved work practices
§ productivity
§ business interactivity

§ Evaluate the social, ethical and legal issues and ramifications that affect people and
enterprises resulting from the development and implementation of safe and secure software

Including:
§ employment
§ data security
§ privacy
§ copyright
§ intellectual property
§ digital disruption

Software Engineering 11–12 Page 14 of 22


Programming for the web
Outcomes
A student:

§ justifies methods used to plan, develop and engineer software solutions SE-12-01
§ applies structural elements to develop programming code SE-12-02
§ analyses how current hardware, software and emerging technologies influence the
development of software engineering solutions SE-12-03
§ evaluates practices to safely and securely collect, use and store data SE-12-04
§ explains the social, ethical and legal implications of software engineering on the individual,
society and the environment SE-12-05
§ justifies the selection and use of tools and resources to design, develop, manage and evaluate
software SE-12-06
§ designs, develops and implements safe and secure programming solutions SE-12-07
§ tests and evaluates language structures to refine code SE-12-08
§ applies methods to manage and document the development of a software project SE-12-09

Content

Data transmission using the web


§ Explore the applications of web programming

Including:
§ interactive website/webpages
§ e-commerce
§ progressive web apps (PWAs)

§ Investigate and practise how data is transferred on the internet

Including:
§ data packets
§ internet protocol (IP) addresses, including IPv4
§ domain name systems (DNS)

§ Investigate and describe the function of web protocols and their ports

Including:
§ HTTP, HTTPS
§ TCP/IP
§ DNS
§ FTP, SFTP
§ SSL, TLS
§ SMTP, POP 3, IMAP

§ Explain the processes for securing the web

Software Engineering 11–12 Page 15 of 22


Including:
§ Secure Sockets Layer (SSL) certificates
§ encryption algorithms
§ encryption keys
§ plain text and cipher text
§ authentication and authorisation
§ hash values
§ digital signatures

§ Investigate the effect of big data on web architecture

Including:
§ data mining
§ metadata
§ streaming service management

Designing web applications


§ Investigate and explain the role of the World Wide Web Consortium (W3C) in the development
of applications for the web

Including:
§ Web Accessibility Initiative (WAI)
§ internationalisation
§ web security
§ privacy
§ machine-readable data

§ Model elements that form a web development system

Including:
§ client-side (front-end) web programming
§ server-side (back-end) web programming
§ interfacing with databases that are based on Structured Query Language (SQL) or
non-SQL

§ Explore and explain the influence of a web browser on web development, including the use of
developer (dev) tools
§ Investigate cascading style sheets (CSS) and its impact on the design of a web application

Including:
§ consistency of appearance
§ flexibility with browsers or display devices
§ CSS maintenance tools

§ Investigate the reasons for version control and apply it when developing web application
§ Explore the types and significance of code libraries for front-end web development

Including:
§ frameworks that control complex web applications
§ template engines
§ predesigned CSS classes

§ Explain the use and development of open-source software in relation to web development
§ Investigate methods to support and manage the load times of web pages/applications
Software Engineering 11–12 Page 16 of 22
§ Research, experiment with and evaluate the prevalence and use of web content management
systems (CMS)
§ Assess the contribution of back-end web development to the success of a web application
§ Observe and describe the back-end process used to manage a web request

Including:
§ role of webserver software
§ web framework
§ objects
§ libraries
§ databases

§ Develop a web application using an appropriate scripting language with shell scripts to make
files and directories, and searching for text in a text file
§ Apply a web-based database and construct script that executes SQL

Including:
§ selecting fields
§ incorporating ‘group by’
§ common SQL queries
§ constraints using WHERE keyword
§ table joins

§ Compare Object-Relational Mapping (ORM) to SQL


§ Describe how collaborative work practices between front-end and back-end developers
improve the development of a web solution
§ Design, develop and implement a progressive web app (PWA)

Including:
§ the application of design and user interface (UI) and user experience (UX) principles
of font, colour, audio, video and navigation
§ a UI that considers accessibility and inclusivity

Software Engineering 11–12 Page 17 of 22


Software automation
Outcomes
A student:

§ justifies methods used to plan, develop and engineer software solutions SE-12-01
§ applies structural elements to develop programming code SE-12-02
§ analyses how current hardware, software and emerging technologies influence the
development of software engineering solutions SE-12-03
§ evaluates practices to safely and securely collect, use and store data SE-12-04
§ explains the social, ethical and legal implications of software engineering on the individual,
society and the environment SE-12-05
§ justifies the selection and use of tools and resources to design, develop, manage and evaluate
software SE-12-06
§ designs, develops and implements safe and secure programming solutions SE-12-07
§ tests and evaluates language structures to refine code SE-12-08
§ applies methods to manage and document the development of a software project SE-12-09

Content

Algorithms in machine learning


§ Investigate how machine learning (ML) supports automation through the use of DevOps,
robotic process automation (RPA) and business process automation (BPA)
§ Distinguish between artificial intelligence (AI) and ML
§ Explore models of training ML

Including:
§ supervised learning
§ unsupervised learning
§ semi-supervised learning
§ reinforcement learning

§ Investigate common applications of key ML algorithms

Including:
§ data analysis and forecasting
§ virtual personal assistants
§ image recognition

§ Research models used by software engineers to design and analyse ML

Including:
§ decision trees
§ neural networks

§ Describe types of algorithms associated with ML

Software Engineering 11–12 Page 18 of 22


Including:
§ linear regression
§ logistic regression
§ K-nearest neighbour

Programming for automation


§ Design, develop and apply ML regression models using an OOP to predict numeric values

Including:
§ linear regression
§ polynomial regression
§ logistic regression

§ Apply neural network models using an OOP to make predictions

Significance and impact of ML and AI


§ Assess the impact of automation on the individual, society and the environment

Including:
§ safety of workers
§ people with disability
§ the nature and skills required for employment
§ production efficiency, waste and the environment
§ the economy and distribution of wealth

§ Explore by implementation how patterns in human behaviour influence ML and AI software


development

Including:
§ psychological responses
§ patterns related to acute stress response
§ cultural protocols
§ belief systems

§ Investigate the effect of human and dataset source bias in the development of ML and AI
solutions

Software Engineering 11–12 Page 19 of 22


Software engineering project
Outcomes
A student:

§ justifies methods used to plan, develop and engineer software solutions SE-12-01
§ applies structural elements to develop programming code SE-12-02
§ analyses how current hardware, software and emerging technologies influence the
development of software engineering solutions SE-12-03
§ evaluates practices to safely and securely collect, use and store data SE-12-04
§ explains the social, ethical and legal implications of software engineering on the individual,
society and the environment SE-12-05
§ justifies the selection and use of tools and resources to design, develop, manage and evaluate
software SE-12-06
§ designs, develops and implements safe and secure programming solutions SE-12-07
§ tests and evaluates language structures to refine code SE-12-08
§ applies methods to manage and document the development of a software project SE-12-09

Content

Identifying and defining


§ Define and analyse the requirements of a problem

Including:
§ demonstrating need(s) or opportunities
§ assessing scheduling and financial feasibility
§ generating requirements including functionality and performance
§ defining data structures and data types
§ defining boundaries

§ Explore tools used to develop ideas and generate solutions

Including:
§ brainstorming, mind-mapping and storyboards
§ data dictionaries, including selecting appropriate data types
§ algorithm design
§ code generation
§ testing and debugging
§ installation
§ maintenance

§ Investigate types of software implementation methods

Including:
§ direct
§ phased
§ parallel
§ pilot

Research and planning


§ Research and use the Waterfall software development approach

Software Engineering 11–12 Page 20 of 22


Including:
§ logical progression of steps used throughout the life cycle
§ stages of ‘falling water’
§ advantages and disadvantages
§ scale and types of developments

§ Research and use the Agile software development approach

Including:
§ rate of developing a final solution
§ method tailoring
§ iteration workflow
§ scale and types of developments

§ Research the WAgile software development approach

Including:
§ understanding it is a hybrid model
§ analysis of the ‘when’ and ‘how’ intervention is applied during the development life
cycle
§ scale and types of developments

§ Apply project management to plan and conduct the development and implementation of a
project and software engineering solution

Including:
§ scheduling and tracking using a software tool, including Gantt charts
§ using collaboration tools

§ Explore social and ethical issues associated with project work, including working individually,
collaboratively and responding to stakeholders
§ Explore communication issues associated with project work

Including:
§ involving and empowering the client
§ enabling feedback
§ negotiating

§ Investigate how software engineering solutions are quality assured

Including:
§ defining criteria on which quality will be judged
§ ensuring requirements are met using a continual checking process
§ addressing compliance and legislative requirements

§ Demonstrate the use of modelling tools


§ Explain the contribution of back-end engineering to the success and ease of software
development

Software Engineering 11–12 Page 21 of 22


Including:
§ technology used
§ error handling
§ interfacing with front end
§ security engineering

Producing and implementing


§ Design, construct and implement a solution to a software problem using appropriate
development approach(es)
§ Present a software engineering solution using presentation software
§ Develop, construct and document algorithms
§ Allocate resources to support the development of a software engineering solution
§ Demonstrate the use of programmed data backup
§ Implement version control when developing a software engineering solution
§ Explore strategies to respond to difficulties when developing a software engineering solution

Including:
§ looking for a solution online
§ collaboration with peers
§ outsourcing

§ Propose an additional innovative solution using a prototype and user interface (UI) design

Testing and evaluating


§ Apply methodologies to test and evaluate code
§ Use a language-dependent code optimisation technique
§ Analyse and respond to feedback
§ Evaluate the effectiveness of a software engineering solution

Including:
§ developing a report to synthesise feedback
§ developing a test plan
§ testing data used/generated based on path and boundary testing
§ comparing actual output with expected output

Software Engineering 11–12 Page 22 of 22

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy