What is Software? Definition,

0

1.0 INTRODUCTION

You all must have come across computers being used at many different places – post offices, hospitals, book stores, grocery stores, universities, banks, publishing houses, etc. You have also studied about computers and their applications in the previous block. But, have you ever wondered how the similar looking machines can behave so differently? What is it that makes them extremely useful machines for varied and unlimited purposes, unlike any other machine available to us? For example we can use a crane only to move loads – its usage is quite limited, but a computer can be used to create a document, do calculations, give presentations, book movie tickets, play movies, music or games and accomplish much more. What makes computer the versatile machines that they are?

It is the software that enables a computer to perform all the useful and desired functions. Different types of software help a computer to be used for multiple and varied purposes, in totally different areas of work. We will study about the software aspect of computers in detail in this unit.

1.2 OBJECTIVES 

After going through this unit, you will be able to:
  • define what is software;
  • discuss different aspects of software evolution; and
  • differentiate between types of software.
1.2 WHAT IS SOFTWARE ?

A computer system consists of two parts – hardware and software. The first part, computer hardware, refers to all the visible components of the computer system: keyboard, monitor, hard disc, printer, scanner, processing unit, memory, electrical connections, etc. It does all of the physical work a computer is known for. The second part is a set of simple and step-by-step sequence of instructions that tell the hardware what to do and how to do it. This organized set of instructions written in a defined order and to accomplish a specific task is called computer software or computer program. Hence, a computer software provides intelligence to the hardware, which otherwise is just a collection of circuits and pieces of plastic and metal. 

A computer programmer writes the software that gives a computer the ability to solve any business or scientific problem.


 You already kn Software Evolution ow that the computer hardware is essentially a piece of complex electronics that understands only 1‘s and 0‘s – electrical ―on‖ or ―off‖ conditions. Hence, the instructions to perform a task must be written in a series of binary 1‘s and 0‘s. But, although this binary format, called the machine code makes perfect sense to a machine, it is incomprehensible to a computer programmer who writes the program. So a programmer codes the program in the English like programming language which is easier to understand. This program is then translated into machine code by another computer program. This translated program, called the software is eventually executed to achieve the desired goal.

You will study about types of software and its evolution in the following sections.

1.3 SOFTWARE EVOLUTION 

As you know that in a computer system both hardware and software complement each other – one is of hardly any use without the other. Hence, since the very beginning of computer history, software evolution has been closely tied to the advances made in hardware. As hardware became faster, cheaper and with better capacity of storage, software became more complex and sophisticated.

Over the decades computers have been used in new areas and to solve new problems. With changing needs and improved hardware, the software has evolved in its various aspects. The software architecture, its design paradigms, programming languages, its usage, costing and licensing have all changed and evolved over the years. 


 Software evolution with respect to its architecture, design styles, programming language and licensing will be covered in the following section.

1.3.1 Evolution of Software Architecture

The software architecture has always moved in unison with the hardware advancement.

1.3.1.1 Mainframe Architecture 

Till a few decades back, all computing was controlled through the central mainframes server. Multiple users could connect to the central host through unintelligent terminals which captured the keystrokes, sent the information to the host and displayed the text output. All the processing was done by the applications residing on the main central server. Only large transaction-oriented applications were developed during that time. Business tasks such as accounts receivable, accounts payable, general ledger, credit account management and payroll that were repetitive and could be run as batch jobs were automated.

In these centralized computing models, the host provided both the data storage and processing power for the client systems. There was no support for graphical user interface or access to multiple databases from geographically dispersed sites.


Post a Comment

0Comments
Post a Comment (0)