, , , , , , , , , , , , , , , , , , ,

SDLC Methods

1. Waterfall Model

Waterfall_modelRequirements  :
Defines needed information, function, behavior, performance and interfaces.

Design :
Data structures, software architecture, interface representations, algorithmic details.

Implementation :
Source code, database, user documentation, testing.

Verification :
Different Testing and release.

Waterfall Strengths

  • Easy to understand, easy to use
  • Provides structure to inexperienced staff
  • Milestones are well understood
  • Sets requirements stability
  • Good for management control (plan, staff, track)
  • Works well when quality is more important than cost or schedule

Waterfall Deficiencies

  • All requirements must be known upfront
  • Deliverable created for each phase are considered frozen – inhibits flexibility
  • Can give a false impression of progress
  • Does not reflect problem-solving nature of software development – iterations of phases
  • Integration is one big bang at the end
  • Little opportunity for customer to preview the system (until it may be too late)

When to use the Waterfall Model

  • Requirements are very well known
  • Product definition is stable
  • Technology is understood
  • New version of an existing product
  • Porting an existing product to a new platform

2. V Model

V-model means Verification and Validation model. Like waterfall model, the V-Shaped life cycle is a sequential path of execution of processes. Each phase must be completed before the next phase begins.  Testing of the product is planned in parallel with a corresponding phase of development.

V-Shaped Steps
  going down the chain
Project and Requirements Planning – allocate resources
Product Requirements and Specification Analysis – complete specification of the software system
Architecture or High-Level Design – defines how software functions fulfill the design
Detailed Design – develop algorithms for each architectural component

Coding – transform algorithms into software
Unit testing – check that each module acts as expected
Integration and Testing – check that modules  interconnect correctly
System and acceptance testing – check the entire software system in its environment
Production, operation and maintenance – provide for enhancement and corrections

V-Shaped Strengths

  • Emphasize planning for verification and validation of the product in early stages of product development
  • Each deliverable must be testable
  • Project management can track progress by milestones
  • Easy to use

V-Shaped Weaknesses

  • Does not easily handle concurrent events
  • Does not handle iterations or phases
  • Does not easily handle dynamic changes in requirements
  • Does not contain risk analysis activities

When to use the V-Shaped Model

  • Excellent choice for systems requiring high reliability – hospital patient control applications
  • All requirements are known up-front
  • When it can be modified to handle changing requirements beyond analysis phase
  • Solution and technology are known