Software Life Cycle Models



Similar documents
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

Software Engineering. What is a system?

Software Life Cycle Processes

Unit I. Introduction

Software Development Process

Software Process Models. Xin Feng

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Software Development Life Cycle

How To Model Software Development Life Cycle Models

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI.

Evolving a New Software Development Life Cycle Model SDLC-2013 with Client Satisfaction

Software Development Life Cycle (SDLC)

SWEBOK Certification Program. Software Engineering Management

Software development lifecycle

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

SOFTWARE PROCESS MODELS

Software Project Models

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Chakra Vs Spiral Model - A Practical Approach

Classical Software Life Cycle Models

COMP 354 Introduction to Software Engineering

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

COMPARISON OF VARIOUS SDLC MODELS

To introduce software process models To describe three generic process models and when they may be used

Software Development Process Models

The Spiral development model is a risk-driven process model generator. It

Software Development Life Cycle & Process Models

A Comparison between Five Models of Software Engineering

General Problem Solving Model. Software Development Methodology. Chapter 2A

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Introduction to Software Engineering

SDLC Models. Waterfall Model

Unit 1 Learning Objectives

International Journal of Advanced Research in Computer Science and Software Engineering

Cost Estimation Strategies COST ESTIMATION GUIDELINES

Project Management. Software Projects vs. Engineering Projects

Requirements Analysis (RA): An Analytical Approach for Selecting a Software Process Models ABSTRACT

Software Process for QA

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

A Capability Maturity Model (CMM)

CSE 435 Software Engineering. Sept 16, 2015

Software Engineering. Objectives. Designing, building and maintaining large software systems

CS4507 Advanced Software Engineering

Software Development Life Cycle Models - Process Models. Week 2, Session 1

CSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models

The most suitable system methodology for the proposed system is drawn out.

Lifecycle Models: Waterfall / Spiral / EVO

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell

And the Models Are System/Software Development Life Cycle. Why Life Cycle Approach for Software?

Lecture 3 Software Development Processes

Chapter 1: Introduction to Rapid Application Development (RAD) 1. Introductions

Outline. Definitions. Course schedule

CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT

A Survey of Software Development Process Models in Software Engineering

A Review of Risk Management in Different Software Development Methodologies

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

(Refer Slide Time: 01:52)

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

Software Engineering

A Comparative Study of Different Software Development Life Cycle Models in Different Scenarios

Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations

ASSESSMENT OF SOFTWARE PROCESS MODELS

Advanced Software Engineering. Software Development Processes

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.

Software Life Cycle. Management of what to do in what order

Agile Processes and Methodologies: A Conceptual Study

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Comparison of SDLC-2013 Model with Other SDLC Models by Using COCOMO

2. Analysis, Design and Implementation

Object-Oriented and Classical Software Engineering

Alan Dennis, Barbara Haley Wixom, and Roberta Roth John Wiley & Sons, Inc. Slides by Candace S. Garrod Red Rocks Community College 3-1

How To Understand The Limitations Of An Agile Software Development

The ADDIE Model. Using the ADDIE model as a project management tool. Jeff Clay, Project Manager, Webanywhere

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Software Development Processes. Software Life-Cycle Models

WHY THE WATERFALL MODEL DOESN T WORK

Outline. The Spiral Model of Software Development and Enhancement. A Risk-Driven Approach. Software Process Model. Code & Fix

Chapter 3 Methodology

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

Software Engineering

CPSC 310 Software Engineering Lecture 2 Software Processes. Thanks to Eric Wolhstader, Emerson Murphy-Hill

Introduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

Transcription:

Software Life Cycle Models Waterfall model Prototyping models Rapid prototyping Incremental prototyping Evolutionary prototyping Spiral model 1

Waterfall Model Like liquid flows down stair steps... the liquid flows from one step to the next. Nothing flows uphill without assistance. Work flows through a series of stages (steps) Each stage is completed before proceeding to the next. Previous stages are visited revisited only when errors occur. Waterfall Model (continued) Requirements Engineering Design process Implementation Testing Maintenance 2

