You are on page 1of 14

COMPUTER SOFTWARE

These are the detailed instructions that control the operation of a


computer system.
They instruct the computer on what to do and how to do it.

Classification of Computer Software


Software is categorized according to:
a) Purpose – system software, application software
b) Acquisition - In-house developed software, Vendor off-the-shelf
software (Standard software)
c) End-User-License - Open source (non-proprietary software),
Proprietary software, Freeware.

Classification according to purpose


i) System Software
- It manages the operation of the computer and makes sure that the
computer works efficiently.
- It performs operations to avail computer resources to the user.
Its functions include:
1. Booting the computer and making sure that all the hardware elements
are working properly.
2. Performing operations such as retrieving, loading, executing and
storing application programs.
3. Storing and retrieving files.
4. Performing a variety of system utility functions.

System software is further subdivided into four sub-categories namely:


1. Operating systems (OS)
2. Firmware.
3. Utility software.
4. Networking software.

1
1. Operating System
A suite of programs that manages the computer resources such as
Input/output transfers, memory, CPU times etc.
Operating system control ensures computer operates in the way intended
in a systematic, reliable and efficient manner.
Its services are invoked by the use of commands and then it monitors the
way the other program use the hardware
- The OS is the main programme that controls the execution of user
applications and enables the user to access hardware or software
resources.
- The OS therefore supervises all the other programmes in the computer
and manages access to the hardware.

User (Runs Application Programs)

Application Software (Sends user requests to O.S)

Operating System (Receives and executes requests)

Hardware (Receives and performs O.S commands)

Resources under the Control of Operating System (O.S)


1. Processor
2. Main Memory (R.A.M)
3. Input/output devices and ports.
4. Communication devices and ports

2
5. Secondary storage devices
6. Files

The basic categories of resources are memory, processor, input/output


devices and files.
 Memory management – the OS keeps track of what parts are
in use, by whom and what parts are free. Programs must be
loaded into memory before they can be executed and moved out
of memory when no longer required. Storage space must also be
provided for data generated by programs.
 Processor management – a multi-user or multitasking
computer system can be accessed by several users or
applications simultaneously. The CPU can only execute one
program at time and therefore access to the CPU must be
carefully controlled and monitored. The OS must decide which
program will be allowed into the system and for how long.
 Input/output device and ports management – programs will
request the use of I/O devices during the course of their
execution and in a multi user system conflicts are bound to arise
when a device being utilized by one program is requested by
another. The OS will control allocation of I/O devices and
attempt to resolve any conflicts which arise. It will also monitor
the state of each I/O device and signals any faults detected.
The OS also defines the various input/output ports found on the
computer e.g., the printer port, U.S.B port etc.

 File management – the OS keeps track of the information, its


location, use status etc. These collective facilities are called the
file system. A file system is concerned with the logical
organization of the information and provides a means for sorting,
retrieving and sharing the files. The OS may also provide a
means of protection for data files and programs against
unauthorized access and corruption.

3
 Communication devices and ports
- The OS controls the overall communication process between various
tasks and computers.
- Communication can either be external or internal whereby the computer
system sends and receives messages from various devices and
Programmes.
- External communication can be achieved by connecting an external
device to a communication port using cables or wireless communication.

 Secondary storage devices


- The OS manages the storage and retrieval of data on secondary storage
devices.
- It also utilizes the free space on hard disks to enhance the performance
of the computer by temporarily holding tasks on it that were in R.A.M
ready for processing but have to wait for some time.

Types of processing by the operating system


The basic techniques used for processing information are:
 Single user system – allow one user to operate one program at a
time in an interactive conversational mode.
 Batch processing – occurs whenever changes or inquiries are sent
to a computer file and stored for a while before processing takes
place. After this period a processing run is made to update a
computer file or to obtain the information requested. Batch runs can
be made on any basis – daily, weekly, monthly or as required
 Online processing – occurs when the transactions are processed to
update a computer file or to make any change in a computer file
immediately after the transactions occur in the real world.
 Multi-tasking – allow one or more programs to be processed
concurrently at the same time. Programs take turns at short bursts
of processing time. When one is using the CPU, another may be
using the peripherals.

4
 Time sharing – permits users to have simultaneous use of one
computer. Each user is allowed a time slice – a brief period when
access to the CPU is available. The system goes around all users to
see if the user needs it, and this happens so fast that the user
thinks that he has continuous use of the system
 Real time system – process data so quickly that the results are
available to influence the next activity taking place. They must be
fast and reliable. They have complex and expensive OS and usually
involve multi-processing to share the workload.

Function of operating system


 Memory allocation and loading of programs – before processing begins
operating system ensures that the programs are transferred into
available memory location from the backing store.
 Job scheduling – operating system transfers control from one job to
another from programs maintained in the computer awaiting execution
to ensure CPU time is not tied up by one job. Job processing is
interrupted depending on priorities allocated to ensure that there’s
continuous processing until all jobs in the queue within memory
awaiting processing are executed.
 Peripheral control – operating system controls the input output transfer
