a rational unified process - inf.mit.bme.hu³ria... · ki szeret hosszú és részletes...

127
RUP, XP és SPEM Budapest 2010. Április 21. Ráth István [email protected] (Szőke Ákos fóliái alapján)

Upload: others

Post on 03-Nov-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

RUP,  XP  és  SPEM

Budapest

2010.  Április  21.

Ráth  István

[email protected]

(Szőke  Ákos  fóliái  alapján)

Page 2: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Tartalomjegyzék

• Best  pracPces• A  RaPonal  Unified  Process  (RUP)

–  RUP  elveinek  bemutatása–  RUP  elemeinek  bemutatása–  RUP  fázisok  bemutatása–  RUP,  mint  termék  bemutatása

• eXtreme  programming• Agilis  metodikák  összehasonlítása• Folyamatmintáktól  a  SPEM-­‐ig

2

Page 3: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Best  PracPces

3

Page 4: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Trend  a  szoWvertechnológiában

• Egyre  komplexebb  rendszerek

• A  meglévő  fejlesztési  folyamatok  nem  megfelelőek:

4

Page 5: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Trend  a  szoWvertechnológiában

• Egyre  komplexebb  rendszerek

• A  meglévő  fejlesztési  folyamatok  nem  megfelelőek:

4

Az OK: a megfelelő módszertan hiánya!

Page 6: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  hinta

5

Page 7: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  probléma  megoldás  lépései:

6

Page 8: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  probléma  megoldás  lépései:

6

Szimptómák (tünetek) meghatározása

Page 9: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  probléma  megoldás  lépései:

6

Szimptómák (tünetek) meghatározása

Page 10: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  probléma  megoldás  lépései:

6

Szimptómák (tünetek) meghatározása

Okok felderítése

Page 11: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  probléma  megoldás  lépései:

6

Szimptómák (tünetek) meghatározása

Okok felderítése

Page 12: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  probléma  megoldás  lépései:

6

Szimptómák (tünetek) meghatározása

Okok felderítése

Okok megszüntetése

Page 13: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Szimptómák  meghatározása

• Elvárások  nem  teljesülnek

• Követelmények  zavarosak

• Modulok  nem  illeszkednek  egymáshoz

• Nehéz  a  karbantartás

• Hibák  késő  detektálása

• Gyenge  minőség

• Gyenge  performancia

• Fejlesztők  közö_  eltérések

7

Page 14: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Okok  felderítése

• Elégtelen  követelmény-­‐meghatározás• Félreérthető  kommunikáció• Nem  eléggé  robosztus  az  architektúra• Túlságosan  nagy  komplexitású  a  rendszer• Nem  detektált  inkonzisztencia• Alacsony  fokú  kiteszteltség• Szubjekbv  értékelés• Vízesés  modellen  alapuló  fejlesztés• Nem  kontrollált  változtatás• Elégtelen  automaPzáció

8

Page 15: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Okok  megszüntetése  –  Legjobb  gyakorlatok

• Elvárások  nem  teljesülnek

• Követelmények  zavarosak

• Modulok  nem  illeszkednek  egymáshoz

• Nehéz  a  karbantartás

• Hibák  késő  detektálása

• Gyenge  minőség• Gyenge  

performancia• Fejlesztők  közö_  

eltérések

9

• Elégtelen követelmény-meghatározás

• Félreérthető kommunikáció

• Nem eléggé robosztus az architektúra

• Túlságosan nagy komplexitású a rendszer

• Nem detektált inkonzisztencia

• Alacsony fokú kiteszteltség

• Szubjektív értékelés• Vízesés modellen alapuló

fejlesztés• Nem kontrollált

változtatás• Elégtelen automatizáció

Best Practices

Develop Iteratively

Manage Requirements

Use Component Architectures

Model Visually (UML)

Continuously Verify Quality

Control Changes (UCM)

Page 16: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Okok  megszüntetése  –  Legjobb  gyakorlatok

• Elvárások  nem  teljesülnek

• Követelmények  zavarosak

• Modulok  nem  illeszkednek  egymáshoz

• Nehéz  a  karbantartás

• Hibák  késő  detektálása

• Gyenge  minőség• Gyenge  

performancia• Fejlesztők  közö_  

eltérések

9

• Elégtelen követelmény-meghatározás

• Félreérthető kommunikáció

• Nem eléggé robosztus az architektúra

• Túlságosan nagy komplexitású a rendszer

• Nem detektált inkonzisztencia

• Alacsony fokú kiteszteltség

• Szubjektív értékelés• Vízesés modellen alapuló

fejlesztés• Nem kontrollált

változtatás• Elégtelen automatizáció

Best Practices

Develop Iteratively

Manage Requirements

Use Component Architectures

Model Visually (UML)

Continuously Verify Quality

Control Changes (UCM)

Page 17: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Mit  jelentenek  a  „legjobb  gyakorlatok”?

„Elvek,  módszerek  és  folyamatok  egy  szerveze6  és  dokumentált  halmaza,  amely  növeli  a  szo=verfejlesztési  minőségét  és  produkAvitását.”

10

Page 18: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

PracPce  1  –  Fejlessz  iterabvan!

