Software Process Week 3 Lecture 6 Instructor's Name: Saliha Zahoor
Software Process Week 3 Lecture 6 Instructor's Name: Saliha Zahoor
The incremental
The core product is used by the customers and as a result of use a plan is developed for the next increment. The incremental process model like prototyping and other evolutionary is iterative in nature.
Incremental Model
Functionality produced and delivered in small increments Focus attention first on essential features and add functionality only if and when needed May be hard to add features later Variant: Incremental implementation only
Follow waterfall down to implementation During requirements analysis and system design
Define useful subsets that can be delivered Define interfaces that allow adding later smoothly
Different parts implemented, tested, and delivered according to different priorities and at different times.
Iterative Models-RAD
RAD
Construction
Application Generation Testing and Turnover
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
Precede each phase by Alternatives Risk analysis Follow each phase by Evaluation Planning of next phase
Customer communication
Process iteration
Modern development processes take iteration as fundamental, and try to provide ways of managing, rather than ignoring, the risk System requirements ALWAYS evolve in the course of a project so process iteration where earlier stages are reworked is always part of the process for large systems Iteration can be applied to any of the generic process models Two (related) approaches
Incremental development Spiral development
Component-oriented development
Based on systematic reuse where systems are integrated from existing components or COTS (Commercial-off-the-shelf) systems Process stages
Component analysis Requirements modification System design with reuse Development and integration
This approach is becoming more important but still limited experience with it
Component
Building blocks for information systems each block, of Whatever shape, has a standard interface that allows it to be stacked and/or connected to other blocks Components may be partially or wholly instantiated objects.
Partial instantiation may require parameterization (with recompilation and linking) and/or development and integration of customization code Wholly instantiated components can be introduced into a system through plug-and-play mechanisms, such as the loading of plug-ins in Netscape Navigator
Identify candidate component s Construct nth iteration of system Put new component s in library Build components if unavailable
Advantages
Mechanism for eliminating ambiguity, incompleteness, and inconsistency Formal methods provide mathematical analysis for ensuring correct analysis and design
Disadvantages
Quiet expensive and time consuming Extensive Training required Difficult to communicate for technically unsophisticated customer