by regulating the speed imbalance between input output devices and
the CPU.
 Error reporting – during program execution if there occurs an error of
any sort, the operating system furnishes diagnostic messages to the
user through e.g., screen and program execution is stopped for the
user’s corrective responses.
 Interfaces the user to the system hardware – operator invokes the
services of the operating system by use of commands and the
operating system communicates the messages regarding the
processing to the operator through e.g., screen, printer etc.
 Logging and accounting – operating system keeps records on the
computer resources use. A log of tasks carried by the computer is
kept.

5
Types of operating System
They are classified according to:
- No of tasks – single program and multitasking operating
system
- No of users – single user and multi user operating system
- User interface – command line, menu and graphical user
interface.

 Single program/task operating system – allows processing of


one application program in the main memory at a time. This means
that the user can only run one interactive program at a time. The
user must exit from the program before loading and running
another program e.g., Ms DOS.
 Multi-tasking operating system – allows a single CPU to execute
more than one application program concurrently. Through processor
scheduling, the OS allocates a time slice to each ready task. The
CPU switches attention between programs as directed by the
operating system. This switching mechanism is so fast that it
appears as if the tasks are being executed simultaneously.
 Single user operating system – it’s designed for use by one
person only and can only run one user application program at a
time.
 Multi user operating system – allow more than one user to
interactively use the computer. They can at the same time be
installed on a computer that is accessed by all users in an
organization e.g., Windows NT 2000
 Command line-based operating system – it lets the user type a
command at a command prompt. The computer reads the typed
command from the command line and execute it e.g., Ms DOS.
They have become unpopular because it’s difficult to remember the
commands, cannot process complex graphics and hardly make use
of emerging hardware and software technologies.

6
 Menu driven interface – provide the user with a list of options to
choose from.
 Graphical user interface (GUI) – besides menus it makes use of
windows, icons and most commands are executed using a pointing
device. These features are given the acronym WIMP which stands
for windows, icons, menus and pointing devices

Factors to consider when choosing an operating system


 The hardware configuration of the computer such as memory
capacity, processor speed and hard disk capacity.
 The type of computer in terms of size and make
 Compatibility
 The application software intended for the computer
 User friendliness of the operating system
 The documentation available
 The cost of the operating system
 Reliability and security provided by the OS
 The number of processors and hardware it can support
 The number of users it can support

Example of operating systems: Windows XP, Windows 98/ME,


Windows 2000, Windows – NET server, UNIX, Linux, OS/2, Dos etc.

2. Firmware
- It is a combination of both the software and hardware recorded permanently
on electronic chips.
- Firmware, also referred to as stored logic.
- It is a read-only memory chip (Contents cannot be changed) that is mounted
or plugged into the motherboard. Read-only memory means that its contents
cannot be changed.
- It may hold an operating system, utility programs, language processors etc.

3. Utility software

7
- It is a special program that manages computer files, repairs computer
problems and makes the computer run more efficiently.
- It performs commonly used services like sorting, copying, file handling, disk
management etc.
There are two basic types of utility software:
a) System-level utility - These help the user to work with the operating
system and its functions. For example, a utility software tells user when he/she
enters a wrong command and gives suggestions how the error can be
corrected.
b) Application-level utility - These make application programs run more
efficiently and smoothly.
Other common utility Programs are:
- Text editor – Used to type text without any special format. E.g.,
Liner editor and Screen editor.
- Linker and Loader – Linker accepts separately translated
modules as inputs and combines them into one logical module.
Loader transfers the load module of the linker from storage to main
memory for execution.
- Language translator – Used to convert source code of a
programming language to object code.
- Sort & Merge utility – Sort utility arranges records in a file to
predetermined sequence. Merge utility is used to combine two or
more input files into one output file.
- Diagnostic tools - Used to detect and correct system errors.
E.g., Norton Utilities, PC Tools, QAPlus, Dr. Watson etc.

4.Networking software
- It is used to establish communication between two or more computers by
linking them using a communication channels like cables to create a computer
network.
- It enables exchange of data in a network as well as providing data security.
- Networking software may come as independent software or integrated in an
operating system. An example of networking software is novel netware.

8
ii) Application software
Application software, also known as application packages are programs that are
designed to help the user accomplish specific tasks.
- Examples of Application software include: Word Processors,
Spreadsheets, Desktop Publishing (DTP), Databases, Computer Aided
Design (CAD), Graphics software, Presentation software, etc.

- The table below gives a summary of application packages.


Application software Examples Uses
Word Processors - Microsoft word, - Word Used for typing
perfect, - WordPro, etc. documents like letters.
Spreadsheets - Microsoft Excel, - Lotus Used in performing
123, mathematical
- Quattro Pro, - Visi Calc, calculations.
etc.

Desktop Publishing - Microsoft Publisher, Used for designing


