Top Banner
37

What is SDLC??

Nov 18, 2014

Download

Documents

sugandhits
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: What is SDLC??
Page 2: What is SDLC??

What is SDLC??

SDLC stands for Software Development Lifecycle

A series of steps used to manage the phases of development for an information system.

It is a methodology which is followed in design and development of software, so as to ensure the correctness, cost-effectiveness, and timely delivery of software application.

Page 3: What is SDLC??

Why we need a SDLC??

Ease the process of building a system

Avoid development problems– Unclear objectives– Cost overruns– Development delays

• Avoid the system not meeting user requirements

Page 4: What is SDLC??

Waterfall Model

Problem Definition

Requirement Analysis

System Design

System Development

System Testing

Maintenance

Page 5: What is SDLC??

Problem Definition

Involves determining a solid plan for Involves determining a solid plan for developing information systemdeveloping information system

Page 6: What is SDLC??

Problem Definition

Project GoalsA broad statement of “What the user expects” from the system

Project Bounds“What areas the system effects” and what areas remain the same

Project Limits“Resource limits” (Financial, technology, human, S/w, H/w)

Page 7: What is SDLC??

Problem Definition

Define business problem and scope

Produce detailed project schedule

Confirm project feasibility Economic, organizational, technical, resource, and schedule

Staff the project (resource management)

Launch project official announcement

Page 8: What is SDLC??

Analysis Phase

Understand business needs and

processing requirements

Page 9: What is SDLC??

Analysis PhaseStudying the existing system with the aim of understanding the business process and identifying the shortcomings

Listing out the alternate solutions

Carrying out feasibility study of all the solutions

Identifying the most feasible solution and terming it as the proposed solution.

Page 10: What is SDLC??

Analysis Phase

Preparing a requirements specification document, generally known as SRS or URS, etc, which is the output of the Analysis Phase

This document also acts as a legal document between client and developer

It is later used to establish the correctness and completeness of the system

Page 11: What is SDLC??

System Design

Define solution system based on requirements and analysis decisions

OR

Build a technical blueprint of how the proposed system will work

Page 12: What is SDLC??

System Design

Design Phase we plan “How to do!”

Identifying the processes and interaction between processes in detail

Charting out the flow of data between various stages of Business Process

Identifying the sources of data and data stores

Page 13: What is SDLC??

System Design

Formalizing input from environment and output to environment

Design the application architecture

Design the user interfaces

Design the system interfaces

Page 14: What is SDLC??

Development Phase

Take all of your detailed design documents from the design phase and transform them into an actual system

Page 15: What is SDLC??

Development PhaseDevelopment phase or Coding Phase marks the implementation of business logic and enhancements using programming language

Main activities performed in this phase are: Development of forms (interface to user, GUI)

Development of reports

Validations to implement business logic are put in during this phase

Database is created during this phase

Page 16: What is SDLC??

Development Phase

The output of the Development Phase is the developed software that is released to QA for testing

Documentation for the software developed is also prepared during this phase

Page 17: What is SDLC??

System Testing

Verifies that the system works and meets all of the business requirements defined in the analysis phase

Page 18: What is SDLC??

System TestingIn this phase the software is tested by QA team

The main aim of this phase is to ensure that all the modules of the software are working fine as independent entities as well as dependent unit

Main activities performed in this phase are:Creation of test plans and test casesUnit Testing, Black box and White Box TestingAlpha and Beta testingIntegration testingLoad, stress and system testing

Page 19: What is SDLC??

System TestingPerform the testing of the system

Unit testing – tests individual units of codeSystem testing – verifies that separate systems work together Integration testing – verifies that the units of code function correctly when integratedUser acceptance testing (UAT) – determines whether system satisfies the business requirements

Output of the Testing Phase is a tested working software

Page 20: What is SDLC??

Implementation & Maintenance Phase

IMPLEMENTATION:

Distribute the system to all of the knowledge workers and they begin using the system to perform their everyday jobs

MAINTENANCE:After software is installed at client-end.Generally we call it after sale service

Page 21: What is SDLC??

Implementation Phase

Installation of the system at the client end

Eliminate errors in the system during its working life.

Fixing any bugs and problem found by users

Tune the system to any variations in its working environment

Page 22: What is SDLC??

Implementation Phase

Implementation can be done under 4 strategies:

