It is basically how a software is developed. It is basically the stages that a software goes through so that it would be created. First, there would be analysis wherein the different parts or functions of the software would be researched and the people would agree upon what would be included and not included. Then the software will be designed and the developers would agree upon what language to use, what platforms and all the technical stuff. Then there is development where the developers actually create the software. Then the software will be tested for errors and they will check if it actually is what the analysis earlier said it should be. Then it will be released! :) It's a cycle because you can always improve and add stuff to your software. After you release, you can still add more features or fix a few things, etc.