Showing posts with label Software. Show all posts
Showing posts with label Software. Show all posts

Friday, March 14, 2014

CATEGORIES OF SOFTWARE

 The computer being a machine cannot perform on its own. It needs to be instructed to
perform even a simple task like adding two numbers. Computers work on a set of instructions
called computer software (programs), which clearly specify the ways to carry out a task.
Software can be categorized as system software and application software. System
software is a generic term for referring to any computer program whose purpose is to help the
user to run the computer system, whereas application software employees the capabilities of a
computer directly to a task that the user wishes to perform.

SYSTEM SOFTWARE:

System software consists of several programs, which are directly responsible for
controlling, integrating, and managing the individual hardware components of a computer
system. You must have noticed that a new computer system is always accompanied by some
software, either stored in a floppy or CD, which is supplied by the manufacturer. This software
manages and supports the computer system and its information processing activities.
System software is more transparent and less noticed by the users, they usually interact
with the hardware or the applications this software provides a programming environment in
which programmers can create applications to accommodate their needs. This environment
provides functions that are not available at the hardware level and performs the tasks related to
the execution of an application program. Hence, system software acts as an interface between
the hardware of the computer and the software application.
In simple terms, system software makes the computer functional. They provide basic
functionality like file management, visual display, and keyboard input are used by application
software to accomplish these functions. Some examples of system software are:
1. Operating system
2. Device drivers
3. Language translators
4. System utilities.

1. Operating System:

It is the first layer of software loaded into computer memory when it starts up. As the
first software layer, all other software that gets loaded after it depends on it for various common
core services. These common core services include disk access, memory management, takes
scheduling, and user interfacing. In addition the operating system ensures that different
programs executing at the same time do not interfere with each other. It provides a software
platform on top of which other programs can run. In simple words, the operating system
organizes and controls the hardware. Examples of operating systems are Windows XP, UNIX,
and Linux. The basic functions of an operating systems are:
a) Process Management:
It handles the creation, deletion, suspension, resumption, and synchronization of process.
b) Memory Management:
It handles allocation and de-allocation of memory space as required by various programs.
c) File Management:
It is responsible for creation and deletion of files and directories. It also organizes, stores,
retrieves, names, and protects all the files.
d) Device Management:
It manages all the devices of the computer system such as printers and modems. If any
device fails, it detects the device failure and notifies the same to the user.
e) Security Management:
Protects system resources and information against destruction and unauthorized use.
f) User interface:
 Provides the interface between the user and the hardware.

2. Device Drivers:

Device drivers are system programs, which are responsible for proper functioning of
devices. Every device, whether it is a printer, monitor, mouse or keyboard, has a driver program
associated with it for its proper functioning. Whenever a new device is added to the computer
system, a new device driver must be installed before the device is used. A device driver is not an
independent program; it assists and is assisted by the operating system for the proper functioning
of the device.

3. Language translators:

Computers only understand a language consisting of 0s and 1s called machine language.
To ease the burden of programming entirely in 0s and 1s, special programming languages called
high-level programming languages were developed that resembled natural languages like
English. Language translators help in converting programming languages into machine
language. To be precise, they convert programming statements into the 0s and 1s that the
computer is able to process.

Depending on the programming language used, language translators are divided into
three major categories: compilers, interpreter, and assembler.
a) Compiler:
The programs written in any high-level programming language (C or Pascal) needs to be
converted into machine language. This is achieved by using a complier.
b) Interpreter:
An interpreter analyses and executes the source code in line-by-line manner, without
looking at the entire program. In other words, an interpreter translates a statement in a program
and executes the statement immediately, before translating the next source language statement.
c) Assembler:
Compared to all the types of programming languages, assembly language is closest to the
machine code. It is fundamentally a symbolic representation of machine code. The assembly
language program must be translated into machine code by a separate program called an
assembler. The assembler program recognizes the character strings that make up the symbolic
names of the various machine operations, and substitutes the required machine code for each
instruction. In short, an assembler converts the assembly codes into machine codes, making the
assembly program ready for execution.

Typical software generally comprises millions of lines of programming statements or
code. The code is divided into logical groups and stored in different independent modules so
that the debugging and maintenance of the code becomes easier. Before execution, different
object codes resulting from the independent modules have to be linked together to create and
executable program. A linker is a system program that links together several objects modules
and libraries to form a single, coherent, program (executable program). The part of the operating
system that brings an executable file residing on disk into memory and executes it is known as
loader. Being responsible for tasks like loading, linking and relocation, loader performs the
function of a linked program and then immediately schedules the executable for execution
without creating an executable file as an output.

4. System Utility:

System utility programs perform day-to-day tasks related to the maintenance of the
computer system. They are used to support, enhance, and secure existing programs and data in
the computer system. They are generally small programs, having specific tasks to perform:
a) File Management:
These utilities make it easier to manage data files. Many programs are written to help users
to find the files, create and organize directions, copy, move, and remove files.
b) Backup:
It may happen that sometime data files are corrupted, or accidentally deleted. In such a
case, data backups become very useful. A backup system utility is essential for those
organizations, which want to keep their data intact.
c) Data Recovery:
It is the process of retrieving deleted or inaccessible data from failed electronic storage
media such as computer hard disk drives, removable media, optical devices, and tape cartridges.
d) Virus Protection:
Anti-virus programs are essential system utilities for a computer system functioning in a
network. They provide the security to the system form viruses that can damage the computer
system.
e) Disk Management:
Disk management program includes various system softwares like disk defragmenter,
data compressor and disk formatting tools. De-fragmentation implies putting fragments of files
in a sequential order onto the disk which reduces the time to access the file.
f) Firewall:
It is commonly used to protect information such as e-mail and data files within a physical
building or organization. Essentially, a firewall is designed to protect a computer from
unauthorized access, especially via network.
g) Disk Cleanup:
To keep a computer running smoothly, regular maintenance is vital. Therefore, one
should use the disk cleanup utility, which easily determines which files on hard drive are no
longer needed, then delete those files.