11

Develop Iteratively

Manage Requirements

Model Visually

Use Component Architectures

ContinuouslyVerify Quality

Control Change

BestPractices

Page 19: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Szekvenciális  fejlesztésSzekvenciális  tevékenységek:Requirements            Design            Code                Integra=on            Test

12

Integrációkezdete

Late DesignBreakage

100%

Fejl

eszt

és e

lőre

hal

adás

a(%

kód

olt)

Eredetiátadási dátum

Page 20: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  szekvenciális  és  az  iterabv  fejlesztési  folyamat  összehasonlítása  -­‐  1

13

Folyamatok időbeli lefutása:

Page 21: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  termékek  evolúciója  a  fejlesztési  

Az  iterabv  megközelítés  miaj  az  idő  előrehaladtával  a  termékek  egyre  „érejebbek”  lesznek.

14

Page 22: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Bizonytalansági  kúp

15

Page 23: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

PracPce  2  –  Kezeld  a  követelményeket!

16

Manage Requirements

Develop Iteratively

Model Visually

Use Component Architectures

ContinuouslyVerify Quality

Control Change

BestPractices

Page 24: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

PracPce  3  –  Használj  komponens  architektúrákat

17

Use Component Architectures

Develop Iteratively

Manage Requirements

Model Visually

ContinuouslyVerify Quality

Control Change

BestPractices

Page 25: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Komponens  alapú  architektúra  előnye

• Komplexitás  jobban  kezelhető• Integritás  jobban  biztosítható• Újrafelhasználást  támogatja:

– Komponens  újrafelhasználás– Architektúra  újrafelhasználás

• Projekt  menedzsmentet  támogatja:– SzoWver  tervezés– Emberi  erőforrás  tervezés

18

Page 26: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Példa:  komponens  alapú  architektúra

19

Purchased

Existing

New

Lead TrackingFunctions

User Interface Mechanisms

Customer Product

Page 27: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Példa:  komponens  alapú  architektúra

19

Purchased

Existing

New

Lead TrackingFunctions

User Interface Mechanisms

Customer Product License

Page 28: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Példa:  komponens  alapú  architektúra

19

Purchased

Existing

New

Lead TrackingFunctions

User Interface Mechanisms

Customer Product License

Page 29: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Példa:  komponens  alapú  architektúra

19

Purchased

Existing

New

Lead TrackingFunctions

User Interface Mechanisms

LicensingFunctions

Customer Product License

Page 30: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

PracPce  4  –  Modellezz  vizuálisan!

20

Model Visually (UML)

Develop Iteratively

Manage Requirements

Use Component Architectures

ContinuouslyVerify Quality

Control Change

BestPractices

Page 31: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Reprezentáció:  az  UML

Az  UML,  a  szoWver-­‐intenzív  rendszerek  termékeinek•  vizuális  megjelenítésre,

•  specifikálásra,•  tervezésre,  és•  dokumentálásrakidolgozoj  jelölésrendszer.

21

Page 32: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Vizuális  modellezés  az  UML-­‐lel

22

ActivityDiagrams

Models

Dynamic Diagrams

Static Diagrams

SequenceDiagrams

CollaborationDiagrams

StatechartDiagrams

DeploymentDiagrams

ComponentDiagrams

ObjectDiagrams

ClassDiagrams

Use-CaseDiagrams

Page 33: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

PracPce  5  –  Folyamatosan  ellenőrizd  a  szoWver  minőségét!

23

Continuously Verify Quality

Develop Iteratively

Manage Requirements

Model Visually

Use Component Architectures

Control Change

BestPractices

Page 34: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Minőség  méréséhez:  szoWver  metrikák  alkalmazása

• Termék  metrikák  pl.  méret,  funkcionalitás,  komplexitás,  struktúra

• Folyamat  (fejlesztés  és  támogatás)  metrikák  pl.  hibaszám,  követelményeknek  való  megfelelőség  

• Projekt  metrikák  pl.  produkPvitás,  ütemezés,  költség,  munkaerő-­‐minta

24

Page 35: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

PracPce  6  –  Kezeld  a  szoWver  változásait!

25

Control Change (UCM)

Develop Iteratively

Manage Requirements

Model Visually

Use Component Architectures

ContinuouslyVerify Quality

BestPractices

Page 36: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Mire  való  a  változáskezelés?• Iterabv  fejlesztésből  adódó  változások  vezérléséhez,  nyomon  

követéséhez  és  monitorozásához.

• Minden  fejlesztőnek  biztonságos  workspace-­‐t  biztosítson.

• AutomaPkusintegrációhoz  és  build  menedzsmenthez.

26

ALERTREPORT

WorkspaceManagement

Process Integration

Parallel Development

Build Management

Page 37: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  Best  PracPce-­‐ek  egymást  erősíPk

27

Develop Iteratively

Manage Requirements

Control Changes (UCM)

Continuously Verify Quality

Use Component Architectures

Model Visually (UML)

BestPractices

Architektúra korai validációja.

A tervezés és implementációkomplexitása fokozatosan nő.

A minőség korai és gyakori mérése.

Változások folyamatos nyomonkövetése.

