Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Preview

Maintenance: prevent and correct

This is the first page of the lesson. Read it and have a go at the activities. The rest is in the full lesson.

40 minutes

Software is never finished

A shop launches an app. It works well. Everyone is happy.

Six months later, a new law says every food product must show its allergy information. The app must change.

A month after that, a bad file damages part of the customer list. The app must be repaired.

Software needs work after it is released. That work is called maintenance.

Key words

WordWhat it meansExample
MaintenanceWork on software after it is released, to keep it working and useful.A fix, an update
Preventive maintenanceChange made before a problem happens, because we can see it coming.Update for a new law
Corrective maintenanceChange made to repair an error that nobody expected.Repair damaged data
RegulationA rule from the government or an official body.A law on allergy labels
Business processThe steps a company follows to do its work.How an order is checked and sent
Zero-dayA weak place that attackers find before the maker knows about it.A new fault in a popular tool
Targeted attackAn attack on one person or one company.A thief attacks one bank only
Data corruptionData that is damaged or wrong.An age of -5

The cells students fill in are left blank in this preview.

Eight reasons for maintenance

GroupReason to changeExample
Prevent: we can see it comingA change to a regulationA new law about data or labels. The software must follow it
PreventCompatibility with new products or technologyA new phone system arrives. The app must work on it
PreventA change in the business processThe company starts to send parcels from a second warehouse
PreventThe release of a new product or serviceThe shop adds a gift card. The software must handle it
Correct: nobody expected itA new weakness because another product changed (zero-day)A tool the app uses has a new fault that attackers use at once
CorrectA targeted attackA thief attacks one company and gets into its site
CorrectData corruptionA bad update turns some ages into words
CorrectA system failureThe server stops and orders are lost

The cells students fill in are left blank in this preview.

Why "zero-day"?

data-callouts.important.label

The maker has had zero days to fix the weak place. Attackers know about it first. This is why these updates are urgent.

Try it: spot damaged data

Code: python
rows = [(1, 17), (2, "abc"), (3, -5), (4, 20)]

for customer, age in rows:
    good = isinstance(age, int) and 0 <= age <= 120
    print(customer, age, "good" if good else "DAMAGED")

# 0 <= age <= 120 means: age is from 0 to 120.
# Add a row (5, None). Is it good or damaged?

Quick check: why change?

Have a go

Quick check: why change?

4 questions
Have a go: your answers are marked here and then forgotten. Sign in if you would like your score kept, and to pick up where you left off.Sign in to keep your score

Your answers are marked here and are not kept. A college account keeps every student’s marks.

The lesson goes on

2 more parts of this lesson are in the full curriculum, with the tasks, the final check and the labs. A college account gives your students all of it.