CC 101
LESSON ROPER
Features of Software
Software is defined as collection of computer programs, procedures, rules and data. Software Characteristics are
classified into six major components:
These components are defined below:
• Functionality-
It refers to the degree of performance of the software against its intended purpose.
Required functions are:
• Reliability-
A set of attribute that bear on capability of software to maintain its level of performance under the given condition for
a stated period of time.
Required functions are:
CC 101
• Efficiency-
It refers to the ability of the software to use system resources in the most effective and efficient manner. The
software should make effective use of storage space and executive command as per desired timing requirement.
Required functions are:
• Usability-
It refers to the extent to which the software can be used to ease the amount of effort or time required to learn how to
use the software.
Required functions are:
• Maintainability:
It refers to the ease with which the modifications can be made in a software system to extend its functionality,
improve its performance, or correct errors.
Required functions are:
• Portability:
A set of attribute that bear on the ability of software to be transferred from one environment to another, without or
minimum changes.
CC 101
Required functions are:
SOFTWARE CLASSIFICATIONS
Software are classified based on how they are developed:
1. Custom Software - software applications that are developed for use within an organization.
2. Commercial Off-the-Shelf (COTS) Software – software development with the intention of selling software in multiple
copies.
CATEGORIES OF SOFTWARE
As you know, the hardware devices need user instructions to function. A set of instructions that achieve a single
outcome are called program or procedure. Many programs functioning together to do a task make a software.
For example, a word-processing software enables the user to create, edit and save documents. A web browser enables
the user to view and share web pages and multimedia files. There are two categories of software −
• System Software
• Application Software
• Utility Software
Let us discuss them in detail.
CC 101
1. System Software
Software required to run the hardware parts of the computer and other application software are called system
software. System software acts as interface between hardware and user applications. An interface is needed because
hardware devices or machines and humans speak in different languages.
Machines understand only binary language i.e. 0 (absence of electric signal) and 1 (presence of electric signal) while
humans speak in English, French, German, Tamil, Hindi and many other languages. English is the pre-dominant language
of interacting with computers. Software is required to convert all human instructions into machine understandable
instructions. And this is exactly what system software does.
Based on its function, system software is of three types −
• Operating System
• Language Processor
• Device Drivers
Operating System
System software that is responsible for functioning of all hardware parts and their interoperability to carry out tasks
successfully is called operating system (OS). OS is the first software to be loaded into computer memory when the
computer is switched on and this is called booting. OS manages a computer’s basic functions like storing data in memory,
retrieving files from storage devices, scheduling tasks based on priority, etc.
Language Processor
As discussed earlier, an important function of system software is to convert all user instructions into machine
understandable language. When we talk of human machine interactions, languages are of three types −
• Machine-level language − This language is nothing but a string of 0s and 1s that the machines can understand. It is
completely machine dependent.
• Assembly-level language − This language introduces a layer of abstraction by
defining mnemonics. Mnemonics are English like words or symbols used to denote a long string of 0s and 1s. For
example, the word “READ” can be defined to mean that computer has to retrieve data from the memory. The
complete instruction will also tell the memory address. Assembly level language is machine dependent.
• High level language − This language uses English like statements and is completely independent of machines.
Programs written using high level languages are easy to create, read and understand.
Program written in high level programming languages like Java, C++, etc. is called source code. Set of instructions in
machine readable form is called object code or machine code. System software that converts source code to object
code is called language processor. There are three types of language interpreters−
• Assembler − Converts assembly level program into machine level program.
• Interpreter − Converts high level programs into machine level program line by line.
• Compiler − Converts high level programs into machine level programs at one go rather than line by line.
Device Drivers
System software that controls and monitors functioning of a specific device on computer is called device driver.
Each device like printer, scanner, microphone, speaker, etc. that needs to be attached externally to the system has a
specific driver associated with it. When you attach a new device, you need to install its driver so that the OS knows how it
needs to be managed.
2. Application Software
They are also popularly known as end-user programs or even productivity programs which assist the user in
CC 101
completing various tasks like conducting online research, making notes, designing graphics, maintaining accounts,
carrying out calculations or even playing computer games. They essentially lie above the system software. They are
actually used by the end-user as well as have specific functionality or tasks which they are designed to perform. This
software is often developed through custom software development, based on the requirements of the users. There is a
variety of application software. Some of them are:
a. Word Processors
Such applications are meant for documentation. It also assists in storing as well as formatting and even printing of
the documents. Key examples of such software are:
• MS Word
• Apple iWork-Pages
• Corel WordPerfect
• Google Docs
b. Database Software
It is used to create as well as manage a database and also known as Database Management System or in short,
DBMS. Such software assists in the data organization. Some of the examples of DBMS are:
• MS Access
• FileMaker
• dBase
• Clipper
• MySQL
• FoxPro
c. Multimedia Software
This software is able to play, create as well as record images, audio or even video files. This software is utilized for
animation, video editing, graphics as well as image editing. Due to the high demand for such software, every software
product development company has vast avenues in developing them. Some of the examples of such software are:
• Adobe Photoshop
• Picasa
• VLC Media Player
• Windows Media Player
• Windows Movie Maker
d. Web Browsers
This software is utilized to browse the internet. Web browsers assist the users in locating as well as retrieving
data well across the web. Some of the key examples of them are:
• Google Chrome
• Mozilla Firefox
• Internet Explorer
• Opera UC Browser
• Safari
CC 101
3. Utility Software
Application software that assist system software in doing their work is called utility software. Thus utility software is
actually a cross between system software and application software. Examples of utility software include −
• Antivirus software
• Disk management tools
• File management tools
• Compression tools
• Backup tools