02-Sdlc Models (i)
02-Sdlc Models (i)
AND DEVELOPMENT
SE-351
Muhammad Waheed Khan
Software Development Lifecycle
Models Overview
Software Process Models
Software Development Life Cycle
• Maintenance
Software Process Models
Software Development Process Models
• Waterfall model
• V model
• Prototyping model
• Operational specification
• Transformational model
• Phased development: increments and iterations
• Spiral model
• Agile methods
Software Process Models
Waterfall Model
• One of the first process development models proposed
• Works for well understood problems with minimal or no changes in the requirements
• In it, one development stage should be completed before the next begins, thus when all the requirements are elicited from the
customer, analyzed for completeness and consistency and documented in a requirement document, then the development team
can go on to system design activities.
• It presents
• a very high-level view of what goes on during development
• sequence of process activities
• Prototyping helps
• developers assess alternative design strategies (design prototype)
• users understand what the system will be like (user interface prototype)
- Verification : ensures that each function works correctly. It checks quality of the
implementation.
Software Process Models
Waterfall Model with Prototype (cont.)
• Uses unit testing to verify program design i.e., during unit and
integration testing, the coders and test team members should
ensure that all aspects of the program design have been
implemented correctly in the code.
• Prototype Model places more effort in creating the actual software instead of
concentrating on documentation. This way, the actual software could be released in
advance.
• Prototyping requires more user involvement and allows them to see and interact with a
prototype allowing them to provide better and more complete feedback and
specifications.
• The presence of the prototype being examined by the user prevents many
misunderstandings that occur when each side believe the other understands what they
said. The final product is more likely to satisfy the user’s desire for look, feel, and
performance
Software Process Models
Phased Development: Increments and Iterations
• One way to reduce cycle time is to use phased
development.
• System delivered in pieces
• enables customers to have some functionality while the rest is
being developed
Software Process Models
Phased Development: Increments and Iterations
• The developers build Release1, test it and turn it over to the users as the
first operational release.
• As the users use Release1, the developers are building Release2.
• Thus, the developers are always working on Release n+1 while Release n is
operational.
Software Process Models
Phased Development: Increments and Iterations (cont.)
Approaches of development in releases:
• Incremental development:
- The system as specified in requirement document is partitioned into
subsystems by functionality.
- The releases are defined by beginning with one small functional
subsystem and adds functionality with each new release.
• Iterative development:
- Delivers a full system in the beginning and then changes functionality
of each subsystem with each new release
Software Process Models
Phased Development: Increments and Iterations (cont.)
Software Process Models
Phased Development: Increments and Iterations (cont.)