0% found this document useful (0 votes)
57 views31 pages

Software Process Week 3 Lecture 6 Instructor's Name: Saliha Zahoor

The document discusses several software development models: 1. The incremental model combines elements of the waterfall model applied iteratively, with each iteration producing deliverable software increments. 2. The RAD model emphasizes extremely short development cycles of 60-90 days to create fully functional systems through component-based construction. 3. The spiral model is iterative and couples prototyping with risk analysis, with each loop addressing a phase like requirements or design. 4. Component-based development integrates systems from existing reusable components.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views31 pages

Software Process Week 3 Lecture 6 Instructor's Name: Saliha Zahoor

The document discusses several software development models: 1. The incremental model combines elements of the waterfall model applied iteratively, with each iteration producing deliverable software increments. 2. The RAD model emphasizes extremely short development cycles of 60-90 days to create fully functional systems through component-based construction. 3. The spiral model is iterative and couples prototyping with risk analysis, with each loop addressing a phase like requirements or design. 4. Component-based development integrates systems from existing reusable components.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

Software Process Week 3 Lecture 6 Instructors name: Saliha Zahoor

Incremental Process Model


There are many situations in which initial software requirements are reasonably welldefined but the overall scope of the development effort preclude a purely linear process. There is a need to provide a limited set of software functionality to users quickly and then refine and expand on that functionality in later software releases.

The Incremental Model


The incremental model combines elements of the water fall model applied in an iterative fashion. Each linear sequence produces deliverable increments of the software. e.g Word processing software developed using the incremental paradigm. The first increment is often a core product. Where are basic requirement are addressed but many supplementary features remain undelivered.

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.

The Incremental Model

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.

The incremental model


This is a combination of the linear sequential model and the iterative model. The problem is broken into increments, and each increment is tackled as a linear sequence. Further increments can either be done after the previous ones, or can overlap with the previous ones. Incremental delivery focuses on the delivery of an operational product with each increment. Early increments are stripped-down versions of the final product.

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 Obtain requirements for later increments Lower risk of overall project failure The highest priority system services tend to receive the most testing

Incremental model advantages


Less staffing is required than in a RAD project Early delivery is guaranteed Progress of the whole project is not delayed if one of the resources is not available for part of it

The RAD Model


Rapid Application Development(RAD) is an incremental software development process model that emphasizes an extremely short development cycle. The RAD model is a high speed adaptation of the linear sequential model in which rapid development is achieved by using component based construction. If requirements are well understood and project scope is constrained the RAD Process enables the team to create a fully functional system within very short time periods e.g 60 to 90 days.

The RAD Model


A component-based construction approach is used. To use this approach, the project scope must be constrained and the requirements should be well understood. A task that should take no more than ninety days to complete is modelled, generated and implemented. There can be several teams working on different components during this ninety day time-box.

Iterative Models-RAD

RAD

The RAD Model Phases


Communication Modeling
Business Modeling Data Modeling Process Modeling

Construction
Application Generation Testing and Turnover

RAD Model Phases


Business Modeling: What information drives the business process? What information is generated? Who generate it? Where does the information go? Who processes it? Data Modeling: The information flow as part of the business modeling phase is refined into set of data objects that are needed to support the business. The characteristics of each object are identified and the relationship between these objects defined.

The RAD Model Phases


Process Modeling: Process descriptions are created for adding ,modifying , deleting or retrieving a data object. Application Generation: The RAD process works to reuse existing program components or create reusable components. Emphasizes the use of preexisting software components and the application of automatic code generation. Testing and turnover: Since RAD process emphasis reuse, many of the program components have already been tested. This reduces overall testing time. However new components must be tested and all interfaces must be fully exercised.

The RAD model


Team 1 Business modelling Data modelling Process modelling Application Generation Testing & Turnover Team 2 Business modelling Data modelling Process modelling Application Generation Testing & Turnover Team 3 Business modelling Data modelling Process modelling Application Generation Testing & Turnover 90 days

Problems with RAD


For large, scalable projects, RAD requires sufficient human resources to create the right number of RAD teams RAD requires developers and customers who are committed to the rapid-fire activities necessary to complete a system in this time frame, or failure will result. RAD is not suitable for many project types.

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

The spiral model


It explicitly embraces prototyping and an iterative approach to software development.
Start by developing a small prototype. Followed by a mini-waterfall process, primarily to gather requirements. Then, the first prototype is reviewed. In subsequent loops, the project team performs further requirements, design, implementation and review. The first thing to do before embarking on each new loop is risk analysis. Maintenance is simply a type of on-going development.

The Spiral model


Boehms (1988) spiral model couples the iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model. Software is developed in a series of incremental releases. During the early releases, there may be just a paper model, but the system becomes increasingly more complete. There are a number of framework activities (Customer communication, Planning, Risk analysis, Engineering, Construction and release, Customer evaluation). Unlike any of the other models, this model keeps revisiting the system throughout its lifetime.

Spiral Model
Precede each phase by Alternatives Risk analysis Follow each phase by Evaluation Planning of next phase

Spiral model details


Spiral model is divided into a number of framework activities, named as task regions.3-6 task regions. Each task region has its own task sets. Planning Risk analysis

Customer communication

Engineering Customer evaluation

Construction and release

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

Component Based Development


Object oriented technologies provide the technical framework for a component based process model for software engineering. This incorporates many of the characteristics of the spiral model. It is evolutionary in nature, demanding an iterative approach to the creation of software. However, it composes applications from pre-packaged software components. The construction & release activity in Boehms model is replaced by an Engineering construction and release activity.

Identify candidate component s Construct nth iteration of system Put new component s in library Build components if unavailable

Component Based Look up component s in libraryDevelopment


Extract component s if available

The Formal Method Model


Encompasses a set of activities that leads to formal mathematical specification of computer software Specify, develop and verify a computer based system by applying a rigorous mathematical notation.

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

Methods and tools


There are many methodologies and tools that are available. The methodology should fit a particular process model that is suited to the task being undertaken, and the tool or set of tools should provide automated force at related parts of the life cycle. The methodology should include diagrammatic techniques,such as SSADM for linear sequential systems or Rational Unified Process (RUP) for object-oriented systems.

You might also like