Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
74 views

Classification of Computer Software

Notes for cc computer software

Uploaded by

beshhydra
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views

Classification of Computer Software

Notes for cc computer software

Uploaded by

beshhydra
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Classification of Computer Software

Computer software are classified using three approaches:


a. Classification according to purpose/functionality
b. Classification according to method of acquisition
c. Classification according to end-user license

A. Classification According to Purpose/Functionality

Computer software is classified according to the task they perform/functionality/purpose. i.e.,


software that tells the computer hardware what to do and also the software that enables the user
accomplish their specific tasks. This software includes:
i. System software

System software performs a variety of fundamental operations that avails computer resources to
the user. These functions include:
i. Booting the computer and making sure that all the hardware elements are working properly.
ii. Performing operations such as retrieving, loading, executing and storing application programs.
iii. Storing and retrieving files.
iv. Performing a variety of system utility functions.
System software is further divided into:
a. Operating system.
b. Firmware.
c. Utility software.
d. Networking software.

a. The Operating System


This is a set of complex programs that work together to control execution of user programs called
applications and acts as a go between (interfaces) between the applications of the computer
hardware.
It manages input/output and storage operations in a computer. Examples of common operating
systems are Microsoft Windows 7/8/8.1/10, UNIX, Linux, Macintosh (Mac OS) and OS/2.
Therefore the operating system is the main program on the computer system.
b. Firmware
Firmware, also referred to as stored logic is a combination of both the software and hardware
recorded permanently on electronic chips. Usually, a firmware is a read-only memory chip that is
mounted or plugged into the motherboard. Firmware may hold an operating system, utility
programs, language processors etc.
c. Utility software
Utility software is a special program that performs commonly used services that make certain
aspects of computing to go on more smoothly. Such services include sorting, copying, file
handling, disk management etc. The two basic types of utility software are:
i. System-level utility software: These help the user to work with the operating system and its
functions. For example, a utility software tells the user when he/she enters a wrong command
and gives suggestions how the error can be corrected.
ii. Application utility software: These make the use of an application program smoother and
efficient. These utility programs are commonly purchased separately or may be part of an
operating system.

d. Networking software
This type of software is mostly used to establish communication between two or more computers
by linking them using a communication channel like cables to create a computer network.
Networking software enables the exchange of data in a network as well as providing data security.
Network software may come as independent software or integrated in an operating system. An
example of networking software is Cisco’s iOS, Microsoft Windows Server
2003/2008/2012/2016, UNIX, Linux, Mac OS X and Novell NetWare.
ii. Application Software
Application software, also called application packages, are programs that are designed to help
the user accomplish specific tasks.
Examples and uses of common application packages are listed in Table 3 below:
Software Uses Examples
1. Word Processors Typing documents like letters. Ms Word, Lotus, WordPro,
WordStar.
2. Desktop publishing Designing publications like Adobe PageMaker,
newspapers, books. Ms publisher
3. Computer aided design Technical drawing. AutoCAD, ArchiCAD, MAYA
3D etc
4. Databases Keeping records and files. Ms Access, dBase.
5. Graphics software Creating and manipulating pictures. Corel Draw, Adobe
Photoshop/Illustrator/ Sketchup
etc
Table 1 common application package

iii. Programming Languages/Computer Programming Tools


Computer programming tools, such as compilers and linker, are used to translate and combine
computer program source code and libraries into executable RAMs (programs that will belong to
one of the three said).
Criteria for Selection of Computer Software
Although one may have a good computer with the best hardware, the actual real determinant of a
computer’s value to the user is the software in that it can run to solve the data and information
processing needs.
The following factors/criteria should be considered when selecting software:
a) Authenticity
The term authenticity refers to genuineness, validity and or legitimacy of an item. When you
acquire software from the vendor, make sure it is an original copy that is accompanied by the
developer s license and certificate of authenticity. This is because some people illegally produce
pirated copies which is an offence.
b) Documentation
It refers to the manuals prepared by the developer having details on how to install, use and maintain
the software. These include installation guides, maintenance guides and user guides. These
documentations enable the user to work with the software with minimum guidance.
c) User needs
The needs of the user determine the type of operating system and application programs that should
be considered for acquisition. For example, if the user needs to type documents most often, he/she
would go for a word-processor.
People with special disability will require software that recognizes other forms of input like voice
and natural sound. A good example is software used in mobile phones to store voice and allow the
user to make a call by just calling a name instead of keying in the number.
d) Reliability and security
People are more comfortable with software that offers good security to confidential and private
information. Reliability refers to the guarantee that a software will perform with the same
consistency over the period which the owner will be using it with minimal or completely no errors.
e) User friendliness
This is a measure of how easily the users can be able to operate the computer. Some programs are
more user- friendlier than others.

