Every system requires a varied combination of hardware & software configuration. The software could be customized or could be off the shelf. Care should be taken to verify the inputs, processing & the output controls governing the application in addition to its security, network & Infrastructure.