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.
image
Figure 5.1: The Layers of a Computer System. This diagram shows the relationship between hardware, software, and the user. The hardware forms the physical base of the computer. The system software (or operating system) acts as a middle layer that manages the hardware. Application software runs on top of the operating system, and this is the layer that the user directly interacts with. (Image generated with AI assistance.)

 

image
Figure 5.2: The Windows 11 desktop and Start Menu. This image shows the modern look of Windows 11 (Version 24H2). Notice that the Start Menu and app icons on the taskbar are centered, which is different from older versions of Windows. (Used with permission from Microsoft.)

 

image
Figure 5.3: The Android 15 user interface. The home screen is the starting point for navigating Android 15. While it looks simple, this version includes major updates focused on security and user experience. Key improvements in Android 15 include the “Privacy Sandbox” to protect user data from advertisers, better support for foldable devices, and new controls for the camera and other hardware. The clean layout with the Google Search bar at the bottom is designed for easy and quick access to information. Image Credit: “Android_15_Homescreen_Screenshot” by The Android Open Source Project is licensed under the Apache License, Version 2.0, via Wikimedia Commons.

 

image
Figure 5.4: The Operating System Managing Multiple Tasks. A key function of any modern operating system (OS) is multitasking. As shown here, the OS allows many different applications, like a web browser, a video player, and a word processor, to run simultaneously. The OS manages the computer’s memory and processing power, ensuring that each application gets the resources it needs to run smoothly without interfering with the others. This is all managed through the Graphical User Interface (GUI), which lets the user arrange and interact with these application windows. (Image generated with AI assistance.)

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).

image
Figure 5.5: Managing Business Finances with Accounting Software. Modern accounting software provides a comprehensive set of tools to manage a company’s finances. This screenshot displays a central dashboard with key financial indicators, such as monthly revenue and cash flow, for quick analysis. Below the dashboard, the “Recent Transactions” table is used to record and track all financial activities. The navigation panel on the left provides access to other critical functions, including creating invoices for customers, managing bills from suppliers, and generating detailed financial reports. (Image generated with AI assistance.)

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.

image
Figure 5.6: Managing Customer Data with a CRM System. A Customer Relationship Management (CRM) system is a powerful tool for businesses to track and analyze customer interactions. The dashboard shown here provides a visual summary of key business activities. The “Sales Pipeline” chart helps the sales team track their progress with potential customers, while the “Customer Acquisition Channels” chart shows where new customers are coming from. The system also helps employees manage their daily work with task lists and activity logs, ensuring that all customer information is organized and up-to-date. (Image generated with AI assistance.)

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.

image
Figure 5.7: An Integrated View of ERP Modules. An Enterprise Resource Planning (ERP) system helps a company manage its entire business from one central platform. This diagram illustrates how different departments and functions are integrated as “modules.” For example, it includes modules for internal operations like Accounting and Human Resources, as well as modules for managing external relationships with suppliers (Procurement) and customers (Customer Services). The goal of an ERP system is to improve efficiency by allowing all these modules to share information. Image Credit: “ERP Modules” by Shing Hin Yeung is licensed under CC BY-SA 3.0, via Wikimedia Commons.

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.

image
Figure 5.8: Planning a Project with a Gantt Chart. This screenshot from the GanttPRO software shows a typical Gantt chart. This is a powerful tool for project management that visually represents the project’s schedule. On the left is a list of tasks, and on the right, the horizontal bars show the start date, end date, and duration of each task. This allows a project manager to see the project’s timeline, dependencies between tasks, and overall progress at a glance. Image Credit: “GanttPRO_Gantt_Chart_Software” by Alex Chatfield is licensed under CC BY-SA 4.0, via Wikimedia Commons.

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

  1. In your own words, what is the difference between system software and application software? Give one example of each.
  2. List three important jobs that an operating system (OS) performs.
  3. Name one type of productivity software and one type of communication software. Give a specific example for each one.
  4. 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.
  5. What is the main difference between subscription software (like Microsoft 365) and open-source software (like Linux)?
  6. 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.
  7. Why is it important to always keep your software updated?
  8. 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



definition

License

Icon for the Creative Commons Attribution-ShareAlike 4.0 International License

Business & Bytes: Your Essential Computer Guide Copyright © by Md Hafizi Ahsan is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License, except where otherwise noted.

Share This Book