Karan Bokil Prof Q. 67-250 February 4, 2016 HW #4 Methodology (Waterfall) 1. What is the software development lifecycle (SDLC)? Why is it useful? The software development lifecycle is a process of steps that every software development project must go through, usually concerning five steps. These steps include planning, implementation, testing, deployment, and maintenance. It is useful as providing a framework pathway to creating software that meets the needs of the business and the consumer. Furthermore, it is essential as a format to trace back steps and continue support for it after the software is published. Since it is a cycle, it does not terminate and enables ongoing innovation from the iterative process. 2. Apply one of De Palma’s arguments about software – how might the SDLC address one of his concerns? One of De Palma’s concerns was that that massively complex new software would never be as reliable as hardware because programmers love complexity, the software lack code readability, and new ideas intrude and conflict with existing projects in development. SDLC would address this concern because it splits the development project into steps, thus alleviating the complexity from the programming. The planning step alone in theory helps code readability because it provides programmers with a framework on what they are writing. Finally, SDLC prevents conflicting ideas from altering existing code until the full cycle is complete, facilitating a finished product with different versions over time. 3. Describe the type of methodology assigned in Step 1 (i.e., structured, evolutionary or agile). The structured methodology, more commonly known as the waterfall model is a SDLC that promotes full execution of steps before continuing with a project. Thus, like a waterfall, the phases of the project progress downwards, following the steps: conception, initiation, analysis, design, construction, testing, production/implementation, and maintenance. 4. Identify one main advantage of this type of methodology. The waterfall methodology is useful because it is extremely structured. This in turn makes each phase easily understandable and can trace development stages with no difficulty. 5. Identify one main weakness of this type of methodology. A major weakness of waterfall methodology is its lack of flexibility. In effect, programmers and developers have a difficult time integrating new design changes. 6. Describe a type of project or situation where you would recommend this approach (you may want to consider factors of size, complexity, clarity of requirements, timeline, etc.) A situation suited for this structured methodology would be the development of mainframe systems because they tend to be very large and complex, but should be very welldocumented. 7. Identify the sources you used to find this information? https://www.techopedia.com/definition/14025/waterfall-model https://en.wikipedia.org/wiki/Waterfall_model http://softwarelifecyclepros.com/wp-content/uploads/2012/05/Tutorial-SoftwareDevelopment-LifeCycle-SDLC.pdf https://powermore.dell.com/business/the-importance-of-the-sdlc/