Sunteți pe pagina 1din 29

Managementul si

dezvoltarea produselor
software
HOSTIUC IULIAN
grupa 341C5
contact@iulianhostiuc.ro
Cuprins
 Istoric
 Ciclul de viata al unui produs software
 Modele de dezvoltare software

Integrarea Sistemelor Informatice


(2010-2011)
1. Istoric
 Programarea modulara Pascal
 Programarea orientata obiect C++/Java
 Programarea cu ajutorul componentelor
Entreprise Java Beans

Integrarea Sistemelor Informatice


(2010-2011)
Criza dezvoltarii software
Erori grave Proiectarea software
• Sonde spatiale pierdute (Venus ’60, •Livrarea în întârziere a tuturor
Marte 99) proiectelor
• Criza rachetelor – Cuba 1979
•Cost mult ridicat fata de cel
• Rachetele Patriot 1991 prevazut
• Primul zbor Ariane 5 1996 artificii
•Livrarea unui produs de proasta
de 5 miliarde $
calitate
• Aeroportul Denver 1994-1996
•Esuarea în majoritatea cazurilor
• Anul 2000
• Incidente în fiecare luna •Studiu american din 1995 : 81
miliarde $ / an datorat esecului
- bursa din Tokyo …
software
- accidente de circulatie
Integrarea Sistemelor Informatice
(2010-2011)
Constructia podurilor si dezvoltarea
software
Ingineria civila Ingineria software
• Sistemele informatice devin
•Esecuri mai putine foarte repede extrem de
complexe
•Surparea unui pod este foarte
• Esecuri foarte numeroase
perculoasa pentru oameni
• « Craparea » este un fenomen des
•O experienta de mai multe milenii întâlnit si obisnuit
• Pierderi minore în general
•Un pod stricat în general nu se
• Cu exceptia sistemelor critice
repara ci se reconstruieste putem spune ca un produs
•Podul rezista la 99% din conditii software nu poate anticipa orice
situatie
•Daca un pod este inutilizabil • Adaugarea sau schimbarea
atunci schimbam traseele functionalitatilor, de platforme
drumurilor

Integrarea Sistemelor Informatice


(2010-2011)
2.1 Cum se desfasoara în general un proiect ?

 Entuziasm general la început


 Un punct de criza în care se constientizeaza ca proiectul nu poate
fi predat la timp
 Spre sfârsit : un volum de munca impresionabil (24h/24h), resurse
umane suplimentare, tensiune si relatii încordate

Acest ciclu se repeta si în marile companii de soft la primele


proiecte realizate de catre o companie.
Principala cauza este incapacitatea de planificare si gestionare a
resurselor (timp, oameni, documentatie, utilitare, cunostinte, etc) .

Integrarea Sistemelor Informatice


(2010-2011)
2.2 Asa da, asa nu
Termen de
Punct de predare
criza

Efort

10

Pas 1 Pas 2 Pas 3

Integrarea Sistemelor Informatice


(2010-2011)
2.3 Ciclul de viata optim pentru derularea unui
proiect
 Ciclu de viata = ansamblul etapelor parcurse în
dezvoltarea unui produs software.
 Etapele ciclului de viata :
1. Culegerea de specificatii
2. Analiza
3. Proiectarea
4. Implementarea si Testarea
5. Validare si Integrare
6. Calificare
7. Punerea în functiune
8. Mentinerea
9. Retragerea sau înlocuirea

Integrarea Sistemelor Informatice


(2010-2011)
2.3.1 Culegerea de informatii
 Definirea problemei, adica a ceea ce se da în
problema, a resurselor de care dispunem (alte sisteme
informatice sau BD pe care le putem utiliza, tehnici utilizabile,
persoane care ar putea lucra,etc)
 Specificarea detaliata a functionalitatilor
ce trebuiesc suportate de catre sistemul
informatic (adica realizarea diagramei de cazuri de utilizare)
 Realizata prin caietul de sarcini
 Analiza functionala

