You are on page 1of 15

Software Development Life Cycle (SDLC) An Overview

3/10/2006

Email: kjpratap13@hotmail.com

1

What is Software Development ?
Software Development is a set of activities that results in a software system or product

3/10/2006

Email: kjpratap13@hotmail.com

2

Typical Development Activities
•Market research •Gathering requirements for the proposed business solution •Analyzing the problem •Devising a plan or design for the softwarebased solution •Implementation (coding) of the software •Testing the software •Deployment •Maintenance and bug fixing
3/10/2006 Email: kjpratap13@hotmail.com 3

Software Development Complexities
• The complexity of software results from the variety of

developed software products

• The variety of used methods and tools • The variety of used basic software - and hardware • The different development teams • The specific organizational structures • The time orientation of individual documents.
3/10/2006 Email: kjpratap13@hotmail.com 4

Software Development Complexities……contd.

3/10/2006

Email: kjpratap13@hotmail.com

5

Software Development Complexities….. contd

3/10/2006

Email: kjpratap13@hotmail.com

6

SDLC - The Waterfall Model

3/10/2006

Email: kjpratap13@hotmail.com

7

SDLC - Prototype Model
In software development, a prototype is a rudimentary working model of a product or information system, usually built for demonstration purposes or as part of the development process Proof-of-Principle Prototype: This type of prototype is used to test some aspect of the intended design without attempting to exactly simulate the visual appearance, choice of materials or intended manufacturing process

3/10/2006

Email: kjpratap13@hotmail.com

8

SDLC - Spiral Model
This model of development combines the features of the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and complicated projects.

3/10/2006

Email: kjpratap13@hotmail.com

9

SDLC – Rapid Application Development - RAD Model
RAD develops products in a sequence of small upgrades: each release has slightly more functionality than the previous one, and over time the product matures into a finished product.

3/10/2006

Email: kjpratap13@hotmail.com

10

SDLC – Agile Model
Agile chooses to do things in small increments with minimal planning, rather than long-term planning. Iterations are short time frames (known as 'timeboxes') which typically last from one to four weeks.
Agile methodologies generally promote: •A project management process that encourages frequent inspection and adaptation; •A leadership philosophy that encourages team work, selforganization and accountability; • A set of engineering best practices that allow for rapid delivery of highquality software; •A business approach that aligns development with customer needs and company goals.
3/10/2006 Email: kjpratap13@hotmail.com 11

SDLC – Synchronize & Stabilize Model
This is a systems development life cycle model in which teams work in parallel on individual application modules, frequently synchronizing their code with that of other teams, and debugging (stabilizing) code regularly throughout the development process Continually synchronize what people are doing as individuals and as members of parallel teams, and periodically stabilize the product in increments as a project proceeds, rather than once at the end of a project. Cusumano and Yoffie studied commonalities between processes Microsoft used in developing Internet Explorer and those Netscape Communications Corp. used in developing Netscape communicator. The researchers found that, among other similarities, both companies compiled all the project code nightly.

3/10/2006

Email: kjpratap13@hotmail.com

12

SDLC – V Model
V-model is a software development process which can be presumed to be the extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing.

3/10/2006

Email: kjpratap13@hotmail.com

13

Primary Focus of SDLC
The structure imposed by all of the SDLC studied is specifically designed to maximize the probability of a successful software development effort. • • • • Scope Restriction Progressive Enhancement Pre-defined Structure Incremental Planning

These above four concepts combine to mitigate the most common risks associated with software development efforts in combination of effective complexity management to achieve the goal of SDLC.

3/10/2006

Email: kjpratap13@hotmail.com

14

Thank You Questions

3/10/2006

Email: kjpratap13@hotmail.com

15