The document outlines various Software Development Life Cycle (SDLC) models including the V-Shaped, Prototype, Spiral, Iterative/Incremental, and Agile models, detailing their pros and cons. Each model is suited for different project types and complexities, with Agile emphasizing flexibility and customer satisfaction. Key Agile methodologies such as Scrum and Extreme Programming are also mentioned.
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
6 views
Week 2 - SDLC Models
The document outlines various Software Development Life Cycle (SDLC) models including the V-Shaped, Prototype, Spiral, Iterative/Incremental, and Agile models, detailing their pros and cons. Each model is suited for different project types and complexities, with Agile emphasizing flexibility and customer satisfaction. Key Agile methodologies such as Scrum and Extreme Programming are also mentioned.
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19
Application Software Development
Week 2 - SDLC Models
V-Shaped Model • Also known as the Verification and Validation model, this is an extension of the Waterfall model. • It emphasizes testing and validation and requires each stage of development to be associated with a corresponding testing phase. • Pros: – Since each development stage has a corresponding testing stage, there is much emphasis on rigorous testing and validation – Tracking progress is easier – Best for small and medium-scale development • Cons: – Lacks flexibility and adaptation, similar to Waterfall – Does not accommodate changes well – You will have to wait for the development of each stage to be complete to start testing Prototype Model • In this model, a prototype of the end product is first created, tested, and refined as necessary. • It is especially useful when the client’s requirements are not clear or well-understood at the outset. • Pros: – Provides a working model early in the process, helping to clarify requirements and expectations – A prototype model is a good choice if a developer is not certain about an algorithm’s capability or compatibility • Cons: – Risk of focusing too much on the prototype without sufficient attention to the entire system. This can lead to overlooking better design solutions. – Developing multiple prototypes can be time- consuming and pricey, particularly if it requires many iterations. Spiral Model • This model combines elements of the design and prototyping phases in an iterative, spiraling manner, allowing for more flexibility and control. • It’s particularly suited for large, complex, and expensive projects. It focuses on risk reduction at each iteration. • Pros: – High degree of flexibility and control – Good for managing risks in complex and large projects • Cons: – Requires a lot of planning and management – Costly and time-consuming Iterative / Incremental Model • In this model, the software is developed and delivered in pieces or increments. • After each increment, the software is tested and reviewed, and the feedback is used to develop subsequent increments. • Pros: – Progressive elaboration of the product – Feedback can be incorporated with each increment – Changing requirements and scope is comparatively less expensive – Testing and debugging are easier during short iterations • Cons: – Requires careful planning to ensure increments are meaningful – Initial delivery might not have full functionality – Should be continuously managed Agile Model • Agile development is a software development methodology that emphasizes iterative progress, collaboration, flexibility, and continuous feedback. • It involves breaking down work into small, manageable tasks, and delivering functional software regularly that adapts quickly to changes. • This results in faster delivery, improved product quality, and higher customer satisfaction. • Pros: – High flexibility and adaptability – Emphasizes customer satisfaction and team collaboration – Quick delivery of features • Cons: – Can be difficult to estimate project duration and cost. – Requires high customer and team involvement. Key Agile Methodologies • There are different types of agile methodologies, each with its own approach to managing work, improving collaboration, and delivering high-quality software. • Here’s a quick list of the key Agile Methodologies: – Scrum – Extreme Programming (XP) – Adaptive Software Development (ASD) – Dynamic Systems Development Method (DSDM) – Feature-Driven Development (FDD) – Kanban – Behavior Driven Development (BDD)