Chapter 5: Computer Software
Learning Objectives
Welcome to Chapter 5! Now that we understand the physical hardware, we will explore the software that brings it to life. After studying this chapter, you will be able to:
- Identify the two main categories of software: system software and application software.
- Describe the key functions of an operating system.
- Recognise the different types of application software and their uses.
- Explain the different ways software is licensed and distributed.
- Understand the importance of software updates and the dangers of malware.
- Outline the common steps involved in developing a software project.
Introduction
If computer hardware is the body, then software is the mind. The screen, keyboard, and CPU are all physical objects, but they cannot do anything on their own. They need instructions to tell them what to do. That is the job of software. This chapter explains the different kinds of programs that make a computer a useful tool, from the basic system that manages the computer itself to the specific apps we use for work and fun every day.
The Two Main Categories of Software
Every program on your computer, from the moment you turn it on to the moment you shut it down, can be placed into one of two main categories: system software or application software. Understanding the difference is key to understanding how a computer works as a whole.
Think of it like a restaurant. The system software is the kitchen crew, the manager, and the waiters. They work in the background, managing the restaurant, taking orders, and making sure everything runs smoothly. You, the customer, don’t usually interact with the chef directly. The application software is the menu. It presents you with specific options (the dishes) that you can choose from to get what you want, whether it’s a meal, a drink, or a dessert.
Let’s look at each category in more detail.
System Software: The Manager of the Computer
System software is the set of programs that manages and controls the computer’s hardware and provides a platform for application software to run. It works in the background, coordinating all the computer’s essential activities. You usually do not interact with it directly, but without it, your computer would be a useless box of parts.
The most important type of system software is the operating system.
The Operating System (OS)
The operating system, or OS, is the most important piece of software on any computer. It is the first program that loads when you turn on your device and the last one to close when you turn it off. Its job is to be the master controller, managing all the hardware and software resources.
Common examples of operating systems include:
- For Desktops and Laptops: Microsoft Windows, Apple’s macOS, Linux.
- For Mobile Devices: Google’s Android, Apple’s iOS.
The OS performs several critical jobs:
- Starting the Computer: It manages the boot-up process, checking all the hardware to make sure it is working correctly.
- Providing the User Interface: The OS is what gives you the desktop, icons, and menus that you use to interact with the computer.
- Managing Programs: When you open multiple applications at once, like having a web browser, a music player, and a word processor all running, it is the OS that manages them. It makes sure each program gets a fair share of the CPU’s attention and the computer’s memory (RAM) so that everything can run smoothly without crashing. This is called multitasking.
- Managing Memory: The OS is responsible for moving programs and data in and out of RAM, ensuring there is always enough space for your active tasks.
- Coordinating Hardware: It allows all the different hardware parts to communicate with each other. When you click “Print,” the OS takes the document from your word processor and sends it to the printer.
- Providing File Management: The OS is in charge of how your files are stored and organized. It allows you to create folders, and to copy, move, and delete files.
Utility Programs
Another type of system software is a utility program. These are small tools designed to perform a specific maintenance task to help manage and protect the computer, and many are built directly into the operating system. For example, think of the maintenance crew in a building. They are not the main business, but they are essential for keeping the building safe, clean, and running efficiently. Utility programs are the maintenance crew for your computer, performing important background tasks to keep it in good working order.
One of the most important utilities is antivirus software, which runs in the background to protect your computer from malicious software (malware) by scanning files and blocking threats. Another essential utility is the File Manager, which is the tool that lets you see all your files and folders, allowing you to organize your digital life. Examples include “File Explorer” on Windows or “Finder” on a Mac. Finally, backup tools are critical utilities that help you create copies of your important files. You can use them to back up your data to an external hard drive or to a cloud storage service, ensuring you don’t lose your work if your computer is damaged or lost.
Application Software: The Tools for Your Tasks
Application software, or an app, is the software you use to complete a specific task or for entertainment. This is the software you are most familiar with and interact with directly every day.
There are thousands of different applications, which can be grouped by their purpose.
Productivity Software
This type of software is designed to help you be more efficient and effective at work, school, or home.
- Word Processing: Used for creating and editing text-based documents like letters, reports, and assignments. With programs like Microsoft Word or Google Docs, you can format text (changing fonts and colours), create tables, add images, and check for spelling and grammar errors.
- Spreadsheet: Used for organizing data in rows and columns and performing calculations. Software like Microsoft Excel or Google Sheets is essential for tasks like creating a budget, tracking sales figures, or managing a project timeline. Its power comes from the ability to use formulas to automatically calculate totals, averages, and other complex equations.
- Presentation: Used for creating slideshows for presentations. With programs like Microsoft PowerPoint or Google Slides, you can combine text, images, and charts into a series of slides to present information to an audience in a clear and engaging way.
Communication Software
This software is used to communicate with others, a vital function in today’s connected world.
- Email: For sending and receiving electronic mail (e.g., Microsoft Outlook, Gmail). It is a primary tool for professional communication in business.
- Messaging: For real-time text, voice, and video chats (e.g., WhatsApp, Telegram). These apps have become essential for both personal and professional group communication.
- Video Conferencing: For holding online meetings with people in different locations (e.g., Zoom, Google Meet, Microsoft Teams). This became an essential business tool, allowing for remote work and virtual collaboration.
Media and Entertainment Software
This software is for creating, viewing, and organizing media, as well as for entertainment.
- Media Players: For watching videos or listening to music (e.g., VLC Player, Spotify).
- Photo and Video Editors: For editing and organizing digital photos and videos. Simple tools like Canva are great for creating social media graphics, while professional tools like Adobe Photoshop are used for advanced photo manipulation.
- Web Browsers: Your gateway to the internet. A web browser, like Google Chrome, Mozilla Firefox, or Safari, is an application that allows you to access and view websites.




