Академический Документы
Профессиональный Документы
Культура Документы
1.
2.
3.
4.
Life cycle
Various types of life cycles
Variant life cycles
Pros and Cons
Process Model
To
Process Model
Nature
Characteristics of software
development
Problem
solving loop
Status quo
Problem definition
Technical development
Solution Integration
Types
Build
agreed specification
No design
Directly code
Rework as many times as required till
customer is satisfied
Immature companies use this
cannot be expected
Maintenance would be very costly
Illusion of low cost
It will lack integrity
Waterfall model
Analysis
Req. Specs
Analysis
Design
DEV - CODING
Imppl
team
SYSTEM
TEST
Version
control
tool
Imppl
team
INTEGRATION
TESTING
PROD
Imppl
team
Operations
Maintain..
Waterfall model
It is also called as
SDLC
model
Linear sequential model
Classical life cycle model
Waterfall model
Software
Project planning
Requirements definition
Design
Development
Integration and testing
Installation and acceptance
Waterfall model
Linear
and sequential
Distinct goal for each stage
Once a stage is completed, you proceed
to the next stage without turning back
Each stage is separate
There is no overlap or iteration between
the stages
Each stage has an exit criteria which
should be met before next stage can
begin
and managerial
control
Could be implemented for all size
projects where requirements do not
change
At the end of every stage,there is an
output deliverable
Spiral model
Spiral model
Preferred
projects
Waterfall model with risk analysis factor
Phases
Planning
Risk Analysis
Engineering
Evaluation
Spiral model
-
Spiral model
Each
Spiral model
Prototype model
Disposable
Prototype model
Prototype model
gather requirements
developer & customer
define overall
objectives, identify areas needing more
investigation risky requiremnets
quick design focusing on what will be
visible to user input & output formats
use existing program fragments,
program generators to throw
together working version
prototype evaluated and requirements
refined
Prototype model
process
Prototype
customer
Iterative model
Concept
Requirements
Architectural
design
Iteration 1,2,3,4.,n
Detailed
design
Code
Unit
test
System test
Release
Maintenance
Iterative model
Each
release is is developed in a
specific, fixed time period called
iteration
Each iteration will focus on set of
requirements
Take all high priority risks in the first
iteration so that risk at the end of the
project is minimal
Iterative model
Mini
V - model
Courtesy: Wikipedia
V - model
Extension
of waterfall model
The process step bent upwards after
coding phase to form V shape
Verification and validation at each
stage
Test design starts before coding
Rapid application
development
Extremely
cycle
Variant of prototype model
Iterative in nature
Useful for short term projects where
completion of projects on time is
important
Time constraint on each phase for
quick development of project
Rapid development is achieved by
using a component-based
construction approach
Rapid application
development
Selection
criteria
Is consistency needed?
Typical
Consistency - considerations
Easier
to audit
Templates available for all aspects
Status reports are similar and hence easy
to compare
All planning and control activities would be
the same across projects
Managers and team members get a
comfortable feeling
Consistency - drawbacks
When
Agile
Agile
Agile Traditional
comparison
Team
Agile
Collection
Agile principles
Welcome
Agile principles
Day
Agile methodologies
Agile
Extreme programming
Feature driven development
Dynamic system development method
Adaptive Software development
Scrum
Extreme Programming
Communication,
Feedback, Simplicity
and courage
Rapid feedback, Simple design and
process
Small incremental release, Embrace
change
Deliver Quality, Start small and grow big
Light weight, Play to win
Honest communication, testing, metrics
Adapt to situation, Accept responsibility
Motivated team
User stories in XP
End
user requirement
Use index cards 3 * 5 inches
Each user story may contain title, short
description and estimation
Story is valid if it can be estimated
Extreme Programming
Development
life cycle
Release planning
Which
first?
Iteration planning
How
Extreme Programming
Phases
Release planning
Exploration User Story and estimation
Commitment Prioritize the story
Steering Change handling
Iteration planning
Exploration Translate user story to task,
estimate task
Commitment Assign task to developer
Steering Design, Code, Test, Refact
FDD - Structure
Identify
the features
Prioritize the features
Define iterations and time boxes
Plan iteration
Create releases
XP and FDD
Iteration
SCRUM
SCRUM
Terms in SCRUM
Product
Development flow
Product
Roles in SCRUM
Pig
Dynamic System
development method
It
Phases in DSDM
Feasibility
study
Business study
Functional model iteration
Design and build iteration
Implementation
Adaptive software
development
Based
ASD
Speculate
Maps to Plan
Collaborate Maps to Execute
Learn Maps to Review
ASD
Speculate
Define
project scope
Set time for scope
Decide on number of iterations
Break scope to tasks
Assign task to developer
Collaborate
Learn review and provide feedback