12/08/2018, 16:17

Software Development Process Model - Part 2

Incremental development Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality. User requirements are prioritised and the highest priority requirements are included in ...

Incremental development

  • Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality.
  • User 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 though requirements for later increments can continue to evolve.

Incremental Model

  • Deliver the core product first
  • Add on / refine features
  • Provide a platform for evaluation by user

Incremental development advantages

  • Customer value can be delivered with each increment so system functionality is available earlier
  • Early increments act as a prototype to help elicit requirements for later increments
  • Lower risk of overall project failure
  • The highest priority system services tend to receive the most testing

Spiral Development

  • Process is represented as a spiral rather than as a sequence of activities with backtracking
  • Each loop in the spiral represents a phase in the process.
  • No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required
  • Risks are explicitly assessed and resolved throughout the process

Spiral model of the software process

Spiral model sectors

  • Objective setting
    • Specific objectives for the phase are identified
  • Risk assessment and reduction
    • Risks are assessed and activities put in place to reduce the key risks
  • Development and validation
    • A development model for the system is chosen which can be any of the generic models
  • Planning
    • The project is reviewed and the next phase of the spiral is planned

RAD Model

  • Rapid application development model (RAD)
  • Characteristics:
    • Extremely short development cycle
    • Component based construction i.e. develop a small component rather than a system
    • Used for information system applications
  • Drawbacks:
    • Need more resource for large projects
    • Need commitment from all parties
    • Not suitable for high performance and when technical risk is high

Component Based Development Model

  • Suitable for re-usable object oriented classes
  • Apply characteristics of spiral model

Unified Process

  • Work of Ivar Jacobson Grady Booch and James Rumbaugh
  • use case driven
  • architecture-centric
  • iterative and
  • incremental

Iterative Development Produces an Executable

Initial and evolution cycles & Time

Rational Unified Process (RUP)

Risk Profiles

Reduce Scrap/Rework: Use an Iterative Process


**Reference:** *Software Engineering A Practitioner's Approach (7th Ed.) ~ Roger S. Pressman*
0