noun:computer programs and apps that run on a computer to do tasks
A typical modern software needs four components. Compute, network, database, and persistent storage.
Each software has different purpose and use case.