Information Communication Technology  ·  Level 5
Computer Software
Chapter 3: Perform computer software maintenance
📚 5 Topics
⚑ What you will be able to do

By the end of this chapter, you will be able to:

  • Follow a software maintenance schedule according to your workplace procedures.
  • Monitor software functionality to ensure everything runs smoothly, following workplace guidelines.
  • Carry out software upgrades correctly by following the installation guide.
  • Perform software updates accurately and according to workplace procedures.
  • Observe and apply safety procedures correctly while maintaining software.

Mastering these skills will help you keep computer systems reliable and safe—an essential part of any modern workplace.

Computer software maintenance is a critical responsibility for ICT Technicians, ensuring that software systems remain efficient, secure, and tailored to evolving user needs. In Kenya, where organizations such as county governments, banks, and hospitals rely heavily on software applications for daily operations, maintaining software effectively minimizes downtime and operational risks. This chapter explores the systematic development of software maintenance schedules, the various types of maintenance, and how updates are managed to sustain optimal software performance. Mastery of these practices empowers ICT Technicians to support organizational goals through reliable software functionality.

3.1 Development of Software maintenance schedule

A software maintenance schedule is a planned timetable of the checks, updates and fixes that keep installed software dependable. It guides ICT Technicians in deciding what to maintain, how often, who does it and when, so that problems are prevented instead of repaired in a hurry. Example: a computer laboratory that follows a written schedule updates its antivirus weekly and installs operating system patches monthly, so the machines are rarely out of service during lessons or practical work.

3.1.1 Introduction to computer software maintenance

Computer software maintenance refers to the ongoing process of modifying and updating software applications after deployment to correct faults, improve performance, or adapt to changing environments. This process is indispensable because software inevitably encounters issues or requires enhancements due to evolving hardware, user demands, or security threats. Example: a computer laboratory that runs the same accounting package for several years will need fixes, compatibility changes and security patches to keep it dependable.

3.1.1.1 Importance of software maintenance

Software that is left without maintenance gradually becomes slow, insecure and incompatible with the hardware and operating systems around it. Regular maintenance keeps systems reliable, protects data and extends the useful life of the software, which saves the organisation the cost of early replacement. The main reasons for maintaining software are as follows.

  • Correcting software defects: Fixing bugs that were not identified during development prevents system crashes and ensures reliability. For example, a payroll program must be free of errors so that deductions and net pay are calculated accurately.
  • Improving performance: Enhancements such as optimising database queries reduce response times, which is critical in a stock management system where staff retrieve item details many times a day.
  • Adapting to environmental changes: Software must keep working when the operating system or hardware is upgraded, for example when a business replaces its old workstations.
  • Enhancing security: Applying patches to close vulnerabilities protects against cyber threats, which is vital wherever sensitive financial or personal data is stored.
  • Adding new features: Meeting user needs through new functions maintains usefulness, such as introducing mobile access in a point-of-sale system.

Software maintenance is particularly important where infrastructure varies from one site to another and cyber threats keep changing, because systems must be continuously adapted. Organisations that neglect maintenance risk operational failures, data breaches and loss of client trust. For instance, a lapse in updating inventory software can lead to incorrect stock records and wrong purchasing decisions.

3.1.2 Prepare software maintenance schedule

Developing a software maintenance schedule involves organising maintenance activities systematically to ensure timely and effective upkeep. It serves as a roadmap for ICT Technicians to allocate resources, prioritise tasks, and minimise service disruptions. Example: a computer training centre prepares a termly schedule so that all laboratory computers are updated during the holiday break and not during examinations.

Key elements of a maintenance schedule

  • Inventory of software assets: Listing all software applications in use, including versions and dependencies, provides a clear scope for maintenance. For example, an ICT department catalogues its learning management system and administrative software.
  • Maintenance frequency: Defining how often maintenance tasks occur, such as weekly virus scans or monthly patch updates, ensures regular attention.
  • Task prioritisation: Classifying maintenance activities by urgency and impact helps allocate effort efficiently. Security patches typically receive high priority.
  • Resource allocation: Assigning technicians, tools and budget ensures readiness to perform scheduled tasks.
  • Downtime planning: Scheduling maintenance during off-peak hours minimises disruption, which is essential for cyber cafés that operate extended hours.

