Why need engineering on software? By the way, software are data structures that enable the programs to manipulate information. It is a type of documentation that describes the operation and use of the programs. They are instructions also that when executed, they allow desired performance and functions.
Unlike other things that are being manufactured, software is but engineered or developed. So when things that are manufactured wears out, software that is engineered is but deteriorated. The reason why software deteriorates is that there are errors in the design, construction or in any development process.
Engineering comes when the systematic disciplined and the quantifiable approach to the development, maintenance and operation of the software is applied. An engineering approach leads to predictability through the application of methodologies, frameworks, tools, and theories. Once applied efficiently, the outcome is of a high quality software.
In practice, software engineering is built of three layers – process, tools and methods.
The tools. This has something to do with the automation of activities which helps in the systematic application in the software engineering.
The process. It defines the framework and the order executed in a software project. It sets out how phases of activities are undertaken such as the design, construction, requirement and testing.
The methods. These are practices with proven techniques to perform specific activities. As such, there are methods for analysis and requirements modeling. There are methods for testing. And, there are methods for design and design modeling.
So why use an engineering approach to software? Well, it is simple, the alternative is to use disordered approach.
Pardus is developed with a high quality of software engineering.