Skip to content

A NSW Government website

Welcome to the NSW Curriculum website

NSW Curriculum
NSW Education Standards Authority

11–12Software Engineering 11–12 Syllabus

Record of changes

Content

Year 12

Secure software architecture
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

    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

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
Related files