Parallel implementation – use both the old and new system simultaneouslyPlunge implementation – discard the old system completely and use the new Pilot implementation – start with small groups of people on the new system and gradually add more usersPhased implementation – implement the new system in phases

Page 23: What is SDLC??

Maintenance Phase

This is the longest and most expensive phase in SDLC and stretches right through the lifecycle of the software.

It includes all the activities, after the software is successfully installed, to keep it running and adapt to the changing business conditions.

Page 24: What is SDLC??

Waterfall model: advantages

It is a well understood mature process

Easy to manage projects

Produces robust, well-structured systems

High process visibility

Page 25: What is SDLC??

Waterfall model: problemsInflexible partitioning of the project into distinct stagesMakes it difficult to respond to changing customer requirements One phase must be completed before the next phase starts

At the beginning of most projects there is often a great deal of uncertainty about requirements and goals, and it is therefore difficult for customers to identify these criteria on a detailed level. The model does not accommodate this natural uncertainty very well.

Page 26: What is SDLC??

Waterfall model: problems

No phase can be repeatedAssumptions made in the early phases no longer holdSome of the early work is incompleteSomething was overlooked or not completely understood.

• Therefore, this model is only appropriate when• The requirements are well-understood• Requirement changes are limited

Page 27: What is SDLC??

Incremental development…

Valida teincrement

Develop systemincrement

Design systemarchitecture

Integrateincrement

Valida tesystem

Define outline requirements

Assign requirements to increments

System incomplete

Finalsystem

Page 28: What is SDLC??

Incremental development

The development and delivery is broken down into increments with each increment delivering part of the required functionality

User requirements are prioritised and the highest priority requirements are included in early increments

Once the development of an increment is started, the requirements are frozen

But requirements for later increments can continue to evolve

Page 29: What is SDLC??

Advantages

Customer value can be delivered with each increment so system functionality is available earlier

Early increments act as a prototype to help elicit requirements for later increments

Lower risk of overall project failure

Different processes can be used for increments

Page 30: What is SDLC??

Disadvantages

Difficulty of identifying the common facilities needed by all sub-systems

Page 31: What is SDLC??

Spiral development

Riskanalysis

Riskanalysis

Riskanalysis

Riskanalysis Proto-

type 1

Prototype 2Prototype 3

Opera-tionalprotoype

Concept ofOperation

Simulations, models, benchmarks

S/Wrequirements

Requirementvalidation

DesignV&V

Productdesign Detailed

design

CodeUnit test

IntegrationtestAcceptance

testService Develop, verifynext-level product

Evaluate alternativesidentify, resolve risks

Determine objectivesalternatives and

constraints

Plan next phase

Integrationand test plan

Developmentplan

Requirements planLife-cycle plan

REVIEW

Page 32: What is SDLC??

Spiral development

Process is represented as a spiral rather than as a sequence of activities with backtracking

Each loop in the spiral represents a phase in the process.

No fixed phases such as specification or designloops in the spiral are chosen depending on what is required

Risks are explicitly assessed and resolved throughout the process

Page 33: What is SDLC??

Spiral model sectors

Objective settingSpecific objectives for the phase are identified

• Risk assessment and reductionRisks are assessed and activities put in place to reduce the key risks

Page 34: What is SDLC??

Spiral model sectors

Development and validationA development model for the system is chosen which can be any of the generic models

Develop and validate the system in the current phase

• Planning– The project is reviewed and the next phase of the

spiral is planned

Page 35: What is SDLC??

Spiral model…

Identifies probable risks in advance and tries to minimize themDifferent processes maybe used for different loops in the spiral

Advantages:Advantages:

Occurrence of a risk item could result in project delay, exceeding cost or even failure

Disadvantages:Disadvantages:

Page 36: What is SDLC??

PrototypingPrototype refers to a working model of an information system

Its characteristics are:Prototype is a live, working application

Purpose of prototyping is to test out assumptions made by analysts and user about required system feature

Can be created quickly

Relatively less expensive to build

Page 37: What is SDLC??

Steps involved in prototyping

1. Identify user requirements2. Develop the prototype3. Determine whether the prototype is acceptable;

if not repeat step 1 and 24. Code the operational system5. Test it6. Determine whether the operational system in

acceptable; if no repeat step 4 and 57. Use the operation system