Steps to develop a maintenance schedule

  1. Assess software environment: Gather information on software types, versions, licences and usage patterns.
  2. Identify maintenance objectives: Define goals such as improving security, speed or compatibility.
  3. Determine maintenance types needed: Decide on corrective, adaptive, perfective or preventive maintenance for each application.
  4. Set maintenance intervals: Establish timelines based on software criticality and vendor recommendations.
  5. Assign responsibilities: Designate personnel accountable for each maintenance task.
  6. Document and communicate schedule: Record the schedule clearly and inform stakeholders so that users can plan around any downtime.

Sample maintenance schedule

The table below shows how the schedule may be recorded for a small office network. The tasks and frequencies are illustrative and should be adjusted to the vendor recommendations and the criticality of each system.

Software Maintenance task Frequency Responsible
Antivirus program Update definitions and run full scan Weekly ICT Technician
Operating system Install security patches Monthly ICT Technician
Accounting package Backup data and check for fixes Monthly System administrator
Device drivers Check for manufacturer updates Quarterly ICT Technician
Office applications Review version and licence status Every six months ICT Officer

Considerations for ICT settings

Maintenance schedules must accommodate budget cycles and staff availability. Schedules should also reflect software criticality: mission-critical systems such as a billing server or an accounting database require more frequent attention than internal communication tools.

Challenges faced during software maintenance and updates

Maintenance does not always run smoothly, and a good schedule anticipates the problems below.

  • Resource constraints: Limited budgets may delay maintenance activities.
  • Compatibility issues: Ensuring updates do not disrupt existing systems requires careful testing.
  • User resistance: Staff may resist changes due to unfamiliarity with new software versions.
  • Documentation gaps: Poor record-keeping complicates troubleshooting and updates.
  • Downtime management: Scheduling maintenance without interrupting critical services is challenging in round-the-clock operations.
  • Limited bandwidth: Organisations with slow internet connections find large updates difficult to download. Large downloads should be planned for off-peak hours.
  • Legacy systems: Some older systems may not support the latest updates, so ICT Technicians must balance the benefits of upgrading against compatibility risks.

3.1.3 Types of software maintenance

Software maintenance encompasses various forms, each addressing specific aspects of software evolution. Understanding these types enables ICT Technicians to apply appropriate strategies for sustaining software utility and to record clearly why each task appears on the schedule.

3.1.3.1 Adaptive

Adaptive maintenance modifies software to remain compatible with changing environments such as new operating systems, new hardware or changed regulations. The software is not faulty, but its surroundings have changed. Example: when a company replaces its servers, the payroll system may need configuration changes so that it keeps performing well on the new platform.

3.1.3.2 Perfective

Perfective maintenance focuses on enhancing software performance, usability or functions based on user feedback, even though nothing is broken. It makes good software better. Example: a training college may request additional reporting features in its student management system so that the registrar can produce class lists faster.

3.1.3.3 Preventive

Preventive maintenance aims to anticipate and fix potential issues before they manifest as problems. This includes regular code reviews, clearing temporary files, defragmenting or checking disks, scheduled backups and performance tuning. Example: a cyber café schedules a preventive check of its billing software before a busy period so that the system does not crash while customers are being served.

3.1.3.4 Corrective

Corrective maintenance involves identifying and fixing defects or bugs found after software deployment. It restores software functionality to expected standards and is usually triggered by a user report or an error message. Example: a payroll program may require urgent bug fixes to prevent incorrect salary calculations.

Some corrective work cannot wait for the next scheduled slot, such as patching a vulnerability that attackers are already exploiting. This emergency work interrupts the normal schedule, so the technician records what was done and adjusts later tasks.

3.1.4 Computer software updates

