A software product can be judged by what it offers and how well it can be used. This software must satisfy on the following grounds:
Well-engineered and crafted software is expected to have the following characteristics:
This tells us how well software works in operations. It can be measured on:
This aspect is important when the software is moved from one platform to another:
This aspect briefs about how well a software has the capabilities to maintain itself in the ever-changing environment:
In short, Software engineering is a branch of computer science, which uses well-defined engineering concepts required to produce efficient, durable, scalable, in-budget and on-time software products.