f) Cost
The cost of software is perhaps one of the most controversial issues that must be considered
carefully. One cannot just go for software because it is cheap. Many other factors may force a
person to buy far much more expensive software even with cheaper alternatives available.
However, it is illogical to buy expensive software if there is a reliable cheaper alternative that will
meet one’s needs.
g) Compatibility and System Configuration
Software compatibility refers to the ability of the computer to run the software depending on the
system setup. For example, some software may only run on a computer that has 4GB of RAM and
above so that they will be held temporarily as they are being executed.
h) Portability
Portability in this aspect refers to whether a program can be copied or installed in more than one
computer.

Software Acquisition Methods


They include:
a. Off-the-Shelf/Standard Software
b. In-House Developed Programs
c. Open Source/ Freeware
a. Off-the-Shelf/Standard Software
These programs are developed by software engineers, packaged and then made available for
purchase through a vendor, a distributor or directly from the developer. Examples of suites are
Lotus Suite, Microsoft-Office, Adobe Suite, Corel WordPerfect etc. while those of single purpose
are QuickBooks and Sage Line 50.
The word package is sometimes used to refer to these types of software that are packaged and sold
by vendors.
The Advantages of Off the Shelf Software
i. The initial cost of acquisition is cheaper compared to in-house developed software.
ii. They are readily available in the market.
iii. They are more reliable since they have tested and reviewed intensively.
iv. They offer a wide variety of functionality.
v. They receive automatic and regular updates.
vi. They offer after-sales service support.
vii. They are time and cost-saving in comparison to in-house developed software.
.

The Disadvantages of Off the Shelf Software


i. Can be more expensive in the long-run due to licensing and subscription fees.
ii. They cannot easily be customised to the owner’s needs.
iii. They have limited functionality and cannot easily be modified.
iv. Some have an end-of-life support.
v. May attract extra costs for the upgrades.
vi. May offer unnecessary features and functionalities.
vii. May have integration issues.

b. In-House Developed Programs


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. These programs are not available in the shops and once developed for one
company or user may not address the needs of other users.
Advantages of In-House Developed Programs
i. They are easily customisable to the customer’s needs.
ii. They offer services and functionalities that precisely fit the owner’s needs.
Disadvantages of In-House Developed Programs
i. They are costly to develop and implement.
ii. They are prone to bugs and errors.
iii. They require special training for their proper use.
iv. They may not be compatible with other off-the-shelf software.
iii. Open Source/Freeware
A software for which the original source code is made freely available and may be redistributed
and modified according to the requirement of the user. It is free to download.
Read more on open-source software by following this link:
https://en.wikipedia.org/wiki/Software_categories
Advantages of Open Source/Freeware
i. Cheaper than commercially marketed products.
ii. Created by skillful and talented people.
iii. Highly reliable.
iv. Help you become more flexible.
Disadvantage of Open Source/Freeware
i. Vulnerable to malicious users.
ii. Might not be as user-friendly as commercial versions.
iii. Don’t come with extensive support.
Operating Systems
An OS is the system software that provides a platform for other programs to run on in a computer.
It’s the program that controls/interacts with the hardware of the computer and controls other
application software.
Factors to Consider When Choosing An Operating System
When choosing an operating system for a computer, the following factors should be considered:
1. Hardware configuration or provision of the computer e.g., memory size, hard disk capacity,
type of processor, processor’s speed, display requirements etc.
2. Basic design of the computer e.g., is it an IBM or IBM-Compatible, or an Apple computer.
3. Applications intended for the computer – consider the architecture of the OS i.e., 32-bit or 64-
bit.
4. User friendliness or human computer interface i.e., is it command line based, menu driven, or
graphical user interface based?
5. Availability in the market e.g., Microsoft Windows based operating systems are very common.
6. Cost - how affordable is the operating system?
7. Reliability i.e., can it run without crashing or hanging i.e., stop responding to commands.
8. User support- what are the terms of after-acquisition support for the OS?

Types of Operating Systems


