Development Methodologies



Similar documents
Object-Oriented and Classical Software Engineering

Software Engineering. An Introduction. Fakhar Lodhi

SOFTWARE PROCESS MODELS

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

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

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

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

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

3C05: Unified Software Development Process

I219 Software Design Methodology

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

Chap 1. Introduction to Software Architecture

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

Classical Software Life Cycle Models

Software Development Methodologies

Basic Unified Process: A Process for Small and Agile Projects

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

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Unit 1 Learning Objectives

Supporting Workflow Overview. CSC532 Fall06

Software Project Management using an Iterative Lifecycle Model

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

Advanced Software Engineering. Software Development Processes

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

Software Development Life Cycle (SDLC)

Software Process and Models

CS4507 Advanced Software Engineering

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

CHAPTER 02 SOFTWARE LIFE-CYCLE MODELS

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

What is a life cycle model?

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

Plan-Driven Methodologies

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

Analysis and Design with UML

Chapter 2 Software Processes

Software Engineering

The Rap on RUP : An Introduction to the Rational Unified Process

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

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

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

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Software Life Cycle Processes

Software Life Cycles and Configuration Management

Software Design Models, Tools & Processes *

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Surveying and evaluating tools for managing processes for software intensive systems

A Capability Maturity Model (CMM)

Software Development Life Cycle

Reaching CMM Levels 2 and 3 with the Rational Unified Process

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

System development lifecycle waterfall model

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

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

COMP 354 Introduction to Software Engineering

Software Lifecycles Models

ISO 9001:2000 Its Impact on Software

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

RUP for Software Development Projects

IT3205: Fundamentals of Software Engineering (Compulsory)

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

Quality Assurance Software Development Processes

Introduction to OpenUP (Open Unified Process)

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

(Refer Slide Time: 01:52)

Requirements Definition and Management Processes

Ob j ect-oriented Project Management with UML

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

How To Understand The Software Process

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

Non-Functional Requirements

Software Development Process Models

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

Systems Analysis and Design

Requirements Management im Kontext von DevOps

Appendix 2-A. Application and System Development Requirements

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

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Session-1: Business Enterprise Applications- Overview

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

Unit I. Introduction

Title: Topic 3 Software process models (Topic03 Slide 1).

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

Business Analysis Essentials

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

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

SOFTWARE ENGINEERING CSC 423 B - MWF EXTREME PROGRAMMING

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

CSE 435 Software Engineering. Sept 16, 2015

Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

A Review of an MVC Framework based Software Development

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

Getting Things Done: Practical Web/e-Commerce Application Stress Testing

Transcription:

Slide 3.1 Development Methodologies Prof. Dr. Josef M. Joller jjoller@hsr.ch Development Methodologies Prof. Dr. Josef M. Joller 1

Session 3 Slide 3.2 SOFTWARE LIFE-CYCLE MODELS Development Methodologies Prof. Dr. Josef M. Joller 2

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 Development Methodologies Prof. Dr. Josef M. Joller 3

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 Development Methodologies Prof. Dr. Josef M. Joller 4

Build and Fix Model Slide 3.5 Problems No specifications No design Totally unsatisfactory Need life-cycle model Game plan Phases Milestones Development Methodologies Prof. Dr. Josef M. Joller 5

Waterfall Model (contd) Slide 3.6 Characterized by Feedback loops Documentation-driven Advantages Documentation Maintenance easier Disadvantages Specifications Joe and Jane Johnson Mark Marberry Development Methodologies Prof. Dr. Josef M. Joller 6

Rapid Prototyping Model Slide 3.7 Linear model Rapid Development Methodologies Prof. Dr. Josef M. Joller 7

Three Key Points of Prototyping Slide 3.8 Do not turn into product Rapid prototyping may replace specification phase never the design phase Comparison: Waterfall model try to get it right first time Rapid prototyping frequent change, then discard Development Methodologies Prof. Dr. Josef M. Joller 8

Waterfall and Rapid Prototyping Models Slide 3.9 Waterfall model Many successes Client needs Rapid prototyping model Not proved Has own problems Solution Rapid prototyping for requirements phase Waterfall for rest of life cycle Development Methodologies Prof. Dr. Josef M. Joller 9

Extreme Programming Slide 3.10 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 task are drawn up first Pair programming Continuous integration of tasks Unusual features Computers are put in center of large room lined with cubicles Client representative is always present Cannot work overtime for 2 successive weeks No specialization Refactoring (improve existing system : cost / benefit?) Development Methodologies Prof. Dr. Josef M. Joller 10

Synchronize-and Stabilize Model Slide 3.11 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 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 operation of product Development Methodologies Prof. Dr. Josef M. Joller 11

Spiral Model Slide 3.12 Simplified form Waterfall model plus risk analysis Precede each phase by Alternatives Risk analysis Follow each phase by Evaluation Planning of next phase Development Methodologies Prof. Dr. Josef M. Joller 12

Full Spiral Model (contd) Slide 3.13 Development Methodologies Prof. Dr. Josef M. Joller 13

