Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

COMPUTER SOFTWARE.

All computers work under special instructions called software. Software is a set of
instructions that help in running and managing computer resources enabling the
computer to operate effectively. The computer software makes the computer to
work i.e. it helps in running the computer hardware. It instructs the computer on
what to do and hoe to do it. There are two categories of computer software.

1. System software.
2. Application software.

SYSTEMS SOFTWARE
This is a set of instructions or programs developed and installed in the computer
system designed to manage and control the computer resources hence enhancing
the functional capabilities of the computer system. It is used within the computer for
organising internal functions of the system. System software are developed by the
manufacturers of computer hardware
Systems software can be divided into three:-
 Operating system
 Utility programs
 Translation programs
a) OPERATING SYSTEM
This is an integrated collection of programmes that manage the operations of the
C.P.U, other peripheral and hardware. Operating system therefore manages the
computer resources to enhance the optimum utilisation and efficiency of the
computer.

FUNCTIONS OF OPERATING SYSTEM

Job scheduling- This is the process of lining up jobs particularly where such jobs
have to pass through several devices, for example several jobs awaiting printing.
The operating system performs job scheduling thus ensuring that the CPU time is
not dedicated to one job only; the CPU idle time is therefore reduced to a great
extent. The jobs may be lined up in order of priority, order of complexity etc.

Peripheral devices/ input- output control- It monitors the flow of data between the
input/output devices and the CPU. Peripheral devices are the physical elements of
the computer system which are connected to the system to enhance its usage. By
regulating the speed imbalance between the peripheral devices and the CPU, the
operating system facilitates optimum utilization of the CPU time.

Memory management- The operating system allocates memory location to data,


ensuring that programs are transferred into the available memory location from the
external store. It defines the available, occupied and the damaged memory which
can no longer hold data.
File management- The operating system normally arranges the stored data and
allows the users to perform file related activities such as creation and deletion of
files, file interrogation, file dumping among others. It also allows for the protection
of files from accidental or deliberate corruption (file security)
Error reporting- In the event that errors occur during program execution, the
operating system will send diagnostic messages to the user so that the program
execution can stop for the user’s corrective responses. Thus it does not take long
before the user realizes that errors have occurred. Indeed, a good operating system
should offer automatic recovery from error situations.

Logging and accounting. The system accounts for who logged in i.e., who gained
access to the computer at a given time. It keeps the records of the jobs created,
indicating which jobs were created when and by who.

Enhancing systems security- The operating system allows the users to use
passwords through which they can be recognized as legitimate users. This ensures
that data stored in the computer at a given time is not subjected to any sort of
deliberate or accidental corruption.

Interface between the users and the computer system- It enables the users to access
the computer system to issue the instructions for the processing tasks to be
performed. The form of ‘conversion is therefore established between the operating
system and the operator, usually through console in multi-user system. Console is
when the keyboard is used together with the visual display unit.

CATEGORIES OF OPERATING SYSTEMS


i) Single user operating system – This operating system allows one
program to be executed at a time. It can only be used by one user.
ii) Single user multitasking operating system - This is a program which
allows one user to perform several tasks at the same time.
iii) Multi-user multitasking operating system – This is sometimes referred to
concurrent operating system. It allows the computer to carry out several
tasks at the same time while being used by different users.
iv) Time sharing operating system – This allows multiple users to access a
single computer by supervising the clockwise rotation from one user to
the other. The attention of the C.P.U is switched among users on a timed
basis controlled by the operating systems.

UTILITY PROGRAMS/ SERVICE PROGRAMS


These are programs used to carry out routine tasks such as merging, sorting,
dumping among others. They are normally supplied by the manufacturers to make
the computer work efficiently. Utility programs are said to be more efficient than the
operating system. If the programs which are performed by every computer were to
be written separately for each installation, there could be a lot of programmers’ time
wasted, hence the manufacturers have to provide a wide range of programs for
performing routine tasks which will eventually meet the users’ requirements.. The
most commonly used utility programs include:
 Editors- This is a utility program used to create and manipulate text
