09 CDCT2203 - Topic05
09 CDCT2203 - Topic05
5 Software
LEARNING OUTCOMES
By the end of this topic, you should be able to:
1. Explain the four roles of system software;
2. Identify four categories of system software;
3. Discuss the functions and features of an operating system;
4. Explain the strengths and weaknesses of operating systems;
5. Discuss four categories of advanced application software; and
6. Discuss four types of database.
X INTRODUCTION
From the earlier topic, you now know that a computer system is made up of
hardware and software. Hardware is the physical manifestation of the computer,
while software consists of the programs that command the hardware. Computer
software can be divided into system software and application software. Both
software can be divided further into a few categories, as illustrated in Figure 5.1.
Each of these categories will be explained in greater detail, later in this topic.
5.1 SOFTWARE
For most people, when they think about computers, they normally think about
the hardware, such as keyboard, monitor and processor. They do not realise the
presence and importance of software. Computer software is actually a set of
planned instructions and step by step action that is required to convert data into
information, thus making the computer useful.
The system software is actually divided into OS, utility programs, device drivers
and language translators. The OS contains various functions and features like
multitasking, multi-user, multiprocessor, etc. There are many operating systems
in the market and each has its own strengths and weaknesses. Windows is a
personal computer (PC) OS that is the most popular and has been built by
Microsoft Corporation. UNIX is mostly used in the server system. Linux contains
various features of UNIX and is becoming more popular because it is a free and
reliable OS.
Table 5.1 explains the roles of the system software categories shown in Figure 5.3.
SELF-CHECK 5.1
The OS also enables a computer to perform more than one task simultaneously. It
enables the computer to identify the processor (central processing unit), main
memory (RAM), keyboard, video displays, disc drive and others. The OS also
provides facilities for users to communicate with the computer and acts as an
enabler for running the application software.
The OS is normally stored in the hard disk. When a computer is switched on, it
will first perform the power on self-test (POST). Then, the basic input-output
system (BIOS) inside the read only memory (ROM) will search for the OS to boot-
up the system. The BIOS will search for the OS on the „master boot record
(MBR)‰ sector in the floppy disc. If there is no OS on the floppy disk, the basic
input-output system will search for it on the master boot record sector of the
hard disk.
The MBR sector contains information on the OS of the computer. After reading
data from the MBR and meeting the supervisor program, the BIOS will load the
supervisor program into the main memory, which is the RAM. Then, the BIOS
will pass on the computer management job to the supervisor program. Now, the
computer is under the control of the OS and can accept commands from users.
Part of the OS will remain in the main memory for as long as the computer is on.
This portion will always be in the memory and is said to be resident (permanent)
and is made up of the supervisor program. The supervisor program will control
the overall OS and will load into the main memory of other OS programs from
the hard disk, when required. The OS program that is located in the hard disk is
non-resident.
The OS forms the core that enables the computer to function. It works behind the
scenes and becomes the middleman for requests from users and programs. It
manages and drives computer hardware, and reads and writes data from and
onto the disc drive. When a user works on an application program, the
supervisor program will load the software into the main memory, before the
program is executed.
When a user uses the computer, the main memory has the supervisor program,
the application software to be run and the data or information being processed.
Thus, a larger RAM size in a certain computer will enable it to function faster and
in a comfortable manner. If a computer does not contain enough RAM to run the
software, then, the computer will run slowly or it may hang.
5.4 FUNCTIONS OF OS
In general, the functions of an OS are to:
This command-line directs the computer to copy a file from the hard disc
(C:) to the floppy disc (A:). You will need to use a clear command when
using the command-line. This command-line also shows that you need to
inform the computer where to find MYFILE and where to copy YOURFILE
to. If you forget important information or use a wrong format, an error
message will be displayed on the screen.
Among the components inside it are icons, dialogue box and menu.
Examples of software that uses graphical user interfaces are Windows,
Macintosh and BeOS. GUI users interact with the OS and other software
packages by using pointing devices like the mouse and keyboard to enter
instructions.
Now, users do not have to type every line of command; users only need to
select from the screen display. Users use the mouse to manipulate icons,
dialogue box and menu. In a GUI, an icon is a graphic image that represents
a processing activity. For example, a user may select the „Recycle Bin‰ icon
to delete a file from storage. The GUI was first introduced in 1983 in
Macintosh computers. GUI simplifies a lot of things for users, where they
now do not have to memorise and enter difficult instructions (see Figure
5.6).
The OS is responsible for ensuring that the three processes execute well and
do not cause the computer to hang. This ability in using the three programs
simultaneously is known as „multitasking‰. An important characteristic of
the OS in managing multitasking is robustness; if one program fails, it does
not cause the computer or other processes to hang. OSes that have the
robust characteristic are UNIX, Linux and BeOS.
SELF-CHECK 5.2
1. State the advantages of the graphical user interface over the
command-line interface.
2. State two methods of opening files using a graphical user
interface.
3. Explain at least three main functions of the operating system.
5.5 FEATURES OF OS
Every OS has its own features. Even the ability of every system is different.
Among the main features of an OS are multitasking, multi-user, multi-
processing, batch processing and virtual memory, as shown in Figure 5.7.
5.5.1 Multitasking
If an OS allows only one task to be performed at one time, such a system is called
single tasking. Multitasking enables a user to perform a new task without having
to exit from the task currently being performed and can even use the result of the
second task inside the first task. For example, a user can produce a chart inside a
spreadsheet software, while using a word processing software and later, insert
the chart into the document being typed. Multitasking is divided into two types,
as shown in Figure 5.8.
Users normally do not see the tangible differences between these two types
of multitasking. Tangible differences may be seen in real-time applications.
Preemptive multitasking is more robust and stable than cooperative
multitasking.
5.5.2 Multi-User
If an operating system is capable of accepting more than one user to access the
computer at one time, it is called a multi-user system.
5.5.3 Multi-Processing
The use of more than one processor is suitable for scientific computers because
computers of this type perform a lot of calculations and processing. As such,
scientific computers require an OS that can manage more than one processor.
Examples of multi-processor type of OS are UNIX (Solaris), Linux, BeOS and
Windows 8. Table 5.2 illustrates four OSes and their maximum processors.
BeOS 8
Solaris 64
Linux 16
IRIX 128
During the early computer era, data processing was done using the batch mode.
This means that data and programs are prepared on batch mode for processing.
Users cannot enter data during the running of program. Data and programs are
collected and prepared first, then later, entered one by one for processing by the
computer. Batch processing is still being used now in the mainframe system
environment. Nowadays, the interactive processing type of OS is very popular,
where users can enter data while programs are executed.
For example, users often find computers running slowly when two or three
software run simultaneously. This is because the OS needs to transfer data from
the main memory (RAM) to the secondary storage (hard disk) and vice versa.
This process of data transfer is slow and often involves some noise signifying
that the computer is accessing the hard disk.
The process of transferring data from virtual memory to the main memory
and from the main memory to the virtual memory is called „swap‰.
Swap space (page) on the hard disk is the storage size that is used as virtual
memory, as illustrated in Figure 5.9.
5.6 TYPES OF OS
We have discussed the functions and features of an OS in the previous sections.
However, we also need to realise that there is no single OS that fits for all kinds
of computers. As we know, nowadays, computers exist in different forms
ranging from as small as mobile phones up to huge servers. So, different OSes
are required to make all these computers work.
In general, OSes can be divided into four categories (see Table 5.3).
We will now take a more detailed look into each category of OS in the following
sections.
Table 5.5 describe nine popular OSes used for mobile and embedded computer
systems.
Application software can exist in a variety of forms, depending on the needs and
requirements of individuals, groups or organisations. The following Table 5.6
describes the forms of seven application software:
Application
Explanation
Software
Packaged Software developed and sold for profit. As it is mass produced and
software or copyrighted, this means it caters for a wide variety of users. Examples may
commercial include Microsoft Office, Adobe Photoshop and Norton Antivirus.
software
Custom Software that performs specific functions for any business or industry. This
software software is required when there is no packaged software that can meet
such specific requirements. As a result, the company needs to find or hire
developers to develop the tailor-made software to fulfil the business needs.
Some examples are e-procurement system and e-recruitment system.
Shareware Software distributed and available to try for free. Although it requires no
cost during the trial period, it is still copyrighted. Users need to pay certain
fees to the developer in order to use this software for a longer period of
time. Popular examples of shareware are WinZip and WinRAR.
Freeware Software distributed to be used for free. As it is also copyrighted, users still
do not have access to source codes to make any modifications. QuickTime
Player and Yahoo! Messenger are examples of freeware.
Public Free software and can be used, copied, modified and distributed to others
domain without any restrictions. The public owns the ownership; therefore, the
software software is not copyrighted. Pine and Lynx are examples of public domain
software.
Web Software hosted on a server allowing users to access and interact from any
application computer, via an Internet connection.
Open Software that has no copyright restrictions. Thus, it can be used, modified
source and redistributed freely. It can also be downloaded from the Internet
software without any cost. Examples are Blender and Moodle.
(a) Business software ă Deals with assisting people to ensure their day-to-day
business can run effectively and efficiently. It comprises of programs like
word processing, spreadsheet, database, presentation, personal information
manager, business software suites, project management and accounting.
Examples are Microsoft Word, Microsoft Excel, Oracle Database, Apple
Keynote and Oracle Primavera.
(b) Graphic and multimedia software ă Offers the capabilities of handling and
working with complex graphic and multimedia. It covers computer-aided
design, desktop publishing, paint/image editing, photo editing, video and
audio editing, multimedia authoring, and web page authoring. Examples
may include Autodesk AutoCAD, Adobe Illustrator and Adobe
Dreamweaver.
SELF-CHECK 5.3
A word processing software enables you to create, edit, format, store and
print texts and graphics in one document.
Since you can save memos or documents that you have typed into the disc, you
can access them at other times to modify them, reprint or do whatever you want
with them. Parts of existing documents that do not change do not need to be
re-typed; the entire document that has been checked can be reprinted as new. An
assignment often done by computer users is to prepare information in the form
of documents. Word processing software is the software mostly used by users.
Five important activities of word processing are as illustrated in Figure 5.11.
Activities that can be done during word processing are editing of document,
search and replace, merging of e-mails, document footing and heading,
footnotes, mathematical functions, index generator, content generator, and
document import and export. You can search any word quickly inside a
document by using the search command inside a word processor. A replace
command can replace one word with another. Besides that, spellings can be
verified by the spelling-checker program. The grammar checker will identify the
use of inaccurate sentences, incorrect grammar or sentences that are too long. The
earliest word processing software was Wordstar. Examples of currently and
widely used word processing software are WordPerfect, Ami Pro and Microsoft
Word.
With the addition of more features into word processing packages, word
processing has crossed the boundary into desktop publishing. Desktop
publishing packages are normally better than word processing packages in
When a document is being edited by a user, the word processing software will
load a copy of the document from the secondary storage (hard disk) into main
memory (RAM). All editing activities will be done on this copy inside the main
memory. This is because data access from the main memory is faster than data
access from the secondary memory. When the user completes editing, he/she can
save the document again into the secondary storage to replace the older copy.
This can cause problems in a mixed environment where OSes like UNIX, OS/2,
BeOS, Windows and Linux exist in one place. A number of methods can be used
to produce a form of document that is portable. Among the methods are
producing document in PDF, postscript (ps) format or in markup languages like
standard generalised markup language (SGML), extensible markup language
(XML) or TeX.
Users can use this format to produce portable documents between different OSes.
All forms of documents like those from spreadsheet, power point presentation,
word processing and graphics, can be converted into PDF format by using Adobe
Distiller software. The PDF documents produced have the hypertext capability,
can be printed and displayed on the computer but cannot be edited. The PDF
format was introduced by Adobe (a company). Most articles that are freely
available on the Internet are in postscript or PDF format.
Users can also produce portable documents in a markup language like hypertext
markup language (HTML), SGML and XML. The main objective of producing
documents in a markup language is to separate information from the document
format. This concept is the same as the concept of separating a program from
data in databases. This way, the document format can be modified easily without
involving the information that is present in the document.
Users can also use TeX software to produce portable documents from documents
in the form of TeX markup language. Document based on TeX can be processed
to produce another document in the form of PDF, postscript and device
SELF-CHECK 5.4
1. What do you understand by the concept of WYSIWYG?
2. List a number of additional features of a word processor that you
know.
What about spreadsheet software for users at home? It provides them the ability
to enter a set of numbers in meaningful ways, such as a set of deposit and interest
rates for buying a house and offer financial ideas to users who cannot do it
themselves (manually). Home users can use a spreadsheet to perform various
tasks from budget preparation to considering whether to accept a new job or not.
A spreadsheet is divided into rows and columns. Each row is numbered, while
each column is given a name. The intersection between each row and column is
called „cell‰. Each cell contains reference address and fixed address. In each cell,
a user can type in a number, text or mathematical formula. Basically, the solution
to a problem using spreadsheet can be divided into four steps:
(b) Planning for presentation stage ă Covers how to arrange labels, data,
formula and other instructions to achieve maximum efficiency, clarity and
flexibility.
(c) Data entry stage ă Involves required type of commands for input, edit and
store values, label, formula and functions in the required presentation.
(d) Testing and using stage ă Stage that tests whether spreadsheet produces the
results accurately when data is entered.
Other features that are available in an electronic spreadsheet are macro (short
program which can be used to repeat specific steps), mathematical functions, plot
3D, active function and integration with other applications. Figure 5.13 illustrates
an Excel electronic spreadsheet.
SELF-CHECK 5.5
When data is available as a report, i.e. a form that is useful to users, data has
become information.
Concert organisers, for example, can store and change data of the date of the next
concert, seat number, ticket cost and sales. When this has been done, organisers
can use the software to access information, such as the number of tickets sold in
every price range or percentage of tickets sold on the day before the concert.
Database software is useful for someone who needs to reach out to a large
number of people. For example, a volunteer who is looking for blood donors for
the National Blood Bank can store a file of all donors in his area, so that he can
access their names and telephone numbers to enquire on the type of blood
donated, postcode or the last date he/she donated blood.
Data can be in the form of text, video, graphics, audio and others. Databases are
stored in secondary storage. To fulfil the need of organisations, data needs to be
collected, stored and accessed effectively. Databases can help with these three
processes. They also enable data to be processed and shared by various parties.
Data can also be edited, added and erased easily. Users can perform queries over
the database to solve problems. A number of important terms in databases are
entities, attributes, field, record and relationship.
(a) Entities are things, people, places or events whereby the data and
information stored are about them. Examples of entities are universities,
students, employees, cars and doctors.
(b) Attributes or fields, are data or information that explains the characteristics
or features of a certain entity. For a student entity, examples of attributes
are name, address, date of birth, identity card number, matrix number and
gender.
(c) Record is a collection of related attributes for a certain entity. It also can
explain a certain event, which is a number of related fields about a certain
event grouped together logically to form a record. An example of a record
which groups together number of attributes for a student entity is
presented as follows:
Name : Abdullah Adam
Matrix number : 789
Address : No. 7, Jalan Sephia 2, Taman Sephia Permai, 43600
Bangi, Selangor
Date of birth : 1 January 1977
(d) Files are various collections of records containing the same attributes. An
example is a file of First Year Student containing all records
of Year 1 students in the Faculty of Information Technology and
Multimedia Communications.
(e) Database is a collection of several files that are related to one another. The
main source of data for a computer-based information system is the
database. Another objective of the database is to reduce data duplication.
For example, a student database may comprise a combination of studentÊs
personal file, file of courses offered at Open University Malaysia, co-
curriculum activities file and student finance file, as shown in Figure 5.14.
Figure 5.15 illustrates the different stages of data inside a database.
A relational database type is the most widely used today. In this type of
database, data is arranged in a table with rows and columns. Each column
constitutes of one attribute and each row constitutes of one record.
With the traditional file system, we may face problems in getting a list of
students' names based on department or list of courses taken by a student,
because the information is present inside three different files.
(a) Data redundancy ă Same data attributes are repeatedly present in different
files;
(b) Data integrity problem ă Data needs to be updated in all files to ensure that
they are consistent throughout; and
(c) Program and data independence problem ă Program and data are closely
related as data is created to feed into a program.
(d) Data integrity can be retained in terms of security and reliability; and
In the database, each file has a relationship with other files. Relationships among
files are made through key fields. In a database, data dictionary stores
information in data and the database structure. In building a database
application, the following seven steps are required, as illustrated in Figure 5.17.
These steps are usually discussed in greater detail in the System Analysis and
Design course. Database management system is required to free data and
application programs to make them independent of each other. This will simplify
data access and editing, minimise data redundancy, define data, manage data
security and maintain data integrity. It can be regarded as a software layer
surrounding the database. The software includes query language, report
generator and utilities, and graphics.
There are three types of relationships that can exist in databases ă one-to-one,
one-to-many and many-to-many, as shown in Figure 5.18.
For example, let us take the database of a business containing their customer
files, sales file, inventory files and supplier files, as follows:
(a) One-to-one relationship ă One data can only have a relationship with one
other data, e.g. relationship between customer file and sales file;
(b) One-to-many relationship ă One data can have a relationship with more
than one other data, e.g. customer file with sales file, if a customer makes
many purchases; and
(c) Many-to-many relationship ă One or more data can have a relationship
with one or more other data, e.g. many suppliers can supply many items.
In a networked database, every child can have more than one parent. This
arrangement can be bent easily as compared to hierarchical database but there is
a limit on the bent and it needs definitions prior to its use. This type of database
can have all types of relationships. It was first introduced in the 1970s. Today,
both hierarchical and networked types are not widely used. Figure 5.20 shows an
example of a networked database.
Relational database is the most stable and flexible database. Its model was first
introduced by E. F. Codd. It does not require the database structure to be initially
defined. Data is arranged in the form of a table with rows and columns. A name
is given to each table and column. Every table is given a unique column, known
as the main key. This main key is used to link different tables. Relational
databases are widely used today. Figure 5.21 shows an example of a relational
database.
5.10.3 Client-Server
Most database management systems are stored in the server. Database
management system software will store and manage data in the server computer.
The client computer will be used by users to access and process the data
contained in the database of the server computer. This method is known as
client-server system. The client-server system enables a database to be shared by
many users. Examples of a server-based DBMS are Oracle, Informix and Sybase.
An example of software that can build user-interface software is PowerBuilder.
Examples of client-server systems are student registration system in OUM and
foreign worker registration in Malaysia Department of Immigration.
(a) Server has the main function as storage and processing is done by clients;
There are two ways on how to access data in a database, i.e. through query
language and application programs as shown in Figure 5.24.
With this language, users can add, edit, delete and access the database. An example
of the query language is Structured Query Language (SQL) which can be used to
access relational type of databases. An example of SQL instructions are presented in
Figure 5.25.
Users can also access databases through programs that are written in
programming languages like COBOL or C which contain SQL statements that are
embedded inside the programs. This technique is known as embedded SQL, as
shown in Figure 5.26.
SELF-CHECK 5.6
The use of graphic software is very satisfactory if the work is done by a graphic
artist who has the ability in both artistic aspect, as well as the ability to use
sophisticated graphic software to translate ideas. An artist uses the software as a
tool for producing fantastic computer-based arts. Graphic software is software
that converts numerical data into a graphic display form, such as the bar chart,
pie chart, etc. It enables users to produce various types of graphical forms. Five
types of graphics software are shown in Figure 5.28.
(e) Animation graphics ă Add movements over the image and drawing.
Examples of graphics software used for animation are Maya (for 3D
animation) and Adobe Flash Professional CS6. These types of software were
used to produce Toy Story and Toy Story 2.
• There are four categories of system software: OS, utility programs, device
drives and language translators.
• Windows, Mac OS, UNIX and Linux are commonly used operating systems.
• Besides that, we have also seen application software that is often used to
increase productivity of organisations and individuals such as word
processing, spreadsheet, databases, groupware software, etc.