You are on page 1of 17

AGILE VS RUP

Sălăgean Roxana
Gr 243
Procesul Software
 Este o mulţime structurată de activităţi necesare
pentru a dezvolta un sistem software
 Specificare
 Proiectare
 Validare
 Evoluţie

 Fiecare model are argumente pro şi contra. Alegerea


unui model de dezvoltare software potrivit revine
echipei, care se ocupă cu realizarea programelor
pe scurt despre RUP

 Este un produs de procesare, dezvoltat şi îmbunătăţit de


Rational Software încă din anii ’90 de către Paul Levy şi Mike
Devlin, fiind achiziţionat în 2003 de IBM.
 RUP se împarte în patru faze
 Iniţiere
 Elaborare
 Construcţie
 Tranziţie
 Sistemul în sine cuprinde 6 discipline de inginerie şi 3
discipline de sprijin.
pe scurt despre RUP

Activitate Descriere
Modelarea Comportamentul sistemului este modelat folosind use cases.
comportamentului
Descrierea cerinţelor Sunt identificaţi actorii care interacţionează cu sistemul şi sunt
dezvoltate cazurile de utilizare pentru a modela cerinţele sistemului.
Analiză şi proiectare Este creat şi documentat un model de proiectare folosind modele
arhitecturale, modele de componente, modele de obiect şi modele
de secvenţă.
Implementare Componentele sistemului sunt implementate şi structurate în sub-
sisteme. Generarea automată a codului din modelele de proiectare
poate accelera acest proces.
Testare Este un proces iterativ efectuat în strânsă legătură cu
implementarea. Testarea sistemului urmează după implementarea
completă.
Instalare Este creată o versiune a produsului, care este distribuită şi instalată.
Managementul Activitate de suport pentru managementul schimbărilor.
schimbărilor şi a
configuraţiilor
Managementul Activitate de support pentru managementul dezvoltării.
proiectului
Stabilirea mediului de Disponibilizarea instrumentelor software potrivite pentru echipa de
dezvoltare dezvoltare.
pe scurt despre Agile

 În februarie 2001 un grup de dezvoltatori software s-au


adunat în Utah pentru a discuta despre metode de dezvoltare
mai uşoare. În urma acestei întâlniri au publicat Manifestul
Agile, care stabileşte principiile ce stau la baza sistemului
Agile şi anume:
 Indivizii şi interacţiunile dintre ei înaintea proceselor şi instrumentelor
 Software funcţional peste unei documentaţii cuprinzătoare
 Colaborarea cu clienţii peste negocierea contractelor
 Reacţia la schimbare peste urmărirea planului prestabilit

 Astfel, AGILE se doreşte să asigure livrarea la timp şi în


marjele de calitate a proiectelor.
Asemănări
 Asemănările ce apar între RUP şi Agile ţin cont de
structura duratei de viaţă a fazelor ce intră în cadrul
acestor proiecte, fiind amândouă exemple de
metodologii iterative.
 Întrucât Agile are la bază metoda de dezvoltare RUP,
ambele urmează cele patru faze în dezvoltare:
iniţiere, elaborare, construcţie şi tranziţie
Phase iteration

Inception Elaboration Construction Transition


Asemănări

 Iniţiere : stabilirea cazurilor de utilizare pentru sistem.


 Elaborare : dezvoltarea unei înţelegeri asupra domeniului
problemei şi asupra arhitecturii sistemului.
 Construcţie : proiectarea, programarea şi testarea sistemului.
 Tranziţie : instalarea sistemului în mediul lui de operare.
Deosebiri
 Deşi RUP este o metodologie iterativă, urmăreşte fazele
generale de iniţiere, elaborare, construcţie şi tranziţie într-o
manieră mai mult sau mai puţin liniară. Pe măsură ce se
înaintează în dezvoltarea softului se insistă tot mai puţin pe
cerinţe şi analize, accentul fiind pe construcţie, testare şi
tranziţie.

 Agile, pe de altă parte, urmăreşte toate fazele de dezvoltare


în fiecare iteraţie. Scopul este de a avea un software stabil ce
ar putea fi predat la sfârşitul oricărei iteraţii. În aceste sens,
are loc o întâlnire a părţilor interesate la începutul şi sfârşitul
fiecărei iteraţii, pt a reorganiza cerinţele şi priorităţile şi,
respectiv, pt a prezenta softul funcţional.
Deosebiri
 Astfel, din moment ce cerinţele sunt bine înţelese se poate
