6
Abhijat Dhawal SEPM Assignment A010 (80303120011) SPIRAL MODEL The Spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. The spiral model also explicitly includes risk management within software development. Identifying major risks, both technical and managerial, and determining how to lessen the risk helps keep the software development process under control. The spiral model is based on continuous refinement of key products for requirements definition and analysis, system and software design, and implementation (the code). At each iteration around the cycle, the products are extensions of an earlier product. This model uses many of the same phases as the waterfall model, in essentially the same order, separated by planning, risk assessment, and the building of prototypes and simulations. Spiral Model Phases: Envisioning Phase. Planning Phase. Developing Phase. Stabilizing Phase. Deploying Phase. Envisioning phase- Determine objectives, alternatives and constraints. Objectives: functionality, performance, hardware/software interface, critical success factors, etc. Alternatives: build, reuse, buy, sub-contract, etc. Constraints: cost, schedule, interface, etc. Planning phase - Evaluate alternatives, identify and resolve risks Study alternatives relative to objectives and constraints Identify risks (lack of experience, new technology, tight schedules, poor process, etc.

Spiral Model & Requirement Validation

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Spiral Model & Requirement Validation

Abhijat Dhawal SEPM AssignmentA010 (80303120011)

SPIRAL MODEL

The Spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts.

The spiral model also explicitly includes risk management within software development. Identifying major risks, both technical and managerial, and determining how to lessen the risk helps keep the software development process under control.

The spiral model is based on continuous refinement of key products for requirements definition and analysis, system and software design, and implementation (the code). At each iteration around the cycle, the products are extensions of an earlier product. This model uses many of the same phases as the waterfall model, in essentially the same order, separated by planning, risk assessment, and the building of prototypes and simulations.

Spiral Model Phases: Envisioning Phase. Planning Phase. Developing Phase. Stabilizing Phase. Deploying Phase.

Envisioning phase- Determine objectives, alternatives and constraints. Objectives: functionality, performance, hardware/software interface, critical success factors, etc. Alternatives: build, reuse, buy, sub-contract, etc. Constraints: cost, schedule, interface, etc.

Planning phase- Evaluate alternatives, identify and resolve risks Study alternatives relative to objectives and constraints Identify risks (lack of experience, new technology, tight schedules, poor process, etc. Resolve risks (evaluate if money could be lost by continuing system development

Developing Phase- Develop next-level product. Create a design, Review design, Develop code, Inspect code, Test product.

Page 2: Spiral Model & Requirement Validation

Abhijat Dhawal SEPM AssignmentA010 (80303120011)

Stabilizing Phase- Steady. Develop project plan. Develop configuration management plan. Develop a test plan. Develop an installation plan.

Deploying Phase – Install

Spiral Model Strengths: Early and frequent feedback from users Users see the system early because of rapid prototyping tools Provides early indication of risks. Users can be closely tied to all lifecycle steps

Spiral Model Weaknesses Time spent for evaluating risks too large. The model is complex. Risk assessment expertise is required. May be hard to define objective, verifiable milestones that indicate readiness to proceed through

the next iteration.

Page 3: Spiral Model & Requirement Validation

Abhijat Dhawal SEPM AssignmentA010 (80303120011)

When to use Spiral Model When creation of a prototype is appropriate. Requirements are complex. Significant changes are expected. Users are unsure of their needs.

Requirement Validation

Validation – “Am I building the right product?” Checking a work productagainst higher-level work products or authorities that frame thisparticular product.

Verification – “Am I building the product right?” Checking a workproduct against some standards and conditions imposed on this type of product and the process of its development.

Requirements Validation X Requirements Verification

Page 4: Spiral Model & Requirement Validation

Abhijat Dhawal SEPM AssignmentA010 (80303120011)

Requirements Validation Process

Requirements Validation Process

Page 5: Spiral Model & Requirement Validation

Abhijat Dhawal SEPM AssignmentA010 (80303120011)

Common Problems solved by Requirements Validation

Description of unclear requirements specification.• Ambiguity between requirements.• Conflicts between requirements that were not detected in the analysis process.• Unreal Requirements• Lack of information

Quality attributes (Checklist for Requirements Validation)

comprehensibility l redundancy l completeness l ambiguity l consistency l organization l compliance with standards l traceability

Requirements Validation TechniquesStandards Review• Prototyping• Validation of Models•Testing Requirements