Software Development Life Cycle (SDLC)

Ace your homework & exams now with Quizwiz!

Waterfall model

Definition: A classical model used in system development life cycle to create a system with a linear and sequential approach. It is termed as waterfall because the model develops systematically from one phase to another in a downward fashion. Pros: Timescales are kept: The phased development cycle enforces discipline. Each step has a clearly defined starting point and conclusion, which makes progress easy to monitor. This helps reduce any project "slippage" from agreed timescales. No financial surprises: Costs can be estimated with a fairly high degree of accuracy once the requirements have been defined. Testing is made easy: Test scenarios are already detailed in the functional specification of the requirements phase, which makes the testing process easier and more transparent. The outcome is crystal clear: Even before the software development starts, the design is hammered out in detail which makes the needs and the outcome clear to everyone. Deal with issues in the design: Potential development issues can be researched and tackled in the design stage - and alternative solutions planned - before any programming takes place. What you plan is what you get: Many organizations appreciate the attention to documentation right at the beginning, as it also means there should be no surprises with the end product. Cons: Needs can be difficult to define: people may change their minds once they see the end product, which is difficult to address if the application needs to be re-engineered to any large extent. Potential lack of flexibility: There may be issues with the flexibility of the model to cater for new developments or changes of requirements which may occur after the initial consultation. Changes due to business plans or market influences may not have been taken into account when planning is all done up front. Longer delivery time: Projects may take longer to deliver, compared to using an iterative methodology such as Agile.

V-model (modified waterfall)

Definition: The V-model is an SDLC model where execution of processes happens in a sequential manner in a V-shape. The V-Model is an extension of the waterfall model and is based on the association of a testing phase for each corresponding development stage. Pros: Progress goes in very systematic way. Best suitable for small and medium size projects. Testing starts from requirement phase. Easy to keep track on progress. Cons: Not suitable for bigger and complex projects Not a good option If Requirement changes frequently. The client sees the only final project, not intermediate modules. Don't scope for risk management and risk mitigation.

Iterative model

Definition: a particular implementation of a software development life cycle (SDLC) that focuses on an initial, simplified implementation, which then progressively gains more complexity and a broader feature set until the final system is complete. Pros: potential defects are spotted and dealt with early Functional prototypes are developed early in the project life cycle. Less time is spent on documenting and more on designing. Progress is easily measured. Changes to project scope are less costly and easier to implement. Testing is facilitated by the modules being relatively small. Most risks can be identified during iteration and higher risks can be dealt with as an early priority Successive iterations can be managed easily as milestones. An operational product is delivered with every iteration. Operating time is reduced. Customer feedback is based on working products rather than technical specifications. Cons: More resources may be required. Each successive phase is rigid with no overlaps. The need for more intensive project management may be required. Issues about system architecture may turn out to be a constraining factor because of the lack of a full requirements specification for the entire system It may be difficult to pin down an end date for the project conclusion. Highly skilled talent is required for risk analysis.

Prototyping model

Definition: a systems development method (SDM) in which a prototype (an early approximation of a final system or product) is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed. Pros: High involvement of the customer before actual implementation of the product. User gets a better understanding with the developed system when a working model of the system displayed in build prototype phase. Reduces time and cost as the defects can be detected much earlier. Quicker user feedback is available leading to better solutions.Quicker user feedback is available leading to better solutions. Missing functionality can be identified easily. Confusing or difficult functions can be identified. Cons: Risk of insufficient requirement analysis owing to too much dependency on prototype. Users may get confused in the prototypes and actual systems. Practically, this methodology may increase the complexity of the system as scope of the system may expand beyond original plans. Developers may try to reuse the existing prototypes to build the actual system, even when it's not technically feasible.

Design phase

Focus on "how Break up the problem into smaller pieces Decide how each component works and how they work together End result: design specification Reviewed by designers, implementers

Testing phase

Verify the code works according to the functional specification Look for corner cases End result: test plan, program that works Reviewed by designers, coders, testers

Requirements phase

Work closely with customers Identify the problem to be solved Focus on "what" not "how" End result: functional specification Reviewed by customer

Release/Deployment phase

Work closely with customers Validate customer expectations Get feedback for next version Maintenance of this program End result: happy customers, $$$

Implementation phase

Write the code according to the design Often the shortest phase End result: program code Reviewed by designers, coders, and testers


Related study sets

Poly: Intro To Program Final Review (view in order)

View Set

Personanal FInancial MGMT test 3 10,11,12

View Set

Microeconomics - Thornton - Ch. 13

View Set