This document discusses the software development life cycle (SDLC) and different software process models. It describes the SDLC as a sequence of steps from planning to maintenance that helps create high quality software on time. The main phases of the SDLC are planning, requirements analysis, design, implementation, testing, and deployment/maintenance. It then explains the purpose of the SDLC and different software process models, including linear sequential, prototyping, and evolutionary models. For each model it provides an overview of the typical process and when each model is best applied.