Chap 3 - Computer Software
Chap 3 - 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
I.1 Definition of software
Software, by definition, is the collection of computer programs, procedures and documentation that performs
different tasks on a computer system. It actually tells the computer what to do and how to do it. Software may
enter the computer through one of following three ways.
(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 CD-ROM or hard
disk drives
(iii) It is also be typed into the computer with the aid of the keyboard and programming tools
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)
Examples: 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 analyze, configure, optimize or maintain a computer. A single piece will be
called a utility or tool. Some Well-known utility software includes:
-
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: 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.
By NDANG George Page 3
Topic: COMPUTER SOFTWARE
-
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.
- Editor: It is a programming tool that is used for creating and modifying application programs. It helps the
computer user to enter, search, delete, replace, copy and insert text or sections of a text in a desired position.
- Compiler: It is used to convert a complete program written in a high-level language (such as Pascal and C)
into a program in machine language.
- Interpreter: A program which translates the program statements into machine language one line at a time as
the program is running.
- 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: it’s 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): 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.
Communications software: Used to send messages and emails. Ex: MS Outlook Express. MS
Messenger.
Desktop publishing programs: Used to combine and control graphics and text in a single document.
Example software: Adobe PageMaker. MS Publisher.
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: Real Player and Windows Media Player.
c) Bespoke software
Some organizations will find that general purpose software 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 software will only have the features that they specifically need in their business.
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.
Based on code source, we distinguish two types of software: Open Source Software and Closed Source
Software.
II.2.1 Closed source software
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, and Mac OS,
II.2.2 Open source software
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
. 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 appetite for the better version. If the fee is paid, a code is
acquired, which unscripted 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:
Advertising-supported software is any software package which automatically plays, displays, or
downloads advertising material to a computer after the software is installed on it or while the application is
being used.
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
Vaporware (or vapourware) is software or hardware which is announced by a developer well in
advance of release, but which then fails to emerge, either with or without a protracted development cycle.
A software package is an assemblage of files and information about those files. Word processing,
spreadsheets and databases are examples of different types of software packages. Licensed software such as
Microsoft Office, and open source Linux software which is available for free are also examples off different
types of software packages.
A software suite, also known as application suite generally consists of two or more software programs
delivered within a single executable and installable file. Example of software suites are:
- Microsoft office suite (Microsoft word, Microsoft excel, Microsoft access, Microsoft PowerPoint,)
- Open office suite
- Google doc suite
- WordPerfect Office X3
EXERCISES ON SOFTWARE
Exercise 1: State whether each of the following operations is carried out by the operating system or by
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, button, double click the mouse, 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
graphic software
1) Typing articles for a club newsletter 8) Creating a 'No Smoking' sign
2) Keeping track of income and expenditure in a shop 9) Preparing the year accounts for a small business
3) Storing information about members of a youth club 10) Storing details of 500 CDs in a music collection
4) Analyzing sales figures and trends in sales 11) Drawing a map for a treasure hunt
5) Designing a business card for a small firm 12) Preparing an essay for English class
6) Typing a letter to members of a youth club 13) Recording details of products in a supermarket
7) Making changes to a photograph 14) Drawing a picture of a house
15) Scanning a picture in a book
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 organize 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
Exercise 6:
1- Explain the following types of software:
Application software - System software - Bespoke software - Tailor-made software - Off-the-shell software -
Operating system - Utility software – Firmware – Liveware - Custom software
2- What is an Operating System? Give two functions of OS and four examples of OS.