Software Engineering-Introduction

Software Engineering is the process of constructing software from scratch and delivering a quality end product. Before we get into the details of the subject, there are a few terms that you need to know.

What is Software?

Software is a set of instructions or programs, instructing the computer to perform certain tasks.

Software can be characterized in two parts:

  1. System Software
  2.  Application Software.

Characteristics of Software.

Functionality: Good software should always have sync between the degree of its performance and its intended purpose.

Reliability: It refers to the working of the software under the given situations.

Efficiency: It is basically the ability of the software to use the system’s resources in an efficient and effective manner.

Usability: It refers to the ease of use of the software.

Maintainability: It defines how easily the software can be maintained. The degree of ease with which the modifications in the functionality can be made.

Portability: Refers to the ability of the software to work on different platforms without making any changes (or with minimum) in it.

Integrity: It defines the quality of the software. It is the assurance that the information can be accessed by only the authorized people.

Robustness: The ability of computer software to deal with the errors or with any invalid data that is provided to it.
Good quality software possesses all the above characteristics. Now that we know in detail what software is, let’s discuss a bit about engineering.

What is Engineering?

Engineering is the process of applying techniques to develop an end product. When the techniques and principles applied are of computer science, it is called the Software Engineering.