CS Topic 8
CS Topic 8
Computer Systems
Topic 8:
Software Maintenance
Learning Outcomes
By the end of this topic, students will be able to:
• Perform routine maintenance tasks on a computer
system
• Upgrade the hardware and software on a computer
system
Types of Change
• Software maintenance may introduce the following
types of changes:
– Adaptive changes - to suit different conditions
– Corrective changes
g - to remove defects
– Perfective changes - to improve current version
– Preventive changes - to reverse deterioration
Maintenance Model
• A maintenance model can be described as a series
of stages that are interrelated and provide several
cyclic iterations.
– Idea – Training
– Specification – Documentation
– Design – Release
– Implementation – User acceptance
– Testing
Software Problems
• Effectively, there are only two types of software
problem:
– The software does not work properly.
• This may including crashing or freezing, or
producing
d i iincorrectt answers.
– The software does not do the required job.
• Even though it works as it should
• This may include requirements for additional
functionality.
Software Changes
• Once you have identified the problem and the
solution, a software change will be required. This
may be:
– Installation of a minor patch
• Either manually or automatically
– Installation of a new version of the current software
• Either by a major upgrade or a new installation
– Installation of completely new software
• i.e. switching to a different product
Automatic Updates
• Automatic updates are done by the operating
system or package, which checks with a
manufacturer’s website at regular intervals,
downloading and installing updates as they appear.
– The most commonly seen one is Windows Update Update.
– Automatic so it saves time and prevents people
forgetting to check.
– May introduce new problems.
– Can be annoying, particularly if you are in a hurry!
Manual Updates
• Manual updates are done by the user or
administrator.
– You can control when it is done.
– Often in response
p to a p
problem
– Fixing rather than preventing
– Needs intervention from user or administrator
Upgrades
• Generally refers to a significant change in the
software, often adding new features
• Usually charged for
• For example, the change from Windows Vista to
Windows 7 is an upgrade
upgrade.
• Can be anything from a minor change, adding a
new feature, to a complete re-write of the software
that completely changes how it works.
– See the various versions of Microsoft Office for
examples of both.
Security Software - 1
• Security software, in particular anti-virus software,
needs regular updates to remain effective.
• New viruses and other threats are coming out all
the time.
• It is necessary to keep the virus definition files up-
to-date.
• This should be done as an automatic update that
cannot be blocked or interrupted.
Security Software - 2
• On a large network, this can be centrally
coordinated, with a server downloading the
updates and then distributing them to the clients on
the network.
• A specific member of IT staff should be tasked with
checking every day that this is working properly.
– With other staff in place when the key person is not
at work
Parallel or Replace?
• For any significant change to software, you need to
decide whether to directly replace the old version
with the new, or offer them both in parallel.
– Replacing may save software licence fees and lead to
the new version being adopted by users more quickly.
– Replacing
R l i may llead d tto iincompatibility
tibilit problems
bl with
ith
current documents, other systems and users.
– Running parallel systems long-term increases support
costs and slows down migration to the new system.
– Running parallel systems allows users to migrate
documents if necessary and to learn the new system.
Training
• Whichever system you use to migrate to new
software, training is vital.
– Productivity is increased as users can use the new
system straight away.
– Support costs are reduced as users know how to
drive the software.
– Users are more comfortable with the new system,
so are more likely to use it.
Scheduling Maintenance - 1
• In general, maintenance should be carried out
when it will not disrupt users’ normal activities.
Scheduling Maintenance - 2
• If systems are in use 24/7, then parallel roll out
may be required, where the new system is enabled
and users are switched individually as they log out
and back in.
– This will require extensive testing of the new
system before it is rolled out to users
users.
• If systems are used less heavily at certain times of
year, it is better to do major upgrades at quiet
times.
– E.g. in a school, doing major upgrades during the
longer vacations
Information
• When doing any significant changes, it is vital that
users are consulted before the changes take place
– Check when is the best time to do the upgrade.
– Identify the users affected and implement training
before the new system rolls out.
• E.g. in a school, check when a particular system is
not in use (vacations?) before doing an upgrade.
– This leads to a subject area called Change
Management, further discussion of which is outside
the scope of this module.
• Look it up for more details.
Maintenance Precautions
• Back up all user data.
• Back up or record all system settings.
• Establish an application checkpoint (System
Restore p point in Windows).)
• Do the upgrade on one system and test before
rolling out.
• Keep a copy of the update files in case you have to
do a full re-installation and then roll forward.
Sources
• There are many sources of utility software.
– Within the operating system
– Manufacturers’ websites
• Particularly from operating systems manufacturers
– Other Internet sources
• Try a search on “disk
disk management software
software” for
example.
• Updates to software can usually be obtained from
the manufacturer’s website.
• Upgrades can be obtained from your usual supplier
or from manufacturers’ websites.
Any Questions?