They include:
i. Single and multi-user
ii. Single and multitasking
iii. Traditional OS or Batch mode OS
iv. Multiprocessor OS or Time-Shared Operating System
v. Real time
vi. Distributed

i. Single and Multi-User


a. Single User Operating System
A single user operating system is designed for use by only one person. It cannot support access to
more than one person at a time. e.g., Windows 10 or Ubuntu 20.04 installed on a personal
computer.
b. Multiuser Operating System
Multiuser or multi access operating system allows more than one user to interactively use the
computer. It can be installed on a computer that is accessed by many people at the same time.
Examples of such operating systems are UNIX Solaris, Windows Server 2016, Linux Ubuntu
Server 20.04.
NB: When categorising OSs as single user or multi-user, the key parameter used is the number of
users who can concurrently access the services of the OS and not how processes or programs it
can run concurrently.
ii. Single and Multitasking Oss
a. Single Program/Single Tasking OS
Single program operating system allows processing of only one user program in the main memory
at a time. This means that the user can only run one interactive program at a time. Then the user
must exit from the program before loading and running another program. An example of a single
user operating system is MS DOS from Microsoft Corporation.
b. Multi-Tasking OS
This type of operating system allows a single CPU to execute what appears to be more than one
program at the same time. However, internally only one program is being executed at a time. The
CPU switches its attention between programs as it receives requests for processing, executing
statements from one program, and then from another using the concept of giving a time slice to
each application. This switching of attention is so fast that it appears as if the programs are being
executed simultaneously.
iii. Traditional OS or Batch Mode OS
Historically they were the first OS. Refers to a single processor i.e., OS that control a single
processor (Uniprocessor) system which are centralized. Usually allow one job to run at a time e.g.,
the OS for the 2nd generation.
In such systems the program, data & commands to manipulate the program & data are all submitted
together to the computer in form of a job. A job must be completed for the next job to be loaded
& reprocessed. The improvement of such OS is the implementation of batch systems to reduce on
time wasted when the CPU is idle.
In the batch OS, several jobs are collected & processed until processing is aerial or sequential (One
job batch after the other.). Consequently, they support one user at a time. There is little or no
interaction between the user and the executing program (OS is less user friendly to the user)
They do not support highly interactive computing with graphics, or point & draw devices e.g., a
mouse.
iv. Multiprocessor O/S or Time-Shared OS
Refers to OS that controls several processes that have a common access to the main memory
storage.
This type of operating system allows several processes to share the processor creating an illusion
that the processes are running simultaneously by shifting execution rapidly among all the active
processes.
This iteration of various processor with their inter-control is necessary & it is done in the multi-
processor OS.
v. Real Time OS
This type of operating system is designed to support execution of tasks within specific wall clock
time constraints. The operating system must guarantee that the task can be executed within a
specified time constraint. This type of operating system is usually limited to dedicated applications
such as industrial control systems, weapon systems and computer-controlled products.
Distributed OS
Refers to a common OS shared by a network of computers. It provides support for inter- process
migration, multi-execution & prevention of deleting deadlock. It appears to user as a uniprocessor
system, even though composed of microprocessors. The users should not be aware of where their
programs are being run or where their files are located. This should all be handled automatically
& efficiently by the OS e.g., when a user starts a program, it may run on a local machine, but if
the computer is heavily loaded & OS knows that another computer is idle, then the job may be
transferred to that machine.
Functions of Operating Systems
The OS performs various functions which include:
a. Storage Management/Memory management.

All data and instructions must be temporarily held in the main memory before and after processing.
The operating system may organize the main memory into blocks of sizes called partitions. It
constantly assigns main memory storage partitions to data and instructions. To access a piece of
data or instruction, the operating system knows where to find each piece of data if the correct
address of the partition is used.
The OS ensures that each program and the data it requires are allocated adequate space in memory.
b. Process Control/ Job scheduling
The processor can only handle one task at a time. Therefore, the operating system has to determine
which task will be processed first and makes sure that the one that is currently being processed is
closely monitored to avoid wasting time in the processor. The criteria for selecting which task will
come before the other depends on many factors. For example, the operating system may decide to
process smaller tasks before larger ones.
c. Security Management
It helps in implementing mechanisms that secure and protect the computer system internally as
well as externally. Therefore an operating system is responsible for securing the system at two
different levels which are internal security and external security.
i. Internal security
Internal security refers to the protection of activities of one process from the activities of another
process. The term internal security may also be regarded as system protection. The internal security
of the computer system also ensures the reliability of the computer system. There may be several
process running in the computer systems use the concept of least privilege to implement internal
security.
ii. External security
External security refers to the implementation of a mechanism for securing the data and programs
stored in the computer system as well as the various resources of the computer system against
unauthorized access. The term external security may also be regarded as system security. External
security is particularly required when a computer system is either on a network or connected to the
internet.