Check Your Understanding: Q1
Check Your Understanding: Q2
Check Your Understanding: Q3
A Closer Look at Business Application Software
While the productivity and communication tools we have discussed are used by everyone, many businesses rely on specialized application software to manage their specific operations. These programs are designed to handle complex tasks and large amounts of data, helping companies to be more organized and profitable.
Accounting Software
This is one of the most essential types of software for any business, from a small local kedai runcit (sundry shop) to a large corporation. Accounting software helps a business record and report its financial transactions. It is used to manage sales and expenses, create invoices for customers, handle payroll for employees, and generate financial reports. For example, many small and medium-sized enterprises (SMEs) in Malaysia use accounting software like SQL Account or AutoCount to manage their finances and comply with tax regulations set by the Lembaga Hasil Dalam Negeri (LHDN).

Customer Relationship Management (CRM) Software
A Customer Relationship Management (CRM) system is a tool that helps companies manage all their interactions with current and potential customers, with the goal of improving business relationships and fostering loyalty. A CRM stores customer contact information, tracks their purchase history, and records any interactions they have had with the company, such as phone calls or emails. This helps the sales and customer service teams provide a more personalized and efficient service. For instance, imagine a hotel in Kota Kinabalu that uses a CRM. When a returning guest makes a booking, the system can instantly show the front desk staff that this guest has stayed before and prefers a room with a sea view. This allows the hotel to provide a better experience that encourages the guest to return.

Enterprise Resource Planning (ERP) Software
An Enterprise Resource Planning (ERP) system is a very large and complex piece of software that integrates all the essential functions of a business into one single system. Instead of having separate software for accounting, human resources (HR), manufacturing, and sales, an ERP system combines them all. This allows for better communication and data sharing between different departments. For example, a large manufacturing company in Penang might use an ERP system. When the sales team receives a large order, the system automatically checks the inventory levels, schedules the production in the factory, and orders the necessary raw materials from suppliers, all from within the same integrated platform.

Project Management Software
Project management software is used by teams to plan, execute, and track the progress of projects to ensure they are completed on time and within budget. It allows a project manager to assign tasks to team members, set deadlines, and monitor the project’s progress. For example, a team of university students working on a final year project could use a tool like Trello or Asana. They can create a board for their project, add cards for each task (like “Write Chapter 1” or “Create Presentation Slides”), assign each card to a team member, and set a due date.