(DTP) - Adobe PageMaker, publication like News
- Adobe InDesign, papers, Calendars etc.
- Print Shop Ensemble,
- FrameMaker, -
QuarkXpress,
- Interleaf, etc.
Databases - Microsoft Access, - Used for keeping
FoxBase records.
- Paradox, - MySQL, -
Oracle,
- Sybase, - Informix, -
Ingress,
- FoxPro, - Dbase, etc.
Computer Aided Design - AutoCAD, Used in technical
(CAD) - SolidWorks, etc. drawing

9
Graphics software - Corel Draw, - Photoshop, Used in designing and
etc. manipulating graphics
Presentation software - Microsoft PowerPoint, Used to develop
- Freelance Graphics, etc. presentations on slides
or overhead
transparencies.

Factors to consider in acquiring a package


i. Cost of the package in relation to the expected benefit
ii. Compatibility of the packages with the existing computer
resources –hardware and software
iii. Whether there is maintenance support from the suppliers
iv. Whether there is accompanying documentation which help in
installing, using and maintaining the package
v. Portability of the package i.e., if it can be used on different
computer families
vi. Should be easy to learn –duration and cost of training is
considered
vii. How successful it is in the market

Classification According to Acquisition


- Software according to acquisition can be categorized into:
i) In-house developed software
ii) Vendor off-the-shelf software (Standard software)

i) In-house developed software


- These are programs that are uniquely designed and tailored to meet a
particular user's needs.
- For example, a bank may decide to manage its banking operations using a
unique program developed by hired programmers to just meet the needs of
that bank only and not other banks.
- These programs are not available in shops and once developed for a
particular company/ organization/ user may not necessarily meet the needs of
other users.

1
ii) Vendor off-the-shelf software/ Standard Software
- They are developed by software engineers, packaged and then made available
for purchase through a vendor, a distributor or directly from the developer.
- A developer may bundle more than one but closely related software into one
package to form a suite or integrated software as opposed to single-
purpose software.
- An integrated software combines several general-purpose applications into
a single package.
- Examples of suites are:
- Lotus Suite
- Microsoft-Office
- Corel Office
Examples of single purpose are:
- QuickBooks
- Sage Pastel.
The term package is sometimes used to refer to these types of software that
are packaged and sold by vendors.

Advantages of standard software (Vendor off-the-shelf) over the in-


house developed software
1. They can easily be installed and run.
2. They are cheaper than in-house developed software.
3. They are readily available for almost any task.
4. Minor or no errors since they are thoroughly tested.
5. They can easily be modified to meet user's needs.

Disadvantages of Vendor off-the-shelf software


1. They may have some features not needed by the user which may
take extra storage.
2. They may require the user to change processes and hardware for
compatibility which may in turn be expensive.
3. They may lack some features required by the user.

1
Classification according to End-User-License (EUL)
- Software according to End-User-License (EUL) is categorized into:
i) Open source (non-proprietary software)
ii) Proprietary software
iii) Freeware.

i)Open source or non-proprietary software


- is software whose source code is made available to users for free.
- The users may use, modify and distribute the modified software.
- Examples include: Linux Operating system

ii) Proprietary software


- is software whose source code is hidden from users.
- Modifications are only made by the software manufacturer.
- Proprietary software may be licensed to users at a fee or applied freely.
- Examples include: - Microsoft Operating System
- Microsoft Office
- Adobe PageMaker
- Corel Draw Suite
iii) Freeware
-Is a form of Proprietary software which is freely made available to the user.
- Most freeware may be malicious, and therefore take caution when acquiring
one.
Examples include: - Avast Free Edition Antivirus
- AVG Free Edition Antivirus

CRITERIA FOR SELECTING A COMPUTER SYSTEM


Before purchasing a computer hardware or software resources, it is advisable
to do a requirement analysis of all the requirements necessary in order to

1
balance between cost and user needs. Requirements analysis involve,
identifying user needs, hardware and software evaluating.
SOFTWARE CONSIDERATIONS
The following factors should be considered when selecting software:
1) Authenticity
- This is the genuineness, validity and or legitimacy of an item.
- An original copy of software is accompanied by the developer’s license and
certificate of authenticity.
- It is illegal to produce pirated copies of somebody’s software.

2) Documentation
It refers to the manuals/ booklet prepared by the developer having details on
how to install, use and maintain the software.

3) User needs
User needs dictates the type of operating system and application programs
one should have. E.g., We need Microsoft Office in schools for learning, Banks
will require Accounting software for these activities, physically challenged
people may require software to recognize voice input, etc.

4) Reliability and security


- A good software should have security mechanism to protect data from illegal
access. E.g., able to use passwords and log-in accounts.
- Data security is paramount. Consider security features of the software.

5) User friendliness
- This is a measure of how easily the user can operate the computer.
- A good software will have the WIMP feature; i.e.
W – Has a Window (A Frame like Interface)
I – Has Icons representing commands, Files or folders.
M – Has a Menu of commands to choose from
P – Use a Pointing device to select commands
6) Cost

1
The cost must be considered before buying a program against the benefits
that it is likely to bring.

7) Compatibility and system configuration


A software product must be compatible with the existing hardware, operating
system or application programs and should be upgradable.

8) Portability
Software portability is the capability of the software to be installed in more than
one computer.

You might also like