Analysis of Spiral Model Slide 3.14 Strengths Easy to judge how much to test No distinction between development, maintenance Weaknesses For large-scale software only For internal (in-house) software only Development Methodologies Prof. Dr. Josef M. Joller 14

Object-Oriented Life-Cycle Models Slide 3.15 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 Infinite loop Development Methodologies Prof. Dr. Josef M. Joller 15

RUP Rational Unified Process Slide 3.16 The Rational Unified Process and the UML developed hand-in-hand by Rational Contributions by major vendors Microsoft HP IBM Oracle Standard through OMG Texas Instruments MCI SystemHouse Development Methodologies Prof. Dr. Josef M. Joller 16

1. Important Features of the Iterative Approach Slide 3.17 Attacks risks Continuous integration Frequent, executable releases Continuous end user involvement Initial Planning Planning Requirements Capture Management Environment Analysis & Design Implementation Deployment Evaluation Test Development Methodologies Prof. Dr. Josef M. Joller 17

2. Manage Your Requirements Slide 3.18 Elicit, organize, and document required functionality and constraints Track and document tradeoffs and decisions Business requirements are easily captured and communicated through use cases Use cases are important planning instruments Use-Case Model Use Cases drives the work from analysis through test realization Design Model influenced by Implementation Model verifies Test Model Development Methodologies Prof. Dr. Josef M. Joller 18

3. Employ Component-based Architecture Slide 3.19 Design, implement and test your architecture up-front! A systematic approach to define a good architecture resilient to change by using well-defined interfaces by using and reverse engineering components derived from top rank use cases intuitively understandable System- software Application- specific Business- specific Component-based Architecture with layers Middleware Development Methodologies Prof. Dr. Josef M. Joller 19

4. Model Software Visually Slide 3.20 Capture the structure and behavior of architectures and components Show how the elements of the system fit together Maintain consistency between a design and its implementation Promote unambiguous communication Sub Systems Visual Modeling raises the level of abstraction Classes Code Development Methodologies Prof. Dr. Josef M. Joller 20

5. Verify Software Quality Slide 3.21 Create tests for each key scenario to ensure that all requirements are properly implemented Unacceptable application performance hurts as much as unacceptable reliability Verify software reliability - memory leaks, bottle necks Test every iteration - automate test! Software problems are 100 to 1000 times more costly to find and repair after deployment Cost Development Deployment Development Methodologies Prof. Dr. Josef M. Joller 21

6. Control Changes to Software Slide 3.22 Control, track and monitor changes to enable iterative development Establish secure workspaces for each developer Provide isolation from changes made in other workspaces Control all software artifacts - models, code, docs, etc. Automate integration and build management Workspace Management Parallel Development CM is more than just check-in and check-out Process Integration REPORT ALERT Build Management Development Methodologies Prof. Dr. Josef M. Joller 22

Process Overview Slide 3.23 Inception Elaboration Construction Transition Business Modeling Requirements Analysis & Design Implementation Test Deployment Configuration Management Project Management Environment Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Development Methodologies Prof. Dr. Josef M. Joller 23

Phases in the Process Slide 3.24 Major Milestones Inception Elaboration Construction Transition time The Rational Unified Process has four phases: Inception - Define the scope of project Elaboration - Plan project, specify features, baseline architecture Construction - Build the product Transition - Transition the product into end user community Development Methodologies Prof. Dr. Josef M. Joller 24

Iterations and Phases Slide 3.25 Releases Inception Elaboration Construction Transition Preliminary Iteration Architect. Iteration Architect. Iteration Devel. Iteration Devel. Iteration Devel. Iteration Transition Iteration Transition Iteration An iteration is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an executable release (internal or external). Development Methodologies Prof. Dr. Josef M. Joller 25

Models and Workflows Slide 3.26 Business Modeling Requirements Workflow Business Model Each major workflow describes how to create and maintain a particular model realized by Analysis Design Workflow Use-Case Model implemented by Implementation Workflow Test Workflow Design Model Implementation Model verified by Test Model Development Methodologies Prof. Dr. Josef M. Joller 26

Process Workflows Bringing It All Together... Inception Elaboration Phases Construction Slide 3.27 In an iteration, you walk through all workflows Transition Business Modeling Requirements Analysis & Design Implementation Test Deployment Supporting Workflows Configuration Mgmt Workflows group activities logically Management Environment Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n Iter. #n+1 Iterations Iter. #n+2 Iter. #m Iter. #m+1 Development Methodologies Prof. Dr. Josef M. Joller 27

Example of a Workflow Slide 3.28 Development Methodologies Prof. Dr. Josef M. Joller 28

Slide 3.29 Rational Unified Process (RUP) Trial http://www.rational.com/products/rup/tryit/eval/gen_eval.jsp Username jjoller@hsr.ch Password KmiVF1wP valid approx until end of April 2002! Development Methodologies Prof. Dr. Josef M. Joller 29

Conclusions Slide 3.30 Different life-cycle models Each with own strengths Each with 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 Development Methodologies Prof. Dr. Josef M. Joller 30