Top Banner
Various Software Life Cycles Models
36

Software Life Cycle Models

Apr 11, 2017

Download

Education

Ankit Naithani
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Life Cycle Models

Various Software Life Cycles Models

Page 2: Software Life Cycle Models

SDLC(SOFTWARE DEVELOPMENT LIFE CYCLE)

Page 3: Software Life Cycle Models

OVERVIEW OF SDLCSDLC stands for software development lifecycle. A software development lifecycle is essentially a series of steps, or phases, that provide a model for the development and lifecycle management of an application or piece of software.

Page 4: Software Life Cycle Models

STAGES OF SDLCStage 1: Planning and Requirement Analysis

Stage 2: Defining Requirements

Stage 3: Designing the product architecture

Stage 4: Building or Developing the Product

Stage 5: Testing the Product

Stage 6: Deployment in the Market and Maintenance

Page 5: Software Life Cycle Models

SDLC ModelsThere are various software development life cycle models defined and designed which are followed during software development processIt may be required to choose the SDLC phases according to the specific needs of the project. 

Page 6: Software Life Cycle Models

Following are the most important and popular SDLC models followed in the industry:Waterfall ModelIterative ModelSpiral ModelV-ModelPrototype Model

Page 7: Software Life Cycle Models

User Requirements

Software Requirements

Architecture Design

Detailed design & Coding

Testing

Delivery

The WaterfallLifecycle Workflow

Time

User Requirements Document

Software Requirements Document

Architectural DesignDocument

DetailedDesign & Code

phaseoutput

”Swimmingupstream”

Page 8: Software Life Cycle Models

Requirement Gathering and analysis: Gathering requirements for the project is the most important part of the SDLC. All possible requirements of the system to be developed are captured in this phase and documented in a requirement specification doc.

Page 9: Software Life Cycle Models

System Design:  In this phase the system and software design is prepared from the requirement specifications which were studied in the first phase. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture

Page 10: Software Life Cycle Models

Implementation: With inputs from system design, the system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality which is referred to as Unit Testing.

Page 11: Software Life Cycle Models

Integration and Testing : All the units developed in the implementation phase are integrated into a system after testing of each unit. Post integration the entire system is tested for any faults and failures.

Page 12: Software Life Cycle Models

Maintenance : There are some issues which come up in the client environment. To fix those issues patches are released. Also to enhance the product some better versions are released. Maintenance is done to deliver these changes in the customer environment.

Page 13: Software Life Cycle Models

ADVANTAGES

1.This model is simple and easy to understand and use.

2.Waterfall model works well for smaller projects where requirements are very well understood.

3.In this model phases are processed and completed one at a time. Phases do not overlap.

Page 14: Software Life Cycle Models

DISADVANTAGES

1.Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage.

2.High amounts of risk and uncertainty.3.Poor model for long and ongoing projects.

Page 15: Software Life Cycle Models

SDLC Iterative Model

Page 16: Software Life Cycle Models

An iterative life cycle model does not attempt to start with a full specification of requirements. Instead, development begins by specifying and implementing just part of the software, which can then be reviewed in order to identify further requirements. This process is then repeated, producing a new version of the software for each cycle of the model.

Page 17: Software Life Cycle Models

1. Requirements of the complete system are clearly defined and understood.

2. Major requirements must be defined; however, some functionalities or requested enhancements may evolve with time.

3. There is a time to the market constraint.4. A new technology is being used and is being learnt

by the development team while working on the project.

5. Resources with needed skill set are not available and are planned to be used on contract basis for specific iterations.

6. There are some high risk features and goals which may change in the future.

Page 18: Software Life Cycle Models

Advantages1. In iterative model we are building and

improving the product step by step. Hence we can track the defects at early stages. This avoids the downward flow of the defects.

2. In iterative model less time is spent on documenting and more time is given for designing.

Page 19: Software Life Cycle Models

DISADVANTAGES1.Each phase of an iteration is rigid with no

overlaps2.Costly system architecture or design issues

may arise because not all requirements are gathered up front for the entire lifecycle

Page 20: Software Life Cycle Models

SPIRAL MODEL

Page 21: Software Life Cycle Models

The spiral model is similar to the iterative model, with more emphasis placed on risk analysis.The spiral model has four phases:1. Identification2. Design3. Construct or Build4. Evaluation and Risk Analysis

Page 22: Software Life Cycle Models

Identification : This phase starts with gathering the requirements. Identification of system requirements, subsystem requirements and unit requirements are all done in this phase.

Page 23: Software Life Cycle Models

Design : Design phase starts with the conceptual design in the baseline spiral and involves architectural design, logical design of modules, physical product design and final design in the subsequent spirals.

Page 24: Software Life Cycle Models

Construct or Build : Construct phase refers to production of the actual software product at every spiral. In this phase software is developed, along with testing at the end of the phase. Hence in this phase the development and testing is done.

Page 25: Software Life Cycle Models

Evaluation and Risk Analysis : Risk Analysis includes identifying, estimating,and monitoring technical feasibility and management risks, such as schedule slippage and cost overrun. After testing the build, at the end of first iteration, the customer evaluates the software and provides feedback.

Page 26: Software Life Cycle Models

ADVANTAGES 1.High amount of risk analysis hence,

avoidance of Risk is enhanced.2.Good for large and mission-critical projects.3.Strong approval and documentation control.4.Additional Functionality can be added at a

later date.5.Software is produced early in the software

life cycle.

Page 27: Software Life Cycle Models

DISADVANTAGES1.Can be a costly model to use.2.Risk analysis requires highly specific

expertise.3.Project’s success is highly dependent on

the risk analysis phase.4.Doesn’t work well for smaller projects.

Page 28: Software Life Cycle Models

V Model

Page 29: Software Life Cycle Models

V- model means Verification and Validation model. Just like the waterfall model , the V-Shaped life cycle is a sequential path of execution of processes. Each phase must be completed before the next phase begins. Testing of the product is planned in parallel with a corresponding phase of development in V- model.

Page 30: Software Life Cycle Models

Advantages

1.Easy to use2.Simple to use3.Hence higher chance of success

over the waterfall model4.Avoids the downward flow of the

defects

Page 31: Software Life Cycle Models

DISADVANTAGES

1.Least flexible2.Software is developed during the

implementation phase, so no early prototypes of the software are produced.

3.If any changes happen in midway, then the test documents along with requirement documents has to be updated.

Page 32: Software Life Cycle Models

PROTOTYPE MODEL

Page 33: Software Life Cycle Models

A prototype is made first and based on it final product is developed.  This prototype is developed based on the currently known requirements. Prototyping is an attractive idea for complicated and large systems for which there is no manual process or existing system to help determining the requirements.It enables to understand customer requirements at an early stage of development. It helps get valuable feedback from the customer and helps software designers and developers understand about what exactly is expected from the product under development.

Page 34: Software Life Cycle Models

ADVANTAGES1.Increased user involvement in the product

even before implementation.2.Errors can be detected much earlier.3.Reduces time and cost as the defects can be

detected much earlier.4.Confusing or difficult functions can be

identified

Page 35: Software Life Cycle Models

DISADVANTAGES1.Leads to implementing and then repairing

way of building systems.2.Incomplete problem analysis.3.Users may get confused in the prototypes

and actual systems.

Page 36: Software Life Cycle Models

THANK YOU