Softwares can be traditionally classified into two categories: packaged or custom-made. Custom-made software is fully adapted to meet the needs of the buyer, while the packed software is ready-made and off the shelf, providing the same features to everyone.