Software Products are nothing but software systems delivered to the customer with the documentation that describes how to install and use the system. In certain cases, software products may be part of system products where hardware, as well as software, is delivered to a customer. Software products are produced with the help of the software process. The software process is a way in which we produce software.
Types of software products:
Software products fall into two broad categories:
- Generic products:
Generic products are stand-alone systems that are developed by a production unit and sold on the open market to any customer who is able to buy them. - Customized Products:
Customized products are the systems that are commissioned by a particular customer. Some contractor develops the software for that customer.
Essential characteristics of Well-Engineered Software Product:
A well-engineered software product should possess the following essential characteristics:
- Efficiency:
The software should not make wasteful use of system resources such as memory and processor cycles. - Maintainability:
It should be possible to evolve the software to meet the changing requirements of customers. - Dependability:
It is the flexibility of the software that ought to not cause any physical or economic injury within the event of system failure. It includes a range of characteristics such as reliability, security, and safety. - In time:
Software should be developed well in time. - Within Budget:
The software development costs should not overrun and it should be within the budgetary limit. - Functionality:
The software system should exhibit the proper functionality, i.e. it should perform all the functions it is supposed to perform. - Adaptability:
The software system should have the ability to get adapted to a reasonable extent with the changing requirements.