Schoolcoders wiki

GCSE Computing topics

Creating robust programs

When you use a computer program, you expect it to work properly. You would not be happy if a spreadsheet added the numbers up incorrectly, or if the spell checker your editor missed some glaring errors.

If something goes wrong, you would expect a robust program to fail gracefully. For example, if you try to save your work and your disk is full, you wouldn’t expect the program to just give up and throw away your file. You would expect it to give you a chance to delete some old files than try to save your work again.

When you are using a website or online app, you also expect the software to be secure. You wouldn’t want someone else being able to log in to your account. If it is a social media, someone could post messages in your name, if it is a shopping site someone might spend your giftcard, and if it is a bank site a thief might take all your money. Of course, you must do your part by choosing a strong password and keeping it safe, but that doesn’t help you if the website gets hacked.

Producing robust software

So we know what users want - software that works properly and doesn’t have any faults like those listed above. We call this robust software. But how do you create robust software?

  • Writing code - tips on how to go about writing a program.
  • Malicious attacks - if you are writing web or cloud based software, it can be accessed by anyone, anywhere in the world. You need to take account of the possibility of malicious attacks, attempting to find weaknesses in your software, and use them to attack your site, either for gain or just to cause trouble.
  • Testing - thorough testing of your software is essential, to help eliminate bugs and try to ensure that it works properly in both normal use and when errors occur.
  • Maintainable code - if your software is any good, people will be using it for many years. It will probably need to be updated at some time, to add new features, fix bugs, or simply to keep up with a changing world. Writing maintainable code means that you (or someone else) will be able to update the code easily and with less risk of introducing new bugs.

This topic isn’t yet complete. Join our mailing list to be updated when new sections are added.