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

COMPUTER SOFTWARE

Definition: Software refers to a group/set of instructions that enables the hardware to function:-

Types of Software
 systems software
 applications software

Application Software

Software that directs the computer to perform a specific task.

Types of Application Software’s: general purpose and application specific

1) General purpose/ready made/ off-the shelf: - computer software that allows the user to accomplish
simple computer related tasks. For example: word processing software, spreadsheet software, etc.

Benefits of off-the-shelf packages


 Relatively cheap
 Easily available from most computer shops
 Thoroughly tested
 A lot of user support i.e. online help and manuals are available

Limitations of Off-the-shelf packages


 Not designed to meet the unique needs of the user
 May not be compatible with other organization applications
 Require upgrade and support costs
 They are not flexible
 Not secure

Examples of application software include:

Database packages (e.g. MS Access, Lotus Approach, Paradox) are used to store and retrieve
information;

Spreadsheet packages (e.g. MS Excel, Lotus 123) are used for tasks that involve a lot of calculations
or for the production of graphs and charts;

Word processing packages (e.g. MS Word, WordPerfect) are used to produce text based
documents such as letters, reports and memos;

Desktop publishing (DTP) packages (e.g. MS Publisher, PageMaker, PagePlus) are used to produce
professional quality publications such as posters, books, newsletters, newspapers and magazines;

Graphics packages (e.g. Paint, PaintBrush, Serif Draw, Corel Draw) are used to produce and manipulate
artwork;

Computer-aided design (CAD) packages (e.g. 2D-Design, AutoCAD, TurboCAD) are used to produce
engineering designs and architectural plans;

1
Communications software (e.g. Microsoft edge, Chrome) is used to access the Internet and send and
receive e-mail;

Presentation graphics packages (e.g. PowerPoint, Lotus Freelance) are used to create slide
shows and presentations like this one which can be viewed on-screen or with an overhead
projector;

Web page editors (e.g. MS FrontPage, Macromedia Dreamweaver) are used to create Web
pages.

Others: Accounting packages, Statistical packages

USER DEVELOPED SOFTWARE/ TAILOR MADE/CUSTOM MADE/BESPOKE SOFTWARE


This is software that is designed to meet the unique needs of the user. It is developed with the user in
mind for the user in particular and to solve the users’ unique needs and is suitable under the
following circumstances.
 When there is enough time to allow development of own programs hence there is no urgency
in the use of the program.
 When the users problem is unique and cannot be solved using readily available
standardized applications packages/off the shelf.
 When there is availability of programmers in the organization to develop the in-house software.
 When it is cheaper to develop in house software compared to acquiring readymade application
packages. User organizations – bank, school, insurance company, super market, airline
company, pharmacy, hospital, hotel etc.

Examples: Tax management system, payroll processing system, stock management, school
management information system (LMS) etc.

Benefits of Tailor made software


 Are designed to meet the unique needs of the user
 Compatible with other organization applications
 They are flexible/ Can be modified
 Can be sold or leased to other organizations with similar needs
 They are more secure than off the shelf software

Limitations of Tailor made software


 They are expensive to develop and maintain
 They take long to develop, test and implement
 They may not be well tested
 May not offer user support through online help or manuals
 Etc.

System Software
These are the programs that monitor and control the operations of a computer. E.g. Operating System,
Support systems like translators and Utility software.

Operating system/software (OS)

2
This is a suite/collection of related computer programs that help manage the computer resources. It is
an interface between the computer hardware and application programs.

Hardware OS CAS

Examples of OS: Windows, Android, MS DOS, UNIX, Linux, Ubuntu

Functions of operating system


1. Communication
It allows computer users to interact or communicate with computer hardware. This is achieved
through use of user oriented interfaces such as graphical user interface (GUI) and command drive
interface (CDI).

Read about types of user interface – GUI, Command line, Form fill-in, Natural Language, Menu etc

2. Provision of a log of events


Most server operating systems have an events log file which records activities of users at the terminals
connected to the server.

