What is computer software, difference between hardware and software, types of computer software, SDLC model
1. Computer Software
Software: The term software refers to a set of computer programs, procedures, and
associated documents (flowcharts, manuals etc.) describing the programs, and how
they are to be used.
Software Package: A software package is a group of programs that solve a specific
problem or perform a specific type of job. For example, a word processing package
may contain programs for text editing, text formatting, drawing graphics, spelling
checking, etc.
Relationship between Hardware and Software
1. Both hardware and software are necessary for a computer to do useful job.
Both are complementary to each other.
2. We can load different software on the same hardware to make a computer
perform different types of jobs.
3. Except for upgrades, hardware is normally a one-time expense, whereas
software is a continuing expense. We buy new software for running on the
same hardware as and when need arises, or funds become available.
Types of Software
Although the range of software available today is vast and varied, we classify most
software into two categories:
1. System software
2. Application software
System Software
System software is a set of one or more programs, which controls the operation
and/or extends the processing capability of a computer system. In general, a
computer’s system software performs one or more of the following functions:
1. Supports development of other application software.
2. Supports execution of other application software.
3. Monitors effective use of various hardware resources such as CPU, memory,
peripherals, etc.
4. Communication with and controls operation of peripheral devices such as
printer, disk, tape, etc.
2. Programs included in a system software package are called system programs, and
programmers who prepare system software are referred to as system programmers.
Some commonly known types of system software are:
1. Operating Systems: Operating system software takes care of effective and
efficient utilization of hardware and software components of a computer
system.
2. Programming Language Translators: Programming language translators
transform the instructions prepared by programmers in a programming
language into a form that can be interpreted and executed by a computer
system.
3. Communication Software: In a network environment communication
software enables transfer of data and program from one computer system to
another.
Application Software
Application software is a set of one or more programs, which solve a specific
problem, or does a specific task. For example, payroll processing software,
examination software, railway/airline reservation software, and computer games
software are application software.
Programs included in an application software package are called application
programs, and programmers who prepare application software are referred to as
application programmers.
Some commonly known types of application software are:
1. Word-processing Software: Word-processing software enables us to make use
of a computer for creating, editing, viewing, formatting, storing, retrieving,
and printing documents.
2. Spreadsheet Software: Spreadsheet software is a numeric data analysis tool
that allows us to create several kind of computerized ledger.
3. Database Software: A database is a collection of related data stored and
treated as a unit for information retrieval purposes. A database software is a
set of programs that enables us to create a database, maintain database and
organize its data in desired fashion, and selectively retrieve useful information
from it. For example, queries such as get the telephone number of the person
named Kashyap Rana from the address database.
3. 4. Graphics Software: Graphic software enables us to use computer system for
creating, editing, viewing, storing, retrieving, and printing of designs,
drawings, pictures, graphs, etc.
5. Education Software: Education software allows a computer to be used as a
teaching and learning tool. A few examples of such software include those
used for teaching mathematics, grammar, language, or any subject.
6. Entertainment Software: Entertainment software allows a computer to be used
as an entertainment tool. Computer video games belong to this category of
software.
Logical System Architecture
Figure: Relationship among hardware, system software, application software, and
users of a computer system
USERS
APPLICATION SOFTWARE
SYSTEM SOFTWARE
HARDWARE
Physical device/components of the computer
system
Software that constitute the operating system and
programming environment of the computer system
Software that do a specific task or solve a specific problem
Users normally interact with the system via the user
interfaces provided by the application software
4. Software Development Life Cycle
Developing software, putting it to use, and maintaining it is a complex process
involving following steps:
1. Require specification
2. System analysis and design
3. Implementation (also known as Construction or Code generation)
4. Testing and debugging
5. Deployment (also known as Installation)
6. Maintenance
Evolving software products through these phases is known as Software
Development Life Cycle (SDLC).
Figure: Phases of Software Development Life Cycle (SDLC) model. It is also known
as Waterfall model ( because it is a sequential development process, which flow
steadily downwards like a waterfall through the various phases of the process)
Requirement
specification
System analysis
and design
Implementation
Testing and
debugging
Deployment
Maintenance
5. Difference between Hardware and Software
Hardware Software
It is the physical component of a
computer system.
It is the programming language that
makes hardware functional.
It has the permanent shape and
structure, which cannot be modified.
It can be modified and reused, as it
has no permanent shape and
structure.
The external agents such as dust,
mouse, insects, humidity, heat, etc.
can affect the hardware (as it is
tangible).
The external agents such as dust,
mouse, insects, humidity, heat, etc.
cannot affect (as it is not tangible).
It works with binary code (i.e., 1’s to
0’s) .
It functions with the help of high
level language like COBOL, BASIC,
JAVA, etc.
It takes in only machine language, i.e.,
lower level language.
It takes in higher level language,
easily readable by a human being.
It is not affected by the computer bug
or virus.
It is affected by the computer bug or
virus.
It cannot be transferred from one
place to other electronically.
It can transfer from one place to other
electronically.
Duplicate copy of hardware cannot be
created.
A user can create copies of a
software as many as he wishes.