Software (software) is programs, a set of rules, documentation for the system involved in the processing of information.

In essence, software is defined as:

computer programs
the procedures and functions that go into a computer program
documentation to the software necessary for the operation (use) of the program
a set of data, processing which is engaged in a computer program

Software is one kind of software computing system. This system includes hardware, mathematical, linguistic, organizational, and methodological support. Computer science and software engineering are academic fields of study in computer software.

Software Classification
According to the way programs are executed, they are divided into:

  • interpreted;
  • compiled.

By the degree of portability, programs are divided into:

  • platform-dependent;
  • cross-platform.

According to the way programs are distributed and used, they are divided into:

  • proprietary (closed);
  • open;
  • free.

According to the purpose, programs are divided into:

  • system;
  • applications;
  • instrumental.

By type, programs are divided into:

component: a program considered as a whole, which performs specified functions and is used independently or as part of a complex of other programs;
Complex: a program consisting of two or more components or complexes which carry out interconnected actions either alone or as a part of other complex.

System software
System software is a set of programs that allows to manage the components of the whole computer system or some of its parts. For example, to manage the hardware components of the computer: CPU, RAM, video card, networking equipment. The system software is a kind of layer between the hardware and the computer programs. While the application software solves the concrete practical tasks of users, the system software provides the work of the programs on the computer, giving them a special service functions, completely abstracting from the hardware and firmware part of the computing system, taking everything under its control. The system software
system software includes: operating systems, utilities, database management systems, linking software.

Embedded Programs
Embedded programs are programs that are, so to speak, “sewn” into a computer device. For example, the basic input-output system (BIOS) is such a built-in program in the operating system. Some very simple computer systems may have many built in programs that allow the operating system to interact with devices and programs.

Utilities
Utilities are auxiliary computer programs within the general software. Utilities perform specialized typical tasks of working with the operating system and hardware, making it easy to configure and change many computer settings with minimal user interaction. The software utilities may be included in the operating systems, go with specialized hardware or installed separately.

Application software is software designed to perform specific user tasks, and designed to interact directly and intimately with the user.

Toolkit software is designed to be used in the design, development and maintenance of other programs. Toolkit software can be divided into the following:

  • Software development tool
  • Development Environment
  • SDK
  • Version Control System
  • Bug tracking system