Characteristics of good software

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:

      Operational

      Transitional

      Maintenance

Well-engineered and crafted software is expected to have the following characteristics:

Operational

This tells us how well software works in operations. It can be measured on:

      Budget

      Usability

      Efficiency

      Correctness

      Functionality

      Dependability

      Security

      Safety

Transitional

This aspect is important when the software is moved from one platform to another:

      Portability

      Interoperability

      Reusability

      Adaptability

Maintenance

This aspect briefs about how well a software has the capabilities to maintain itself in the ever-changing environment:

      Modularity

      Maintainability

      Flexibility

      Scalability

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.