A Software life cycle model is sometimes a descriptive or prescriptive characterization of how software program is or should be developed. A descriptive model describes a brief history of how a specific software system was made. Descriptive models can be utilized as the groundwork for understanding along with improving software advancement processes or with regard to building empirically grounded prescriptive models. A prescriptive model prescribes what sort of new software system should be developed. Prescriptive models are utilized as guidelines or frameworks to tidy up and structure how software development activities should be performed, and throughout what order.