You are on page 1of 17

Session – 1

Session Name: Software Development Life Cycle


Author Name: Puneet singh Duggal
Department: Computer Science / Information
Technology
Subject/Course: Software Engineering
Session Objectives
At the end of this session, the learner will be able to:

Explain about Software Development Life Cycle Models (SDLC).


Explain about the different SDLC models and compare them.
Apply different SDLC Models according to the real life problems.

Teaching Learning Material

White Board and Markers.


LCD Projector.

Page 2 Ver 1:.01 Software Development Life Cycle


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
Session Plan
Learning
Learning Aid
Time Faculty Typical Student Outcomes
Content and
(in min) Approach Activity (Blooms +
Methodology
Gardeners)

Remembering
Software Life Cycle Analogy [Picnic] Give Analogy Listen
10 Linguistic
SDLC correlates
Logical

Demonstration Remembering
[figures of types Listen Visual
Types of SDLC Models Demonstrates
15 of SDLC models] Observes Logical
Intrapersonal

Interpreting Listen Understanding


Comparison of SDLC Charts Explains Observes Verbal
15 models [Comparative Demonstrates Evaluate Logical
Charts] Discuss Intrapersonal

Case Applying
Selecting an SDLC Explains case Discuss
10 Study[Different Logical
model according to study Give Ideas
real life Interpersonal
usage Guides Solve
problems] Visual

Remembering
Q & A[Set of one Question and
Conclusion of SDLC Ask Questions Linguistic
10 on one Q & A] Answer
Intrapersonal

Software Development Life Cycle Page 3


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
Session Inputs
Software Development Life Cycle (SDLC)

Learners will be able to learn about, software development life


cycle(SDLC),its phases wiz
Plan/Requirements/Analyze/Design/Verify Validate/Execute etc.
with respect to the different phases while planning a picnic.

Suggested Activity: Analogy

Faculty: “Let’s go for a picnic. For organizing a successful picnic one has to
take care of all the prerequisites. For a picnic to be successful,

It has to be Feasible.
Its requirement should be properly known.
It should be properly planned.
It should be executed well.”

Initially there is a problem statement,

“A group of learners wants to go for a picnic, in the lakeside on a


weekend. Also, the picnic should be within 50 KM from the city limits, there
should be proper transportation for the place, the time duration should be
08 AM to 06 PM, there should be music / dance/ games for the learners,
there should be lunch/ snacks for the learners and the picnic should not
cost > Rs.500/- per head.”

Check for the feasibility of going to the picnic with respect to the
boundaries specified.

The problem in hand is logistically huge and for effectively solving the
problem it has to be broken into small manageable pieces. Then
according to the credentials and capabilities of the learners in the group
the smaller tasks should be distributed among them.
In addition there should be a group leader/ manager who will distribute the
tasks and see the overall progress.

1-Decide how many people want to go for the picnic?

Page 4 Ver 1:.01 Software Development Life Cycle


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
2-What should be the location of the picnic? Check for 50 KM boundary
3-who will arrange for the transportation?
4-who will arrange for the food?
5-who will arrange for the fun bits i.e. dance/music/games.?
6-who will collect money. Check for the limit of Rs. 500/-?
7-who will check for the overall progress?
8-who will look for the permissions for the lakeside etc.?

The above points refers to a process

FeasibilityàAnalysisàRequirement gatheringàDesignàImplementàtest

This process is similar to how software is designed & coded. The step by step
process of planning, analyzing, designing, testing and coding of software
within a set of rules and parameters is called Software Development Life
Cycle (SDLC).

The step by step process of planning, analyzing, designing, testing


and coding of software within a set of rules and parameters is
called Software Development Life Cycle (SDLC).

Types of SDLC Models

Learners will be told about various SDLC models prevailing with


the help of figures.

There are various types of SDLC models


• Build & Fix Model
• The Waterfall Model
• Incremental Model
o Iterative Model
o Rapid Application Development Model
• Evolutionary Model
o Prototyping model
o Spiral Model
Build & Fix model

Software Development Life Cycle Page 5


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
The Waterfall Model

Increment Models(Iterative Enhancement Model)(Source:


Wikipedia.com)

Increment Models(Rapid Application Development Model)

Page 6 Ver 1:.01 Software Development Life Cycle


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
Evolutionary Process Model (Prototype Model)

Evolutionary Process Model (Spiral Model)

Software Development Life Cycle Page 7


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
The selection of these models are based upon parameters such
as
• Software Size
• Software complexity
• Team Size
• Recourses
• Time Limit
• Domain knowledge of the team
• Experience of the team

Page 8 Ver 1:.01 Software Development Life Cycle


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
Comparison of SDLC models Based upon process steps of SDLC.

