8/6/2019 6 Sdlc
1/23
SDLC
Introduction
to
Software Development Life Cycle
8/6/2019 6 Sdlc
2/23
What is Software Engineering?
Software Computer programs + related documentation +relevant configuration data
Engineering Application of systematic, disciplined approach
to find solutions to problems
Software Engineering .. Concerned with all aspects of software
development (Ian Sommerville)
8/6/2019 6 Sdlc
3/23
8/6/2019 6 Sdlc
4/23
Initiation
Activities:
Identify a business
need or opportunity. Identify project sponsor
Form a Project Team
Review and Approval
Sent for approval.
Deliverables:
Concept Proposal
8/6/2019 6 Sdlc
5/23
System concept development
Activities:Study and analyze
the business need.Plan the projectStudy and analyze
the risks of thesystem.
Obtain ProjectFunding, Staff andResources
Deliverables:System Boundary
Document
Cost Benefit Analysis.
Feasibility Study.Risk Management Plan.
8/6/2019 6 Sdlc
6/23
Planning
Activities:
Analyze ProjectSchedule.
Establish Agreementswith Stakeholders.
Develop the ProjectManagement Plan.
Deliverables:
ConfigurationManagement Plan.
Quality Assurance Plan.
Concept of Operations.
Project ManagementPlan.
8/6/2019 6 Sdlc
7/23
Requirement Analysis
Activities:Analyze and
DocumentRequirements to alevel of detailsufficient forsystems design toproceed
Develop the TestCriteria and Plans.
Conduct FunctionalReview.
Deliverables:
RequirementsDocument
Test and EvaluationMaster Plan.
8/6/2019 6 Sdlc
8/23
8/6/2019 6 Sdlc
9/23
Design
Activities:Design the
Application: software
architecture,detailed designDesign
Conversion/Migration/TransitionStrategies.
Conduct DesignReview
Deliverables:
Conversion Plan.
System DesignDocument.
8/6/2019 6 Sdlc
10/23
8/6/2019 6 Sdlc
11/23
Integration and Test
Activities:
Integrate and testvariouscomponents of the
system
SystematicIntegration test
System test
Deliverables:
Test Reports
8/6/2019 6 Sdlc
12/23
Implementation
Implementation:The system or system modifications are installed
and made operational in a productionenvironment.
The phase is initiated after the system has beentested and accepted by the user.
This phase continues until the system is operatingin production in accordance with the defineduser requirements.
8/6/2019 6 Sdlc
13/23
Operations and Maintenance
Operations and Maintenance :The system is monitored for continued
performance in accordance with userrequirements, and needed system
modifications are incorporated.The operational system is periodically
assessed through In-Process Reviews todetermine how the system can be made
more efficient and effective.Operations continue as long as the system
can be effectively adapted to respond toan organizations needs. Whenmodifications or changes are identified asnecessary, the system may reenter the
8/6/2019 6 Sdlc
14/23
Documentation
Various documents created/revised/ referenced atdifferent phases are described in the document:
Microsoft Word
Document
8/6/2019 6 Sdlc
15/23
Software Processes, Models
A software process is a set of activities andassociated results to produce a softwareproduct.
A software process model is a simplified
description of a software process. We shall quickly go through a few Process
Models the next few slides
8/6/2019 6 Sdlc
16/23
Waterfall Model
Problems:This assumes
that allrequirementsare clearlydefined right inthe beginning.
This is verydifficult formostcustomers.
The finaldelivery
happens afterthe entire
8/6/2019 6 Sdlc
17/23
Prototyping Model
This model starts with gatheringrequirements, proceeds to a quickdesign focusing on aspects visible tothe customer/user and then todevelopment.
The purpose is to identify / refinesoftware requirements. Once this isserved, the proto is thrown.
Problems:
Since the objective is to developsomething quickly to satisfy thecustomer, quality of the deliverable issacrificed.
Sometimes it is difficult to convince the
customer that the actual development is
8/6/2019 6 Sdlc
18/23
RAD Model
Rapid Application Development Model
High speed adaptation of Waterfall model
Depends on Component based construction:heavy use of reusable components
Problems: Large projects need a large pool of professionals
to work in parallel
Works for systems that can be modularized
8/6/2019 6 Sdlc
19/23
Evolutionary Software Models
Based on the evolutionary nature of software
Iterative
Specification, development and validationcarried out concurrently, with rapidfeedback across activities.
8/6/2019 6 Sdlc
20/23
Incremental Model
8/6/2019 6 Sdlc
21/23
Incremental Model- evaluation
Merits:
First increment is often a core product
Delivery of operational product with each
increment Particularly useful when you encounter a
difficult business deadline: you can havefewer people to start with and add more, ifnecessary, to implement the next increment.
8/6/2019 6 Sdlc
22/23
Spiral Model
8/6/2019 6 Sdlc
23/23
Spiral Model - evaluation
Merits:Technical development and risk
management integrated, hence risksare minimized.
Can be adapted to apply throughoutthe life of the computer software
Depends on risk assessment expertisefor success: problems may occur if a
major risk is not identified.Demerits:Not used widely: hence efficacy
uncertain