A felhasználók bevonásaa követelmények meghatározásába.

Page 38: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RUP  ezen  Best  PracPce-­‐okon  alapul

28

Page 39: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RUP  ezen  Best  PracPce-­‐okon  alapul

28

Manage Requirements

Model Visually

Use Component Architectures

ContinuouslyVerify Quality

Control Change

Develop Iteratively

Page 40: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RUP  ezen  Best  PracPce-­‐okon  alapul

28

Manage Requirements

Model Visually

Use Component Architectures

ContinuouslyVerify Quality

Control Change

Develop Iteratively

Page 41: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RUP  ezen  Best  PracPce-­‐okon  alapul

28

Manage Requirements

Model Visually

Use Component Architectures

ContinuouslyVerify Quality

Control Change

Develop Iteratively

Page 42: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RaPonal  Unified  Process  (RUP)

•  RUP  elveinek  bemutatása•  RUP  elemeinek  bemutatása•  RUP  fázisok  bemutatása•  RUP,  mint  termék  bemutatása

Page 43: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RaPonal  Unified  Process  (RUP)

•  RUP  elveinek  bemutatása•  RUP  elemeinek  bemutatása•  RUP  fázisok  bemutatása•  RUP,  mint  termék  bemutatása

Page 44: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Mi  a  RUP?

31

Page 45: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Mi  a  RUP?

31

Szoftverfejlesztési elv, mely:- Use-case vezérelt- Architektúra központú- Iteratív

Page 46: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Mi  a  RUP?

31

Szoftverfejlesztési elv, mely:- Use-case vezérelt- Architektúra központú- Iteratív

Szoftverfejlesztési folyamat, mely: - Jól definiált (ki, mit, mikor, hogyan) - Jól strukturált (életciklus, mérföldkövek, döntések)

Page 47: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Mi  a  RUP?

31

Szoftverfejlesztési elv, mely:- Use-case vezérelt- Architektúra központú- Iteratív

Szoftverfejlesztési folyamat, mely: - Jól definiált (ki, mit, mikor, hogyan) - Jól strukturált (életciklus, mérföldkövek, döntések)

Termék a szoftverfejlesztéshez, mely - Testre szabható (projekt méret, ceremónia) - A projekt összes tagjának szolgáltatásokat nyújt

Page 48: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RUP,  mint  szoWverfejlesztési  elv  moPvációja

• A  megrendelői  igények  kielégítése  a  cél,  ezért  ennek  kell  a  központban  lenni  a  folyamat  során

 • Minden  jól  működő  rendszernek  egy  egyszerű,  jól  működő  architektúrája  van

• A  szoWverfejlesztés  bizonytalanságának  a  csökkentése  a  fokozatos  előrehaladással

32

Page 49: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RUP,  mint  szoWverfejlesztési  elv  moPvációja

• A  megrendelői  igények  kielégítése  a  cél,  ezért  ennek  kell  a  központban  lenni  a  folyamat  során

 • Minden  jól  működő  rendszernek  egy  egyszerű,  jól  működő  architektúrája  van

• A  szoWverfejlesztés  bizonytalanságának  a  csökkentése  a  fokozatos  előrehaladással

32

Use case vezérelt

Page 50: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RUP,  mint  szoWverfejlesztési  elv  moPvációja

• A  megrendelői  igények  kielégítése  a  cél,  ezért  ennek  kell  a  központban  lenni  a  folyamat  során

 • Minden  jól  működő  rendszernek  egy  egyszerű,  jól  működő  architektúrája  van

• A  szoWverfejlesztés  bizonytalanságának  a  csökkentése  a  fokozatos  előrehaladással

32

Use case vezérelt

Architektúra centrikus

Page 51: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RUP,  mint  szoWverfejlesztési  elv  moPvációja

• A  megrendelői  igények  kielégítése  a  cél,  ezért  ennek  kell  a  központban  lenni  a  folyamat  során

 • Minden  jól  működő  rendszernek  egy  egyszerű,  jól  működő  architektúrája  van

• A  szoWverfejlesztés  bizonytalanságának  a  csökkentése  a  fokozatos  előrehaladással

32

Use case vezérelt

Architektúra centrikus

Inkrementális és iteratív

Page 52: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Use  Case  vezérelt

33

Page 53: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Architektúra  centrikusság:  MDA

34Mostly text Diagram + text CodeLegend: Model

Page 54: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Architektúra  centrikusság:  MDA

34

Requirements

Analysis

Design

Coding

Testing

Deployment

Mostly text Diagram + text CodeLegend: Model

Page 55: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Architektúra  centrikusság:  MDA

34

Requirements

Analysis

Design

Coding

Testing

Deployment

Vision/scope

SRS

SDD

Code

Code

Mostly text Diagram + text CodeLegend: Model

Page 56: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Architektúra  centrikusság:  MDA

34

Requirements

Analysis

Design

Coding

Testing

Deployment

Vision/scope

SRS

SDD

Iterative process

Code

Code

Mostly text Diagram + text CodeLegend: Model

Page 57: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Architektúra  centrikusság:  MDA

34

Requirements

Analysis

Design

Coding

Testing

Deployment

Vision/scope

SRS

SDD