The learner should know how to select an SDLC model based


upon different relevant characteristics. For the same comparative
charts based upon

• Requirements
• Development Teams
• Users
• Project Type and associated risk

Is to be made available to the students.

Suggested Activity: Comparative charts


Comparative charts of SDLC with respect to

1)Requirement

2)Development Teams

Software Development Life Cycle Page 9


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
3)Users

4)Project Type and Associated Risk

Page 10 Ver 1:.01 Software Development Life Cycle


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
The selection of a suitable model is based on the following
characteristics / categories
• Requirements
• Development Teams
• Users
• Project Type and associated risk
And on factors like
• Are requirements easily understandable? Are requirements
changing often? Can we define requirements early in SDLC? Are
requirement indicating a complex system to build?
• Does the development team have less experience, domain
knowledge, tools to be used, training?
• Does the user involves in all phase or limited user participation, no
previous experience or users are domain experts
• Project is enhancement, funding is stable, tight schedule, use of
reusable components, are recourses (Time, money, people) scarce

Software Development Life Cycle Page 11


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
Selecting an SDLC model according to usage

Learners should be able to select an SDLC according to their


usage, so give them a real life example and let them choose a
SDLC for it.

Suggested Activity: Case Study


A university wishes to develop a software system for the automation &
management of its B. Tech program. The system should be online and can
be accessed by anyone having the required authorization. It should have at
least 2 levels of security and should be developed in 3 months. The system
should have the following functionalities:

• Login: The system should have a login module for security.


• Administration: The system should have an admin module for efficient
management.
• Admission: system should be able to handle admission on the basis of
an online counseling process.
• Examination: system should be able to manage semester examination
(1 to 8 semesters).
• Result: Based upon their examination the system should be able to
generate result and display it on to the university website.
• Add / Update / Delete Student record: Automated system should be
able to manage student’s record.
• Query module: The system should have a online query module where
different queries are processed
• Report Generation: Based on the user query the automated system
should generate relevant report.

Based upon the above case study and the comparative charts ask the
learners to choose a SDLC model. This exercise can be assigned to the
learners by forming groups or can be given as an assignment.

Suggestive Solution to the Case Study:

As the system is online, has different modules, has security specification, is


possible Database driven and possibly will contain huge amount of student
data. The suggestive SDLC model to be used is Spiral Model.
As Spiral Model gives the students freedom to check for risks better, also it

Page 12 Ver 1:.01 Software Development Life Cycle


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
can handle frequent change in requirements and can handle complex
systems.
Spiral model is also useful in projects where development team has less
experience (Students would have never have made such projects
previously), domain knowledge & less experience on tools.
Spiral model is appropriate where there is limited user participation, user has
no previous experience in similar projects (university is presumably would
have never have used automation software previously) and users are
experts in the domain (University people the users of the software i.e. the
university knows the system very well).
Also, Spiral model is good when the system should be highly reliable (online,
huge amount of data, levels of security),the project has tight schedule (3
months) and the recourses are scarce (students always has less resources.)

Spiral model is the best possible solution for complex, risk driven,
tight schedule, scalable & big software.

Conclusion

Learners should recall what has been taught to them and also the
application of what has been taught through a set of one on one
Q / A session.

Suggested Activity: Q&A


• SDLC stands for –Software Development Life Cycle
• Build & Fix model has__3__stages.
• Incremental model has Iterative & RAD models.
• Spiral model is of type- Evolutionary model
• Which Evolutionary model is used where development team has
less experience on similar projects-Spiral & Prototype.
Etc.

SDLC stands for Software Development Life Cycle. SDLC


involves a process which is to be followed based upon
different parameters and set of rules.
Different SDLC models are used to represent the software life
cycle based upon some parameters and requirements.

Software Development Life Cycle Page 13


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
Real life problems are also solved based upon the process.

Page 14 Ver 1:.01 Software Development Life Cycle


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
Summary
In this session, we learnt to:

Explain about Software Development Life Cycle Models (SDLC).


Explain about the different SDLC models and compare them.
Apply different SDLC Models according to the real life problems.

Software Development Life Cycle Page 15


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
Assignment
1. Choose a SDLC for a Railway reservation system, Take all the
functionalities & boundary values as the current system used by Indian
Railway.

Page 16 Ver 1:.01 Software Development Life Cycle


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)
References

www.wikipedia.com
Software Engineering (3rd Ed By K.K.Aggarwal/Yogesh Singh )
ISBN:978-81-224-2360-0

Software Development Life Cycle Page 17


Puneet Singh Duggal, Guru Ramdas Khalsa Institute of Science & Technology (GRKIST)