Developing Robust Software (Edexcel GCSE Computer Science)

Revision Note

Robert Hampton

Written by: Robert Hampton

Reviewed by: James Woodhouse

Developing Robust Software

What is robust software?

  • Robust software is software designed to withstand unexpected errors such as an input from a user or a calculation and continue to operate

  • Programmers must ensure the software has a way of dealing with the potential errors to ensure their software does not crash

  • Common vulnerabilities include:

    • weak authentication

    • lack of encryption

Authentication

  • Authentication is the process of ensuring that a system is secure by asking the user to complete tasks to prove they are an authorised user of the system

  • Authentication is done because bots can submit data in online forms

  • Authentication can be done in several ways, these include

    • Usernames and Passwords

    • CAPTCHA

  • Other methods that programmers can do to authenticate the user is include

    • Allowing users to recover passwords via email links and SMS codes

    • Encrypting data

authentication-recaptcha

Encryption

  • Encryption is a method of scrambling data before being transmitted across a network in order to protect the contents from unauthorised access

Identifying Vulnerabilities

  • Two techniques that can be used to help identify vulnerabilities are:

    • Code reviews

    • Audit trails

Code reviews

  • A code review can help to identify issues with software source code such as:

    • bad programming practice

    • vulnerabilities within the code itself

    • efficiency of code

Audit trails

  • An audit trail is a complete digital record of what has been:

    • opened

    • edited

    • deleted

    • copied

    • transferred etc.

  • The purpose of an audit trail is to:

    • aid the restoring of a software to a state before errors were identified

    • investigate security incidents

    • Ensure software compliance

Last updated:

You've read 0 of your 5 free revision notes this week

Sign up now. It’s free!

Join the 100,000+ Students that ❤️ Save My Exams

the (exam) results speak for themselves:

Did this page help you?

Robert Hampton

Author: Robert Hampton

Expertise: Computer Science Content Creator

Rob has over 16 years' experience teaching Computer Science and ICT at KS3 & GCSE levels. Rob has demonstrated strong leadership as Head of Department since 2012 and previously supported teacher development as a Specialist Leader of Education, empowering departments to excel in Computer Science. Beyond his tech expertise, Robert embraces the virtual world as an avid gamer, conquering digital battlefields when he's not coding.

James Woodhouse

Author: James Woodhouse

Expertise: Computer Science

James graduated from the University of Sunderland with a degree in ICT and Computing education. He has over 14 years of experience both teaching and leading in Computer Science, specialising in teaching GCSE and A-level. James has held various leadership roles, including Head of Computer Science and coordinator positions for Key Stage 3 and Key Stage 4. James has a keen interest in networking security and technologies aimed at preventing security breaches.