Integrarea Sistemelor Informatice


(2010-2011)
2.3.1.1.Stabilirea obiectivelor
 Se face de catre managerul de proiect;
 Fiecarea idee buna trebuie promovata indiferent
de cel care a contribuit la ea;
D1 Clientul este cel care doreste acel produs.
D2 Utilizatorul este cel care doreste sa utilizeze
acel produs software.
D3 Dezvoltatorii sunt aceia care intentioneaza sa
« fabrice » acel produs.

Integrarea Sistemelor Informatice


(2010-2011)
2.3.1.2 Definirea necesitatilor
 Un caiet de sarcini este stabilit de catre client în
colaborare cu utilizatorul si dezvoltatorul :
- descrierea functionalitatilor asteptate de la
aplicatie;
- constrângeri non-functionale (timp de raspuns,
utlizarea memoriei, etc );
- posibilitatea utilizarii Diagramei de Cazuri de
utilizare;

Rezultatul acestei etape : Caietul de sarcini

Integrarea Sistemelor Informatice


(2010-2011)
2.3.2 Analiza
 Cautarea solutiilor corecte posibile
A gasi solutiile corecte posibile înseamna
- a alege tehnica de programare ( orientat obiect, procedural,
componente);
- a gasi algoritmii potriviti si adaptarile lor la necesitatile problemei;
- determinarea modelului obiectual necesar dezvoltarii proiectului;
- a alege solutia software necesara dezvoltarii;(MySQL sau Oracle,Java sau
C#, JavaBuilder sau Eclipse,etc ).
- a gasi criteriile de dezvoltare (ergonomie, accesibilitate, rapiditate, etc )

 Identificarea caracteristicilor acestor solutii


Pentru solutiile gasite se va încerca o acomodare pe cazuri simple si studierea
caracteristicilor (comportamente,raspunsuri, timp de executie,etc ) în
aceste situatii de cercetare.

Integrarea Sistemelor Informatice


(2010-2011)
2.3.2.1 Analiza necesitatilor
 Este de fapt definitia produsului de realizat
- specificatiile precise ale produsului de realizat;
- constrângeri ce trebuiesc satisfacute;

Rezultatul acestei etape


- dosarul de analiza (specificatii functionale si
non-functionale)
- schita manualului utilizatorului ;

Integrarea Sistemelor Informatice


(2010-2011)
2.3.2.2 Planificare
 Defalcarea proiectului în sarcini care se înlantuiesc în mod continu si logic.
 Afectarea fiecarui membru al echipei pentru o anumita durata si scop.
 Definitia normelor de calitate ce trebuiesc satisfacute .
 Alegerea metodelor de concepere si testare.
 Stabilirea dependentelor externe (umane, materiale, preturi, calitate a
serviciilor)
Rezultatul acestei etape
- Plan de calitate al produsului, Planul proiectului
- Estimarea costurilor reale
- Deviz destinat clientului (pret, întârzieri, livrabile)

Integrarea Sistemelor Informatice


(2010-2011)
2.3.3 Proiectarea si faza de
concepere
 Definirea arhitecturii software.
 Interfete dintre diferite module.
 Rolul acestei etape este de a concepe arhitectura de asa natura
astfel încât componentele produsului sa fie independente pentru
a facilita dezvoltarea.
Rezultatul acestei etape
- Dosarul de conceptie;
- Planul de integrare;
- Planul de testare;
- Actualizarea planning-ului ;

Integrarea Sistemelor Informatice


(2010-2011)
2.3.4 Implementarea
 Alegerea limbajului potrivit de dezvoltare
 Alegerea tehnologiei potrivite de dezvoltare (alegerea
serverului de baze de date, alegerea tehnologiei de
stocare a datelor, alegerea metodei de transmitere a
datelor – protocoale de comunicatii, sincronizare etc )
 Scrierea codului sursa / scripturi ,etc.

Rezultatele acestei etape


- Module codate
- Documentarea fiecarui modul
- Actualizarea planning-ului

Integrarea Sistemelor Informatice


(2010-2011)
2.3.4.1 Testarea
 Se verifica echivalenta dintre implementare si modelul
proiectat.
 Validarea implementarii în raport cu criteriile de
corectitudine identificate în etapa de analiza.
 Implementarea si testarea se face pentru fiecare modul
în parte.
 Testarea întregii aplicatii este o alta etapa din ciclul de
viata si trebuie facuta aceasta distinctie.
Rezultate
Module testate
Rezultatele testarilor unitare

Integrarea Sistemelor Informatice


(2010-2011)
2.3.5 Integrarea si validarea aplicatiei
 Fiecare modul este integrat cu celelalte
conform planului de integrare.
 Ansamblul este testat conform cu
planurile de testare.
Rezultate
- Produs software testat
- Manual de instalare
- Versiunea finala a manualului de utilizare.

Integrarea Sistemelor Informatice


(2010-2011)
2.3.6 Calificarea produsului soft
 Teste de amploare realizate în conditii
normale de utilizare.
 Teste non-functionale
- Teste de încarcare
- Teste de toleranta
Rezultate
Raportul de anomalii

Integrarea Sistemelor Informatice


(2010-2011)
2.3.7 Punerea în functiune
 Livrarea produsului final
 Instalarea produsului la client
 Sfârsit sau nu ?!

….

Integrarea Sistemelor Informatice


(2010-2011)
2.3.8 Mentinerea aplicatiei
 Raporturi de incidente sau anomalii
 Cerere de modificari corective
 Cereri de evolutie a aplicatiei
 Cod si documentatie modificata
 O noua serie de teste
- Unitare
- De integrare
- Non – regresive

Integrarea Sistemelor Informatice


(2010-2011)
3. Modele ale ciclului de viata
 Modelul în cascada
 Modelul în V
 RAD
 RUP
 2TUP
 XP

Integrarea Sistemelor Informatice


(2010-2011)
3.1 Modelul în cascada
Analiza
necesitatilor Modificarea
necesitatilor
Specificatii
functionale

Planificare

Concepere

Implementare

Integrare

Calificare

Exploatare

Retragere
Integrarea Sistemelor Informatice
(2010-2011)
Problemele modelului în cascada
 Proiectele adevarate rar urmeaza o
dezvoltare secventiala
 Este dificil a stabili toate necesitatile
proiectului la începutul sau
 Produsele soft dezvoltate urmând un
model în cascada apar de cele mai multe
ori cu întârziere
 Acest model este aplicabil pentru
proiectele care sunt bine întelese

Integrarea Sistemelor Informatice


(2010-2011)
3.2 Modelul în V
Specificatii functionale
Calificare
si planificare

Conceptie globala Integrare

Conceptie detaliata Teste unitare

Programare

Integrarea Sistemelor Informatice


(2010-2011)
Comparatie
 Modelul în V permite
- O buna anticipare în dezvoltare
- Evita întoarcerea
 Dar
- Cadrul de dezvoltare este foarte rigid
- Durata este adesea foarte lunga
- Produsul soft apare adesea foarte târziu

Integrarea Sistemelor Informatice


(2010-2011)
3.3 RAD
Rapid Aplication Develoment

 Discutii si interactiuni cu utilizatorul


 Verificarea eficacitatii reale a unui algoritm
 Verficarea specificatiei interfetei cu
utilizatorul (GUI)
 Metoda utilizata adesea pentru stabilirea
si identificarea necesitatilor
 Utilizata adesea de catre generatoarele de
coduri

Integrarea Sistemelor Informatice


(2010-2011)
3.4 RUP
Rational Unified Process

Integrarea Sistemelor Informatice


(2010-2011)
Vă mulţumesc !

Intrebări?

Integrarea Sistemelor Informatice


(2010-2011)

S-ar putea să vă placă și