3.File security
Operating system enables users and system administrators to define passwords and data access
permissions in order to prevent unauthorized access and manipulation of data

4. Error detection and reporting


The operating system detects and reports system operation errors and in some cases it will suggest
how errors can be corrected.

5. Loading programs into memory


It loads application programs from the hard disk drive into computer memory to be used for
creation and manipulation of documents

6. File Management
Allows users to save, copy, delete, rename, search for file, create folders etc

7. Device management
Manages and controls input (mouse, keyboard, touch screen etc.)/output (printer, monitor,
speaker, storage devices (hard disk, flash disk, DVD) devices

8. Etc. etc.

Types of operating systems


1) Multitasking operating systems: - allows more than one program to run at a time e.g. window based
operating system.
2) Single-user, single task operating system:-an operating system designed to manage the computer so
that one user can effectively do one thing at a time. Examples:-The Palm OS for Palm handheld
computers, MS-DOS.
3) Network Operating System: - software that runs on a server and enables the server to manage data,
users, groups, security, applications, and other networking functions.

3
A network server is a computer designed to process requests and deliver data to other (client)
computers over a local network or the Internet. Common types of network servers include:-
i) Web servers: either the hardware (the computer) or the software (the computer application)
that helps to deliver Web content that can be accessed through the Internet
ii) Proxy servers: a proxy server is a server that acts as an intermediary between a workstation
user and the Internet so that the enterprise can ensure security, administrative control
iii) FTP servers: used to transfer files from a computer to the server.
iv) Print server: print server, or printer server, is a device that connects printers to client computers
over a network. It accepts print jobs from the computers and sends the jobs to the appropriate
printers.
v) Online game servers:-for storing online games that can be accessed by internet users.

Examples of network operating system Microsoft Windows Server 2003, Microsoft Windows Server
2008, UNIX, Linux, Mac OS X and Novell NetWare.
4) Embedded operating System: - The operating systems designed for being used in embedded systems
such as .PDAs, digital watches and MP3 players, or traffic lights and factory controllers. They are
designed to operate on small machines like PDAs with less autonomy. Windows CE, FreeBSD and Minix
3. Are some examples of embedded operating systems.
5) Mobile Operating System: A mobile OS controls a mobile device and its design supports wireless
communication and mobile applications. It has built-in support for mobile multimedia formats. Tablet
PCs and smart phones run on mobile operating systems. E.g. Android

Key software terms


1) Open source software: - software that is distributed with its source code so that end user
organizations and vendors can modify it for their own purposes. Examples of opensource software
include Linux operating system, Apache Web server and JBoss application server.

2) Proprietary software or closed source software:-computer software licensed under exclusive legal
right of the copyright holder with the intent that the licensee is given the right to use the software only
under certain conditions, and restricted from other uses, such as modification, sharing, studying or
redistribution.
3) Alpha software: - a first release of a software product that is usually tested only by the
developers.

3) Beta software:-a commercial software program that is tested for crashes, errors, inconsistencies,
and any other problems before the final software is released to the public. Testing is done by the
general public and the system developers.

5) Integrated software: - a package of programs that perform multiple functions e.g. MS Office, Visual
Studio

Utility programs
Utility software is system software designed to help analyze, configure, optimize or maintain a
computer.

Categories of Utility software


1) Anti-virus:- scan computer viruses. A computer virus is a computer program that can
replicate itself and spread from one computer to another.

4
Symptoms of an infected computer system
i) Unusual Error Messages
ii) Missing files
iii) Frequenting re-booting of the system
iv) System Crashing
v) Slow Performance
vi) Disks or Disk Drives Are Not Accessible
vii) The operating system will not load when you start your computer.