folosi un proiect RUP, pentru că echipa de dezvoltare poate
proiecta cu acurateţe design-ul şi activităţile planificate, fără
a avea surprize semnificative.

 În schimb, atunci când doar cerinţa principală, de bază, este


bine înţeleasă, dar definitivarea produsului, a cazurilor de
utilizare şi a cerinţelor nu sunt disponibile la iniţierea
proiectului se foloseşte sistemul Agile. Cu metodele Agile,
echipa de dezvoltare poate adapta rapid proiectul la
realităţile schimbătoare ce pot surveni pe parcurs.
Deosebiri
Lungimea iteraţiilor

 Agile – iteraţii scurte; indiferent de metodologia folosită,


iteraţiile tind să se dureze până la 2 săptămâni.

 RUP – iteraţii destul de lungi, 1-3luni, datorate strictei divizări


în faze şi documentelor cerute.
Deosebiri
Artefacte
 Setul de documente formale necesare metodologiei RUP
include în mod normal diagrame de clase şi de obiecte,
diagrame ale cazurilor de utilizare, de secvenţă, de activitate,
etc. fiecare dintre acestea concentrându-se asupra unei părţi
specifice a soluţiei.

 Într-un proiect Agile, artefactul central în procesul de


dezvoltare îl constituie codul. Este considerat
contraproductiv să actualizezi diagramele modelului în toate
stadiile dezvoltării de software.
Deosebiri
Refractoring
 Agile – “refactoring agresiv” astfel încât instrumentele ce
sprijină refactoring-ul sunt critice, în timp ce arhitectura
şi structura soluţiei sunt subiecte ale unor schimbări
semnificative de la o iteraţie la alta.

 RUP – predictiv, UML-ul fiind utilizat pentru a elabora cazurile


de utilizare şi alte artefacte care devin baza fazei de
construcţie.
Deosebiri
Managementul schimbării
 Fiecare iteraţie din RUP seamănă foarte mult cu un proces în
cascadă în miniatură. Ea aduce avantajele dezvoltării iterative
şi livrării incrementale, însă cere ca riscurile să fie identificate
în avans, arhitectura soluţiei să fie finalizată în avans şi ( de
obicei) testarea să apară după finalizarea soluţiei.

 Metodele Agile manipulează schimbarea ca pe ceva normal şi


nu ca pe o sarcină adiţională. Controlul schimbării apare în
munca de zi cu zi a echipei de proiect, şi nu necesită un set
de procese separat.
Deosebiri
Faze şi roluri
 Unul din principiile cheie ale dezvoltării Agile este că o echipă
este alocată unui singur proiect la un moment dat,
urmărindu-l de la faza de iniţiere până la folosirea efectivă.

 În cazul RUP, membrii ‘echipei’ sunt, de cele mai multe ori,


implicaţi în mai multe proiecte odată. Astfel, în timpul fazei
de iniţiere sau elaborare dintr-un proiect, dezvoltatorii pot fi
ocupaţi cu scrierea codului pentru un alt proiect.
Deosebiri
Echipa
 Deşi creat pentru a permite flexibilitatea utilizării RUP în
orice proiect, procesul trebuie modificat înainte de
implementare. Acest fapt cere echipei să aibă acces la experţi
din domeniu pentru a asigura definirea şi utilizarea
procesului în mod corect.

 Agile, în schimb, tinde să fie folosită pentru proiectele de


dimensiuni mici şi medii care implică echipe de până la 10
dezvoltatori strâns uniţi. O dată de echipele devin mai mari
de atât, metodologiile Agile încep să eşueze deoarece nu se
pretează echipelor mari sau a celor dispersate geografic.
Concluzii
 RUP – ghid de folosire eficientă a UML-ului, fiind sprijinit de
diferite ustensile ce automatizează părţi mari din
întregul proces.
– set al celor mai bune practici în dezvoltarea soft, este
configurabil potrivindu-se unui număr mare de proiecte
şi organizaţii
 Agile – concentrat pe implementarea cerinţelor şi

desfăşurarea activităţilor în condiţiile apariţiei


schimbăriilor.
– proiectare bună şi simplă
– succes în timp rapid dacă operează cu membrii cu
experienţă
THANKS FOR LISTENING 

You might also like