Documente Academic
Documente Profesional
Documente Cultură
programelor
Etapele dezvoltrii programelor
Modele de dezvoltare
Analiza cerinelor
ntr-o
Proiectarea arhitectural
Proiectarea detaliat
Scrierea codului
Integrarea componentelor
Modelul big-bang
componentele sunt dezvoltate i testate individual
componentele sunt integrate n sistemul final
avnd n vedere c funcionarea corect a componentelor individuale
Modelul incremental
Acest model propune crearea unui nucleu al aplicaiei i
integrarea a cte o component la un moment dat, urmat
imediat de testarea sistemului obinut
Validare
Verificare
ntreinere
Analiza
cerinelor
Proiectarea
sistemului
Proiectarea
detaliat
Scrierea
codului
Testarea unitilor i
testarea la integrare
Testarea
sistemului
Testarea de
acceptare
Operarea i
ntreinerea
Modelul cascad
Avantaj principal
documente de specificaie
model etc.
Dezavantaje
Clientul trebuie s atepte instalarea sistemului pentru a vedea
cum funcioneaz acesta
ntr-un anume stadiu al dezvoltrii nu se poate influena
rezultatul obinut ntr-un stadiu precedent pentru a se remedia o
problema gsit
Analiza
cerinelor
Proiectarea
sistemului
Proiectarea
detaliat
Scrierea
codului
Testarea unitilor i
testarea la integrare
Testarea
sistemului
Testarea de
acceptare
Operarea i
ntreinerea
Modelul cascad
Modelul cascad
Analiza
cerinelor
Validare
Modelul cascad
cu prototipizare
Proiectarea Verificare
sistemului
Proiectarea
detaliat
Scrierea
codului
Prototipizare
Testarea unitilor
i testarea la
integrare
Testarea
sistemului
Testarea de
acceptare
Operarea i
ntreinerea
Operarea i
ntreinerea
Modelul n V
Validare cerine
Analiza
cerinelor
Proiectarea
sistemului
Testarea de
acceptare
Testarea
sistemului
Verificare proiectare
Proiectarea
detaliat
Testarea unitilor i
testarea la integrare
Scrierea
codului
Modelul n V
Altfel spus, n timpul celor dou etape ale testrii precizate mai sus
programatorii i membrii echipei de testare se pot asigura c
fiecare aspect al proiectrii detaliate a fost implementat corect n
cod.
Modelul incremental
Analiza
cerinelor
Livrare 1
Proiectare
Implementare
Instalare
ntreinere
Livrare 2
Proiectare
Implementare
Instalare
ntreinere
Livrare i
Proiectare
Implementare
Instalare
ntreinere
Modelul incremental
Modelul de dezvoltare
modelului n cascad
incremental
este
similar
Prototipizarea
Prototipizarea
List
revizuiri
prototip
revizuit
List
revizuiri
List
revizuiri
verificare
client/utilizator
Prototip
cerine
Cerine sistem (pot fi
informale sau incomplete)
Prototip
proiect
Prototip
sistem
Testare
Sistem livrat
Prototipizarea
Prototipuri:
de aruncat (throwaway)
scopul este exclusiv obinerea unei specificaii
nu se acord nici o importan stilului de programare i de lucru, punndu-se
evoluionar
scopul este de a crea un schelet al aplicaiei care s poat implementa n
Prototipizarea
Avantajele prototipizrii
Prototipizarea
Dezavantajele prototipizrii
Modelul n spiral
planificare
faze bine definite
produse intermediare
studiul de fezabilitate
analiza cerinelor
proiectarea arhitecturii software
implementarea
Modelul n spiral
Modelul n spiral recunoate c problema principal a dezvoltrii
programelor este riscul, acesta fiind acceptat, evaluat i
diminuat.
Exemple de riscuri:
Modelul n spiral
Cost cumulativ
Evaluare alternative
(prin prototipuri)
Identificare i rezolvare riscuri
Determinare obiective,
alternative, constrngeri
Plan
cerine
AR
PR
Concept
PR
Prototip (PR)
Prototip
operaional
Simulare, modele
Proiectare
Proiectare detaliat
software
Testare
uniti
Dezvoltare
Utilizarea
Evaluri
obiective.
Modelul
Waterfall
Bazat pe cerine
Analiza
cerinelor
Proiectare Implement.
i testare
uniti
Integrare
Testare
sistem
Etapa inginereasc
Etapa de producie
Reducere riscuri
Orar, fezabilitate
tehnic
Cost
Produse
Arhitectura de baz
Livrabil de baz
Activiti
Analiz, proiectare,
planificare
Implementare, testare
Evaluri
Demonstraii, inspecii,
analize
Testare
Economie
Rezolvarea creterii
costurilor
Exploatarea economiilor
Management
Planificare
Operaii
Etapa de producie
Elaborare (Rafinare)
Construcie
Tranziie
timp
Milestone
Obiective
Milestone
Arhitectur
Milestone
Capabilitate
operaional iniial
Milestone
Livrare
produs
Faz: timpul dintre dou milestone-uri majore ale proiectului, de-a lungul
cruia sunt atinse obiective bine definite i sunt luate decizii de trecere sau nu
la faza urmtoare;
Elaborare
Construcie
Tranziie
timp
Milestone
Obiective
Faza de Iniiere
Elaborare
Construcie
Tranziie
timp
Milestone
Arhitectur
Faza de Elaborare
cazuri de
sistemului;
utilizare
care
descriu
majoritatea
funcionalitilor
Elaborare
Construcie
Tranziie
timp
Milestone
Capabilitate
operaional iniial
Faza de Construcie
Programul propriu-zis;
Teste;
Manuale de utilizare.
Elaborare
Construcie
Tranziie
timp
Milestone
Livrare
produs
Faza de Tranziie
Elaborare
Construcie
Iteraie
preliminar
Iteraie
Iteraie
Arhitectur Arhitectur
Iteraie
Dezvoltare
Iteraie
Dezvoltare
Tranziie
Iteraie
Dezvoltare
Iteraie
Tranziie
Iteraie
Tranziie
Livrabile executabile
Reprezint punctul la care proiectul este evaluat i sunt realizate ajustrile necesare.
O iteraie presupune:
unor
obiectivele proiectului
faza proiectului
n general, iteraiile din faza de Elaborare sunt mai mari dect iteraiile din faza de
Construcie.
n interiorul unei faze, iteraiile au n general aceeai lungime.
[I,E,C,T]
Mic
[0,1,1,1]
Tipic
[1,2,2,1]
Mare
[1,3,3,2]
Foarte mare
10
[2,3,3,2]
Pentru majoritatea proiectelor durata unei iteraii este ntre 1 lun i 2 luni.
Iteraiile mai mici de o lun trebuie planificate cu atenie. n general, iteraiile scurte sunt
mai convenabile n faza de Construcie unde gradul de includere de noi funcionaliti i
gradul de noutate sunt mici. Iteraiile scurte pot s nu necesite analiz formal i
proiectare.
Iniiere
Lucrul cu funcionaliti noi
Mediu necunoscut
Obiective cu grad mare de
volatilitate
Decizii make-buy
Construcie
Cantitate mare de cod de scris i
verificat
Tehnologii sau instrumente de
dezvoltare noi
Elaborare
Lucrul cu sisteme noi (caracteristici
arhitecturale noi)
Elemente arhitecturale netestate
Nevoia de prototipuri ale sistemului
Tranziie
Necesitatea unor variante alpha i
beta
Schimbarea clienilor
Livrare incremental ctre client
Prima Iteraie
de
iteraii,
Strategii de iterare
Wide and Shallow
Se
analizeaz ntregul domeniu al
problemei dar se iau n considerare doar
detaliile de suprafa.
S
o
l
u
i
e
Problem
Strategii de iterare
Problem
S
o
l
u
i
e
Hibrid
Mixtur a strategiilor anterioare
Elaborare
Construcie Tranziie
Expunerea la risc
Mare
Mic
Descriere:
Descriere:
Metodologii Agile
Proces de dezvoltare rezistent la
schimbri
Metodologii Agile
Metodologiile AGILE
pregtite pentru schimbri metode adaptive
orientate spre oameni mai degrab dect spre proces
rolul proceselor este de a ajuta echipa de dezvoltare n a-i face
treaba
XP | Extreme Programming
DSDM | Dynamic System Development Method
FDD | Feature Driven Development
Scrum
Crystal Clear
Adaptive Software Development
Lean Software Development
RAD - Rapid application development
TDD - Test Driven Development
Metodologii Agile
Principiile AGILE
Declaraia de Interdependen
www.apln.org
Manifestul AGILE
http://www.agilemanifesto.org
Metodologii Agile
Manifestul AGILE
1. Satisfacerea clientului este obiectivul prioritar al dezvoltrii unui
sistem software.
2. Schimbarea cerinelor este acceptat chiar n fazele trzii ale
dezvoltrii sistemului. Procesele Agile utilizeaz schimbrile n
avantajul competitiv al clientului.
3. Livrarea frecvent de software funcional, cu frecvena de livrare
sptmnal sau lunar, cu preferin pentru termene de livrare
ct mai reduse.
4. Stakeholderii i dezvoltatorii trebuie s lucreze mpreun n fiecare zi
la proiect.
5. Recunoaterea i exploatarea competenelor membrilor echipei de
dezvoltare. Echipa trebuie lsat s-i dezvolte modurile proprii de
lucru.
6. Cea mai eficient metod de a transmite informaiile spre i n
interiorul echipei de dezvoltare este discuia fa n fa.
Metodologii Agile
Manifestul AGILE
7. Scrierea programului este principalul scop al unui proiect software;
softul livrat este principala msur a progresului.
8. Procesele Agile promoveaz dezvoltarea susinut. Sponsorii,
dezvoltatorii i utilizatorii trebuie s fie capabili s colaboreze
indiferent de circumstane.
9. Softul se dezvolt incremental, clientul specificnd care sunt cerinele
ce trebuie incluse n fiecare increment.
10. Concentrare pe simplitate att n programele dezvoltate ct i n
procesul de dezvoltare. Oricnd este posibil, trebuie eliminat
complexitatea din sistem.
11. Cele mai bune specificaii, arhitecturi i modele de proiectare sunt
produse de echipele auto-organizate.
12. La intervale regulate de timp, echipa reflecteaz asupra
posibilitilor de mbuntire a eficienei i i ajusteaz
corespunztor comportamentul.
Metodologii Agile
Abordarea AGILE
Indivizi i interaciuni
Realizarea de soft
Colaborarea cu clientul
Receptivitate la schimbri
Lider AGILE
Valoare
Echip
Adaptare
Abordarea tradiional
Procese i instrumente
Documentaie cuprinztoare
Contract negociat
Urmrirea unui plan
Lider tradiional
Constrngeri
Taskuri
Conformare