What is software and How many types of software?