Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

SDLC - Quick Guide

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

SDLC QUICK GUIDE

http://www.tuto rialspo int.co m/sdlc/sdlc_quick_g uide .htm

Co pyrig ht tuto rials po int.co m

SDLC Overview
SDLC, Software Development Life Cycle is a process used by software industry to desig n, develop and test
hig h quality softwares. T he SDLC aims to produce a hig h quality software that meets or exceeds customer
expectations, reaches completion within times and cost estimates.
SDLC is the acronym of Software Development Life Cycle.
It is also called as Software development process.
T he software development life cycle (SDLC) is a framework defining tasks performed at each step in the
software development process.
ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard
that defines all the tasks required for developing and maintaining software.
A typical Software Development life cycle consists of the following stag es:
Stag e 1: Planning and Requirement Analysis
Stag e 2: Defining Requirements
Stag e 3: Desig ning the product architecture
Stag e 4: Building or Developing the Product
Stag e 5: T esting the Product
Stag e 6: Deployment in the Market and Maintenance

SDLC Models
T here are various software development life cycle models defined and desig ned which are followed during
software development process. T hese models are also referred as "Software Development Process Models".
Each process model follows a Series of steps unique to its type, in order to ensure success in process of
software development.
Following are the most important and popular SDLC models followed in the industry:
Waterfall Model
Iterative Model
Spiral Model
V-Model
Big Bang Model
T he other related methodolog ies are Ag ile Model, RAD Model, Rapid Application Development and
Prototyping Models.

SDLC Waterfall Model


Following is a diag rammatic representation of different phases of waterfall model.

T he sequential phases in Waterfall model are:


Requirement Gathering and analysis: All possible requirements of the system to be developed are
captured in this phase and documented in a requirement specification doc.
System Desig n: T he requirement specifications from first phase are studied in this phase and system
desig n is prepared. System Desig n helps in specifying hardware and system requirements and also helps
in defining overall system architecture.
Implementation: With inputs from system desig n, the system is first developed in small prog rams
called units, which are integ rated in the next phase. Each unit is developed and tested for its functionality
which is referred to as Unit T esting .
Integ ration and T esting : All the units developed in the implementation phase are integ rated into a
system after testing of each unit. Post integ ration the entire system is tested for any faults and failures.
Deployment of system: Once the functional and non functional testing is done, the product is deployed
in the customer environment or released into the market.
Maintenanc e: T here are some issues which come up in the client environment. T o fix those issues
patches are released. Also to enhance the product some better versions are released. Maintenance is
done to deliver these chang es in the customer environment.
All these phases are cascaded to each other in which prog ress is seen as flowing steadily downwards (like a
waterfall) throug h the phases. T he next phase is started only after the defined set of g oals are achieved for
previous phase and it is sig ned off, so the name "Waterfall Model". In this model phases do not overlap.

SDLC Iterative Model


Following is the pictorial representation of Iterative and Incremental model:

T his model is most often used in the following scenarios:


Requirements of the complete system are clearly defined and understood.
Major requirements must be defined; however, some functionalities or requested enhancements may
evolve with time.
T here is a time to the market constraint.
A new technolog y is being used and is being learnt by the development team while working on the project.
Resources with needed skill set are not available and are planned to be used on contract basis for specific
iterations.
T here are some hig h risk features and g oals which may chang e in the future.

SDLC Spiral Model


T he spiral model has four phases. A software project repeatedly passes throug h these phases in iterations
called Spirals.
Identific ation:T his phase starts with g athering the business requirements in the baseline spiral. In the
subsequent spirals as the product matures, identification of system requirements, subsystem
requirements and unit requirements are all done in this phase.
T his also includes understanding the system requirements by continuous communication between the
customer and the system analyst. At the end of the spiral the product is deployed in the identified market.
Desig n:Desig n phase starts with the conceptual desig n in the baseline spiral and involves architectural
desig n, log ical desig n of modules, physical product desig n and final desig n in the subsequent spirals.
Construc t or Build:Construct phase refers to production of the actual software product at every
spiral. In the baseline spiral when the product is just thoug ht of and the desig n is being developed a POC
(Proof of Concept) is developed in this phase to g et customer feedback.
T hen in the subsequent spirals with hig her clarity on requirements and desig n details a working model of
the software called build is produced with a version number. T hese builds are sent to customer for
feedback.
Evaluation and Risk Analysis:Risk Analysis includes identifying , estimating , and monitoring technical
feasibility and manag ement risks, such as schedule slippag e and cost overrun. After testing the build, at
the end of first iteration, the customer evaluates the software and provides feedback.
Following is a diag rammatic representation of spiral model listing the activities in each phase:

V Model
T he V - model is SDLC model where execution of processes happens in a sequential manner in V-shape. It is
also known as Verification and Validation model.
V - Model is an extension of the waterfall model and is based on association of a testing phase for each
corresponding development stag e. T his means that for every sing le phase in the development cycle there is a
directly associated testing phase. T his is a hig hly disciplined model and next phase starts only after completion of
the previous phase.
T he below fig ure illustrates the different phases in V-Model of SDLC.

