• No results found

Development Methodologies

N/A
N/A
Protected

Academic year: 2021

Share "Development Methodologies"

Copied!
30
0
0

Loading.... (view fulltext now)

Full text

(1)

Development Methodologies © Prof. Dr. Josef M. Joller 1

Slide 3.1

Development Methodologies

Prof. Dr. Josef M. Joller [email protected]

(2)

Slide 3.2

Session 3

SOFTWARE LIFE-CYCLE

MODELS

(3)

Development Methodologies © Prof. Dr. Josef M. Joller 3

Slide 3.3

Overview 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

(4)

Slide 3.4

Software Life-Cycle Models Life-cycle model (formerly, process model)

The steps through which the product progresses w Requirements phase

w Specification phase w Design phase

w Implementation phase w Integration phase

w Maintenance phase w Retirement

(5)

Development Methodologies © Prof. Dr. Josef M. Joller 5

Slide 3.5

Build and Fix Model Problems

w No specifications w No design

Totally unsatisfactory Need life-cycle model

w “Game plan”

w Phases w Milestones

(6)

Slide 3.6

Waterfall Model (contd) Characterized by

w Feedback loops

w Documentation-driven Advantages

w Documentation w Maintenance easier Disadvantages

w Specifications

Joe and Jane Johnson

Mark Marberry

(7)

Development Methodologies © Prof. Dr. Josef M. Joller 7

Slide 3.7

Rapid Prototyping Model Linear model

“Rapid”

(8)

Slide 3.8

Three Key Points of Prototyping Do not turn into product

Rapid prototyping may replace specification phase—never the design phase

Comparison:

w Waterfall model—try to get it right first time

w Rapid prototyping—frequent change, then discard

(9)

Development Methodologies © Prof. Dr. Josef M. Joller 9

Slide 3.9

Waterfall and Rapid Prototyping Models Waterfall model

w Many successes w Client needs

Rapid prototyping model w Not proved

w Has own problems Solution

w Rapid prototyping for requirements phase w Waterfall for rest of life cycle

(10)

Slide 3.10

Extreme Programming Somewhat controversial new approach

w Stories (features client wants)

w Estimate duration and cost of each story w Select stories for next build

w Each build is divided into tasks

w Test cases for task are drawn up first w Pair programming

w Continuous integration of tasks Unusual features

w Computers are put in center of large room lined with cubicles w Client representative is always present

w Cannot work overtime for 2 successive weeks w No specialization

w Refactoring (improve existing system : cost / benefit?)

(11)

Development Methodologies © Prof. Dr. Josef M. Joller 11

Slide 3.11

Synchronize-and Stabilize Model Microsoft’s life-cycle model

w Requirements analysis—interview potential customers w Draw up specifications

w Divide project into 3 or 4 builds

w Each build is carried out by small teams working in parallel w At the end of the day—synchronize (test and debug)

w At the end of the build—stabilize (freeze build) w Components always work together

w Get early insights into operation of product

(12)

Slide 3.12

Spiral Model Simplified form

w Waterfall model plus risk analysis

Precede each phase by w Alternatives

w Risk analysis

Follow each phase by w Evaluation

w Planning of next phase

(13)

Development Methodologies © Prof. Dr. Josef M. Joller 13

Slide 3.13

Full Spiral Model (contd)

(14)

Slide 3.14

Analysis of Spiral Model Strengths

w Easy to judge how much to test

w No distinction between development, maintenance

Weaknesses

w For large-scale software only

w For internal (in-house) software only

(15)

Development Methodologies © Prof. Dr. Josef M. Joller 15

Slide 3.15

Object-Oriented Life-Cycle Models Need for iteration within and between phases

w Fountain model

w Recursive/parallel life cycle w Round-trip gestalt

w Unified software development process All incorporate some form of

w Iteration w Parallelism

w Incremental development Danger

w Infinite loop

(16)

Slide 3.16

F F The Rational Unified Process and the UML — The Rational Unified Process and the UML — developed hand-in-hand — by Rational

developed hand-in-hand — by Rational F F Contributions by major vendors Contributions by major vendors

FF MicrosoftMicrosoft FF HPHP

FF IBMIBM

FF OracleOracle

FF Texas InstrumentsTexas Instruments FF MCI SystemHouseMCI SystemHouse

RUP – Rational Unified Process

(17)

Development Methodologies © Prof. Dr. Josef M. Joller 17

Slide 3.17

1. Important Features of the Iterative Approach

w Attacks risks

w Continuous integration

w Frequent, executable releases w Continuous end user involvement

Initial Initial Planning Planning

Planning Planning

Requirements Requirements Capture

Capture Analysis & DesignAnalysis & Design

Implementation Implementation

Test Test

Deployment Deployment Evaluation

Evaluation

Management Management Environment Environment

(18)

Slide 3.18

2. Manage Your Requirements

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

Design Model

verifies realization influenced by

Use Cases drives the work from analysis through

Use-Case Model

(19)

Development Methodologies © Prof. Dr. Josef M. Joller 19

Slide 3.19

3. Employ Component-based Architecture

Design, implement and test your architecture up-front!