information using the computer. The users can therefore make any alterations
to the text documents to meet their needs or even make changes to programs.
This editing is carried out by using the edit keys found on the keyboard or by
using a series of commands. Character, line and page editors can be used for
this purpose.
 Debuggers- A bug is a program error. Debuggers are therefore used to remove
errors from programs during program development. Debugging adjusts the
program to remove variances between actual and expected output. However, it
does not point out logical or arithmetic errors.
 Sort utility- Sorting is the process of arranging records in a file so that they can
be read in a particular predetermined sequence for example on ascending or
descending order. Sort ulility facilitates the sorting process
 Merge utility- This combines two or more related files into a single file.
 Dump utility- This facilitates copying the contents of the main memory onto
external storage devices such as magnetic disks for security purposes.
Computers and related facilities are prone to security threats such as theft and
fire outbreaks and in the event of such threats which may lead to loss of data
from the main memory, the lost data can be recovered from the external storage
facilities.
 Anti-virus utility-This scans the computer’s hard disk and the external storage
devices to detect virus. A virus is a malicious program that has the capability of
deleting other programs and files present in a computer system
 Data compression utility- This removes redundant elements from or
unnecessary data from the computer memory.
 Print utility – for managing the printing process by arranging the printing tasks
in a given order.

TRANSLATION PROGRAMS
These are programs that convert the source code instructions (instructions written in
2nd, 3rd, 4th and 5th generation languages) into machine code i.e. O’S and I’S.
There are 3 types of translation programs:
i) Assemblers: These are translators which transform programs written in
2nd generation into machine codes.
ii) Compilers: These are translators which transform programs written in
high level languages into machine codes several statements at a time.
iii) Interpreters: These are translators which transform programs written in
high level language into machine code one statement at a time.

APPLICATION SOFTWARE
Application software is a set of instructions used to accomplish specific tasks other
than just running the computer system; they are designed to help the users solve
specific problems. Application software can be bought off- shelf or can be developed
in-house depending on the needs of organisation. An advantage of acquiring a suite
of programs rather than individual programs is that it will be cheaper. A suite is a
set of applications put together. Application software are normally designed to
solve particular problems and they can be categorised into two;-
i) Off shelf packages
ii) Tailor-made/in-house/bespoke packages.

OFF- SHELF PACKAGES


These are standardised ready made programs that can be bought directly from the
manufacturers. They are designed to solve a particular problem but are not meant
for a particular user.

They are suitable under the following circumstances:


i) When problem to be solved is of general nature.
ii) When the programmers are not available in the organisation.
iii) When cheaper to buy them than develop them in-house.
iv) When the problem at hand is urgent.
Examples:
i) Accounting Packages
These are application programs designed to help accountants solve their day to day
problems such as preparation of financial statements and bank reconciliation
Examples include QuickBooks, Sage and Pastel.
ii) Spreadsheets.
They allow users to create tables and prepare schedules by allowing data to be
displayed in rows and in columns on the visual display unit. A spreadsheet is
simply a grid of rows and columns used by accountants and others to produce
financial reports and projections.
An electronic spreadsheet allows users to create tables by entering data in the
section of a row and a column referred as a cell. Typically an electronic spreadsheet
offers the following facilities:

1. Graphics
It allows users to display numerical data in a variety of forms such as bar graphs
and file charts.
2. Consolidation.
This feature allows the users to merge several worksheets and give a summery sheet
while keeping the original sheet intact.
3. Functions.
Spreadsheets offer various functions include summation average, subtraction and
any other function used in mathematical and statistical analysis.
4. Formatting
This allows the users to improve on the appearance of the spreadsheet e.g. changing
colour, style e.t.c
5. Windows- A spreadsheet provides the users with several working areas
thus allowing for multitasking.

iii) Text manipulation packages.


a) Word processing packages.
These are application packages designed to allow users create, manipulate, format,
merge, edit and save text documents. They are commonly used for preparation of
business documents such as letters, reports, notices, memos, circulars e.t.c.
Examples include: Microsoft word, WordPerfect and word star.