Software updates are essential activities that refresh software components to improve security, functionality, stability and compatibility. They range from minor patches that fix a single bug to major version upgrades that change the whole application. A technician must know each kind of update so that it can be placed correctly on the maintenance schedule.

3.1.4.1 Service packs

A service pack is a collection of updates, fixes and enhancements released together as one installable package. It saves time because one installation brings the software to a known, consistent level instead of applying many separate patches. Example: when reinstalling an older operating system on a laboratory computer, the technician installs the latest service pack so that all earlier fixes are applied at once. Newer systems often deliver the same idea through cumulative updates.

3.1.4.2 Version upgrades

A version upgrade replaces the installed software with a newer release that usually introduces significant new features, a changed interface and sometimes new hardware requirements. It also includes the bug fixes and feature updates of the earlier release. Example: moving a computer laboratory's office suite from an older version to a current one. Before upgrading, the technician checks that the computers meet the minimum requirements and that existing files will open correctly.

3.1.4.3 Security upgrades

Security upgrades, also called security patches, are small, urgent updates that close vulnerabilities which attackers could use to steal data or take control of a system. They are given high priority on the schedule and should be applied soon after release. Example: an office network administrator applies operating system security patches monthly to safeguard business records, and an emergency patch immediately when a serious flaw is announced.

3.1.4.4 Device drivers

A device driver is software that allows the operating system to communicate with a hardware device such as a printer, graphics card, scanner or network adapter. Updated drivers fix hardware faults, improve performance and restore compatibility after an operating system upgrade. Example: a network card that keeps disconnecting after an operating system upgrade may work properly once the technician installs the latest driver obtained from the manufacturer's website.

3.1.4.5 Utility program updates

Utility programs such as antivirus software, backup tools, disk clean-up and file compression programs also need updating. Antivirus programs in particular depend on frequent updates to their threat definitions in order to detect new malware. Example: a cyber café sets its antivirus to update definitions daily and checks monthly that the backup utility has been updated to the latest version.

Best practices for applying updates

When updates are planned on the schedule, the following practices reduce the risk of failure.

  • Backup data: Before updating, backing up critical data prevents loss in case of failure.
  • Test updates: Implementing updates first in a test environment avoids disruptions in production systems.
  • Schedule downtime: Inform users and schedule updates during low-usage periods.
  • Monitor post-update performance: Track software behaviour after updates to identify issues early.
  • Maintain update records: Documenting updates helps track changes and troubleshoot future problems.

Practice Questions

  1. Explain five purposes of computer software maintenance and provide examples relevant to Kenyan organizations. (10 marks)

  2. Describe the key elements involved in preparing a software maintenance schedule for a university ICT department. (10 marks)

  3. Differentiate between corrective and adaptive software maintenance with examples from the healthcare and banking sectors. (10 marks)

  4. Outline six best practices for applying software updates in a county government office and explain why each is important. (12 marks)

The rest of this chapter
🔒

Create a free account to open more of this chapter.

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒3.2 Software functionality monitoring

Monitoring software functionality is crucial for ensuring that applications and systems perform optimally and reliably. Software runs in many environments, from a single cyber café to a company with several branch offices, and continuous monitoring helps the I…

🔒3.3 Conducting software upgrade

Software upgrades are a critical maintenance activity for ICT technicians tasked with keeping computer systems secure, efficient, and compatible with evolving technologies. In Kenya, where institutions like universities and banks depend on software for core op…

🔒3.4 Conducting software update

In Kenya’s fast-evolving ICT sector, maintaining up-to-date software is critical for ICT technicians to ensure optimal system performance, security, and compatibility. Software updates are vital in environments such as county government offices or banks where…

🔒3.5 Observing Safety Procedures

ICT technicians who work in offices, computer laboratories and server rooms must observe safety procedures during software maintenance. These procedures prevent harm to personnel, protect hardware and software assets, and ensure continuity of service. Technici…

Chapter Summary