SDLC Big Bang Model


T he Big Bang model is SDLC model where there is no specific process followed. T he development just starts
with the required money and efforts as the input, and the output is the software developed which may or may not
be as per customer requirement.
B ig Bang Model is SDLC model where there is no formal development followed and very little planning is
required. Even the customer is not sure about what exactly he wants and the requirements are implemented on
the fly without much analysis.
Usually this model is followed for small projects where the development teams are very small.

Ag ile Model
Here is a g raphical illustration of the Ag ile Model:

Ag ile thoug ht process had started early in the software development and started becoming popular with time due
to its flexibility and adaptability.
T he most popular ag ile methods include Rational Unified Process (1994), Scrum (1995), Crystal Clear, Extreme
Prog ramming (1996), Adaptive Software Development, Feature Driven Development, and Dynamic Systems
Development Method (DSDM) (1995). T hese are now collectively referred to as ag ile methodolog ies, after the
Ag ile Manifesto was published in 2001.
Following are the Ag ile Manifesto principles
Individuals and interac tions . in ag ile development, self-org anization and motivation are important,
as are interactions like co-location and pair prog ramming .
Working software . Demo working software is considered the best means of communication with the
customer to understand their requirement, instead of just depending on documentation.
Customer c ollaboration . As the requirements cannot be g athered completely in the beg inning of the
project due to various factors, continuous customer interaction is very important to g et proper product
requirements.

Responding to c hang e . ag ile development is focused on quick responses to chang e and continuous
development.

RAD Model
Following imag e illustrates the RAD Model:

Following are the typical scenarios where RAD can be used:


RAD should be used only when a system can be modularized to be delivered in incremental manner.

It should be used if there.s hig h availability of desig ners for modeling .

It should be used only if the budg et permits use of automated code g enerating tools.

RAD SDLC model should be chosen only if domain experts are available with relevant business
knowledg e.

Should be used where the requirements chang e during the course of the project and working prototypes
are to be presented to customer in small iterations of 2-3 months.

Software Prototyping
T he Software Prototyping refers to building software application prototypes which display the functionality of the
product under development but may not actually hold the exact log ic of the orig inal software.
Software prototyping is becoming very popular as a software development model, as it enables to understand
customer requirements at an early stag e of development. It helps g et valuable feedback from the customer and
helps software desig ners and developers understand about what exactly is expected from the product under

development.
Following is the stepwise approach to desig n a software prototype:
Basic Requirement Identific ation: T his step involves understanding the very basics product
requirements especially in terms of user interface. T he more intricate details of the internal desig n and
external aspects like performance and security can be ig nored at this stag e.
Developing the initial Prototype: T he initial Prototype is developed in this stag e, where the very
basic requirements are showcased and user interfaces are provided. T hese features may not exactly
work in the same manner internally in the actual software developed and the workarounds are used to g ive
the same look and feel to the customer in the prototype developed.
Review of the Prototype:T he prototype developed is then presented to the customer and the other
important stakeholders in the project. T he feedback is collected in an org anized manner and used for
further enhancements in the product under development.
Revise and enhanc e the Prototype: T he feedback and the review comments are discussed during
this stag e and some neg otiations happen with the customer based on factors like , time and budg et
constraints and technical feasibility of actual implementation. T he chang es accepted are ag ain
incorporated in the new Prototype developed and the cycle repeats until customer expectations are met.

Summary
T his was about the various SDLC models available and the scenarios in which these SDLC models are used. T he
information in this tutorial will help the project manag ers decide what SDLC model would be suitable for their
project and it would also help the developers and testers understand basics of the development model being
used for their project.
We have discussed all the popular SDLC models in the industry, both traditional and Modern. T his tutorial also
g ives you an insig ht into the pros and cons and the practical applications of the SDLC models discussed.
Waterfall and V model are traditional SDLC models and are of sequential type. Sequential means that the next
phase can start only after the completion of first phase. Such models are suitable for projects with very clear
product requirements and where the requirements will not chang e dynamically during the course of project
completion.
Iterative and Spiral models are more accommodative in terms of chang e and are suitable for projects where the
requirements are not so well defined, or the market requirements chang e quite frequently.
Big Bang model is a random approach to Software development and is suitable for small or academic projects.
Ag ile is the most popular model used in the industry. Ag ile introduces the concept of fast delivery to customers
using prototype approach. Ag ile divides the project into small iterations with specific deliverable features.
Customer interaction is the backbone of Ag ile methodolog y, and open communication with minimum
documentation are the typical features of Ag ile development environment.
RAD (Rapid Application Development) and Software Prototype are modern techniques to understand the
requirements in a better way early in the project cycle. T hese techniques work on the concept of providing a
working model to the customer and stockholders to g ive the look and feel and collect the feedback. T his
feedback is used in an org anized manner to improve the product.
T he Useful Resources section lists some sug g ested books and online resources to g ain further understanding
of the SDLC concepts.
Keep visiting to us, Happy Learning !

You might also like