Importance of Process Model The process model is the abstract representation of process. Also known as Software development life cycle (SDLC) or Application development life cycle Models Process models prescribe a distinct set of activities, actions, tasks and milestones (deliverables) required to engineer high quality software. Process models are not perfect, but provide roadmap for software engineering work. Software models provide stability, control and organization to a process that if not managed can easily get out of control. Software process models are adapted (adjusted) to meet the needs of software engineers and managers for a specific project. Prototype process model Prototyping model is appropriate when Customers have general objectives of software but do not have detailed requirements for functions & features. Developers are not sure about efficiency of an algorithm & technical feasibilities. It serves as a mechanism for identifying software requirements. Prototype can be serve as “the first system”. Both stakeholders and software engineers like prototyping model Users get feel for the actual system Developers get to build something immediately It works as follow Communicate with stockholders & define objective of Software Identify requirements & design quick plan Model a quick design (focuses on visible part of software) Construct Prototype & deploy Stakeholders evaluate this prototype and provides feedback Iteration occurs and prototype is tuned based on feedback Problem Areas Customer demand that “a few fixes” be applied to make the prototype a working product, due to that software quality suffers as a result Developer often makes implementation in order to get a prototype working quickly; without considering other factors in mind like OS, Programming language, etc. Advantages Users are actively involved in the development Since in this methodology a working model of the system is provided, the users get a better understanding of the system being developed Errors can be detected much earlier