Graphical Illustration of Waterfall Model functionality user needs Maintenance waterfall model Design, implementation, Testing time Requirements specification Alan Davis, 1990 Waterfall Model (continued) Advantages Linear model; simple and easy to follow Feedback from each stage to earlier stages supports flexibility Disadvantages Not easy to apply when problems are poorly understood. All requirements must be well understood and frozen before development starts is unrealistic. Estimation of resources requirements is difficult. Specific properties of the application domain may be ignored. 3

Prototyping Models Repeated (iterated) processes For each iteration Add a (possibly small) subset of requirements Analyze the requirements, design, implement, test (by developer) generally customer must approve before moving to the next iteration Repeat until the product is done Requirements Specification Detailed Design Coding Testing Preliminary Design Prototyping Cycles Customer Approval Prototyping Model Paul Jorgensen, 2002 4

Advantages of prototyping models Important functionalities can be considered separately. Requirements can be discovered at the prompting of an iteration. Customers & managers feel a sense of progress. Prototypes are often used to win customer contracts (especially in bidding). Challenges of Prototyping Identifying the subset of requirements for the next iteration can be difficult. Establishing consistency is a repetitive work, particularly when a new subset of requirements bears no relationships with the existing ones Moreover, it is a tedious and time consuming work The project deadline is difficult to predict. No visible end to the set of iterations Poses maintenance problems 5

Four Prototyping Models Rapid prototyping Incremental prototyping Evolutionary prototyping the Spiral model Rapid Prototyping Model Initial: A quick and dirty prototype that focuses upon requirements to best impress the customer. Development time is a highest priority ( quick ) Disciplined design, documentation and testing is often ignored ( dirty ) Purpose: to get the approval of the customer Follow-up: After customer approval, much of the prototype is discarded. Start the project again from scratch; may use any model Use the knowledge and expertise gained in developing the prototype 6

Graphical Illustration of Rapid Prototyping Model Rapid prototyping model (continued) Advantages same as prototyping models Disadvantages Time and resources spent on prototype do not contribute to the final product. Final product may not resemble the initial prototype. Developer might have overlooked some features while developing the quick and dirty prototype 7

Incremental Prototyping Model Initial iteration is similar to rapid prototyping. Following the initial iteration: Developer uses the initial prototype as a base, adding more functionalities. Implementation of the new subset of functionalities should be checked and approved by the customer before proceeding. The developer may use any model to implement the new subset of functionalities -- usually iterative prototyping This is sometimes called the staircase model. Graphical Illustration of Incremental Prototyping Model 8

Incremental Prototyping Model (continued) Advantages Similar to advantages of prototyping models in general (see previous slides). Disadvantages Time consuming Can result it too much customer interaction No visible end to the finished product Evolutionary Prototyping Model Initial and Follow-up stages are similar to those of incremental prototyping. Major difference: Customer interaction is reduced Customer consulted only when significant changes are made to the product DISADVANTAGE: Who defines significant change? 9

Graphical Illustration of Evolutionary Prototyping Model Spiral Model An evolutionary version of incremental prototyping, proposed by Barry Boehm in 1988. Each iteration of the prototype is represented as a spiral. One full spiral has several cycles Each cycle represents one stage of the development process In each cycle, a set of risks are considered and analyzed at the beginning of the cycle and re-evaluated at the end of the cycle (see the next slide) 10

Spiral Model (continued) Boehm, 1988 Spiral model (continued) Accommodates all features of incremental and evolutionary prototyping models Advantages Focuses on risks early in development (see next slide) Product is more likely to be correct and consistent. Accommodates changes in requirements during product development Provides a mechanism for incorporating software quality objectives into product development 11

Spiral model (continued) Risk Management Risk identification - a risk is a threat and its consequences Consider all sorts of what if Prioritize/rank risks Risk analysis Identify methods, techniques and schedules to evaluate risks during product development Risk control Evaluate risks during product development and document the results Plan the next iteration such that the same set of risks do not arise again Spiral model (continued) Some development threats listed in literature Changes in requirements Changes in external resources (e.g., databases) Changes in staff/personnel Budget overrun Resource reallocation Equipment failure Changes in business policies Deviations from expected performance 12