Iterative process

Programmer’s shortcut

Code

Code

Mostly text Diagram + text CodeLegend: Model

Page 58: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Architektúra  centrikusság:  MDA

34

Requirements

Analysis

Design

Coding

Testing

Deployment

Vision/scope

SRS

SDD

Iterative process

Programmer’s shortcut

Code

Code

(Non)Functionalfeatures

Mostly text Diagram + text CodeLegend: Model

Page 59: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Architektúra  centrikusság:  MDA

34

Requirements

Analysis

Design

Coding

Testing

Deployment

Vision/scope

SRS

SDD

Iterative process

Programmer’s shortcut

Code

Code

(Non)Functionalfeatures

Requirements

Analysis

Design

Coding

Testing

Deployment

Mostly text Diagram + text CodeLegend: Model

Page 60: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Architektúra  centrikusság:  MDA

34

Requirements

Analysis

Design

Coding

Testing

Deployment

Vision/scope

SRS

SDD

Iterative process

Programmer’s shortcut

Code

Code

(Non)Functionalfeatures

Requirements

Analysis

Design

Coding

Testing

Deployment

Code

Code

PSM

PIM

PIM

Mostly text Diagram + text CodeLegend: Model

Page 61: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Architektúra  centrikusság:  MDA

34

Requirements

Analysis

Design

Coding

Testing

Deployment

Vision/scope

SRS

SDD

Iterative process

Programmer’s shortcut

Code

Code

(Non)Functionalfeatures

Requirements

Analysis

Design

Coding

Testing

Deployment

MDA process

Code

Code

(Non)Functionalfeatures

PSM

PIM

PIM

Mostly text Diagram + text CodeLegend: Model

Page 62: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Az  MDA  előnyei

• A  befektetej  tudás  megőrzése– Különböző  implementációs  plauorm– Tudás  explicijé  tétele

• Fejlesztés  felgyorsítása– Implementáció  jelentős  része  generált

• Implementáció  minősége– Szakértők  transzformációs  template-­‐eket  biztosítanak

• Karbantartás  és  dokumentáció– Analízis  és  design  modell  továbbírása  történik  meg– 100%  nyomon  követés  specifikációtól  a  teszPg

35

Page 63: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Iterabv  és  inkrementális  folyamat

• Minden  iterációban:  RADIT  lépések

• Minden  iteráció  az  előzőre  épül

• Konvergál  a  végleges  termékhez

36

Page 64: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RaPonal  Unified  Process  (RUP)

•  RUP  elveinek  bemutatása•  RUP  elemeinek  bemutatása•  RUP  fázisok  bemutatása•  RUP,  mint  termék  bemutatása

Page 65: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  fejlesztési  folyamat  két  dimenziója

38

Page 66: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  folyamat  dinamikus  struktúrája  

39

• Mind a 4 fázis végén mérföldkő és jól definiált termékek:

Page 67: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  folyamat  dinamikus  struktúrája  

39

• Mind a 4 fázis végén mérföldkő és jól definiált termékek:

Page 68: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  folyamat  fázisai• KezdeP  fázis  (IncepPon  Phase)

• Kidolgozási  fázis  (ElaboraPon  Phase)

• Megvalósítási  fázis  (ConstrucPon  Phase)

• Átadási  fázis  (TransiPon  Phase)

40

Page 69: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  folyamat  fontosabb  mérföldkövei

41

Inception Elaboration Construction Transition

Lifecycle Objective Milestone

Lifecycle Architecture

Milestone

Initial Operational Capability Milestone

Product Release

time

Page 70: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Iterációk  és  fázisok  kapcsolata

Az  iteráció  egy  jól  körülhatárolt  tevékenység  sor,  mely  egy  megalapozoj  terven  és  kiértékelhető  kritériumon  alapul,  mely  egy  fujatható  release-­‐t  (belső/külső)  hoz  létre.

42

PreliminaryIteration

Architect.Iteration

Architect.Iteration

Devel. Iteration

Devel. Iteration

Devel. Iteration

TransitionIteration

TransitionIteration

Inception Elaboration Construction Transition

Kisebb mérföldkövek: release-k

Page 71: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RaPonal  Unified  Process  (RUP)

•  RUP  elveinek  bemutatása•  RUP  elemeinek  bemutatása•  RUP  fázisok  bemutatása•  RUP,  mint  termék  bemutatása

Page 72: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Az  egyes  fázisok  ráfordítási  szükséglete

44

Inception Elaboration Construction TransitionMunka ~5% 20 % 65 % 10%

Idő 10 % 30 % 50 % 10%

Page 73: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

KezdeP  fázis  helye  a

45

Page 74: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

KezdeP  fázis  főbb  tevékenységei• Projekt  vízió  elkészítése:

– Probléma  megfogalmazása– Kulcs  felhasználók,  stakeholder-­‐ek  analízise– Magasszintű  funkcionális,  nem  funkcionális  követelmények  megfogalmazása

• „mile-­‐wide,  inch-­‐deep”  felmérése:– Aktorok  azonosítása– Magasszintű  use-­‐case-­‐ek  elkészítése