A systematic approach to define a “good” architecture w resilient to change by using well-defined interfaces

w by using and reverse engineering components w derived from top rank use cases

w intuitively understandable

System- System- software software Middleware Middleware Business- Business- specific specific Application- Application- specific specific

Component-based Architecture with layers

(20)

Slide 3.20

4. Model Software Visually

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

Code Classes Sub Systems Visual Modeling

raises the level of abstraction

(21)

Development Methodologies © Prof. Dr. Josef M. Joller 21

Slide 3.21

5. Verify Software Quality

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!

Development Deployment

Software problems Cost

are 100 to 1000 times more costly to find and repair after deployment

(22)

Slide 3.22

6. Control Changes to Software

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

ALERT REPORT

Workspace Management

Process

Parallel Development

Build Management

CM is more than just check-in and check-out

(23)

Development Methodologies © Prof. Dr. Josef M. Joller 23

Slide 3.23

Process Overview

Environment Business Modeling

Implementation Test Analysis & Design

Preliminary Iteration(s)

Iter.

#1

Iter.

#2

Iter.

#n

Iter.

#n+1

Iter.

#n+2

Iter.

#m

Iter.

#m+1

Deployment

Configuration Management Requirements

Elaboration Transition

Inception Construction

Project Management

(24)

Slide 3.24

Phases in the Process

The Rational Unified Process has four phases:

ww Inception - Define the scope of projectInception - Define the scope of project

ww Elaboration - Plan project, specify features, baseline architectureElaboration - Plan project, specify features, baseline architecture ww Construction - Build the productConstruction - Build the product

ww Transition - Transition the product into end user communityTransition - Transition the product into end user community time

Inception Elaboration Construction Transition

Major Major Milestones Milestones

(25)

Development Methodologies © Prof. Dr. Josef M. Joller 25

Slide 3.25

Iterations and Phases

An iteration An iteration is a distinct sequence of activities with an is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an established plan and evaluation criteria, resulting in an executable release (internal or external).

executable release (internal or external).

Preliminary Preliminary

Iteration Iteration

Architect.

Architect.

Iteration Iteration

Architect.

Architect.

Iteration Iteration

Devel.

Devel.

Iteration Iteration

Devel.

Devel.

Iteration Iteration

Devel.

Devel.

Iteration Iteration

Transition Transition Iteration Iteration

Transition Transition Iteration Iteration Inception

Inception ElaborationElaboration ConstructionConstruction TransitionTransition

Releases

(26)

Slide 3.26

Each major workflow describes how to create and maintain a particular model Models and Workflows

Design Model

Implementation Model realized by

implemented by

Requirements Workflow Analysis Design

Workflow

Implementation Workflow Test Workflow

Use-Case Model

Business Modeling

Business Model

verified by

(27)

Development Methodologies © Prof. Dr. Josef M. Joller 27

Slide 3.27

Bringing It All Together...

Phases Process Workflows

Iterations Supporting Workflows

Management Environment Business Modeling

Implementation Test Analysis & Design

Preliminary Iteration(s)

Iter.

#1

Iter.

#2

Iter.

#n

Iter.

#n+1

Iter.

#n+2

Iter.

#m

Iter.

#m+1

Deployment

Configuration Mgmt Requirements

Elaboration Transition

Inception Construction

Workflows group

activities logically

In an iteration, you walk through all workflows

(28)

Slide 3.28

Example of a Workflow

(29)

Development Methodologies © Prof. Dr. Josef M. Joller 29

Slide 3.29

Rational Unified Process (RUP) Trial

http://www.rational.com/products/rup/tryit/eval/gen_eval.jsp w Username

[email protected]

w Password

KmiVF1wP

valid approx until end of April 2002!

(30)

Slide 3.30

Conclusions Different life-cycle models

Each with own strengths Each with own weaknesses

Criteria for deciding on a model include w The organization

w Its management

w Skills of the employees w The nature of the product Best suggestion

w “Mix-and-match” life-cycle model

References

Related documents

Using a pump, the pond water is conducted through the UV-C device where it is exposed to the UV-C radiation.. This radiation is produced by a special lamp and it ensures that

• 21 Jan Local authorities submit draft schools block proforma to Education Funding Agency. • 28 Feb Isle of Wight school budgets issued

En este artículo, se presenta un análisis de las movilidades en el sureste de la provincia de Santiago del Estero (Argentina) que se ha caracterizado históricamente por la

Survivors were asked to rate how their physical, mental, emotional, and relationship health had changed as a result of working with the advocate on a scale of one to five (1: much

This series programmable DC electronic load provides four kinds of basic operating mode including CV (constant voltage), CC (constant current), CR (constant resistance), CP

Will I pursue thee to that place where thou Shalt pass from hence, and in the depths of Po, Shall come upon thee my fierce power to hound Thee

© Copyright 2000 worshiptogether.com Songs (ASCAP)/ sixsteps Music (ASCAP) (both admin. by EMI CMG Publishing). All rights reserved. Used by permission... Chorus.. Oh, the

the payment process; claims payments are displayed to the provider’s bank account on the day of deposit You can still pay providers electronically who have not yet enrolled for