COMPUTER SOFTWARE
ISCED Unit Code: 0619 451 06A
TVET CDACC Unit Code: IT/CU/ICTA/CR/01/5/MA
Comprehensive Study Notes
Learning Outcome Duration
1. Install Computer Software 70 Hours
2. Test Computer Software Functionality 40 Hours
3. Perform Computer Software Maintenance 50 Hours
TOTAL 160 Hours
LEARNING OUTCOME 1: INSTALL COMPUTER SOFTWARE
1.1 Identification of Computer Software
1.1.1 Introduction to Computer Software
Computer software refers to a set of instructions, programs, or data that tell a computer how to perform
specific tasks. Unlike hardware, software is intangible — it cannot be physically touched. Software acts as
the bridge between the user and the computer hardware, enabling the hardware to carry out useful work.
1.1.2 Definition of Computer Software
Computer software is defined as a collection of programs, procedures, algorithms, and documentation that
enable a computer system to perform specific tasks. Software tells the computer what to do and how to do
it. It is stored on storage devices such as hard disks, SSDs, CDs, or DVDs and is loaded into RAM
(memory) when in use.
1.1.3 Classification of Computer Software
Software is broadly classified into three main categories:
Category Description Examples
System Software Manages and controls hardware; provides a platform
Windows,
for application
Linux, macOS,
software
Android
Application Software Performs specific tasks for end users MS Word, Chrome, VLC, Photoshop
Programming/Utility Software Used to develop, test, and maintain software orPython
optimize
IDE,
theNorton
systemAntivirus, WinZip
1.1.4 Types of Computer Software
System Software:
Provides a platform for running application software and managing hardware resources.
• Operating Systems (OS): Windows, macOS, Linux, Android, iOS
• Device Drivers: Enable OS to communicate with hardware (printer drivers, GPU drivers)
• BIOS/UEFI: Firmware that initializes hardware during boot
Application Software:
Designed to help users perform specific tasks.
• Word Processors: Microsoft Word, Google Docs
• Spreadsheets: Microsoft Excel, LibreOffice Calc
• Web Browsers: Google Chrome, Mozilla Firefox, Edge
• Media Players: VLC, Windows Media Player
• Graphics Software: Adobe Photoshop, GIMP
Utility Software:
Performs maintenance and optimization tasks.
• Antivirus/Antimalware: Protects against malicious programs
• Disk Management: Disk Cleanup, Defragmenter
• File Compression: WinZip, WinRAR, 7-Zip
• Backup Software: Windows Backup, Acronis
Programming Software:
Tools used to create and develop other software.
• Compilers: Convert source code to machine code (GCC, javac)
• Interpreters: Execute code line by line (Python, JavaScript)
• IDEs: Integrated Development Environments (VS Code, Eclipse, NetBeans)
1.1.5 Collecting Computer Software User Needs
Before selecting or installing software, it is important to understand what the user needs. This involves
gathering requirements through:
• Interviews and questionnaires with end users
• Observation of current work processes
• Analysis of existing problems and inefficiencies
• Review of organizational goals and IT policies
• Consulting technical staff and department heads
1.2 Selection of Computer Software
1.2.1 Factors to Consider in Computer Software Selection
Compatibility: The software must be compatible with the existing hardware and operating system.
Cost: Consider the purchase price, licensing fees, and total cost of ownership including support and
upgrades.
User Requirements: The software should meet the specific needs of the users.
Ease of Use: The interface should be user-friendly and require minimal training.
Vendor Support: Availability of technical support, documentation, and updates from the vendor.
Security: The software should have adequate security features and receive regular security updates.
Scalability: The software should be able to grow with the organization's needs.
Licensing: Understand the licensing terms — single user, multi-user, site license, open source.
Performance: The software must perform efficiently within the available hardware resources.
Trial Availability: Whether a free trial or demo version is available for evaluation.
1.2.2 Acquisition Methods of Computer Software
Purchase (Retail/OEM): Buying licensed software outright from a store or online. Includes a product
key.
Freeware: Software available at no cost but may have restrictions on redistribution and modification.
Open Source: Source code is freely available. Can be modified and distributed. Examples:
LibreOffice, VLC.
Shareware: Trial version provided free; full features require purchase after a trial period.
Subscription/SaaS: Pay a recurring fee to use cloud-based software. Example: Microsoft 365, Adobe
Creative Cloud.
Downloading: Obtaining software directly from the vendor's website or trusted repositories.
Volume Licensing: Organizations purchase licenses for multiple users at a discounted rate.
1.3 Manage Local User Accounts
1.3.1 Introduction to Local User Accounts
A local user account is a user profile stored on a specific computer rather than on a network server. It
grants access to that computer only. Each account has its own settings, files, and permissions.
1.3.2 Types of Local User Accounts
[Link] Standard User Account
A standard account allows the user to use most software and change system settings that do not affect
other users or the security of the computer. Standard users cannot install software that affects all users or
make changes that require administrator privileges.
[Link] Administrator Account
An administrator account has full control over the computer. Administrators can install software, change
system settings, create and manage other user accounts, and access all files. Best practice: Use a
standard account for daily use and switch to administrator only when needed.
[Link] Guest Account
A guest account provides temporary, limited access to the computer without a password. It does not have
the ability to install software, change settings, or access other users' files. Suitable for visitors who need
brief, supervised access.
1.3.3 Creating User Accounts (Windows)
1. Go to Control Panel → User Accounts → Manage another account
2. Click 'Add a user account' or 'Create a new account'
3. Enter the username and select account type (Standard or Administrator)
4. Set a strong password and a password hint
5. Click 'Create Account' to finalize
1.3.4 Configuration of Local User Accounts
Account configuration tasks include:
• Setting and changing passwords for security
• Assigning appropriate account types/privileges
• Setting up parental controls for child accounts
• Configuring account lockout policies (max failed logins)
• Linking accounts to Microsoft or Google accounts for sync
• Enabling/disabling accounts as needed
1.4 Performing Data Backup
1.4.1 Importance of Computer Software Backup
• Protects against data loss from hardware failure, virus attacks, or accidental deletion
• Enables quick recovery after system crashes or software corruption
• Ensures business continuity and minimizes downtime
• Required for compliance in many industries (healthcare, finance)
• Provides peace of mind and data security
1.4.2 Types of Computer Software Backup
Full Backup: Copies all selected files and data completely. Most storage space required. Slowest to
create but fastest to restore.
Incremental Backup: Backs up only files changed since the last backup (full or incremental). Faster
and uses less space. Restoration requires the last full backup plus all incrementals.
Differential Backup: Backs up all files changed since the last full backup. Faster restore than
incremental (only needs last full + last differential).
Mirror Backup: An exact copy of the source data. No compression or encryption. Deleting a file from
source also removes it from backup.
Cloud Backup: Data is backed up to remote cloud servers via the internet. Examples: Google Drive,
OneDrive, Dropbox.
1.4.3 Backup Creation Steps
1. Identify critical data and software to back up
2. Select appropriate backup type and schedule (daily, weekly, monthly)
3. Choose backup media: external HDD, USB drive, NAS, cloud
4. Use backup software (Windows Backup, Acronis, Backup Exec)
5. Test the backup by performing a test restore
6. Store backup copies in a secure, offsite or cloud location
7. Document the backup procedure for future reference
1.5 Installation of Computer Software
1.5.1 Computer Software Installation Media
• CD/DVD: Traditional optical discs containing installation files
• USB Flash Drive: Portable storage preloaded with software
• ISO Image: A digital copy of a disc that can be mounted or burned
• Network/Internet: Downloading installation packages directly from the internet
• Network Share: Installing from a shared folder on a local network server
1.5.2 Computer Software Installation Methods
Interactive/Manual Installation: User runs the setup wizard and responds to prompts. Most common
for individual installations.
Silent/Unattended Installation: Installation proceeds automatically without user input, using
pre-configured settings. Used for deploying software to many computers simultaneously.
Network Installation: Software is installed from a central server over a network. Used in organizations
with many computers.
Scripted Installation: Uses batch files or PowerShell scripts to automate installation with specific
parameters.
Image/Ghost Deployment: An entire pre-configured OS and software image is cloned onto target
computers.
1.5.3 Types of Software Registration
• Product Key/Serial Number: Alphanumeric code that unlocks software (e.g., Windows activation key)
• Online Activation: Connects to vendor servers via internet to validate license
• Volume Licensing: One key activates multiple installations within an organization
• Subscription Registration: Account-based access tied to email and subscription plan (e.g., Adobe CC)
• OEM Licensing: Pre-activated software bundled with hardware purchase
1.5.4 Installing Computer Software — General Steps
1. Verify system requirements (RAM, disk space, OS version)
2. Obtain the software from a legitimate source
3. Create a system restore point or backup before installation
4. Run the installer with administrator privileges
5. Accept the End User License Agreement (EULA)
6. Choose installation type: Typical, Minimal, or Custom
7. Select destination folder (or accept default)
8. Wait for installation to complete
9. Enter product key/register the software if required
10. Restart the computer if prompted
11. Verify the software opens and functions correctly
1.5.5 Anti-Malware Software Installation
[Link] Identify Antimalware to Install
Common antimalware solutions include:
• Windows Defender (built into Windows 10/11 — free)
• Avast Free Antivirus
• Malwarebytes
• Kaspersky Antivirus
• Bitdefender
• Norton AntiVirus
[Link] Identify Antimalware Acquisition Method
• Download from official vendor website
• Purchase from a software retailer
• Obtain via organizational volume license
• Use the built-in OS solution (Windows Defender)
[Link] Install Antimalware
1. Download the installer from a trusted source
2. Close all other running programs
3. Run the installer as administrator
4. Accept license agreement and follow setup wizard
5. Choose installation directory
6. Allow the software to perform an initial scan after installation
[Link] Configure Antimalware
• Enable real-time protection to monitor files as they are accessed
• Schedule automatic full system scans (e.g., weekly)
• Configure automatic virus definition updates
• Set up email and web browsing protection if available
• Configure quarantine settings for detected threats
• Set up alerts and notifications
• Exclude trusted folders/files from scanning if necessary
1.6 Computer Software Configuration
1.6.1 Importance of Software Configuration
• Ensures software operates correctly within the specific environment
• Optimizes performance for the user's hardware and use case
• Enhances security by disabling unnecessary features
• Ensures compliance with organizational policies
• Customizes the user experience (language, theme, shortcuts)
1.6.2 Computer Software Configuration Tools
• Control Panel / Settings App (Windows): Adjust system-wide settings
• Registry Editor (regedit): Advanced low-level Windows configuration
• Group Policy Editor ([Link]): Enforce policies on Windows systems
• Configuration Files: INI, XML, JSON, or YAML files edited manually
• Software-specific Settings Panels: Built-in preferences within each application
• PowerShell / Command Prompt: Scripted configuration changes
LEARNING OUTCOME 2: TEST COMPUTER SOFTWARE
FUNCTIONALITY
2.1 Software Testing
2.1.1 Importance of Software Testing
• Identifies bugs and errors before software is deployed to users
• Ensures the software meets specified user requirements
• Verifies reliability, performance, and security of the software
• Reduces the risk of system failures in production
• Saves costs — fixing bugs after deployment is far more expensive
• Builds user confidence and trust in the software
• Ensures compatibility across different environments and devices
2.1.2 Computer Software Testing Techniques
Unit Testing: Testing individual components or functions in isolation to verify they work correctly.
Usually done by developers.
Integration Testing: Testing combined units/modules together to detect interface defects between
them.
System Testing: Testing the complete, integrated system to verify it meets requirements.
User Acceptance Testing (UAT): End users test the software to confirm it meets their needs and is
ready for deployment.
Regression Testing: Re-testing software after changes to ensure new code has not broken existing
features.
Performance Testing: Evaluating speed, responsiveness, and stability under a workload. Includes
load, stress, and endurance testing.
Security Testing: Identifying vulnerabilities, threats, and risks in the software.
Black Box Testing: Testing functionality without knowledge of the internal code structure. Focus on
inputs and outputs.
White Box Testing: Testing with full knowledge of internal code and logic. Tests internal paths and
branches.
Smoke Testing: A quick preliminary test to check if the basic functionality of software is working before
deeper testing.
2.1.3 Computer Software Testing Tools
[Link] TestComplete
TestComplete is a commercial automated testing platform by SmartBear. It supports functional,
regression, and unit testing for desktop, mobile, and web applications. Key features include: record and
replay test scripts, support for multiple programming languages (JavaScript, Python, VBScript), built-in
object recognition, and integration with CI/CD pipelines.
[Link] Selenium
Selenium is a free, open-source framework for automating web browser interactions. It supports multiple
browsers (Chrome, Firefox, Edge, Safari) and languages (Java, Python, C#, Ruby). Key components
include: Selenium WebDriver (controls browsers directly), Selenium Grid (runs tests on multiple
machines/browsers in parallel), and Selenium IDE (record-and-playback tool for quick test creation).
[Link] Appium
Appium is an open-source tool for automating mobile application testing on iOS, Android, and Windows
platforms. It does not require modifying the app's source code. Appium uses the WebDriver protocol and
supports multiple languages. It can test native, hybrid, and mobile web applications.
[Link] Postman
Postman is a popular tool for API (Application Programming Interface) testing. It allows developers and
testers to send HTTP requests (GET, POST, PUT, DELETE) and inspect responses. Key features include:
creating and organizing API test collections, environment variables, automated test scripts using
JavaScript, and integration with CI/CD pipelines for automated API testing.
2.1.4 Performing Computer Software Testing
1. Define the test objectives and scope
2. Prepare the test environment (hardware, OS, dependencies)
3. Create a test plan and test cases based on requirements
4. Execute the test cases using manual or automated methods
5. Record all test results, including pass/fail status
6. Log defects/bugs in a defect tracking system (e.g., Jira)
7. Retest after defects are fixed (regression testing)
8. Generate test reports and sign off on the test phase
2.2 Corrective Measures
2.2.1 Types of Corrective Measures
Bug Fixing: Identifying and correcting errors in the source code that cause incorrect behavior.
Patches: Small software updates released to fix specific security vulnerabilities or bugs without a full
upgrade.
Workarounds: Temporary solutions that allow users to continue working despite a known bug, until a
proper fix is available.
Rollback: Reverting the software to a previous stable version when a new update causes problems.
Reinstallation: Uninstalling and reinstalling the software to fix corruption or configuration issues.
Configuration Changes: Adjusting settings to resolve performance or functionality problems without
changing code.
2.2.2 Software Corrective Tools
• Debuggers: GDB, Visual Studio Debugger — step through code to find errors
• Defect/Bug Trackers: Jira, Bugzilla, GitHub Issues — log and track defects
• Log Analyzers: Splunk, Windows Event Viewer — analyze error logs
• Version Control: Git — manage code changes and enable rollback
• Profilers: Identify performance bottlenecks in code
2.2.3 Performing Corrective Measures
1. Reproduce the error/bug consistently
2. Analyze error logs and debug to identify the root cause
3. Develop and implement a fix (code change, configuration, patch)
4. Test the fix thoroughly in a test environment
5. Deploy the fix to production
6. Monitor the system after the fix to ensure stability
7. Document the issue, root cause, and resolution
2.3 Testing of Computer Software Functionality
Functionality testing verifies that the software performs all its intended functions correctly according to the
specifications. It is a type of black-box testing focused on what the software does.
Steps in functionality testing:
1. Review functional requirements and specifications
2. Identify all functions to be tested
3. Create test cases for each function (valid inputs, invalid inputs, boundary values)
4. Execute test cases and record actual vs expected results
5. Identify and report any deviations (failures)
6. Verify fixes and retest
Key aspects of functionality testing include:
• Input validation — does the software handle all input types correctly?
• Navigation — does the UI flow logically?
• Data integrity — is data stored and retrieved accurately?
• Business logic — does the software implement rules correctly?
• Error handling — are error messages clear and appropriate?
LEARNING OUTCOME 3: PERFORM COMPUTER SOFTWARE
MAINTENANCE
3.1 Development of Software Maintenance Schedule
3.1.1 Introduction to Computer Software Maintenance
Software maintenance is the process of modifying software after delivery to correct faults, improve
performance, or adapt it to a changed environment. Maintenance is ongoing and typically accounts for the
majority of total software lifecycle costs.
[Link] Importance of Software Maintenance
• Ensures software continues to function correctly over time
• Fixes bugs discovered after deployment
• Adapts software to new hardware, OS versions, or regulations
• Improves performance and adds new features based on user feedback
• Extends the useful life of the software
• Maintains security by patching vulnerabilities
3.1.2 Prepare Software Maintenance Schedule
A maintenance schedule is a planned timetable of maintenance activities. It should include:
• Frequency of routine checks (daily, weekly, monthly)
• Scheduled update and patch installation windows
• Regular backup verification
• Performance monitoring reviews
• Security scans and vulnerability assessments
• Responsible persons for each maintenance task
• Documentation of all maintenance activities performed
3.1.3 Types of Software Maintenance
Type Description Example
[Link] Modifying software to work in a new or changed environmentUpdating
(new OS,app
hardware,
to run on
regulations)
Windows 11
Adaptive
[Link] Improving or enhancing software based on user feedback; adding
Addingnew
a dark
features
modeortoimproving
an application
performance
Perfective
[Link] Making changes to prevent future problems; restructuring code
Code
to improve
cleanup maintainability
to prevent future
(refactoring)
bugs
Preventive
[Link] Fixing bugs and errors discovered after software release Patching a security vulnerability
Corrective
3.1.4 Computer Software Updates
[Link] Service Packs
A service pack is a collection of updates, fixes, and enhancements to software, packaged together as a
single installable update. Service packs are larger than regular updates and may include all previously
released patches. Example: Windows XP Service Pack 3.
[Link] Version Upgrades
A version upgrade involves moving from one major version of software to a newer one (e.g., Windows 10
to Windows 11, or Office 2016 to Office 2021). Version upgrades typically include significant new features
and may require a new license. They may not be backward compatible.
[Link] Security Upgrades/Updates
Security updates are patches specifically released to fix vulnerabilities that could be exploited by hackers
or malware. They are critical and should be applied promptly. Examples: Microsoft Patch Tuesday
releases, browser security updates.
[Link] Device Drivers
Device drivers are software that allow the operating system to communicate with hardware devices
(printers, graphics cards, network adapters). Keeping drivers updated ensures hardware functions
correctly and fixes compatibility issues. Updated via Device Manager or manufacturer websites.
[Link] Utility Program Updates
Utility programs (antivirus, backup tools, compression software) require regular updates to maintain
effectiveness. Antivirus programs especially need frequent definition (signature) updates to detect new
threats.
3.2 Software Functionality Monitoring
3.2.1 Software Functionality Monitoring Tools
• Windows Task Manager: Monitors CPU, memory, disk, and network usage in real time
• Resource Monitor: Detailed view of system resource usage in Windows
• Performance Monitor (perfmon): Tracks system performance metrics over time
• Nagios: Open-source network and system monitoring tool
• Splunk: Log management and analysis platform
• Prometheus + Grafana: Monitoring and visualization for servers/applications
• Application-specific dashboards: Built into many enterprise applications
3.2.2 Operating System Event Logs
Event logs are records maintained by the operating system that track significant occurrences in the
system. In Windows, Event Viewer ([Link]) is used to view and analyze these logs. Logs are
organized into categories: Application, Security, System, and Setup.
[Link] Types of Event Logs
Event Type Icon Description
[Link].1 Red X Indicates a significant problem such as data loss or application failure. Requires investigation.
Error
[Link].2 Yellow ! Indicates a potential problem that is not immediately critical but could cause issues if not addre
Warning
[Link].3 Blue i Records successful operations such as a service starting or a driver loading correctly.
Information
[Link].4 Gold key Records successful security actions, such as a user logging in successfully. (Security log only)
Success Audit
[Link].5 Padlock Records failed security actions, such as failed login attempts. (Security log only)
Failure Audit
3.3 Conducting Software Upgrade
3.3.1 Importance of Software Upgrade
• Provides access to new features and improved functionality
• Ensures compatibility with new hardware and operating systems
• Maintains vendor support (old versions eventually reach end-of-life)
• Improves performance and stability
• Addresses security vulnerabilities present in older versions
3.3.2 Types of Software Upgrade
• Major Upgrade: Significant new features; often requires new license (e.g., Office 2019 to Office 2021)
• Minor Upgrade: Small improvements, bug fixes; usually free for existing users
• In-place Upgrade: Upgrades the software while preserving existing data and settings
• Clean/Fresh Upgrade: Uninstall old version, then install new version from scratch
3.3.3 Conducting Software Upgrade — Steps
1. Back up all important data and system settings
2. Check system requirements for the new version
3. Obtain the upgrade package from the official vendor
4. Check compatibility of existing hardware and other software
5. Run the upgrade installer and follow the wizard
6. Test all critical functions after the upgrade
7. Train users on new features if necessary
8. Monitor system stability after the upgrade
3.4 Conducting Software Update
3.4.1 Importance of Software Update
• Patches security vulnerabilities to protect against cyberattacks
• Fixes bugs and improves stability
• Ensures compliance with industry standards
• Maintains compatibility with other updated systems
• Can improve performance through optimization
3.4.2 Types of Software Update
• Security Update: Fixes specific security vulnerabilities
• Bug Fix Update: Corrects errors discovered after release
• Feature Update: Adds new minor features (sometimes called a point release)
• Definition Update: Updates databases used by antivirus/antimalware software
• Firmware Update: Updates embedded software in hardware devices
3.4.3 Conducting Software Update — Steps
1. Enable automatic updates where possible for critical software
2. Regularly check for available updates via the software's update function or vendor website
3. Review update release notes to understand what is being changed
4. Back up data before applying significant updates
5. Test updates in a non-production environment first when possible
6. Apply the update during low-usage periods to minimize disruption
7. Verify system functionality after the update
8. Document the update applied, date, and outcome
3.5 Observing Safety Procedures
3.5.1 Safety Measures and Procedures
When working with computer systems during installation, maintenance, and repair, technicians must
observe proper safety measures to protect themselves and the equipment.
[Link] Overall/Apron/Dust Coat
Protective overalls, aprons, or dust coats should be worn when handling computer components. These
protect clothing from dust, chemicals, and accidental spills. They also reduce the risk of static-charged
fabrics damaging sensitive electronic components.
[Link] Antiglare Screens
Antiglare screens are filters placed over computer monitors to reduce reflections and glare from overhead
lighting or windows. They reduce eye strain, headaches, and fatigue during extended computer use. They
also provide some privacy protection.
[Link] Gloves
Gloves protect the technician's hands from sharp edges on computer cases and components. Anti-static
gloves prevent electrostatic discharge (ESD) that can damage sensitive components such as RAM, CPUs,
and motherboards. Latex or nitrile gloves are used when handling chemicals like thermal paste.
3.5.2 Personal Protective Equipment (PPE)
[Link] Proper Use of Tools and Equipment
• Always use the correct tool for each task (right screwdriver size, etc.)
• Inspect tools before use — do not use damaged or worn tools
• Keep work area clean and organized to prevent accidents
• Discharge static electricity by touching a grounded metal surface or wear an ESD wrist strap before
handling components
• Never force connectors — if it does not fit, check orientation
• Power off and unplug the computer before opening the case
• Handle components by their edges, not the circuits
• Store components in anti-static bags when not in use
• Ensure proper ventilation when applying cleaning chemicals
• Follow manufacturer guidelines for all equipment
QUICK REVISION SUMMARY
Topic Key Points to Remember
Software Types System, Application, Utility, Programming software
Account Types Administrator (full control), Standard (limited), Guest (temporary)
Backup Types Full, Incremental, Differential, Mirror, Cloud
Installation Steps Check requirements → Backup → Run installer → Register → Verify
Testing Tools TestComplete, Selenium (web), Appium (mobile), Postman (API)
Testing Techniques Unit, Integration, System, UAT, Regression, Performance, Security
Maintenance Types Adaptive, Perfective, Preventive, Corrective
Event Log Types Error, Warning, Information, Success Audit, Failure Audit
Update Types Security, Bug Fix, Feature, Definition, Firmware
PPE/Safety Overalls, Antiglare screens, Gloves, ESD wrist strap, correct tools
Good luck with your exams! Review each section, practice the step-by-step procedures, and make sure you
understand the purpose of each concept. Focus especially on definitions, types/classifications, and the differences
between similar terms.