• Fejlesztési  folyamat  és  eszközök  meghatározása• ÜzleP  eset  (business  case)  elkészítése:  költség,  

ütemezés  és  kockázat  becslés

46

Proj

ekt

scop

e

Page 75: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Kidolgozási  fázis  helye  a  

47

Page 76: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Kidolgozási  fázis  főbb  tevékenységei

• Követelmények  részletes  felmérése,  kidolgozása  (lényegiek)

• Architektúra  megtervezése,  implementálása  és  validációja:– Hw  és  Sw  architektúra– Építőkockák  (building  blocks)  és  IF-­‐ek– Technológiai  döntések

• Kockázatok  csökkentése:  ütemezés,  költség  és  terjedelem  finomítása

• Fejlesztési  folyamat  finomítása

48

Köv.

és

kock

. an

alíz

is

Page 77: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Megvalósítási  fázis  helye  a

49

Page 78: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Megvalósítási  fázis  főbb  tevékenységei

• Jól  megalapozoj  architektúra-­‐>fejlesztési  tevékenység  párhuzamosítása

• Kimaradt  követelmények  részletes  felmérése,  kidolgozása

• Implementáció  és  unit-­‐teszt• Folyamatos  integráció  és  regressziós  tesztelés

• Megrendelő  intenzív  bevonása:  alfa  és  béta  tesztelés

50

Költs

ég-h

aték

ony

fejle

szté

s

Page 79: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Átadási  fázis  helye  a

51

Page 80: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Átadási  fázis  főbb  tevékenységei• Rendszer  finomhangolása

• Felhasználók  oktatása,  oktatási  anyagok

• Telepítés  a  megrendelő  telephelyére,  konfigurálás

• Termék  elfogadási  teszt  (kritériumok  definiálása  a  teszt  előj!)

• Tanulságok  levonása

52

Telje

sség

elle

nőrz

ése

Page 81: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Mi  történik  átadás  után?• Fejlesztési  ciklus  –  Evolúciós  ciklusokemberi  tevékenység  -­‐  termék(gyakori  az  átlapolódás)

• Patch-­‐ek  készítése

53

Page 82: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  fázisok  gyakori  

• Nem  tévesztendő  össze  a  vízesésmodell  hagyományos  fázisaival!

• Figyelembe  kell  venni  mindkét  dimenziót  („tevékenység  púpok”)!

• Nincs  rögzítej  munkafolyamat!

• Nincsenek  rögzítej  termékek!

54

Page 83: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RaPonal  Unified  Process  (RUP)

•  RUP  elveinek  bemutatása•  RUP  elemeinek  bemutatása•  RUP  fázisok  bemutatása•  RUP,  mint  termék  bemutatása

Page 84: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RaPonal  Unified  Process  (RUP)

•  RUP  elveinek  bemutatása•  RUP  elemeinek  bemutatása•  RUP  fázisok  bemutatása•  RUP,  mint  termék  bemutatása

Live show!

Page 85: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

eXtreme  programming(XP)

Page 86: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Közvélemény  kutatás

57

Ki szeret napokat eltölteni azzal, hogy követelmény specifikáció és rendszer terv megbeszéléseken részt venni?

Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni?

Ki szeret hosszú és részletesen megtervezett projekt státusz megbeszéléseken ülni?

Ki szeret az első követelmény meghallását követően rögtön kódolni?

Ki szereti a Java-t, vagy a C++-t? (megengedő vagy! )Ki szeretne heti 40 órát programozni a munkahelyén, a többi 128-at pedig hobby programozással tölteni?

Page 87: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Közvélemény  kutatás

57

Ki szeret napokat eltölteni azzal, hogy követelmény specifikáció és rendszer terv megbeszéléseken részt venni?

Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni?

Ki szeret hosszú és részletesen megtervezett projekt státusz megbeszéléseken ülni?

Ki szeret az első követelmény meghallását követően rögtön kódolni?

Ki szereti a Java-t, vagy a C++-t? (megengedő vagy! )Ki szeretne heti 40 órát programozni a munkahelyén, a többi 128-at pedig hobby programozással tölteni?

Page 88: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Közvélemény  kutatás

57

Ki szeret napokat eltölteni azzal, hogy követelmény specifikáció és rendszer terv megbeszéléseken részt venni?

Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni?

Ki szeret hosszú és részletesen megtervezett projekt státusz megbeszéléseken ülni?

Ki szeret az első követelmény meghallását követően rögtön kódolni?

Ki szereti a Java-t, vagy a C++-t? (megengedő vagy! )Ki szeretne heti 40 órát programozni a munkahelyén, a többi 128-at pedig hobby programozással tölteni?

Page 89: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Közvélemény  kutatás

57

Ki szeret napokat eltölteni azzal, hogy követelmény specifikáció és rendszer terv megbeszéléseken részt venni?

Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni?

Ki szeret hosszú és részletesen megtervezett projekt státusz megbeszéléseken ülni?

Ki szeret az első követelmény meghallását követően rögtön kódolni?

Ki szereti a Java-t, vagy a C++-t? (megengedő vagy! )Ki szeretne heti 40 órát programozni a munkahelyén, a többi 128-at pedig hobby programozással tölteni?

Page 90: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Közvélemény  kutatás

