Computer Software
Computer Software
Computer hardware is only as effective as the instructions we give it, and those instructions are
contained in software. Software not only directs the computer to manage its internal resources, but
also enables the user to tailor a computer system to provide specific business value. This chapter aims
to:
- Define software and state the main difference between hardware and software
- give the main differences between application software and system software
- Classify the different type of application software by categories with examples in each
category
Table of Contents
I. INTRODUCTION TO SOFTWARE................................................................................................2
I.1 Definition of software..................................................................................................................2
I.2 Relation between hardware and software....................................................................................2
I.3 Ways of acquiring computer software.........................................................................................2
II. CLASSIFICATION OF SOFTWARE............................................................................................3
II.1 Classification of software based on task.....................................................................................3
II.2 Classification of software based on source.................................................................................8
II.3 Classification of software based on licence................................................................................8
II.4 Other type of software..............................................................................................................10
EXERCISES ON SOFTWARE..........................................................................................................11
I. INTRODUCTION TO SOFTWARE
(i) I may be build into the computer circuit in the form of firmware.
(ii) It may be loaded into the computer from a secondary storage device such as CDROM or
hard disk drives
(iii) It is also be typed into the computer with the aid of the keyboard and programming tools
(i) Buying the computer: when you buy a new computer from the shop, you are usually supplied
with some software for free, from the computer manufacturer (ii) Buying the software from a
shop:
(iii) Downloading the software from a website for free (freeware) or after paying some money
to the vendor
(iv) Ordering from the vendor either by email, fax or postal letter. Here you also need to pay
for the product before it is sent to you.
(v) Copying from other people’s machines: This is what most Cameroonians do and it is what
referred to as software piracy. Software piracy is illegal and therefore punishable by law
II. CLASSIFICATION OF SOFTWARE
Computer software can be organized into categories based on common function, task, or field of use.
We can then categorize software in different ways.
System software is a type of computer software that controls the operation of the computer and
provides facilities that extend the general capabilities of the machine. This provides the basic
functions for computer usage and helps to run the computer hardware and system. It includes a
combination of the following:
1) Operating system
An operating system is a group of computer programs that coordinates all the activities among
computer hardware devices. This is the most important type of system software in a computer. A user
can’t run an application program on the computer except it is self booting without the Operating
System. Operating systems are contained in almost all devices including mobile phones. (to be
extended in the next chapter)
An operating system executes many functions to operate computer system efficiently. Among them,
four essential functions are the followings.
Task Management: The function of the operating system that controls the running of many
tasks. It manages one program or many programs within a computer system simultaneously.
That is, this function of operating system manages the completion of users' tasks.
File management: This is a function that manages data files. An operating system contains
file management programs that provide the ability to create, delete, enter, change, ask, and
access of files of data. The operating system keeps track of where files are located on the hard
drive through the type of file system. The type two main types of file system most used in
windows OS are File Allocation table (FAT) or New Technology File system (NTFS).
User Interface: It is a function of an operating system that allows users to interact with a
computer. The two main types of user interfaces are: command line and a graphical user
interface (GUI). With a command line interface, the user interacts with the operating system
by typing commands to perform specific tasks. An example of a command line interface is
DOS (disk operating system).
Examples of popular modern operating systems include Android, BSD, iOS, Linux (ubuntu,
Knoppix, Dreamlinux, …) OS X, QNX, Microsoft Windows(Windows 95, 2000, Vista, 7, 8, …),
Windows Phone, and IBM z/OS. All these, except Windows, Windows Phone and z/OS, share roots
in UNIX.
2) Utility program
This is system software designed to help analyse, configure, optimise or maintain a computer. A
single piece will be called a utility or tool. Some Well-known utility software include:
Antivirus programs: They are used to detect and eliminate computer viruses and related
malicious software. Some examples are: avast, AVG, Avira, BitDefender, Norton
Backup programs: They help to make copies of all information valuable to a computer or
information system and store it safe. The information can be restored in the event of disk
failure or other accidents that will lead to data loss.
Data Recovery: As the name implies, data recovery programs are used to recover data. Since
disk drives or other hardware may fail, these utilities are essential to recover data in such a
scenario.
Data Compression programs: They make the data more compact, reducing the space
occupied by the data.
Disk management program : These are program involving formatting and arranging disk
files in an orderly manner.
Memory management software : It handles locations in RAM where data put their current
data. It can move certain memory-resident items out of the way so as to increase the memory
space.
The Server: In the context of client-Server architecture, a server is a computer program
running to serve the requests of other programs – “the clients”. The clients may run on the
same systems or through networks.
3) Programming software
It is the type of software that is used for creating other software. Another name for programming
software is Integrated Development Environment (IDE). An IDE normally consist of a source code
editor, a translator (compiler or interpreter)
and a debugger.
- Assembler: A programming tool that convert a program in assembly language into program
in machine language.
- Debugger: It is a program that is used for locating and correcting programming errors.
- Linker: A linker or link Editor is a program that takes one or more objects generated by the
compiler and combines them to a single executable program..
- Loader: Loader is a kind of system software, which is responsible for loading and
relocation of the executable program in the main memory. The functions of a loader include
assigning load time space for storage, that is, storage allocation and assisting a
program to execute appropriately.
4) Device driver
Device drivers are computer programs that allow higher level computer programs to communicate
and interact with a hardware device. All hardware devices have the devices drivers that communicate
with them through the computer bus to which the hardware is connected. Drivers are hardware
dependent and operating system specific. Some specific categories of device drivers are
Logical Device Drivers (LDD) which are written by the Operating System vendors
Physical Device Drivers (PDD) which are written and implemented by the hardware vendor. To
solve device driver crises, Microsoft has created the Windows Drivers Foundation (WDF) which
collects and keeps all device drivers as a database.
Although system software has the vital job of controlling and managing the computer, it is the
application software that lets you carry out the tasks for which the system was purchased. It enables
the end users to accomplish certain specific tasks. Business software, databases and educational
software are some forms of application software. Different word processors, which are dedicated to
specialized tasks to be performed by the user, are other examples of application software.
A general purpose application, sometimes known as ‘off-the-shelf’ is the sort of software that you use
at home and school. Examples include word processors, spreadsheets, databases, desktop publishing
packages, graphics packages etc.
This type of software tries to be a ‘jack-of-all-trades’. It provides many features that the majority of
users will want e.g. formatting text, creating charts, organising tables. But it does try to be’ all things
to all people’ and so there will be a vast number of features that you may never use e.g. statistical
functions, mail merge. This makes the storage size of these applications fairly large.
There are several good reasons for using general purpose software:
• It is relatively cheap
• It is easily available from most computer shops
• It will have been thoroughly tested so there won’t be any serious problems or bugs
• There will be lots of user support i.e. books, user guides, online help and discussion forums on
the Internet
Desktop Publishing Software - Often used to create graphics for point of sale displays,
promotional items, trade show exhibits, retail package designs and outdoor signs. In very
simple words, it could be said that it is a page maker application.
Word-Processing Software - Used for the production (including composition, editing,
formatting, and possibly printing) of any sort of printable material. This software enables
users to create, format, edit and print electronic documents (Letters, reports, articles, …). The
most popular examples of this type of software are MSWord, WordPad and Word Perfect,
Libreoffice writter.
Spreadsheet Software - Used for any kind of spreadsheet work including analysis, planning
or modeling. This is a general purpose software with many functions. Spreadsheet software
are used for creating documents to manage and organize numerical data. It is used to perform
calculations on rows and columns of data Microsoft Excel, Lotus 1-2-3 and Apple Numbers
are some examples of spreadsheet
Database Database is a structured collection of data. A computer database relies on database
software to organize data and enable database users to perform database operations. Database
software allows users to store and retrieve data from databases. Examples are Oracle,
MSAccess, EasyPhp, etc.
Graphic package Allow you to create pictures and edit photographs. Example software:
CorelDraw. Paint Shop Pro.
Presentation Software: The software that is used to display information in the form of a slide
show is known as presentation software. This type of software includes three functions,
namely, editing that allows insertion and formatting of text, methods to include graphics in the
text and a functionality of executing slide shows. Microsoft PowerPoint and Micromedia
director are the best example of presentation softwareWeb design application
Web browser: Computer program that enables internet users to access, navigate, and
search World Wide Web sites. It is also called browser. Ex: Mozilla Firefox, Internet
explorer, Opera, Google chrome
Enterprise Software: It deals with the needs of organization processes and data flow.
Customer relationship management or the financial processes in an organization are carried
out with the help of enterprise software. Ex: Sage Saari
Multimedia Software: They allow users to create and play audio and video files. They are
capable of playing media files. Audio converters, audio players, burners, video encoders
and decoders are some forms of multimedia software. Examples of this type of software
include Real Player and Windows Media Player.
c) Bespoke software
Although most organisations use general purpose software, some organisations will find that it just
doesn’t do exactly what they want or it doesn’t work with their current systems. In this case, they
might decide to have the software system they need designed and developed specifically for them.
This is called ‘tailor-made’ or ‘bespoke’ software. Bespoke application software is tailor made for a
specific user and purpose. For example a factory may require software to run a robot to make cars;
however, it is the only factory making that car in the world, so the software required would have to be
specially built for the task.
• the company will get the exact software/system that they need
• the software will work exactly how they want it to work
• the software will only have the features that they specifically need in their business.
• it takes a long time to develop such a system, between a few months to years it costs a
great deal of money to develop such a system.
• the company may need to employ a team of people such as business analysts, programmers,
testers etc
• there will be little in the way of user support and online help
Other examples might include software for the military, missile/UAV operations, software for
hospitals and medical equipment, software being written inside banks and other financial institutions.
Also called proprietary software, it is software with restricting on using, copying and modifying the
source code as enforced by the proprietor. In other words, computer users do not have any access to
the source code of the proprietary software. Well known examples of proprietary software include:
Windows, RealPlayer, Adobe Photoshop, Mac OS, ...
It is the type of software that has no proprietary restriction attached to it, particularly the restriction
about the access to the source code. In other words, open source software is designed in such a way
that computer users can freely access and modify the source code to suit their individual need. It is
also called non-proprietary software. E.g. Linux, Open Office
The GNU General Public License (GNU GPL or simply GPL) is a free software license, originally
written by Richard Stallman for the GNU project (a project to create a complete free software
operating system). It has since become one of the most popular licenses for free software. The latest
version of the license, version 2, was released in 1991. The GNU Lesser General Public License
(LGPL), another commonly-used license, is a modified version of the GPL intended for software
libraries.
The GPL grants the recipients of a computer program the following rights, or "freedoms":
. II.3.2 Freeware
This is a Copyrighted software given away for free by the author. Although it is available for free, the
author retains the copyright, which means that you cannot do anything with it that is not expressly
allowed by the author. Usually, the author allows people to use the software, but not sell it.
You are also free to distribute it to anyone you want, provided the distribution is an unmodified
version of what you downloaded from the provider’s web site. In fact they encourage you to
distribute their Freeware. Freeware is provided on an "as is" basis and no technical support is usually
available.
II.3.3 Shareware
This may be copyrighted software, regularly in trial version, but generally the developer allows users
to make copies without an initial charge. However, if the user intends to use it beyond a brief tryout,
the developer requests that the program be paid for. A marketing method for software, whereby a trial
version is distributed in advance and without payment. A user tries out the program, and thus
shareware has also been known as 'try before you buy', demoware, trialware and by many other
names.
II.3.4 Crippleware
The shareware version of a program whose most advanced and most desirable features have been
disabled with the intention of increasing users apetite for the better version. If the fee is paid, a code
is acquired, which uncripple the program.
II.3.5 Nagware:
Nagware (also known as annoyware) is a type of shareware, that reminds —or nags— the
user to register it by paying a fee. It usually does this by popping up a message when the user
starts the program or, worse, intermittently while the user is using the application. These
messages can appear as windows obscuring part of the screen or message boxes that can
quickly be closed. Some nagware keeps the message up for a certain time period, forcing the
user to wait to continue to use the program
II.3.6 Adware:
II.3.7 Liteware
This is the free version of a program, that does not contain those features that are attractive to
frequent or heavy user.
II.3.8 Vapoware
Liveware: People who write programs, operate and maintain the computers are collectively
known as liveware, humanware or peopleware; for example, programmers, system analysts
and hardware engineers.
EXERCISES ON SOFTWARE
Exercise 1: State whether each of the following operations is carried out by the operating
system or by an application software
delete a file, format a disk, play a game, load from a disk, write a letter, enter a list of
names, create a new folder, print a file, draw a picture, double click the mouse
button, select from a menu, carry out a single field sort, get a directory listing, do a
calculation, select QUIT.
Exercise 2: State whether the following task is carried out by a word processor, a
spreadsheet, a database or a graphic software
A secondary school has been using several versions of office automation software packages
which consist of a word-processing software and spreadsheet software. This years the school
plans to upgrade the office automation software packages so as to increase the use of
information technology in teaching, to improve daily communication among its staff, and
students and to computerize students' attendance record system.
1. Name three additional types of software that should be included in this upgrade exercise.
State one corresponding application for each type of software.
2. The teacher makes use of an upgraded word-processing software to prepare a computer
test paper in school. However he cannot open the document at home with its old version
of word-processing software. Explain why the teacher cannot open the document and
suggest one method the teacher can use to avoid the problem without any additional cost.
1. ‘Hardware is of no use without software and software cannot be used without hardware.’
Explain.
2. What is the difference between an Open source Software and a Freeware. Write one
example of each.
3. What is an operating system? Names of any two popular operating systems.
4. Name and explain any two main functions of an operating system
1. For each type of software, copy the correct description along with two examples:
Application Software Example
1. Word processors Applications
2. Spreadsheets - MS Outlook Express
3. Databases - Internet Explorer - Windows Media Player
4. Desktop publishing - Real Player - Lotus 123
programs - Adobe PageMaker - MS PowerPoint
5. Presentation applications - Firefox - MS Messenger
6. Web design applications - Word Perfect - MS Word
7. Graphics programs - MySQL - MS FrontPage
8. Multimedia display - CorelDraw - DreamWeaver
programs - MS Publisher - MS Access
9. Web browsing applications - MS Excel - Paint Shop Pro
10. Communications software - Macromedia Director
Descriptions
• Used to combine and control graphics and text in a single document
• Used to perform calculations on rows and columns of data
• Allow you to create pictures and edit photographs
• Used to send messages and emails
• Enable you to write, edit and print letters, articles and reports.
• Used to design and edit pages of information for the internet
• Allow you to view videos and animations with sound
• Use to organise and search through collections of data
• Used to view websites on the internet
• Allow you to present information to an audience
2. Describe how bespoke software is different from the normal software packages
purchased in shops.
3. Give a short description (or definition) of the following words or expressions (no
more than 2 lines per word): Loader, Crippleware, Open source software