d. Device Management/ Input/output Handling


Every computer has many input and output devices (I/O). Like a skilled traffic officer, the
operating system coordinates between these various I/O and other peripheral devices such as
auxiliary storage devices, making sure that data flows properly between them and sorting out any
possible confusion. For example, when printing, the CPU directs its attention to the printing
function. The operating system searches for the printer, chooses the correct one, translates the
name for the CPU and finally the CPU sends the document to the printer. This then makes the CPU
available for other activities.

e. Resource Control and Allocation


The OS gives each resource a unique identification number called an interrupt number in order for
the processor to be able to recognize and prioritise the use and requests for resources. Hence when
two tasks request to use a resource at the same time, the one with higher priority interrupt is granted
control. This can be compared to the priority given to the presidential motorcade on a busy road.
Secondly, tries as much as possible to avoid a situation where a particular task holds a needed
resource and refuses to release it for use by other tasks. When several tasks do this, an undesirable
situation called deadlock occurs.
A deadlock is as situation which leads to one process holding onto the use of CPU without release
and thus denying any other process access to the same resource leading to the computer device
‘hanging’.
Therefore, resource control and allocation are core operating system functions because they
determine which tasks uses a particular resource and at what time.
f. Error Handling
The operating system has many ways of alerting the user, of errors he or she makes. Many
operating systems usually express what the error is, and where possible make suggestions on how
to correct the error. The operating system does this by monitoring the status of the computer system
and performing error checks on both hardware and the software.
g. Job Sequencing/ job scheduling
The operating system keeps a list of jobs or tasks currently being run and clocks them in and out
of the processor. It also arranges them in a particular order to make it easy for the processor to
execute them and to know how and when to fetch instructions and data for each task.
h. Interrupt Handling
An interrupt is a break from the normal sequential processing of instructions in a program. An
external request causes the processor to stop executing the current task and do something else
before returning the control back to the program that was interrupted.
Each hardware device communicates to the processor using a special number called the interrupt
request number (IRQ number).
Types of Operating System Interfaces
The underlying principle in operating system design is to make complex tasks very simple for the
user to carry out. Follow the link below to learn more on types of operating system interfaces:
https://www.youtube.com/watch?v=2HfvAbLq9rE
Currently the three main types of human computer interface are:
a) Command Line Interface (CLI)

The user interacts with a computer by typing a command at the prompt found on a command line.
A computer reads instructions from the command line and executes them. For a command to be
more user friendly, the words used should be descriptive verbs e.g., print, copy etc. Unique
abbreviations can also be used e.g., Del, Ren, Chkdsk etc. For example, if you are using MS DOS
operating system, you can copy a file called Kimathi.Dat from a hard disk C to partition D as
follows: COPY C:\Kimathi.Dat D:\
Examples of command line interface are the early versions of MS DOS, PC DOS, Linux Bash,
OS/2, and UNIX.
NB: The user must press the enter key for the command to be executed.
Follow the link to learn more about DOS Commands:
https://youtu.be/syrb1Fk3m2A
The figure below shows the MS DOS command line interface.

Figure 1: MS DOS COMMAND LINE


b) Menu Driven Interface

This type of interface provides the user with a list of options to choose from. The interface therefore
is suitable for beginners who may have difficulties recalling commands. The figure below shows
the Menu driven interface.
Figure 2:Menu Driven Interface
c) The Graphical User Interface (GUI)

This type of interface represents commands as small pictures on the screen called icons. Icons can
be selected to issue a command using a pointing device like a mouse. It is user friendliness.
Examples of GUI based operating systems are OS/2 s Presentation Manager, Microsoft Windows,
Linux and Apple Macintosh. A typical Windows QUI interface is shown in Figure 5 below:
Figure 3:Windows Graphical User Interface
Follow the link below to learn more on Graphical User Interface
https://www.youtube.com/watch?v=N52jNC8Mt_s&t=2s

You might also like