30
Software Development Life Cycle (SDLC) By: Rishu

Software development process basic

Embed Size (px)

Citation preview

Page 1: Software development process basic

Software Development Life Cycle

(SDLC) By: Rishu

Page 2: Software development process basic

The Software Development Lifecycle is a process of building a good software and its Lifecycle stages provides Quality and Correctness of good software. All the stages of Lifecycle are important in itself. One Wrong step in Lifecycle can create a big mistake in the development of Software.

Being an Owner or stakeholder of a Software Company you must know the development life cycle of the Software. Even your buyer may also aware of this Lifecycle. So, Everyone wants to know that how its development begins, which are the development process, which is the end portion of development life cycle.

Introduction

Page 3: Software development process basic

A framework that describes the activities performed at each stage of a software development project.

It provides a fixed generic framework that can be tailored to a specific project.

Project specific parameters will include: Size, (person-years), Budget, Duration

project plan = lifecycle model + project parameters

Software Development Life Cycle

Page 4: Software development process basic

We have numerous types of SDLC models like Waterfall, Agile, Spiral etc. All this SDLC model must follow this 6 steps for developing errorless Software. Software Development Life cycle has totaled 6 Steps. All 6 steps are mentioned in below.

1. Requirement Gathering and Analysis2. System Analysis3. System Design4. Development(Coding)5. Testing6. Implementation

Software Development Lifecycle Phases

Page 5: Software development process basic

Requirement gathering and analysis is the first stage and major stage of any SDLC model. This phase is basically the brainstorming phase because it has the many sub stages for like Feasibility Analysis Stages to check how much idea can put into action for development.

In this Stages, communication taking place between stakeholders, end users and the project team. So, all the person which are related to the project and they gather information for software development.

Identify and capture stakeholder requirements using customer interviews and surveys.

Build multiple use cases to describe each action that a user will take on the new system.

In that a brand new software development takes place more requirement gathering process for development and in other already build software not need too much information and data gathering process.

1. Requirement Gathering and Analysis

Page 6: Software development process basic

This is the second phase of SDLC where the entire system is defined in detail. In fact, In this stage Developer get a detailed blueprint of the various phases of the software that developed in the project.

At this stage the system is divided into smaller parts to make it easier more manageable for the developers, designers, testers, project managers and other professionals who are going to work on the software in the latter stages.

2. System Analysis

Page 7: Software development process basic

In this phase the design of the system is designed. The Design is developed by The analysts and designers. The System analyst design the logical design for the designers and then designer get the basic idea of designing the software design of Front end and back end both.

The system analyst and Designer work together in designing the software design and Designer design the best software design under the guidance of System Analyst.

3. System Design

Page 8: Software development process basic

It is the logical part of the development process. In this phase lots of brains are working for coding and get the final successful result for the software. In this A team of programmers is assigned by the company to work on the software.

The work is subdivided under a sub-phase called Task Allocation, where each task is assigned different coder. So, the development process is working faster.

4. Coding

Page 9: Software development process basic

By process of coding, then the final process testing is proceeding. When the software is ready it is sent to the testing department where Quality Analysts test it thoroughly for different errors by forming various test cases.

Once the testing department and Quality Analyst makes sure that the software is error-free, then it goes to the next stage. So, the testing process is complete when all the testing module is complete.

5. Testing

Page 10: Software development process basic

This is the final phase of the software development life cycle. In this stage, if the software runs on various systems by users or buyers. If it runs smoothly on these systems without any flaw, then it is considered ready to be launched.

If it generates error then it goes to Testing Department for Testing and many coders write a new code for developers errorless Software.

6. Implementation

Page 11: Software development process basic

To help understand and implement the SDLC phases various SDLC models have been created by software development experts, universities, and standards organizations.

Software Development Lifecycle Models

Page 12: Software development process basic

Provides basis for project planning, estimating & scheduling

Provides framework for standard set of terminologies, activities & deliverables

Provides mechanism for project tracking & control

Increases visibility of project progress to all stakeholders

Reasons for Using SDLC Models

Page 13: Software development process basic