Check Your Understanding: Q4
Check Your Understanding: Q5
Check Your Understanding: Q6
How Software is Licensed and Distributed
Software is not just a product; it is a piece of intellectual property. The way it is made available to users is controlled by a software license, which is a legal agreement that specifies how the software can be used and distributed.
Commercial Software Models
Retail software is mass-produced software that you buy a license for, either from a physical store or by downloading it online. Traditionally, you would buy a “perpetual license,” which meant you paid once and owned that version of the software forever. A more common model today is subscription software, where you pay a monthly or yearly fee, much like subscribing to a service like Astro or Netflix. This model, used by popular software like Microsoft 365 and Adobe Creative Cloud, often includes access to the latest updates and cloud storage. Another type is shareware, which is distributed for free on a trial basis. You can use it for a limited time, and if you want to continue using it after the trial period, you are required to pay for a license.
Free Software Models
Freeware is software that is provided completely free of charge, with no time limit. The creator still owns the copyright, so you cannot sell it or claim it as your own, but you can use it for free. Many popular programs, like the VLC media player, are freeware. In rare cases, you might find public-domain software, which has been donated for public use and has no copyright restrictions at all.
Open-Source Software
Open-source software is a special category where the original source code—the human-readable instructions written by the programmers—is made available to the public for free. The philosophy behind this is collaboration, much like a community recipe book where everyone can see the recipe, suggest improvements, and share their new versions. This collaborative approach has led to some of the world’s most successful software, including the Linux and Android operating systems and the Firefox web browser.
How We Get and Use Software
There are several ways we can access and use software, each with its own advantages. A native app is a program that you install directly onto your computer or mobile device, making it “native” to that specific hardware. For example, the WhatsApp application you download from the Google Play Store is a native app that is stored on your phone. In contrast, a web application, or web app, is a program that runs on a remote server, which you access using your web browser. This means you do not need to install anything on your computer. Using Maybank2u or CIMB Clicks for online banking is a perfect example of using a web app; the entire banking program is on the bank’s servers, and your browser is just the window you use to access it. A mobile app is simply a native app designed specifically for a mobile device, which you download from an app store like the Google Play Store or Apple’s App Store. Finally, a mobile web app is a website that has been specially designed to look and feel like a native mobile app when you access it from a phone’s browser, using a technique called responsive design to automatically adjust its layout to fit your screen.
When you get a new native program, you usually have to install it first, which is the process of setting up the program to work with your computer’s operating system. Once installed, you can run the program. As we learned in Chapter 3, this involves the operating system copying the program from permanent storage into RAM, where the CPU begins to carry out its instructions, eventually displaying the program’s user interface on the screen.
It is also very important to keep your software updated. You have probably seen notifications on your phone or computer telling you that “updates are available.” A software update is a new version of a program that offers improvements over the old one. The most important reason to update is for security, as updates often include patches that fix weaknesses and protect your computer from viruses and other attacks. Updates also fix small errors, or “bugs,” to make the software more stable, and often introduce new features to improve the application’s performance.
Check Your Understanding: Q7
Check Your Understanding: Q8
Check Your Understanding: Q9
Understanding Malicious Software (Malware)
While most software is designed to be helpful, some is created with a malicious purpose. Malicious software, or malware, is any software that is intentionally designed to cause damage to a computer, steal data, or disrupt a system. Understanding the common types of malware is the first step in protecting yourself.
Common Types of Malware
Virus: A computer virus is a type of malware that attaches itself to a legitimate program or file. When you run that program, the virus activates and spreads to other files on your computer.
Worm: A worm is similar to a virus, but it is much more dangerous because it can spread by itself across a computer network without any human help. It does this by exploiting security vulnerabilities.
Trojan Horse: A Trojan horse is a type of malware that disguises itself as a harmless or useful program. It tricks you into installing it, but once it is on your computer, it can perform malicious actions in the background, such as stealing your passwords or giving a hacker remote access to your computer.
Ransomware: This is a particularly nasty type of malware that encrypts your personal files, making them completely unusable. The attackers then demand a ransom payment (usually in cryptocurrency) in exchange for the key to decrypt your files.
Spyware: This is malware that secretly installs itself on your computer to spy on your activities. It can record your keystrokes to steal passwords, monitor your browsing habits, or even turn on your webcam without your knowledge.
How to Protect Yourself from Malware
Protecting your devices from malware is a critical part of using technology safely. Here are the most important steps you can take:
- Use Security Software: You should always have a reputable antivirus and anti-malware program installed on your computer. This software can detect and remove threats.
- Keep Everything Updated: As we learned, software updates often contain critical security patches. Always keep your operating system and all your applications updated to the latest version.
- Be Careful with Emails and Downloads: Be very suspicious of unexpected emails, especially those with attachments or links. A common tactic used by hackers is phishing, where they send fake emails that look like they are from a legitimate company (like a bank or a delivery service) to trick you into clicking a malicious link or downloading a virus. Never download software from untrustworthy websites.
- Use a Firewall: A firewall is a security tool that monitors the traffic coming into and out of your computer network and can block suspicious connections. Most modern operating systems have a built-in firewall.
The Software Development Life Cycle (SDLC)
Creating a high-quality application is a complex process that involves much more than just writing code. Professionals follow a structured process called the Software Development Life Cycle (SDLC). This is a series of steps that provides a model for the development and management of a project.
Let’s imagine a local business in Labuan wants to create a new mobile app called “LabuanEats” for ordering food delivery from local restaurants. Here is how they might follow the SDLC.
- Planning & Analysis: The team first identifies the goal. They need to solve the problem of making it easier for people in Labuan to order food from their favourite local restaurants. They research the market, identify who the users will be (students, office workers, families), and define the main features the app must have (e.g., list of restaurants, menus, online payment, delivery tracking).
- Designing: Next, the team designs the app. This is like creating an architect’s blueprint. They design the user interface (UI), deciding how the app will look and feel. They also design the system architecture, figuring out how the app on a user’s phone will communicate with the restaurant and the delivery riders.
- Implementation (Writing the Code): This is the programming stage. The software developers write the instructions in a programming language to build the actual app. They might use Swift or Kotlin to build the mobile app, and other languages like Python to build the server that manages all the orders.
- Testing: Once the app is built, it is tested thoroughly to find and fix any errors or “bugs.” A testing team will try to “break” the app by placing strange orders, testing the payment system with different cards, and making sure the delivery tracking is accurate. This is a critical step to ensure the app is reliable.
- Deployment: After all the bugs are fixed, the finished app is released to the public. The “LabuanEats” app would be uploaded to the Google Play Store and Apple’s App Store for users to download.
- Maintenance: The work is not over after the app is released. The developers must continuously maintain it. This involves fixing any new bugs that are discovered, providing regular security updates, and sometimes adding new features based on feedback from users in Labuan.
This structured process helps ensure that complex software projects are completed on time, within budget, and meet the needs of the users.
Check Your Understanding: Q10
Check Your Understanding: Q11
Check Your Understanding: Q12
Check Your Understanding: Q13
Check Your Understanding: Q14
Chapter Summary
In this chapter, we explored the world of computer software that brings hardware to life. We identified the two main categories: system software that manages the computer and application software for user tasks. We learned about the critical functions of the operating system , and recognized various types of application software for productivity, communication, and business needs. We explained the different ways software is licensed and distributed, including commercial, free, and open-source models. We also understood the importance of software updates for security , the dangers of malware , and the steps needed to protect our devices. Finally, we outlined the structured process of the Software Development Life Cycle (SDLC) used to create high-quality applications.
Review Questions
- In your own words, what is the difference between system software and application software? Give one example of each.
- List three important jobs that an operating system (OS) performs.
- Name one type of productivity software and one type of communication software. Give a specific example for each one.
- Imagine a local business in Labuan, like a hotel or a shop. Name one type of business software they could use and explain in one sentence how it would help them.
- What is the main difference between subscription software (like Microsoft 365) and open-source software (like Linux)?
- Explain the difference between a native app and a web app. Give an example of a web app you might use for online banking in Malaysia.
- Why is it important to always keep your software updated?
- What is malware? Name two common types of malware described in the chapter.
References
Fingent. (2025). Types of Application Software: A Detailed Guide. Retrieved from https://www.fingent.com/blog/a-detailed-guide-to-types-of-software-applications/
Gaddis, T. (2015). Starting Out with C++: Early Objects (5th ed.). Pearson.
GeeksforGeeks. (2025). Difference Between System Software and Application Software. Retrieved from https://www.geeksforgeeks.org/difference-between-system-software-and-application-software/
GeeksforGeeks. (2025). Functions of Operating System. Retrieved from https://www.geeksforgeeks.org/operating-systems/functions-of-operating-system/
Intelivita. (2023). 7 Steps of the Software Development Process: From Idea to Reality. Retrieved from https://www.intelivita.com/blog/software-development-process/
Toobler. (2025). Types of Application Software With Examples in 2025. Retrieved from https://www.toobler.com/blog/types-of-application-software
University of Idaho. (n.d.). Why keeping your software up to date is important for cybersecurity? Retrieved from https://support.uidaho.edu/TDClient/40/Portal/KB/ArticleDet?ID=2770
University of Idaho. (n.d.). Why keeping your software up to date is important for cybersecurity? Retrieved from https://support.uidaho.edu/TDClient/40/Portal/KB/ArticleDet?ID=2770
Zluri. (2024). 3 Major Types of Software Licenses & Its Categories. Retrieved from https://www.zluri.com/blog/types-of-software-licenses
Wikipedia. (2025). Software development process. Retrieved from https://en.wikipedia.org/wiki/Software_development_process
A set of instructions (a program) that tells the hardware what to do.
The set of programs that operates and controls the computer's hardware and provides a platform for applications to run.
The main system software that manages all the computer's hardware and software resources.
The visual part of a program or device that a user interacts with.
The ability of an operating system to run multiple applications at the same time, sharing the computer's resources among them.
A type of system software that performs a specific maintenance task to help manage, protect, or improve the computer.
A program designed for a user to perform a specific task, like writing a document or browsing the internet.
A legal agreement that defines how a piece of software can be used and distributed.
Mass-produced software that is available for purchase in a store or online.
Software where the source code is made available for free, allowing anyone to view, modify, and share it.
A program that is installed directly onto a specific computer or mobile device.
An application that runs on a remote server and is accessed through a web browser, so nothing needs to be installed on the user's computer.
A native application designed specifically to be installed and run on a mobile device like a smartphone or tablet.
A new version of a program that can fix errors, improve security, and add new features.
Short for "malicious software," it is any software intentionally designed to cause damage to a computer or steal data.
A common cyberattack where hackers send fake emails, pretending to be from a legitimate company, to trick people into revealing personal information or downloading malware.
A structured process that professionals follow for planning, creating, testing, and maintaining software.