Models of Software Development Life Cycle (SDLC) The objective of this section is to introduce you the idea of software process – a coherent set of activities for software production. When you have read this section you will: understand the concept of a software process and a software process model; understand a number of different software process models such as waterfall, spiral and iterative models. Unit 20
What is a SDLC Model? An SDLC model breaks down the development process into a sequence of phases or stages. The end of a phase is called a milestone of the project. The outcome of the phase is delivered to the customer as a milestone of the project. Breaking down the development process makes it easier to manage. Each phase can be performed in various ways. First let us discuss what do we mean by a SDLC model. Unit 20
Why use SDLC Model? In the earlier days, projects were developed without proper specification or any attempt in design and were just built, and reworked as many times needed to satisfy the customer. This is not possible for complex projects since There is no control on quality assurance. There is no risk analysis. There is no estimation of time and cost of the project. There is no proper plan. Hence, The project may lead to a huge financial loss for both the customer as well as the developer. The project may fail. The project may not be delivered in time with the satisfaction of the customer. Now you understand what a SDLC model is. Next we analyze the reasons why we need to a apply a SDLC model for a software development project. Unit 20
1. Waterfall Model In the waterfall model, software activities proceed logically through a sequence of steps. Each step bases its work on the activities of the previous step. The design phase logically follows the requirements phase, the implementation phase follows the design phase, and so on. Waterfall model is document driven. In principle, the result of each phase is one or more documents which are approved (“sign-off”). The next phase should not start until the current phase is completed. There are several models of SDLC in the literatures. Here we discuss three popular models such as waterfall model, spiral model, iterative model. In early 70s, waterfall model was very popular. In the 80s spiral model was very popular. In the 90s, it was iterative model. Let us start with waterfall model. Unit 20
Workflow of Waterfall Model Requirement Verify Implementation Testing Planning Verify Retirement Design Verify Integration Testing Deployment and Maintenance Specification Verify Development Maintenance Changed Requirements verify In 1970s, Winston Royce (1970), working at TRW, defined what became known as the “waterfall model” of the software development. Because of the cascade from one phase to another, this model is known as the “waterfall model”. The Requirement phase is divided into three parts: Requirement mode, Specification mode and Planning mode. During the Requirement mode, the system study team collects all needs of the user and the features of the product. During the Specification mode, the requirements are properly documented which is called Software Requirements Specification (SRS). During the Planning mode, the time and cost of the project is estimated. Moreover, the schedule of the project is drawn up and the the resources are allocated to the project personnel during this mode. The planning is done by the project manager. Do you notice a special feature of the waterfall model? At the end of every phase of the cycle, the outcome of each phase (the document or the code or the product) is verified and tested. The waterfall model has many advantages, including the enforced disciplined approach, the stipulation that documentation be provided at each phase, and the requirement that all the products of each phase including the documentation be carefully verified and tested by a special team called Software Quality Assurance (SQA) Team. Unit 20
Quiz The programmer The system analyst The system study team The planning of the project is done by: The programmer The system analyst The system study team The project manager During the Specification mode, the requirements are properly documented and the document is called _________. The waterfall model is Document-driven. Risk-driven Prototype-driven Answer: D. Software Specification Document (SRS) A. Unit 20