Professional Documents
Culture Documents
LECT-03
Introduction to SDLC Models :
SDLC is an acronym for Software Development Life Cycle .
SDLC is the process of creating the software. These models are used in order for a
sequential flow of the software development process. There are advantages and
disadvantages of SDLC models. Every organization will analyze the SDLC models
before starting a project to ensure the workflow of the development process.
Need of Software Life Cycle
Models
For More complex systems
More features
greater complexity
More chances of error prone without proper plan/cycle.
To overcome the above criteria we need systematic approach which are nothing but
software Life Cycle Models.
3
IBM Global Services – Testing Competency
5
Build And fix Model
Software life cycle models describe phases of the software cycle and the order in which
those phases are executed. There are tons of models, and many companies adopt
their own, but all have very similar patterns. The general, basic model is shown below
Application:-
Advantages:-
1
IBM Global Services – Testing Competency
System
design
Coding
Testing
Delivery
1
IBM Global Services – Testing Competency
Prototype model
In this model, a prototype (an early approximation of a final system or product) is built,
tested, and then reworked as necessary until an acceptable prototype is finally achieved
from which the complete system or product can now be developed.
Prototype paradigm begins with requirements gathering. Developer and customer meet
and define the overall objectives for the software, identify whatever requirements are
known, and outline areas where further definition is mandatory.
A quick design occurs which leads to the construction of prototype.
The prototype is evaluated by the customer/user and used to refine the requirements for
the software to be developed.
Iteration occurs as the prototype is tuned to satisfy the user requirements, while at the
same time enabling developer to better understand what needs to be done.
14
An example of a prototype is the first model of a new robot. An original object or
form which is a basis for other objects, forms, or for its models and generalizations.
An early sample or model built to test a concept or process. The prototype had loose
wires and rough edges, but it worked.
LECT-04
IBM Global Services – Testing Competency
Prototype model
Begin
Listen to Build
Prototype
Client/user
Client
evaluates the
prototype
Prototype used for
Understanding the requirements for the user interface
Examining feasibility of a proposed design approach
Disadvantages
Users treat the prototype as the solution
A prototype is only a partial solution
18
EVOLUTIONARY PROCESS MODELS
Incremental MODEL + Iterative model
Iterative Model
IN THIS MODEL THE WHOLE PRODUCT
IS DEVELOPED STEP BY STEP
Advantages:
• We can track the error or defects in early stages.
• We can get the reliable user feedback when we presenting
sketches and blueprint of the product to users for their
feedback, we are effectively asking them to imagine how the
product will work.
• Less time in documenting ,more time in design.
Disadvantages:-
Costly system design _Requirements of the system are must be
clearly defined and understood for entire life cycle(very first)
When To Use Iterative model:
Incremental model
This model does not attempt to start with full specification of requirements. Multiple
development cycles take place here, making the life cycle a ―multi-waterfall‖ cycle.
Cycles are divided up into smaller, more easily managed iterations. Each iteration
passes through the requirements, design, implementation and testing phases.
A working version of software is produced during the first iteration, so you have working
software early on during the software life cycle. Subsequent iterations build on the
initial software produced during the first iteration.
Key Points
Development and delivery is broken down into increments
Each increment delivers part of the required functionality
Requirements are prioritised and the highest priority requirements are included in early
increments
Once the development of an increment is started, the requirements are frozen
Requirements for later increments can continue to evolve
23
IBM Global Services – Testing Competency
Time
25
IBM Global Services – Testing Competency
• Generate working software quickly and early during the software life cycle.
• This model is more flexible- less costly to change scope and requirements.
• It is easier to test and debug during a smaller iteration.
• In this model customer can respond to each built.
• Lower initial delivery cost.
• Easier to manage risk because risky piece are identified and handle during it had
iteration.
Disadvantages
Lect -05
IBM Global Services – Testing Competency
Spiral - model
Presented by Boehm in 1985. The spiral model is focused on risk management.
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.
The spiral model is similar to the incremental model, with more emphases placed on risk
analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and
Evaluation. A software project repeatedly passes through these phases in iterations
(called Spirals in this model). The baseline spiral, starting in the planning phase,
requirements is gathered and risk is assessed. Each subsequent spiral builds on the
baseline spiral.
Requirements are gathered during the planning phase. In the risk analysis phase, a
process is undertaken to identify risk and alternate solutions. A prototype is produced at
the end of the risk analysis phase.
Software is produced in the engineering phase, along with testing at the end of the
phase. The evaluation phase allows the customer to evaluate the output of the project to
date before the project continues to the next spiral.
In the spiral model, the angular component represents progress, and the radius of the
spiral represents cost. 29
IBM Global Services – Testing Competency
Planning Risk
Analysis
Go/No-Go
Decision
Evaluation Development
30
IBM Global Services – Testing Competency
32
When to use this model:
34
Rapid Application Development
(RAD) model
CS 313 SOFTWARE ENGINEERING
LECT-07
Software requirements Analysis &
specification
Requirements engineering
One large
document
processing
LECT-08
Requirements :describe “what” of a system not the
“how”
types of requirements
Type 1 Type 2
known functional
Non
Unkown
functional
undreamed
• Stackholder believes to be implemented
known
V - model
Another variant of the waterfall model — the V-model — associates each development
activity with a test or validation at the same level of abstraction. Each development
activity builds a more detailed model of the system than the one before it, and each
validation tests a higher abstraction than its predecessor.
The least flexible and most obsolete of the life cycle models. Well suited to projects that
has low risk in the areas of user interface and performance requirements, but high risk
in budget and schedule predictability and control.
5
IBM Global Services – Testing Competency
V - model
System System
Requirements
Test Plan Testing
Code &
Unit test
5
IBM Global Services – Testing Competency
V - model
Advantages
Simple and easy to use.
Each phase has specific deliverables.
Higher chance of success over the waterfall model due to the development of test
plans early on during the life cycle.
Works well for small projects where requirements are easily understood.
Disadvantages
Very rigid, like the waterfall model.
Little flexibility and adjusting scope is difficult and expensive.
Software is developed during the implementation phase, so no early prototypes of the
software are produced.
Model doesn’t provide a clear path for problems found during testing phases.
56