2) Backup software: - can make copies of all information stored on a disk and restore either the entire
disk (e.g. in an event of disk failure) or selected files (e.g. in an event of accidental deletion).
3) Data compression:-reduces the size of a file
4) Disk checkers: - scans the hard drive for errors.
5) Disk cleaners: - can find files that are unnecessary to computer operation, or take up considerable
amounts of space. Disk cleaner helps the user to decide what to delete when their hard disk is full.
6) Disk compression:-utilities can transparently compress/uncompress the contents of a disk, increasing
the capacity of the disk.
7) Disk defragmenters: - detects computer files whose contents are broken across several locations on
the hard disk, and move the fragments to one location to increase efficiency.
8) Disk partitions: - divides an individual drive into multiple logical drives.
9) File managers:-provide a convenient method of performing routine data management tasks, such as
deleting, renaming, moving, copying, merging, generating and modifying data sets.
10) Memory testers: - check for memory failures.
11) Network utilities: - used to analyze the computer's network connectivity, configure network
settings, check data transfer or log events.
12) System monitors: - for monitoring resources and performance in a computer system.
13) System profilers: - provide detailed information about the software installed and hardware attached
to the computer.
14) Device drivers
A device driver is a program that controls a particular type of device that is attached to your computer.
There are device drivers for printers, displays, CD-ROM readers, diskette drives, NIC card, Modem card
etc. A device driver essentially converts the more general input/output instructions of the operating
system to messages that the device type can understand.

Translators – is a software that converts source code to object code e.g. assembler, compiler and an
interpreter.
Assembler – converts assembly language program to machine language
Compiler and Interpreters convert high level language programs to machine language

PROGRAMMING LANGUAGES – language used by a programmer to create software


A programming language is a notation for writing programs, which are specifications of a
computation. They support the development of computer programs using different syntax. The
source code of a programming language refers to the symbolic instructions that are keyed by
computer programmers.

Important terms: Source Code & Object Code (Binary/Machine)

5
Types of Programming Languages

There are two main types of programming languages:


1. Low level languages which consist of assembly language and machine language
2. High level languages – 3rd, 4th & 5th

Machine language
 Commonly referred to as first generation language, the source code is written using binary
based syntax.
 The binary digits (1 & 0) are understood by the computer systems hence machine
language programs are not translated
 Machine languages support the development of programs which require a longer coding time
and a shorter execution time
 Their programs are difficult to trace and debug because there are no translators to suggest
the location of the errors.
 Machine language programs are machine dependent i.e. they depend on the micro processor
structures of the computers that are used to code them

Assembly language/ Second generation language/ Symbolic language


 Their syntax or source code uses symbolic instructions or mnemonics e.g. LDA for load,
ADD for addition, LXISP for initialization of the program
 Mnemonics ensure that low level languages require a shorter coding time
 assembly programs are translated by assemblers hence require a longer execution time
 They support development of programs which are machine dependent

High level languages (3rd, 4th & 5th generation languages)


 Their syntax resemble ordinary English statements hence high level language programs
require shorter coding time than low level and machine languages
 The execution time is longer than that of low level languages because of the translation process
 Compilers and interpreters are used to translate their source code into the object code
 The compiler translates the entire source code into object code before it is executed.
The interpreter on the other hand translates the source code to object code in a
statement by statement manner line by line for execution to take place.
 High level language programs are machine independent
 They are easier to trace errors and debug compared to machine level languages.
Specific examples of HLL – COBOL, FORTRAN, C, BASIC, Visual Basic, C+
+, C#, Ruby, Python, Java etc.

Factors to consider when selecting computer software


Documentation
Consider whether the software is supplied with online or offline documentation for user and technical
support

Reliability
Consider whether the software will be able to satisfy the objective over the defined period of use

Upgrading
The software selected should easily be updated without corrupting or removing the existing files.

6
Upgrading refers to the installation of a later version of the software.

Cost
The software should be cost effective i.e. benefits derived from its use should justify its cost of
acquisition

Compatibility
The software selected should easily interface with computer hardware and other software. Software
to hardware compatibility means that the software should support the installation of hardware drivers
in order to optimize the performance of hardware.

Etc.

You might also like