With OOP, a developer can define unique variables (data types) of data structures. Within these data structures a developer can define the functions or methods that can be applied specifically to it. The construct that encapsulates the set of variables and functions is known as a class. A class merely has a logical existence, and acts as a universal blueprint from which an instance can be created. An instance of a class is known as an object. An object will have a physical existence and is essentially a variable of the programmer defined class type which is used for actual functionality.
The Software Development Life Cycle, or SDLC, can be defined as a process that aims to create quality software applications while incurring the lowest costs and in the shortest possible amount of time. The SDLC includes principles and a detailed plan to be followed for developing software systems
The Waterfall Software / System Development Life Cycle model is a cascading, consecutive approach to systems development. The model follows the principle SDLC phases step by step in a logical manner as they are detailed, beginning with planning and/or a requirements analysis and working sequentially all the way to the deployment and maintenance stages. The waterfall model allows for the absolute completion of each stage in a gradual and consistent manner. In almost all cases when the waterfall model is correctly employed, the deliverables of each stage should act as the basis for the following stage and each phase must be completed before the next phase can begin.