Topic 8 – Software Maintenance Computer Systems
Computer Systems
Topic 8:
Software Maintenance
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.2
Scope and Coverage
This topic will cover:
• Software problems
• Automatic updates
• Upgrades
• Utility
y software
• Security software
• Scheduling maintenance
• Windows update exercise (lab session)
• Package update exercise (lab session)
• Driver update exercise (lab session)
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.3
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
V1.0 © NCC Education Limited
V1.0 Visuals Handout – Page 1
Topic 8 – Software Maintenance Computer Systems
Software Maintenance Topic 8 - 8.4
What is Software Maintenance?
• There are a number of definitions, depending on
the context:
– In software development and software
engineering, software maintenance means to
modify the software (i.e. the code) to fix bugs, add
features or improve performance
performance.
– In technical support, software maintenance means
to install upgrades (often derived from the
previous definition) to current packages and the
operating system on a computer.
• This is the definition we shall focus on in this topic.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.5
The Software Maintenance Process - 1
• The software maintenance process can be defined
as a series of steps.
– Preparation of the maintenance tasks and an
overall p
plan
– Modification analysis process, allocating
responsibilities to those involved
– Implementation of the changes
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.6
The Software Maintenance Process - 2
– Migration process when certain parts of the existing
system must be integrated and perhaps moved to a
different platform
– Deployment of the new system and the retirement
off the
h old
ld one
– Review of new system and ongoing maintenance
V1.0 © NCC Education Limited
V1.0 Visuals Handout – Page 2
Topic 8 – Software Maintenance Computer Systems
Software Maintenance Topic 8 - 8.7
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
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.8
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
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.9
Laws of Software Evolution - 1
• Lehman identified eight laws of software evolution.
Briefly summarised as follows, the full academic
paper can be found at: http://tinyurl.com/6hecd8r
– Continuing change
– Increasing complexity
– Self regulation
– Conservation of organisational stability
V1.0 © NCC Education Limited
V1.0 Visuals Handout – Page 3
Topic 8 – Software Maintenance Computer Systems
Software Maintenance Topic 8 - 8.10
Laws of Software Evolution - 2
– Conservation of familiarity
– Continuing growth
– Declining quality
– Feedback system
• The overall effect is that we shall continue to have
to perform software maintenance on our computer
systems.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.11
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.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.12
Not Working Properly - 1
• By this we mean that the software does not operate
correctly when in use.
– May be bugs in the specific software.
– May be incompatibility with other software or
h d
hardware.
V1.0 © NCC Education Limited
V1.0 Visuals Handout – Page 4
Topic 8 – Software Maintenance Computer Systems
Software Maintenance Topic 8 - 8.13
Not Working Properly - 2
– Diagnose by reproducing the fault to get clear and
accurate details and then searching the Internet for
further information.
• Manufacturers often have knowledge bases
which document many known issues with their
software.
• User groups may also have knowledge bases or
forums with helpful information.
– The usual fix is to install the latest version, patch or
service pack.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.14
Not Doing the Required Job - 1
• By this we mean that the software does work as
specified by the manufacturer, but it lacks some
feature or facility that we require.
– Either our requirements have changed, or we
bo ght the wrong
bought rong soft
software
are in the first place!
– Start by searching the Internet to ensure that the
required function can not be done in some other
way with the current software.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.15
Not Doing the Required Job - 2
– Check to see whether a new version of the current
software does the required job and if so, upgrade.
– Investigate replacing the current software with a
package that does the required job.
V1.0 © NCC Education Limited
V1.0 Visuals Handout – Page 5
Topic 8 – Software Maintenance Computer Systems
Software Maintenance Topic 8 - 8.16
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
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.17
Updates and Patches
• An update or patch is a minor revision of the
software.
– Incorporating bug fixes
– Mayy add minor features
– Usually free
– Usually downloaded either automatically or
manually
– E.g. a Windows service pack is an update
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.18
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!
V1.0 © NCC Education Limited
V1.0 Visuals Handout – Page 6
Topic 8 – Software Maintenance Computer Systems
Software Maintenance Topic 8 - 8.19
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
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.20
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.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.21
Utility and Maintenance Software - 1
• There are a number of routine maintenance tasks
that can be performed using utility software, either
from within the operating system or third party.
– Disk defragmentation
• Over
O a period
i d off titime, data
d t on the
th disk
di k gets
t
fragmented (spread out) and this slows down
disk performance.
• Most operating systems come with disk
defragmentation software which should be run
regularly to avoid this problem.
V1.0 © NCC Education Limited
V1.0 Visuals Handout – Page 7
Topic 8 – Software Maintenance Computer Systems
Software Maintenance Topic 8 - 8.22
Utility and Maintenance Software - 2
– Disk cleanup
• Over time, disks get filled up with temporary files
and deleted files that are still in the Recycle Bin
(Trash Can).
• When
Wh many updates d t have
h b
been d done, th
there may
be many older versions of some software files on
disk.
• A regular clean up of the disk can free up
significant space.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.23
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.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.24
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
V1.0 © NCC Education Limited
V1.0 Visuals Handout – Page 8
Topic 8 – Software Maintenance Computer Systems
Software Maintenance Topic 8 - 8.25
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.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.26
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.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.27
Do You Need to Upgrade? - 1
• Every time an upgrade is suggested or available,
this should be asked.
e.g. many companies are still using Windows XP
satisfactorily.
• Does the upgrade give you something you need?
V1.0 © NCC Education Limited
V1.0 Visuals Handout – Page 9
Topic 8 – Software Maintenance Computer Systems
Software Maintenance Topic 8 - 8.28
Do You Need to Upgrade? - 2
• Do the advantages of the new system outweigh the
upgrade costs?
– Both in purchasing the new version and rolling it out
• It is usually not necessary to go for every upgrade.
– Often every other version, or even one in three, will
give a suitable upgrade path.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.29
Scheduling Maintenance - 1
• In general, maintenance should be carried out
when it will not disrupt users’ normal activities.
• This usuallyy means that significant
g upgrades
pg must
be done over night or at weekends.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.30
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
V1.0 © NCC Education Limited
V1.0 Visuals Handout – Page 10
Topic 8 – Software Maintenance Computer Systems
Software Maintenance Topic 8 - 8.31
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.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.32
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.
V1.0 © NCC Education Limited
Software Maintenance Topic 8 - 8.33
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.
V1.0 © NCC Education Limited
V1.0 Visuals Handout – Page 11
Topic 8 – Software Maintenance Computer Systems
Software Maintenance Topic 8 - 8.34
Topic 8 – System Testing
Any Questions?
V1.0 © NCC Education Limited
V1.0 Visuals Handout – Page 12