Software is a collection of computer programs that provide the instructions that a computer needs to perform specific tasks. Computer software can be classified into the following.
System software
System software is required to control the operations of a
computer system. It helps to manage and run the computer hardware efficiently. It controls all operations like reading data from input
devices, transmitting processed information to output devices, checking system
components and converting data/instructions to a form that a computer can
understand.
The system software can
further be classified into four categories:
Operating system
Utility software
Library programs
Translator Software
Operating System
An operating system is software that communicates with
hardware and allows other programs to run. It is comprised of system software
or the fundamental files your computer needs to boot up and function. Every
desktop, tablet and Smartphone has an operating system.
A computer system has resources such as CPU time, memory
space, file storage space, I/O devices, system memory, cache memory, hard disk
space and so on. These resources enable a computer system to function
efficiently and are responsible for its overall performance. The operating
system acts as a resource manager by allocating these resources to specific
programs and applications as and when required.
Some popular operating systems are Microsoft Windows, OS X,
Linux, Android, Solaris and Debian.
Utility Software
Utility software is programs designed to perform maintenance
work on a computer system to help in its smooth functioning.
Virus scanner: to protect your system from Trojans
and viruses.
Disk defragmenter: to speed up your hard disk.
System monitor: to look at your current system
resources.
File managers: to add, delete, rename and move
files and folders.
Library programs
These programs are collections of resources used to develop
software. They comprise pre-written code and subroutines. Most programming
languages have a standard set of libraries that can be used, offering codes to
handle input/output, graphics and specialist math functions. You can also
create your own custom libraries and when you start to write lots of programs
with similar functionality, you’ll find them very useful. NET library is an
example of a library program.
Translator Software
The final type of system software that you need to know is
translator software. This software allows new programs to be written and run on
computers, by converting source code into machine code. There are three types
of translator software.
Assembler
Assembler is used for converting the code of low-level
language (assembly language) into machine-level language.
Compiler
A compiler converts a program or a source code written in a
high-level language into the machine language before execution. It runs through
the entire high-level language program in one go and reports all the errors it
finds in the source code along with the line numbers.
After all the errors are removed, the compiler gives the
machine-level equivalent code called the object program or the object code. The
saved object program can be executed several times without translating it
again.
Interpreter
An interpreter is a language processor that works by reading
and executing the source code of a high-level language program line by line. If
there is an error in any line, it reports it at the same time and program
execution cannot resume until the error is rectified. The object code produced
by the interpreter cannot be saved. So, every time the program is run, it needs
to be interpreted again to obtain the object code.
QBASIC is an example of high-level language
and you have made use of the QBASIC interpreter to execute programs.
Application software
Application software is designed to help the user to perform
specific tasks.
Application software is designed for any level of persons,
who might have the ability like a scientist to work out statistical information
using a set of results.
There are three categories of application software.
General purpose Application Software
General-purpose application software is developed, keeping in
mind the needs and requirements of general people. Some examples of such
software have been given below.
Word-processing
Software
This software is used for creating documents like letters,
stories and reports. All types of work-processing software provide options
for creating, editing, formatting and printing text and graphics in a document.
Examples of word-processing software are Word, WordPerfect and Writer
(OpenOffice.org)
Spreadsheet Software
This software accepts data values in row-and-column format
and lets you create, manipulate, calculate and analyze data in the desired
manner. Examples of spreadsheet software are Excel, Lotus 1-2-3 and Calc
(OpenOffice.org)
Database Management
System (DBMS)
DBMS is a software program that lets you store large amounts
of data in an organized manner. A DBMS can store details about employees,
customers, products, students and so on. It also provides tools for searching
data and generating reports based on conditions. Examples of DBMS software are
Access, Oracle, Visual FoxPro and Base (OpenOffice.org)
Desktop Publishing
Software (DTP)
This type of software is used for designing books, journals,
brochures, newspapers and so on. Examples of Desktop Publishing software are
QuarkXPress, Adobe InDesign and CorelDraw X7.
Graphics, Multimedia
and Presentation Software
Graphics Software is used to work with images. The software
that manipulates images, text, sound, animation and video is called multimedia
software. Presentation software is a category of application programs used to
create sequences of words, pictures and slides that tell a story for the public
presentation of information. Examples of this category of software are Adobe
Photoshop (Graphic software), and Adobe Director (Multimedia software).
Specific purpose
Application Software
This is the software created to execute one specific task.
For example, a camera application on your phone will only allow you to take and
share pictures. Another example would be a chess game. It would allow you to
play only chess.
Bespoke Application
Software
Bespoke software is custom or tailor-made software. This is
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.
Other examples might include software for the military,
missile/UAV operations, software for hospitals and medical equipment
manufacturers and users, and software being written for use in banks and other
financial institutions.
Open Source Initiative
The Open Source Initiative (OSI) is a non-profit organization
dedicated to promoting open-source software.
OSI was formed in 1998 by Bruce Perens and Eric S. Raymond as
an educational, advocacy and stewardship organization at this important moment
in the history of collaborative development.
The goal of the Open Source Initiative (OSI) is to promote
the use of open-source software in the commercial world. To accomplish this
goal, OSI maintains and promotes the Open Source Definition and offers the OSI certification that the software must be distributed under a license that guarantees the
right to read, redistribute, modify and use the software freely. The Open
Source Definition provided by OSI contains the following elements:
Free redistribution
Source code
Derived works
Integrity of the author’s source code
No discrimination against persons or groups
No discrimination against fields of endeavour
Distribution of license
License must not be specific to a product
The license must not restrict other software
License must be technology-neutral
You may be attracted to
open-source software for the following reasons:
Rapid turnaround about security patches
Free availability
Online access to software and source code without a large
investment in time or money
Open source software is allowed to modify and improve
source code.
On the other hand, proprietary software is computer software
on which there are restrictions on use, modification, copying or
redistribution. These restrictions can be imposed by preventing access to the
source code or by legal means such as through copyrights and patents.
Some examples of popular open-source software are Android (an
operating system for smartphones and tablet computers), Ubuntu (Operating
System)
The use of software technology in the present and in the future will definitely be required.
Read more: The best AI tools for online management of businesses.