57

Ki szeret napokat eltölteni azzal, hogy követelmény specifikáció és rendszer terv megbeszéléseken részt venni?

Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni?

Ki szeret hosszú és részletesen megtervezett projekt státusz megbeszéléseken ülni?

Ki szeret az első követelmény meghallását követően rögtön kódolni?

Ki szereti a Java-t, vagy a C++-t? (megengedő vagy! )Ki szeretne heti 40 órát programozni a munkahelyén, a többi 128-at pedig hobby programozással tölteni?

Page 91: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Közvélemény  kutatás

57

Ki szeret napokat eltölteni azzal, hogy követelmény specifikáció és rendszer terv megbeszéléseken részt venni?

Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni?

Ki szeret hosszú és részletesen megtervezett projekt státusz megbeszéléseken ülni?

Ki szeret az első követelmény meghallását követően rögtön kódolni?

Ki szereti a Java-t, vagy a C++-t? (megengedő vagy! )Ki szeretne heti 40 órát programozni a munkahelyén, a többi 128-at pedig hobby programozással tölteni?

Page 92: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Közvélemény  kutatás

57

Ki szeret napokat eltölteni azzal, hogy követelmény specifikáció és rendszer terv megbeszéléseken részt venni?

Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni?

Ki szeret hosszú és részletesen megtervezett projekt státusz megbeszéléseken ülni?

Ki szeret az első követelmény meghallását követően rögtön kódolni?

Ki szereti a Java-t, vagy a C++-t? (megengedő vagy! )Ki szeretne heti 40 órát programozni a munkahelyén, a többi 128-at pedig hobby programozással tölteni?

Page 93: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Közvélemény  kutatás

57

Ki szeret napokat eltölteni azzal, hogy követelmény specifikáció és rendszer terv megbeszéléseken részt venni?

Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni?

Ki szeret hosszú és részletesen megtervezett projekt státusz megbeszéléseken ülni?

Ki szeret az első követelmény meghallását követően rögtön kódolni?

Ki szereti a Java-t, vagy a C++-t? (megengedő vagy! )Ki szeretne heti 40 órát programozni a munkahelyén, a többi 128-at pedig hobby programozással tölteni?

Szép lenne az élet mi?

Page 94: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Közvélemény  kutatás

57

Ki szeret napokat eltölteni azzal, hogy követelmény specifikáció és rendszer terv megbeszéléseken részt venni?

Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni?

Ki szeret hosszú és részletesen megtervezett projekt státusz megbeszéléseken ülni?

Ki szeret az első követelmény meghallását követően rögtön kódolni?

Ki szereti a Java-t, vagy a C++-t? (megengedő vagy! )Ki szeretne heti 40 órát programozni a munkahelyén, a többi 128-at pedig hobby programozással tölteni?

Page 95: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Közvélemény  kutatás

57

Ki szeret napokat eltölteni azzal, hogy követelmény specifikáció és rendszer terv megbeszéléseken részt venni?

Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni?

Ki szeret hosszú és részletesen megtervezett projekt státusz megbeszéléseken ülni?

Ki szeret az első követelmény meghallását követően rögtön kódolni?

Ki szereti a Java-t, vagy a C++-t? (megengedő vagy! )Ki szeretne heti 40 órát programozni a munkahelyén, a többi 128-at pedig hobby programozással tölteni?

eXtreme programming!

Page 96: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Tipikus  XP  projekt

• Rövid  iterációk  (2-­‐3  hét)  sorozata• Minden  iterációban  üzleP  értékek  kerülnek  átadásra• Működő  kód  centrikus  (állandó  tesztelés)• Szoros  megrendelői  együjműködés  („közös”  fejlesztés  a  megrendelővel)

• Naponta  „stand  up”  megbeszélések  (státusz  nyomon  követés)

• Kis  létszámú  programozókból  álló  „Pger  team”• Kis  méretű  szoWver

58

Page 97: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Az  XP  projekt  folyamata

59Forrás: Linda Farrenkopf - Software Methodologies and Impacts to Quality, 2004

Page 98: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Tervezési  és  visszajelzési  hurkok  az  XP-­‐ben

60Forrás: Per Runeson and Peter Greberg - Extreme Programming and Rational Unified Process, 2004

Page 99: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

XP  12  szabálya

• Tervezési  folyamat  (planning  game):  – Követelményeket  storycard-­‐okra  írd!  (cards  on  a  wall)– Teszt  eseteket  már  a  követelményeknél  definiáld!– Felhasználó  válasszon  az  általad  írandó  funkciók  közül  a  költség  becslés  

alapján!

• Kis  „release”-­‐ek,  rövid  ciklusok– Mielőbbi  fujasd  a  programot!– Mielőbbi  szerezz  visszajelzést  a  felhasználótól!

• Metafora  használata– Közösen  használt  nevek  és  leírásokat  használj!

• Egyszerű  tervezés– UML-­‐t  használhatod,  de  egyáltalán  nem  szükséges!  (elegendő  a  code  

model)

61

Page 100: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

XP  12  szabálya  (folyt.)

• Tesztelés– Tesztelj  állandóan!  (verifikáció)– Ellenőrizesd  a  felhasználóval!  (User  acceptance  test)

