A computer consists of two basic components, Hardware and Software. Hardware is all what we can touch and feel such as keyboard, mouse, monitor, hard disk etc.
Whereas a Software includes all the parts which we cannot touch or see such as Microsoft word, Outlook, operating systems, pictures, music and lot more.
In more technical terms, a software is a set of programs or instructions which actually run the hardware and makes it performs specific tasks.
Think of computer as a human body, then your brain is a hardware but your mind or your thoughts are actually the software which make the brain work and thus all the parts of the body. Without brain, no thoughts would be generated, and without thoughts, brain is lifeless.
Similarly hardware and software are inter related and do not exist without each other.
Image courtesy of Stuart Miles / FreeDigitalPhotos.net
Types of Software
Software is often divided into three different categories:
It is a type of software designed to operate, manage as well as control the computer hardware, to provide basic functionality, and to provide a platform for running application software. System software includes device drivers, operating systems, servers, utilities, and window systems.
This type of software will help you to maintain as well as protect your PC. However, it will not directly interact with hardware of your PC. For example, anti-virus software, firewalls, disk defragmenters etc.
This software is used to accomplish specific tasks other than just running the PC. Application software may consist of a single program or a small collection of programs (often called a software package) that work closely together to accomplish a task, such as a spreadsheet or text processing system.
It can also be a larger collection (often called a software suite) of related but independent programs and packages that have a common user interface or shared data format, such as Microsoft Office, which consists of closely integrated word processor, spreadsheet, database, etc.
A software system, such as a database management system, is a collection of fundamental programs that may provide some service to a variety of other independent applications.
How is a software made?
A software is made by understanding what the computer needs to do for people, which is called requirements gathering, where many people are interviewed in an effort to determine what are their expectations and needs.
Then software designers describe and define the programs to accomplish what the computer must do, in a process called software architecture. Programmers write the programs and testers test it to make sure it does what it’s supposed to do. A software is mainly made up of following components:
Graphical User Interface
It is the part through which the user interacts with the software to perform tasks.
Mouse/keyboard event handling
This determines what happens if the user clicks on a button provided at the user interface.
This defines how the software works.
If the software is a client-server program (e.g. an Internet browser), this part takes care of how the software communicate with the server.
If customer records need to be stored in a database, this part determines how the software retrieves the record of a particular customer.
A software may be created by a single person or a group of persons called programmers. Breaking up a piece of software into many components helps the programmers in various ways.
One programmer may be in charge of creating the user interface while another is in charge of the application logic. So if many programmers are working on the software concurrently, it will take less time than only one programmer working on it.