Object-Oriented and Classical Software Engineering



Similar documents
Software Engineering. An Introduction. Fakhar Lodhi

SOFTWARE PROCESS MODELS

Development Methodologies

Software Life-Cycle. Series of steps through which software product progresses. A life-cycle is selected during requirement Phase

Slide 2.1. Slide 2.3. Slide 2.5

Object-Oriented and Classical Software Engineering

Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice

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

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

CHAPTER 02 SOFTWARE LIFE-CYCLE MODELS

Software Development Life Cycle

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Object-Oriented Software Engineering

Software Life Cycle Processes

Software Development Process Models

CS605 Software Engineering-II

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

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

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

Software Development Life Cycle (SDLC)

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Software Engineering. What is a system?

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

Unit I. Introduction

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

CSE 435 Software Engineering. Sept 16, 2015

A Capability Maturity Model (CMM)

A Comparison between Five Models of Software Engineering

Extreme Programming, an agile software development process

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

Software Development in the Digital Library Program. Digital Library Brown Bag Tamara Cameron David Jiao Oct. 22, 2004

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

Software Project Models

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

Software Development Methodologies in Industry. By: Ahmad Deeb

How To Model Software Development Life Cycle Models

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem

ASSESSMENT OF SOFTWARE PROCESS MODELS

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

A Comparison Between Five Models Of Software Engineering

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

An Assessment between Software Development Life Cycle Models of Software Engineering

Classical Software Life Cycle Models

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

COMP 354 Introduction to Software Engineering

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

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

Singhania University, Jhunjhunu, Rajasthan, India. 2 Department of Information Technology King Abdul Aziz University, Jeddah, Saudi Arabia

Managing TM1 Projects

Agile and lean methods for managing application development process

10.1 Determining What the Client Needs. Determining What the Client Needs (contd) Determining What the Client Needs (contd)

Extreme Programming, an agile software development process

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

A Survey of Software Development Process Models in Software Engineering

Software Development Process

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

Software Process and Models

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

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

Agile processes. Extreme Programming, an agile software development process

When is Agile the Best Project Management Method? Lana Tylka

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

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia

Vragen. Software development model. Software development model. Software development model

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD

(Refer Slide Time: 01:52)

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

COMPARISON OF VARIOUS SDLC MODELS

Process Models and Metrics

Software Development Life Cycle Models- Comparison, Consequences

Lecture 21 March 7, 2013

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

Software Process Models. Xin Feng

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

Agile and Secure: Can We Be Both?

Practical Experiences of Agility in the Telecom Industry

Software Life Cycle Models

Software Process for QA

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

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

Umbrella: A New Component-Based Software Development Model

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

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

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

Non-Technical Issues in Software Development

CPSC 491 Lecture Notes Fall 2013

ITERATIVE DEVELOPMENT: KEY TECHNIQUE FOR MANAGING SOFTWARE DEVELOPMENTS. Dwayne Read Strategic Systems (WA) Pty Ltd

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

Rapid Software Development

Models of Software Development

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Prepared by: Ahmed Abdelmalik Mohammed Ahmed Ali Ann Joseph Duaa Jasim. Submitted to T.Mona

Surveying and evaluating tools for managing processes for software intensive systems

Improving Software Development Economics Part II: Reducing Software Product Complexity and Improving Software Processes

1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)

Unit 1 Learning Objectives

Transcription:

Slide 3.1 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

CHAPTER 3 Slide 3.2 SOFTWARE LIFE-CYCLE MODELS

Overview Slide 3.3 Build-and-fix model Waterfall model Rapid prototyping model Incremental model Extreme programming Synchronize-and-stabilize model Spiral model Object-oriented life-cycle models Comparison of life-cycle models

Software Life-Cycle Models Slide 3.4 Life-cycle model (formerly, process model) The steps through which the product progresses Requirements phase Specification phase Design phase Implementation phase Integration phase Maintenance phase Retirement

Build and Fix Model Slide 3.5 Problems No specifications No design Totally unsatisfactory Need a life-cycle model Game plan Phases Milestones

Waterfall Model Slide 3.6 Characterized by Feedback loops Documentation-driven Advantages Documentation Maintenance easier Disadvantages Specification document» Joe and Jane Johnson» Mark Marberry

Rapid Prototyping Model Slide 3.7 Linear model Rapid

Three Key Points Slide 3.8 Do not turn the rapid prototype into the product Rapid prototyping may replace the specification phase never the design phase Comparison: Waterfall model try to get it right the first time Rapid prototyping frequent change, then discard

Waterfall and Rapid Prototyping Models Slide 3.9 Waterfall model Many successes Client s needs Rapid prototyping model Not proved Has its own problems Solution Rapid prototyping for the requirements phase Waterfall model for the rest of the life cycle

Incremental Model Slide 3.10 Divide project into builds

Incremental Model (contd) Slide 3.11 Waterfall, rapid prototyping models Operational quality complete product at end Incremental model Operational quality portion of product within weeks Less traumatic Smaller capital outlay, rapid return on investment Need open architecture maintenance implications Variations used in object-oriented life cycle

Incremental Model (contd) Slide 3.12 Problems Build-and-fix danger Contradiction in terms

Incremental Model (contd) Slide 3.13 More risky version pieces may not fit CABTAB and its dangers

Extreme Programming Slide 3.14 Somewhat controversial new approach Stories (features client wants) Estimate duration and cost of each story Select stories for next build Each build is divided into tasks Test cases for a task are drawn up first Pair programming Continuous integration of tasks

Unusual Features of XP Slide 3.15 Computers are put in the center of a large room lined with cubicles A client representative is always present Cannot work overtime for 2 successive weeks No specialization Refactoring

Evaluating XP Slide 3.16 XP has had some successes Good when requirements are vague or changing Too soon to evaluate XP

Synchronize-and Stabilize Model Slide 3.17 Microsoft s life-cycle model Requirements analysis interview potential customers Draw up specifications Divide project into 3 or 4 builds Each build is carried out by small teams working in parallel

Synchronize-and Stabilize Model (contd) Slide 3.18 At the end of the day synchronize (test and debug) At the end of the build stabilize (freeze build) Components always work together Get early insights into the operation of the product

Spiral Model Slide 3.19 Simplified form Waterfall model plus risk analysis preceding each phase

Simplified Spiral Model Slide 3.20 View of spiral

A Key Point of the Spiral Model Slide 3.21 If all risks cannot be resolved, the project is immediately terminated

Full Spiral Model Slide 3.22 Precede each phase by Alternatives Risk analysis Follow each phase by Evaluation Planning of next phase Radial dimension: cumulative cost to date Angular dimension: progress through the spiral

Full Spiral Model (contd) Slide 3.23

Analysis of Spiral Model Slide 3.24 Strengths It is easy to judge how much to test No distinction is made between development, maintenance Weaknesses For large-scale software only For internal (in-house) software only

Object-Oriented Life-Cycle Models Slide 3.25 Need for iteration within and between phases Fountain model Recursive/parallel life cycle Round-trip gestalt Unified software development process All incorporate some form of Iteration Parallelism Incremental development Danger CABTAB

Fountain Model Slide 3.26 Overlap (parallelism) Arrows (iteration) Smaller maintenance circle

Conclusions Slide 3.27 Different life-cycle models Each with its own strengths Each with its own weaknesses Criteria for deciding on a model include: The organization Its management Skills of the employees The nature of the product Best suggestion Mix-and-match life-cycle model