[I] SOFTWARE DEVELOPMENT PROCESS MODELS
A software life cycle model or process model is a descriptive and diagrammatic model of a software life cycle. A life cycle model identifies all the activities required to develop and maintain a software product and establishes a precedence ordering among the different activities. Several different activities are carried out in each life cycle phase. While developing a software product, it is necessary for the development team to identify a suitable life cycle model. The main advantage of adhering to a life cycle model is that it encourages development of software in a systematic and disciplined manner.
For developing the software, a software engineer and his team needs a model, which is known as software process model of software engineering paradigm. There are varieties of software process models or process paradigm and a few are waterfall model, prototyping model, iterative enhancement model, spiral model, rapid application development model and increment model. Selection of models depends largely on the nature of the project, the type of application, the proposed tools to be used and the kind of controls and documentation that would be required.