• Refactoring– Írd  újra  egyszerűbben!

• Pair  programming– Minden  program  funkciót  kejen  írjatok  egy  számítógép  előj  ülve!  

(állandó  code  review)

• Kollekbv  tulajdonú  kód– Minden  kódot  közös  felelősséggel  kezeld  és  vele  közös  tulajdonként  

bánj!

62

Page 101: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

XP  12  szabálya  (folyt.)

• Állandó  integráció– Minden  nap  legalább  egy  kód  integrációt  hajtsatok  végre,  amely  működik  is  !

• 40  óra  egy  hét– Ne  dolgozz  többet  egy  héten  40  óránál,  különben  a  minőség  rovására  megy!

• On-­‐site  customer– A  felhasználóval  szorosan  dolgozz  együj!

• Kódolási  standardok– Tiszta,  érthető,  közös  standardot  használjatok  a  kód  megírása  során!

63

Page 102: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

XP  szabályok  összefüggései

64Forrás: Per Runeson and Peter Greberg - Extreme Programming and Rational Unified Process, 2004

Page 103: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

XP  összegzése• Nagyon  produkbv• Projekt  kockázatokat  hatékonyan  kezeli• Helyesen  futó  kódra  helyezi  a  hangsúlyt• Vevői  megelégedést  kiemelten  kezeli

• 12  fő  alaj  alkalmas• Maximum  fél  éves  kifutású  projektek• KörnyezeP  megkötés  (közös  légtér)• Kultúrális  megkötés  (kooperáló  közösség)• Nem  specifikál  közbenső  termékeket

65

+

-

Page 104: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Agilis  metodikák  összehasonlítása

Page 105: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  RUP,  mint  agilis  szoWverfejlesztési  elv

Az  agilitás...• annak  a  képessége,  hogy  

gyorsabban  cselekszünk,  mint  azok  a  dolgok,  melyek  negabvan  befolyásolhatják  a  projektet.

• annak  a  képessége,  hogy  a  releváns  változásokkal:– megrendelői  igényekkel  – üzleP  célokkal– technológiai  szükségeletekkelképes  lépést  tartani.

67

Page 106: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Agilis  metodikák

• (RaPonal)  Unified  Process  –  „a  3  amigo”:  Bootch,  Rumbaugh,  Jacobson

• eXtreme  programming  (XP)  –  Kent  Beck• SCRUM  -­‐  Ken  Schwaber,  Mike  Beedle• Dynamic  Systems  Development  Method  (DSDM)  • Feature  Driven  Development  (FDD)  -­‐  Peter  Coad• Lean  SoWware  Development• AdapPve  SoWware  Development  -­‐  Jim  Highsmith• Crystal  Methodologies  -­‐  Alistair  Cockburn

68

Page 107: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

A  vízeséses,  a  RUP  és  az  XP  metodika  összehasonlítása

Vízeséses RUP XP

Prj mgt Szekvenciális Iteratív Iteratív

Team formáció

Nagy, erősen struktúrált

Közepes méretű, tech. specialisták

Programozók párban és prjmgr

Követelmény mgt

Szigorúan definiált és kezelt

Szigorúan definiált és kezelt

Programozás közben (stry crd)

Elemzés és tervezés

Széleskörűen és szigorú exit crit.

Adott fázis részletes OO terve

Követelmény elemzéssel együtt

Tesztelés Modul tesztre koncentrál

Tesztelési tervek szerint (U,I,UAT)

Automatizált unit tesztre épít és napi integrációra

69

Page 108: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

SoWware  Process  Engineering  Metamodel

•  Folyamat  mintáktól  a  SPEM-­‐ig

•  RUP  és  XP  modellek

Page 109: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

SoWware  Process  Engineering  Metamodel

•  Folyamat  mintáktól  a  SPEM-­‐ig

•  RUP  és  XP  modellek

Page 110: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Út  a  folyamat  mintákig• Számos  különböző  szoWverfejlesztési  folyamat  jöj  létre.  

Mindegyik  „best  pracPce”-­‐eket  foglal  magába  néhány  új  ötlejel  kiegészítve.

• A  Design  pajern-­‐ök  bebizonyítoják  az  előnyüket  a  szoWver  tervezése  során,  ezért  ez  az  ötlet  lej  alkalmazva  a  szoWverfejlesztési  folyamatok  szintjén  is.

72

Page 111: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Út  a  folyamat  mintákig• Számos  különböző  szoWverfejlesztési  folyamat  jöj  létre.  

Mindegyik  „best  pracPce”-­‐eket  foglal  magába  néhány  új  ötlejel  kiegészítve.

• A  Design  pajern-­‐ök  bebizonyítoják  az  előnyüket  a  szoWver  tervezése  során,  ezért  ez  az  ötlet  lej  alkalmazva  a  szoWverfejlesztési  folyamatok  szintjén  is.

72

Page 112: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Út  a  folyamat  mintákig• Számos  különböző  szoWverfejlesztési  folyamat  jöj  létre.  

Mindegyik  „best  pracPce”-­‐eket  foglal  magába  néhány  új  ötlejel  kiegészítve.