This chapter explored the development of a computer software maintenance schedule, emphasizing the significance of regular maintenance to ensure software reliability and performance. It detailed the preparation of maintenance schedules and described the four main types of software maintenance: adaptive, perfective, preventive, and corrective. The chapter also examined various software updates, including service packs, version upgrades, security patches, device driver updates, and utility program enhancements. Monitoring software functionality was addressed through the use of specialized tools and the analysis of operating system event logs, highlighting the different types of event logs used for tracking system activities. The process and importance of conducting software upgrades were discussed, alongside the different types of upgrades available. Similarly, the chapter covered software updates, their significance, and the procedures involved in carrying them out effectively. Finally, it stressed observing safety procedures during maintenance activities, including the use of personal protective equipment such as aprons, antiglare screens, and gloves, as well as the correct handling of tools and equipment to ensure a safe working environment.

Self-Assessment

🔒 PDFDownload this self-assessment, with answers

A. Written Assessment

  1. Define software maintenance and explain its importance in ICT systems. (4 marks)
  2. List and describe the four main types of software maintenance. (8 marks)
🔒20 more in this section.

Chapter Examination Questions

🔒 PDFDownload these examination questions, with worked answers

SECTION A (40 Marks) - Answer ALL Questions

  1. Explain the importance of developing a software maintenance schedule in a medium-sized SACCO in Kenya. (4 marks)
  2. Differentiate between adaptive and preventive software maintenance with relevant examples. (4 marks)
🔒18 more in this section.

Chapter Practical Activities

Practical 1: Develop a detailed software maintenance schedule for a business application

Information Communication Technology · Level 5
Computer Software
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Develop a software maintenance schedule in Microsoft Excel outlining maintenance activities, frequency, and timelines for a business application over 12 months.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Computer with Microsoft Excel 2016 or later installedSoftware maintenance policy document (sample)
Pen and notebookCompany business application user manual
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Computer with Microsoft Excel 2016 or later installed1 Pc per Candidate
2Software maintenance policy document (sample)1 Pc per Candidate
3Company business application user manual1 Pc per Candidate
4Pen and notebook1 set per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Preparation and Planning
Wears appropriate PPE (e.g., anti-static wrist strap if applicable)
(Award 2 marks for correct PPE usage or zero)
2
Reviews software maintenance policy document
(Award 3 marks for thorough review and understanding)
3
Examines company business application user manual to identify maintenance needs
(Award 3 marks for correct identification of maintenance activities)
3
Lists all planned maintenance activities (e.g., updates, backups, bug fixes, performance checks)
(Award 4 marks for completeness and relevance)
4
Sub-Total12
TASK 2: Development of Maintenance Schedule
Creates a clear schedule layout in Microsoft Excel with columns for activity, frequency, responsible person, and timeline
(Award 4 marks for correct and clear layout)
4
Assigns realistic frequencies for each maintenance activity (e.g., daily, weekly, monthly, quarterly)
(Award 5 marks for accurate and practical scheduling)
5
Sets timelines spanning a full 12-month period
(Award 3 marks for correctly applying timelines)
3
Includes responsible personnel or roles for each activity
(Award 3 marks for clear responsibility assignment)
3
Formats the schedule for readability (e.g., bold headers, borders, consistent fonts)
(Award 3 marks for professional formatting)
3
Sub-Total18
TASK 3: Review and Documentation
Reviews the schedule for completeness and accuracy
(Award 3 marks for thorough review)
3
Saves the schedule file with appropriate file name (e.g., 'Software_Maintenance_Schedule_YourName.xlsx')
(Award 2 marks for correct file naming and saving)
2
Prints or exports the schedule for submission
(Award 2 marks for correct printing or exporting)
2
Submits the schedule to the assessor or supervisor
(Award 3 marks for timely submission)
3
Sub-Total10
PRODUCT CHECKLIST
Software maintenance schedule includes all required activities with correct frequencies and timelines over 12 months
(Award 8 marks for completeness and correctness)
8
Schedule is clear, well-organized, and professionally formatted
(Award 6 marks for clarity and professional presentation)
6
Schedule includes responsible personnel/roles for each maintenance activity
(Award 6 marks for clear responsibility assignment)
6
Sub-Total20
GRAND TOTAL60
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)