APPLICATION SOFTWARE

The most often seen software by a user is the application software. It used to accomplish
specific tasks rather than just managing a computer system. For a user, the computer system has
no specific use without application software. Application software may consist of a single
program, such as Microsoft’s Note pad (for writing and editing simple text). It may also consist
of a collection of programs, often called a software package, which work together to accomplish
 a task, such as database management software. Application software may also include a larger
collection of related but independent programs and packages (a software suite), which have a
common user interface or shared data format, such as Microsoft Office suite.

Applications softwares are dependent on system softwares. A system software (like
operating system) acts as an interface between the user and the computer hardware, while
application software performs specific tasks. Applications are pieces of software that perform
tasks for the user besides helping the computer operate, which is the tasks of system software.
Applications softwares are controlled by system software, which manages hardware devices and
performs background tasks for them. The distinction between the two is important. Without
system software, the computer will not run, and without application software, the computer, no
matter how powerful, will not be helpful in meeting user requirements. Think of it this way applications apply the computer’s thinking power to business tasks such as tracking the general
ledger or billing your customers.

Application software ranges from games, calculators, and word processors (document
creating programs), to programs that “paint” images on screen (image editors). Applications
represent real world tasks. They can be easily divided by looking at exactly what function they
serve. Some of the most commonly used application software is discussed below:

1. Word processor:

A word processor is software used to compose, format, edit, and print electronic
documents. Word processing is one of the earliest applications for office productivity and the
personal computer. It involves not only typing, but also checking the spelling and grammar of
the text and arranging it correctly on the page. A variety of different typefaces is available for a
verity of effects. It is possible to include pictures, graphs, charts and many other things within
the text of the document. It also allows for changes in margins, fonts, and colour. Nowadays,
virtually all personal computers are equipped with a word processing program, which has the
same function as a typewriter for writing letters, reports or other documents, and printing.
Examples of some well-known word processors are Microsoft Word and Word Perfect.

2. Spreadsheets:

One of the first commercial uses of computers was in processing payroll and other
financial records, so the programs were designed to generate reports in the standard
“spreadsheet” format bookkeepers and accountants used. A spreadsheet application is a
rectangular grid, which allows text, numbers, and complex functions to be entered into a matrix
of thousands of individual cells. The spreadsheet provides sheets containing cells each of which
may contain text and / or numbers. Cells may also contain equations that calculate results from
data placed in other cells or series of cells. A simple example might be a column of numbers
totaled in a single cell containing an equation relating to that column.
Spreadsheet software are used predominantly for accounting a other numerically-based
tasks, because financial and mathematical data and analysis are often managed in a tabular style,
with columns of financial figures being manipulated and then influencing other data
computations. Microsoft Excel and Lotus 1-2-3 are examples of spreadsheet applications.

3. Image Editors:

Image editor programs are designed specifically for capturing, creating, editing, and
manipulating images. These graphics programs provide a variety of special features for creating
and altering images. In addition to offering a host of filters and image transformation
algorithms, some image editors also enable the user to create and superimpose layers. Most
graphic programs have the ability to import and export one or more graphic file formats. These
computer programs enable the user to adjust an image to improve its appearance. With image
editing software, one can darken or lighten an image, rotate it, adjust it contrast, crop out
extraneous detail, and much more. Examples of these programs are Adobe Photoshop, Adobe
Illustrator and CorelDraw.

4. Database management systems:

Database management software is a collection of computer programs that allow storage,
modification, and extraction of information from a database in an efficient manner. It supports
the structuring of the database in a standard format and provides tools for data input, verification,
storage, retrieval, query, and manipulation. When such software is used, information systems
can be changed much more easily as the organization’s information requirements change. New
categories of data can be added to the database without disrupting the existing system. It also
controls the security and integrity of the database from unauthorized access. FoxPro and Oracle
are database management systems.

5. Presentation applications:

A presentation is a means of assessment, which requires presentation providers to present
their work orally in the presence of an audience. It combines both visual and verbal elements.
Presentation software allows the user to create presentations by producing slides or handouts for
presentation of projects. Essentially, such computer programs allow users to create a variety of
visually appealing electronic slides for presentation. Microsoft PowerPoint is one of the most
famous presentation application.

6. Desktop publishing software:

The term desktop publishing is usually used to describe the creations of printed
documents using a desktop computer. It is a technique of using a personal computer to design
images and pages, and assemble type and graphics, then using a laser printer or image-setter to
output the assembled pages onto paper, film, or printing plate. These softwares are used for
creating magazines, books, newsletters, and so on. Such software assist in creating sophisticated
documents including complicated page designs, detailed illustrations, and camera-ready types
faces. Quark Express and Adobe PageMaker are desktop publishing software.