• A  Design  pajern-­‐ök  bebizonyítoják  az  előnyüket  a  szoWver  tervezése  során,  ezért  ez  az  ötlet  lej  alkalmazva  a  szoWverfejlesztési  folyamatok  szintjén  is.

72

Folyamat minták:A folyamat minták kipróbált és sikeresnek talált folyamatlépések sorozatát foglalja magába.

Page 113: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Észrevételek  a  folyamat  mintákra

• A  szöveges  folyamat  minta  leírások  alkalmazása  nehézkes

• A  minták  testreszabása  nagy  munka• Nincs  formális  leírásuk

73

Page 114: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Észrevételek  a  folyamat  mintákra

• A  szöveges  folyamat  minta  leírások  alkalmazása  nehézkes

• A  minták  testreszabása  nagy  munka• Nincs  formális  leírásuk

73

Page 115: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Észrevételek  a  folyamat  mintákra

• A  szöveges  folyamat  minta  leírások  alkalmazása  nehézkes

• A  minták  testreszabása  nagy  munka• Nincs  formális  leírásuk

73

SPEM – Software Process Engineering Meta-model

Page 116: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Észrevételek  a  folyamat  mintákra

• A  szöveges  folyamat  minta  leírások  alkalmazása  nehézkes

• A  minták  testreszabása  nagy  munka• Nincs  formális  leírásuk

73

SPEM – Software Process Engineering Meta-model

SPEM lehetővé teszi a formális definíciót!

Page 117: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Észrevételek  a  folyamat  mintákra

• A  szöveges  folyamat  minta  leírások  alkalmazása  nehézkes

• A  minták  testreszabása  nagy  munka• Nincs  formális  leírásuk

73

SPEM – Software Process Engineering Meta-model

SPEM lehetővé teszi a formális definíciót!

Folyamat minták Gamma-szerű leírása

lehetségesé válik!

Page 118: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Észrevételek  a  folyamat  mintákra

• A  szöveges  folyamat  minta  leírások  alkalmazása  nehézkes

• A  minták  testreszabása  nagy  munka• Nincs  formális  leírásuk

73

SPEM – Software Process Engineering Meta-model

SPEM lehetővé teszi a formális definíciót!

Folyamat minták Gamma-szerű leírása

lehetségesé válik!

Page 119: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

Észrevételek  a  folyamat  mintákra

• A  szöveges  folyamat  minta  leírások  alkalmazása  nehézkes

• A  minták  testreszabása  nagy  munka• Nincs  formális  leírásuk

73

SPEM – Software Process Engineering Meta-model

Eszköztámogatás is megoldható!

SPEM lehetővé teszi a formális definíciót!

Folyamat minták Gamma-szerű leírása

lehetségesé válik!

Page 120: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

SoWware  Process  Engineering  Metamodel

• SPEM:  – egy  UML  profile,  amely  szoWver  process  modellezésre  lej  

kifejlesztve– egy  OMG  specifikáció

• Folyamat  struktúra:– WorkProduct,  WorkDefiniPon,  AcPvity,  Step

• Folyamat  komponens:– Process,  Discipline

• Folyamat  életciklus:– Phase,  IteraPon

74

Page 121: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

SPEM  helye  a  modellek  közöj

75

Page 122: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

SPEM  helye  a  modellek  közöj

75

SPEM helye

Page 123: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

RUP  konfigurációk

76

Page 124: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

SoWware  Process  Engineering  Metamodel

•  Folyamat  mintáktól  a  SPEM-­‐ig

•  RUP  és  XP  modellek

Page 125: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

SoWware  Process  Engineering  Metamodel

•  Folyamat  mintáktól  a  SPEM-­‐ig

•  RUP  és  XP  modellekLive show!

Page 126: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

RUP  referenciák• I.  Jacobson,  G.  Booch,  J.  Rumbaugh,  

The  Unified  So=ware  Development  Process,  Addison  Wesley  1999• P.  Kroll,  P.  Kruchten,  

RaAonal  Unified  Process  Made  Easy,  Addison  Wesley  2003• P.  Robillard,  P.  Kruchten,  

So=ware  Engineering  Process  with  the  UPEDU,  Addison  Wesley  2003• M.  Paulk,  B.  CurPs,  M.  Chrissis,  C.  Weber,  

Capability  Maturity  Model  for  So=ware,  Tech.  Report  1993  CMU  SEI• Website:  

www.ibm.com

78

Page 127: A Rational Unified Process - inf.mit.bme.hu³ria... · Ki szeret hosszú és részletes specifikációkat és terv dokumentumokat írni? Ki szeret hosszú és részletesen megtervezett

XP  referenciák

• Kent  Beck.  Extreme  Programming  Explained:  Embrace  Change.  

• Jeffries,  Ron,  Ann  Anderson,  and  Chet  Hendrickson.  Extreme  Programming  Installed.

• Beck,  Kent  and  MarPn  Fowler.  Planning  Extreme  Programming.  

• Craig  Larman:  Agile  and  IteraAve  Development:  Manager's  Guide

• Websites:  www.xprogramming.comwww.extremeprogramming.orgwww.agilealliance.com

79