b)
Desktop publishing (graphic packages)
These are application packages that allow users to carry out some amount of text
manipulation and also carry out design work. They are enhanced word processors.
Organizations commonly use desk-top publishing for designing reports, adverts,
press releases, business cards, publications and business logos.
Sources of software
Application
Software

Proprietary Off-the-shelf
/tailormade

In - house Contract Customized Standard


developed package Package

In – house Contract
customized customization

ADVANTAGES OF APPLICATION PACKAGES


i) They are portable i.e. most of them can be run on a variety of computers and
different hardware.
ii) They are developed by experts and therefore tested and likely to be free from
errors.
iii) They are cheap since they are produced in large quantities and the cost of
developing can be distributed to customers.
iv) They are readily available and therefore it takes a short time to implement
them.
v) They are user friendly(easy to learn and use)
vi) They are well documented i.e. they are accompanied by well designed user
manuals.

DISADVANTAGES OF OFF-SHELF SOFTWARE


i) Since they are not tailor-made, they may not solve the unique problems of
the users.
ii) The user does not have ownership rights and therefore cannot modify or sell
the packages.
iii) They require regular training especially every time a new version comes into
the market.
iv) Since they need regular maintenance and are subject to frequent
obsolescence due to rapid technological development, they become out of
date very fast.

TAILOR MADE/INHOUSE/BESPOKE PACKAGES


These are programs designed to meet the unique needs of the users. They are
developed to solve a specific problem and are suitable under the following
circumstances:
i) When problem at hand is not urgent since they take long to implement.
ii) When users problem is unique and cannot be solved using readily available
standardised packages.
iii) When there is availability of programmers to develop the packages
internally.
iv) When it is cheaper to develop them in-house in comparison to acquiring
them from the manufacturer.

ADVANTAGES OF IN-HOUSE PACKAGES


i) They are tailor made and therefore are capable of solving the users’ specific
problems.
ii) They require less training because users are involved in developing them.
iii) The user develops them and therefore he acquires the ownership right which
allows for modification.
iv) Security- only users within the organisation have knowledge of the way the
software operates and therefore outsiders may not have access to how the
packages operate.

DISADVANTAGES OF IN-HOUSE PACKAGES


i) Require a lot of time to implement.
ii) They are not highly portable i.e they are machine specific.
iii) Most of them may not be documented as compared to off- shelf packages.
iv) They are usually costly because the user has to meet all the expenses of
development testing and maintenance.
v) They are likely to have errors due to improper testing.
DIFFERENCES BETWEEN OFFSHELF PACKAGES AND TAILORMADE
PACKAGES
PARAMETER OFF- SHELF TAILOR-MADE
User needs General purpose Specific purpose
Cost Cheaper due to cost Expensive since the user
sharing meets development,
testing and maintenance
costs.
Portability Portable Machine specific
Security Less secure More secure
Training Requires more training Requires less straining
due to user involvement
Documentation Well documented May not be well
documented
Implementation time Take a short time to Takes a long time to
implement implement.

When choosing a software package for a given application the following factors
should be considered:
 User friendliness- The software should not be complex; it should be easy to
learn and use. User friendliness of a package can be enhanced through the
provision for help facilities such as screen formatting facilities
 Cost- There are normally costs associated with acquiring software. Such costs
should not outweigh the benefits that would accrue from its use. The software
should be cost effective
 Compatibility- a software is said to be compatible if it can fit into the existing
technology. It should not be obsolete.
 Flexibility- The software should have allowances for the users’ changing needs;
it should meet not only the current user requirements but also the future
requirements.
 Vendor support- Is there maintenance support from the manufacturer?
 Portability- The software should be capable of running in on different computer
families
 User requirements- Before buying a particular package, its current users should
be interviewed to find out whether the package is likely to be successful or not
depending on their requirements
 Documentation- they should be accompanied by descriptions or narrations
which highlight how to use and maintain them (user guides)
 Reliability- The software should be capable of running with minimal failure
rates
 Security- They should not be easily defrauded

You might also like