Practical 2: Explain software maintenance concepts and importance

Information Communication Technology · Level 5
Computer Software
PRACTICAL ASSESSMENT
TIME: 3 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Prepare and present a report explaining software maintenance concepts and their importance to computer system reliability and performance.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Computer with pre-installed softwareSoftware Maintenance Guide Document
Projector or Display ScreenNotebook and Pen
Software Maintenance Guide Document
Notebook and Pen
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Computer with pre-installed software1 Pc per Candidate
2Projector or Display Screen1 Pc per 5 Candidates
3Software Maintenance Guide Document1 Pc per Candidate
4Notebook and Pen1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Explain software maintenance concepts
Identified and defined key software maintenance concepts: corrective, adaptive, perfective, and preventive maintenance
(Award 1.5 marks for each correct concept explanation x 4 = 6 marks)
6
Explained the importance of software maintenance in ensuring software reliability and performance
(Award 4 marks for a clear, relevant explanation)
4
Discussed common software maintenance activities such as bug fixing, updates, patches, and upgrades
(Award 4 marks for detailed discussion)
4
Used examples relevant to Kenyan workplaces or educational institutions to illustrate concepts
(Award 3 marks for appropriate examples)
3
Presented the report clearly and logically, using notes and visual aids where appropriate
(Award 3 marks for clarity and use of aids)
3
Sub-Total20
TASK 2: Document software maintenance importance
Prepared a written report summarizing software maintenance concepts and their importance
(Award 5 marks for completeness and accuracy)
5
Included at least three reasons why software maintenance is critical for organizational efficiency
(Award 1 mark for each valid reason x 3 = 3 marks)
3
Used correct terminology and professional language in the report
(Award 2 marks for correct language and terminology)
2
Sub-Total10
PRODUCT CHECKLIST
Report clearly explains software maintenance concepts and importance with relevant examples
(Award up to 10 marks for accuracy, clarity, and relevance)
10
Sub-Total10
GRAND TOTAL40
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)
🔒

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒Perform adaptive maintenance on a payroll management softwarePractical 3
🔒Perform Perfective Maintenance on a Desktop Accounting SoftwarePractical 4
🔒Perform Preventive Software Maintenance on a Windows 10 ComputerPractical 5
🔒Perform corrective maintenance on a malfunctioning accounting softwarePractical 6
🔒Perform software updates including service packs and security upgrades on a workstationPractical 7
🔒Perform Version Upgrades and Device Driver Updates on a Windows 10 PCPractical 8
🔒Monitor software functionality using monitoring toolsPractical 9
🔒Analyze and Interpret Operating System Event Logs for Software IssuesPractical 10
🔒Conduct a complete software upgrade process on a Windows 10 PCPractical 11
🔒Perform Software Update on Windows 10 ComputerPractical 12
🔒Apply safety procedures during software maintenance on a desktop computerPractical 13
🔒Use of Personal Protective Equipment During Software MaintenancePractical 14
🔒Proper Use of Tools and Equipment for Software MaintenancePractical 15
Flashcards 20 cards Study deck ▾
Question
1

↻ Tap card to reveal answer
🔒

18 more in this section.

Create a free account
Test Yourself 18 questions Start quiz ▾
0%
0 / 2
🔒

16 more in this section.

Create a free account
Am I competent?

At the start of this chapter we promised you would be able to:

  • Follow a software maintenance schedule according to your workplace procedures.
  • Monitor software functionality to ensure everything runs smoothly, following workplace guidelines.
  • Carry out software upgrades correctly by following the installation guide.
  • Perform software updates accurately and according to workplace procedures.
  • Observe and apply safety procedures correctly while maintaining software.

Tick each one you can genuinely do.

So, are you there yet?

You're competent when you can confidently do 50% or more of what this chapter promised.

Sign in to record how you're doing.