Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for:...

19
Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Orig inally shared for: mash hoood.webs.com

Transcript of Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for:...

Page 1: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Software Engineering

Saeed Akhtar

The University of Lahore

Lecture 4Originally shared fo

r:

mashhoood.webs.com

Page 2: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Review of Last LectureWhen Waterfall model is used?Advantages and Disadvantages of Waterfall

model?What are the steps in CBSE?Pros and cons of CBSE?How Incremental Model Works?Advantages and disadvantages of

Incremental Model?

Page 3: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Objectives

Spiral Model

RAD Model

Prototype Model

Page 4: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Spiral Model

Process is represented as a spiral rather than as a sequence of activities

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.

Page 5: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

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.

Page 6: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Advantages of Spiral Model

Estimates (budget, schedule) become more realistic

It is more able to cope with the (nearly inevitable) changes

Software engineers (who can get restless with protracted design processes) can get their hands in

Page 7: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Disadvantages of Spiral ModelLimiting re-usability

Applied differently for each application

Requires considerable expertise in risk evaluation and reduction

Risk assessment could cost more than development

Page 8: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

When to use Spiral Model When creation of a prototype is appropriate

When costs and risk evaluation is important

Users are unsure of their needs

Significant changes are expected

Page 9: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Difference b/w Waterfall and Spiral Model

Risk Factor

Requirements are freezed

Linear sequential and Loop

Spiral Model is costly

better communication between developer and customer

Page 10: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

RAD Model

Requirements planning phase

User description phase

Construction phase

Cutover phase

Page 11: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

RAD Model Strengths Time-box approach mitigates cost and

schedule risk

Reduced cycle time and improved productivity

Customer involved throughout

Focus moves from documentation to code

Page 12: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

RAD Weaknesses

Must give quick responses

Never achieving closure

Hard to use with legacy systems

Page 13: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

When to use RAD Modelwell-known requirements

User involved throughout the life cycle

Project can be time-boxed

Functionality delivered in increments

High performance not required

Page 14: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Waterfall Model Vs RAD ModelHow big is the project?Do you need a prototype?Are you using a packaged solution?How flexible is your team?How much will your customer participate in

the process?Is your project manager experienced?

Page 15: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Prototyping ModelDevelopers build a prototype during the requirements

phase

Prototype is evaluated by end users

Users give corrective feedback

Developers further refine the prototype

When the user is satisfied, the prototype code is brought up to the standards needed for a final product.

Page 16: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Advantages of Prototyping ModelCustomers can “see” the system requirements

Developers learn from customers

A more accurate end product

Unexpected requirements accommodated

Allows for flexible design and development

Page 17: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Drawbacks of Prototyping ModelBad reputation for “quick-and-dirty” methods

Maintainability may be overlooked

The customer may want the prototype delivered

Process may continue forever

Page 18: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Prototyping Model

Page 19: Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.

Thank You