Software is defined as a collection of set of instructions, often called a program that causes a computer to perform one or more tasks, configuration files which are used to set up these programs and documentation which describe the structure and use of the system.
Types of Software:
1.Generic: Such Software products are developed to be sold in an open market to a range of different customers. They may not provide the exact functionality that a customer requires, but still serve the purpose.
2.Customised: Such software products are developed specifically for a single customer according to his specifications. They give the exact functionality that one needs, but the price of such customised software is likely to be high.
Components of software
Software is a broad term consisting of set of instructions, operating procedures, data structures and documentation.
The Set of instructions, also known computer programs are written in various programming languages, especially designed to facilitate the creation of software. These programs when executed provide desired functions and performance.
The operating procedures are the established methods to be followed in routine for the set up, use and performance of the software system.
The data structures are the set of instruction that enable the program to adequately manipulate the information.
The Documentation is the written text that explains the use and operating mechanisms for computer software.
There are three types of documentation:
1.Architecture/Design Documentation: Such documentation provides an overview of the system. It includes a list of things used in construction of the software, along with a justification on why they are used. For example, a programmer gives the rationale behind constructing a give number of classes and reasons out why a particular class is designed in a particular way.
2.Technical Documentation: When software is created, the code alone is not sufficient. There is some text known as technical documentation along with it that describes various aspects of the operations. It is a documentation that explains the data structures, algorithms and interfaces.
3.End-User Documentation: Such documentation is a manual for the end users, system administrators and support staff. Good user documentation explains all the features of the program, and various steps required to invoke it. It can be in form of a beginner's guide tutorial or a reference guide.