Increased development speed

Increased product quality

Improved tracking & control

Improved client relations

Decreased project risk

Decreased project management overhead

Advantages of Choosing an Appropriate SDLC

Page 14: Software development process basic

Waterfall

Spiral/Iterative

Agile

Common Life Cycle Models

Page 15: Software development process basic

Waterfall Model

Page 16: Software development process basic

Oldest and most well-known SDLC model

Simple, Efficient and Easy to Manage.

Follows a sequential step-by-step process from requirements analysis to maintenance.

Systems that have well-defined and understood requirements are a good fit for the Waterfall Model

Waterfall Model

Page 17: Software development process basic

Easy to understand, easy to use

Provides structure to inexperienced staff

Milestones are well understood

Sets requirements stability

Good for management control (plan, staff, track)

Works well when quality is more important than cost or schedule

Waterfall Model Strengths

Page 18: Software development process basic

All requirements must be fully specified upfront

Deliverables created for each phase are considered frozen –inhibits flexibility

Can give a false impression of progress

Does not reflect problem-solving nature of software development –iterations of phases

Integration is one big bang at the end

Little opportunity for customer to preview the system (until it may be too late)

Waterfall Model Weaknesses

Page 19: Software development process basic

Requirements are very well known

Product definition is stable

Technology is understood

New version of an existing product

Porting an existing product to a new platform.

When to use the Waterfall Model

Page 20: Software development process basic

Spiral Model

Page 21: Software development process basic

Spiral Model is a “risk-driven” iterative model

Divides a project into iterations

Each iteration deals with 1 or more risks

Each iteration starts with small set of requirements and goes through development phase (except Installation and Maintenance) for those set of requirements.

Iterate until all major risks addressed and the application is ready for the Installation and Maintenance phase (production)

Each of the iterations prior to the production version is a prototype of the application.

Last iteration is a waterfall process

Spiral Model

Page 22: Software development process basic

Provides early indication of insurmountable risks, without much cost

Critical high-risk functions are developed first

The design does not have to be perfect

Users see the system early because of rapid prototyping tools

Users can be closely tied to all lifecycle steps

Early and frequent feedback from users

Cumulative costs assessed frequently

Spiral Model Strengths

Page 23: Software development process basic

Time spent for evaluating risks too large for small or low-risk projects

Time spent planning, resetting objectives, doing risk analysis and prototyping may be excessive

The model is complex

Risk assessment expertise is required

Spiral may continue indefinitely

Developers must be reassigned during non-development phase activities

May be hard to define objective, verifiable milestones that indicate readiness to proceed through the next iteration

Spiral Model Weaknesses

Page 24: Software development process basic

When creation of a prototype is appropriate

When costs and risk evaluation is important

For medium to high-risk projects

Users are unsure of their needs

Requirements are complex

New product line

Significant changes are expected (research and exploration)

Long-term project commitment unwise because of potential changes to economic priorities

When to use Spiral Model

Page 25: Software development process basic

Agile Model

Page 26: Software development process basic

Speed up or bypass one or more life cycle phases

Usually less formal and reduced scope

Used for time-critical applications

Used in organizations that employ disciplined methods

Agile Model

Page 27: Software development process basic

Rapid Application Development (RAD)

Scrum

Extreme Programming (XP)

Adaptive Software Development (ASD)

Feature Driven Development (FDD)

Crystal Clear

Dynamic Software Development Method (DSDM)

Rational Unify Process (RUP)

Some Agile Methods

Page 28: Software development process basic

Deliver a working product faster than conventional linear development model

Customer feedback at every stage ensures that the end deliverable satisfies their expectations

No guesswork between the development team and the customer, as there is face to face communication and continuous inputs from the client

Agile Model Strengths

Page 29: Software development process basic

For larger projects, it is difficult to judge the efforts and the time required for the project in the SDLC.

Since the requirements are ever changing, there is hardly any emphasis, which is laid on designing and documentation. Therefore, chances of the project going off the track easily are much more.

Agile Model Weaknesses

Page 30: Software development process basic

THANK YOU!!!