A software life cycle model is either a descriptive or prescriptive characterization of how software is or should be developed.
A descriptive model describes the history of how a particular software system was developed.
A prescriptive model prescribes how a new software system should be developed.
A proscriptive model prescribes how a new software system might be developed.