Documente Academic
Documente Profesional
Documente Cultură
=
tot
ex
A
A
CE % %)) *
.
(etoda grafului cauz ! efect se folosete pentru testarea programului astfel:
se construiete un tabel decizional unde coloanele corespund efectelor, iar
liniile cauzelor;
pentru fiecare efect, se identific n graf combinaii de cauze care duc la
efectul respecti+ i se completeaz acea coloan;
se determin starea celorlalte efecte pentru combinaia de cauze determinat;
+alorile de pe o coloan formeaz un test pentru sistem.
d. Exemplu:
"e construiete o baz de date cu numerele fiierelor nscrise ntr!un index care
identific locaiile tuturor fiierelor. Indexul are %) seciuni.
,n sistem de afiare +a permite utilizatorului s +izualizeze una din cele %)
seciuni ale indexului printr!o comand format dintr!o liter urmat de o cifr.
#rimul caracter {-, .}, unde:
- displa/;
. listare.
Al doilea caracter {), %, 0., 1} identific seciunea din index.
2le ocup primele dou coloane.
-ac primul caracter e greit se tiprete mesa3ul A de eroare, iar pentru al doilea
mesa3ul 4, unde:
A , comanda greit'
- , numr index greit.
5n constituirea grafului cauz ! efect se identific cauzele i efectele astfel:
.auze:
$%& caracterul din coloana % este 6-7.
$'& caracterul din coloana % este 6.7.
$8& caracterul din coloana ' este o cifr.
/fecte:
$9)& este +izualizat seciunea din index.
$9%& este tiprit mesa3ul A.
$9'& este tiprit mesa3ul 4.
Fig. 1 Graful boolean cauz - efect
%
'
8
9%
9)
9'
')
:;
N:<
AN-
N:<
Nodul ') este un nod intermediar ce reprezint rezultatul aplicrii operatorului "A,
exclusi+ nodurilor % i '.
: ambiguitate a specificaiei este dat de +izualizarea seciunii, pentru c nu se
precizeaz dac e +izualizat pe ecran sau tiprit la imprimant atunci c=nd se d o
comand corect.
Aceast ambiguitate se elimin prin redefinirea efectului 9) astfel:
01 A - seciunea din index se %izualizeaz pe ecran.
01 - - seciunea din index se tiprete la imprimant.
>raful cauz ! efect de+ine:
Fig. 2 Graful boolean cauz - efect (final)
Acum se poate construi tabelul %, cu coloanele corespunz=nd efectelor i liniile
cauzelor.
Tabelul 1 Reguli de decizie
2 f e c t e
')
I - .
9)A 9)4 9% 9'
% % % ) %
' % ) % %
') )
8 % % )
Nepermis $?& ? % % % % % %
%
'
8
9%
9)A
9)4
')
:;
N:<
AN-
N:<
9'
AN-
@ a u z e
Aiecare coloan din tabelul % se poate con+erti n mai multe teste ecBi+alente. :
posibilitate ar fi:
Tabelul 2 Teste ale sistemului
Nr. test Intrri ;ezultate scontate
% - 8 "e +izualizeaz seciunea 8 $9) A&
' . 9 "e tiprete seciunea 9 $9) 4&
8 4 C @omand incorect $9%&
D . E Numr index eronat $9'&
e. Instruire:
>raful cauz i efect este o teBnic matematic ce necesit cunotine de logic
boolean.
f. Beneficii:
Aceast msur permite analiza cerinelor, eliminarea ambiguitilor i constituie
o baz pentru dez+oltarea cazurilor de test.
2. 3rasabilitatea cerine
a. Aplicare:
Ferific conformana dintre specificaiile sistemului i cerinele iniiale ale
beneficiarului, aplic=ndu!se n faza incipient a ciclului de %ia.
#re+ederea unei cerine sau adugarea unei specificaii n plus inutil pot s apar
n procesul de detaliere a cerinelor iniiale, c=nd se creaz arBitectura sistemului
softGare.
3rasabilitatea e corect dac toate specificaiile asociate ar4itecturii
sistemului au corespondent n cerinele iniiale ale beneficiarului i reciproc$ dac
toate cerinele se regsesc n ar4itectura sistemului.
b. Primitive:
5
1
, nr. de cerine implementate n ar4itectura sistemului'
5
2
, nr. de cerine iniiale (beneficiar*.
c. Implementare:
(sura de trasabilitate se calculeaz cu formula:
36 , 7 1118 .
d. Interpretare:
.#nd toate cerinele soft9are beneficiar sunt acoperite de ar4itectura
soft9are$ msura de trasabilitate este 1118.
:ac msura de trasabilitate e mai mic de 1118$ atunci unele cerine
iniiale nu au fost incluse n ar4itectura soft9are.
ArBitectura poate, totui, s conin cerine suplimentare celor iniiale. ,nele
dintre acestea pot rezulta ca urmare a unor pai de rafinare, altele din noi cerine adugate
arBitecturii. Astfel de situaii trebuie analizate cu atenie.
e. Instruire:
2ste necesar instruirea n interpretarea adec+at a rezultatelor.
f. Exemplu:
"e consider un sistem de supara+egBere a traficului care trebuie s transmit un
a+ertisment la consola operatorului i s!l tipreasc atunci c=nd traficul n sistem este
ridicat.
5n figura 8, nu se precizeaz tiprirea a+ertismentului, trasabilitatea nefiind deci
complet.
;
'
;
%
H % i <( I %))* J %))*.
Fig. 3 Arhitectura unui siste !e control al traficului (inco"let)
;
%
;
'
5
1
5
2
<rafic intens
A+ertizare
super+izor
"esizare
5n arBitectura din fig. D se remediaz aceast omisiune:
Fig. # $iste !e su"ra%eghere trafic (co"let)
Aici ;
%
;
'
H % i <( K %))* pentru c o cerin adiional, care n!a fost iniial
n arBitectura sistemului, s!a introdus $lu=nd fig. 8 ca reflect=nd ceea ce a cerut
beneficiarul iniial&.
Aceast situaie ar putea fi i o eroare $<( K %))*&.
g. Beneficii:
Acest metric, aplicat fazei de design arBitectural softGare, poate identifica
cerinele beneficiar neimplementate.
<rafic intens
A+ertizare
operator
"esizare
(esa3 la
imprimant
Metrica Halstead (metric a textului surs)
Orice limbaj de programare este caracterizat prin:
Definire de instruciuni neexecutabile(declarative);
Instruciuni executabile;
Manipularea !n cadrul expresiilor a operatorilor "i operanzilor;
#rogramele sunt formate din instruciuni care sunt scrise !n secvene
f$r$ a lua !n considerare ordinea execuiei;
#rogramele sunt privite omogen f$r$ s$ se in$ seama de prelucr$rile
f$cute%
IPOTEZE DE LUCRU:
& 'u toate c$ tipurile de date !nseamn$ aloc$ri de zone de memorie
diferite toi operaranzii sunt considerai omogeni put(nd fi
contorizai global;
& De"i operatorii !nseamn$ nr% diferit de cicluri ma"in$ vor fi
considerai omogeni "i vor fi a"adar contorizai global;
& ')iar dac$ cuvintele c)eie folosite !n instruciuni executabile
corespund unor secvene de compilare de lungimi diferite vor fi
considerate omogene "i se vor contoriza global%
*ceste ipoteze simplificatoare sunt specifice metricii HALTEAD!
e c"#sider:
#$ + nr% operanzilor distinci;
#% + nr% operatorilor distinci;
,e vor defini relaiile:
# & #$ ' #% unde n este vocabularul folosit !n program;
( & ($ ' (% unde:
($ + nr% total de operanzi care apar !n program;
(% + nr% total de apariii ale operatorilor !n program;
( + lungimea observat$ a programului%
C & #$ l")
%
( #$ ) ' #% l")
%
( #% )* unde ' este complexitatea estimat$
a programului;
+ & ( l")
%
( # ) unde - este volumul programului;
, & (+ #% ($) - (% #$) unde . este claritatea programului;
L & ( % #$) - ( #% ($ ) unde / reprezint$ nivelul de implementare;
D & $ - L unde D este dificultatea%
,e observ$ c$ metrica 0*/,12*D prive"te programul ca un ansamblu
de componente f$r$ a lua !n considerare interdependenele dintre
instruciuni "i modul de execuie a lor%
De exemplu secvenele:
s 3 4; s 3 4;
i3 4; for ( i 35; i6 n; i77 )
x 8 i 9 3 5; :
for ( i 3 5; i 6 n; i77 ) ;8 i 9 3 4;
: z8 i 9 3 i;
x 8 i 9 3 ( i 7< ) = (i7<); x 8 i 9 3 ( i7< ) = (i7<);
s7 3 x8 i 9; s7 3 x8 i 9;
> >
,ecvena a) ,ecvena b)
de"i sunt diferite ca semnificaie din punct de vedere al execuiei "i al
rezultatelor obinute conduc la valori ale metricii 0*/,12*D prezentate
!n tabelul 5%
1abelul 5% Metrica 0*/,12*D calculat$ pt% ? secvene de program
I(DICATORUL EC+E(.A a) EC+E(.A /)
n5 @ @
n? 54 54
A5 ?5 ??
A? ?B ?@
- 5C?%55 ?44%?D
' E?%D@ E?%D@
D 5E 5E%@5
#t% secvena a)
n5 3 :s i x # 0 $ 1>&&&&operanzi distinci;
n? 3 : & 2 3 4 ( ) 5 '' 6 ' >&&&&operatori distinci%
Obs%: 5) 7 8 9i * sunt separatori%
?) 'u toate c$ instruciunile nu sunt comutative metrica 0*/,12*D
nu reflect$ necomutativitatea tocmai de aceea pt% realizarea unor
comparaii reprezentative ea se aplic$ unor programe corecte "i optimale%
De exemplu secvenele:
s3 4; s3 4;
a 3 4; for (i 3 4; i 6 n; i77)
for (i 3 4; i 6 n; i77) :
: a 3 4;
s7 3 x8 i 9; s7 3 x8 i 9;
> >
,ecvena a) ,ecvena b)
de"i sunt identice din punct de vedere al metricii 0*/,12*D
neoptimalitatea secvenei b) nu este reflectat$%
NUMRUL CICLOMATIC (Metrica McCabe)
Dac se consider graful G asociat unui program, care are N noduri, M arce i P
componente conexe (pentru care se identific perechi de noduri distincte legate printr-un
lan), numrul ciclomatic v(G) = M N +P.
Numrul ciclomatic repreint o agregare de elemente neomogene (noduri, arce, perechi
de noduri legate prin lanuri)!
De exemplu, pentru graful din fig! "
#ig! " Graf orientat
Numrul de noduri N $ %, numrul de arce M $ &! Perechile de noduri (x", x'), (x(, x'),
(x), x'), (x", x*), (x(, x*), (x), x*), (x+, x*), sunt legate prin lanuri, -n acest ca P $ &!
Numrul ciclomatic asociat grafului din fig! " este .
v(G) = M N +P=7 8 + 7 = 6.
/tructurilor de program le corespund grafuri care au particulariti impuse de caracterul
sec0enial al execuiei instruciunilor! #iecrei structuri de program i se poate ataa un
graf orientat -n care nodurile corespund instruciunilor, iar arcele ordinii de execuie a
instruciunilor! 1n astfel de graf are un nod iniial (de start) i un nod terminal (de stop) i
nu este un graf conex, deoarece nu exist un drum de la nodul iniial la cel final! Prin
adugarea unui arc care pleac din nodul terminal i are cealalt extremitate -n nodul
iniial se o2ine un graf conex, ce are o singur component (P $ ")!
Numrul ciclomatic se calculea dup formula.
v(G) = M N +!
deoarece a fost adugat grafului iniial un arc suplimentar (ficti0)!
De exemplu, pentru un program format din * instruciuni de afiare care se execut
sec0enial, a03nd asociat graful din fig! (,
#ig! ( Graful asociat unei sec0ene liniare de program
4(
4)
4"
4+ 4'
4*
4&
4%
5( 5) 5+ 5' 5* 5"
numrul ciclomatic este.
v(G) = M N + = " #6 + = $.
5ntuiti0, structurile liniare sunt identificate cu complexiti minime! 6n acest ca,
numrul ciclomatic se asimilea cu o msur de complexitate!
Pentru programul care numr elementele poiti0e, negati0e i nule ale unui masi0
unidimensional, al crui text surs este.
0oid main()
7
int np, nn, n, i, x8"9:$7-), (, &, 9, "", 9, (, +, -", 9;,
5". np$9,
5(. nn$9,
5). n$9,
5+. for(i$9, i<"9, i==)
5'. if(x8i: < 9)
5*. nn==,
else
5&. if(x8i: > 9)
5%. np==,
else
5?. n==,
5"". printf(@An Numarul elementelor negati0e $ BdC, nn),
5"(. printf(@An Numarul elementelor nule $ BdC, n),
5"). printf(@An Numarul elementelor poiti0e $ BdC, np),
;, se asocia graful din fig! ).
%&' avea(
Numrul de noduri. N $ ")
Numrul de arce. M $ "'
Numrul ciclomatic asociat acestui graf.
D(G) $ ME N = ( $ "' -")= ($ +!
Pentru un modul o2inuit, "9 este complexitatea ideal maxim! Pentru un sistem
foarte complex, numrul ciclomatic poate fi mai mare! Dac numrul complexitii
calculate este prea mare, se impune o modulariare a codului!
Fiteratura de specialitate ofer urmtoarele 0alori.
C)c*&'atic C&'+*e,it) Ri-. /va*0ati&1
"E"9 G simple program, Hithout much risI
""E(9 More complex, moderate risI
("E'9 Jomplex, high risI program
>'9 1ntesta2le program (0erK high risI)
N0'2r0* cic*&'atic 3i 1ive*0* 4e c&1te,t
Prin con0enie, ni0elul de context asociat structurii liniare este "! 5nstruciunea .
if cond /"
else
/(
Lste generatoarea unui nou context, iar sec0enele /" i /( 0or a0ea ni0elul de context
maMorat cu o unitate -n raport cu ni0elul precedent!
Pentru sec0ena de program.
a $ ),
2 $ +,
c $ (,
if (a > 2) min $ 2,
else min $ a,
if (min > c) min $ c,
printf(@An BdC, min), ,graful asociat este dat -n fig! +.
ni0ele de context
) ( " ( )
n" a$)
n( 2$+
n) c$(
n+ if(a > 2)
n*
min$a
n'
min$2
n&
endif
n"9
endif
n?
min$c
n%
if(min > c)
n""
printf
#ig! + Ni0ele de context pentru o sec0en de program
da
da
Grcul care efectuea legtura -ntre un nod a03nd ni0elul de context Ni i un nod
a03nd ni0elul de context NM 0a fi ponderat cu max 7Ni, NM;! /e consider un graf G
asociat programului P a03nd n arce, cu ponderile p
"
, p
(
, !!!, p
n
i m noduri! Numrul
ciclomatic ponderat este.
J $ Op
i
E m =(, unde i $ ", P,n!
5ndicele ciclomatic ponderat este definit prin.
5c $ J Q (n R max7 p
i
; E m = (!
Pentru sec0ena de program considerat, graful din figura de mai sus are "( arce i ""
noduri! Ponderile asociate arcelor sunt date -n ta2elul nr! "!
Tabe*0* $. Nive*0ri 4e c&1te,t 3i +&14eri a-&ciate arce*&r
Arc0* (1i! 15) C&1te,t 6i C&1te,t 65 +
i
(n", n() " " "
(n(, n)) " " "
(n), n+) " " "
(n+, n') " ( (
(n+, n*) " ( (
(n', n&) ( " (
(n*, n&) ( " (
(n&, n%) " " "
(n%, n?) " ( (
(n%, n"9) " " "
(n?, n"9) ( " (
(n"9, n"") " " "
Op
i
"%
J $ "% E "" = ( $ ?!
Numrul ciclomatic calculat dup formula lui McJa2e are 0aloarea.
J
MJ
$ M E N = ( $ "( E "" = ( $ )!
5c $ % Q ( "( R ( E "" = ( ) $ ? Q "'!
/e o2ser0, anali3nd ta2elul (, c ponderea exprim mai 2ine di0ersitatea legturilor
dintre noduri!
Tabe*0* . I14icat&ri +&14era7i 3i 1e+&14era7i
Ti+ i14icat&ri C -a0 C
MC
5c
Neponderat ) "
Ponderat ? ?Q"'
5" np $ 9
5( n $ 9
5) nn $ 9
5+ for
5' if
5* nn==
da
5& if
5% np==
5? n==
Jontinuare ciclu (nod
ficti0)
nu
da
5""
5"(
5")
#ig! ) Graful asociat programului
1. Timpul mediu de descoperire a urmtoarelor k defecte
a. Aplicare:
Metrica poate fi folosit pentru a proiecta timpul mediu pn la descoperirea
urmtoarelor k defecte, dnd indicaie asupra a ct de mult timp se cere pn ce se obine
un nivel dorit de fiabilitate.
b. Primitive:
f = numr de defecte gsite de la nceputul testrii pn n prezent;
t
i
= timpul ntre defectarea (i!" #i i pentru un nivel de severitate dat (i=!, $".
c. Implementare:
%impul mediu pn la defectare (metricul 4" ar trebui folosit pentru estimarea
urmtoarelor k defecte n soft&are. 'l are e(presia)
%impul mediu pn la descoperirea urmtoarelor k defecte (%M'" =
M%%* i
i f
f k
!
, unde M%%*
i
este un timp mediu pn la defectare estimat ntre
defectarea i #i i+! #i se poate calcula folosind orice model soft&are bazat pe timpii ntre
defectri. ,rin estimarea M%%*, se poate estima ct timp de testare va fi necesar pentru a
descoperi toate defectele sau un subset al defectelor reziduale.
d. Interpretare:
-alculele numerice actuale ale estimrii M%%* depind de distribuia aleas de
model pentru M%%*.
e. Consideraii:
.n timpul ciclului de via al dezvoltrii soft&are, ar trebui s se utilizeze
evalurile prediciilor unui model pentru f #i n funcie de aceasta s se fac planificri
care se pot realiza.
g. Instruire:
/mplementarea acestui metric cere cunoa#terea aplicrii modelelor soft&are ale
timpilor ntre defectri.
h. Exemplu:
0e folose#te modelul de de-eutroficare Jelinski-Moranda pentru a estima
M%%*i (timpul mediu de defectare ntre defectrile i #i i+!".
M%%*i = , unde)
1 = constant de proporionalitate estimat n model;
NF = numr estimat al defectelor e(istente n program.
%impul mediu estimat pentru a descoperi urmtoarele defecte este)
2
2
2
2
!
1 (3*i"
2 2
2
%M'
i f
f k
!
.
,entru a ilustra calculul, fie)
f = 45, 1 = 5.56; 3* = !55.
%impul mediu, de e(emplu, pentru a descoperi urmtoarele 4 defecte este)
( ) ( ) ( ) ( ) ( ) ( )
TME
i
i
!
5 56 !55
!
5 56 75
!
5 56 89
565
45
4!
. . .
.
Oser!a"ie: Timpul se poate referi la timpul de e#ecu"ie $%& sau calendaristic.
i. Beneficii:
:cest metric se poate reprezenta funcie de k (k = !,4,;, $ 3*" folosind la
aprecierea integritii unui sistem n orice moment dat.
'. (stimarea numrului de defecte rmase )prin seedin*+
a. Aplicare:
3umrul estimat de defecte rmase ntrun program ine de fiabilitatea
programului. 0unt mai multe te<nici de estimare a acestui numr. :ici se propune o
form a plantrii defectelor cu o distribuie omogen.
,cest metric poate fi aplicat oricrei fa-e a ciclului de !ia" soft.are.
-utarea defectelor continu pn cnd se descoper un anumit numr de defecte
nsmnate, pe lng cele indigene.
b. Primitive:
N
/
= numr de defecte =plantate>;
n
/
= numr de defecte =plantate> gsite;
n
F
= numr de defecte indigene gsite;
c. Implementare:
o ec<ip special insereaz 3
0
defecte reprezentative pentru tipul de defecte
indigene a#teptate s e(iste n soft;
ec<ipa de test raporteaz defectele gsite n timpul unei perioade de test
prestabilit. ,recizia estimrii cre#te cu numrul de defecte care au fost
inserate aleator n soft&are. *iecare defect raportat trebuie atribuit unei clase
(indi*en sau inserat" #i totodat se stabile#te dac a mai aprut;
estimarea numrului de defecte indigene pentru o anumit clas este)
3* = , unde )
3* se va lua ca parte ntreag.
'stimarea numrului rmas de defecte este)
2 2
!
1 (3*i"
2 2
2 n
*
3
0
n
0
2
3* rez = 3* n
*
probabilitatea gsirii lui n
*
din 3* defecte indigene #i a lui n
0
din 3
0
defecte
nsmnate, adic pentru a se gsi n
*
+ n
0
defecte n program, este
,
found
= - (3
0
, n
0
"?(3*, n
*
" @ -(3* + 3
0
, n
*
+ n
0
" unde;
-((, A" = (B @ (( A"B AB este combinri de ( luate cte A.
d. Consideraii:
msura depinde de presupunerea c defectele nserate sunt reprezentative
pentru defectele e(istente. .n general, nu toate defectele au posibilitate egal n a
fi descoperite de o procedur de test;
defectele sunt corectate n soft&areul original numai dup ce sa
determinat care sunt erorile indigene dintre toate defectele;
corecia defectelor indigene poate duce la generarea altor defecte.
e. Instruire:
se cere instruire n inserarea defectelor #i monitorizarea procesului de
testare;
se cere #i pricepere n clasificarea defectelor.
f. Exemplu:
,resupunem c sau inserat !55 de defecte. .n timpul perioadei de testare, au fost
gsite 65 din cele !55 de defecte plantate #i 4 dintre cele indigene.
:tunci) 3
0
= !55
n
0
= 65
n
*
= 4
NF
n N
n
F S
S
1
]
1
1
]
1
4 !55
65
C
3umr de defecte reziduale) 3* rez = 3* n
*
= C 4 = 4.
Nippon Telep0one and Tele*rap0 au obinut rezultate bune aplicnd metoda de
inserare defecte unui sistem de operare cu !6555 linii de cod.
1. ,coperire test )co!era*e+
a. Aplicare:
Msoar completitudinea procesului de testare din perspecti!a utili-ator 2i
de-!oltator. :re legtur direct cu etapele de dezvoltare, integrare #i testare (pentru
testele de ) unitate, sistem #i acceptare".
b. Primitive:
(!" program)
funcionale (module, segmente, instruciuni, ramificri, ci";
date (clase de date".
(4" cerine)
2
2 2
2 2
cazuri de test;
capaciti funcionale.
c. Implementare:
:coperire test (%-" are e(presia)
%- (D" = ? !55
d. Interpretare:
%- este doar un indicator al desvr#irii unui test. Ee obicei e(ist un
numr infinit de cazuri de test. :cesta poate fi redus semnificativ dac se definesc
logic relaii ec<ivalente referitor la funcii #i date;
.ncrederea n nivelul testrii cre#te prin utilizarea de primitive rafinate) de
e(emplu, acoperirea segment de !55D este mai puternic dect cea a modulului
de !55D.
e. Consideraii:
programul este un set de instruciuni codificate, iar cerinele sunt un set al
capabilitilor dorite de utilizator;
Fig. Acoperire testare
intersecia din fig. ! reprezint setul de capabiliti cerute de utilizator care
sunt implementate;
aria stng reprezint creativitatea programator sau acele zone pentru care sau
luat decizii de implementare necesare funcionrii <ard&areului;
aria dreapt reprezint capabilitile intenionate ale utilizatorului care lipsesc
n implementare intenionat sau nu;
corespunztor acestui model, se procedeaz astfel)
(-apabiliti implementate"
(-apabiliti cerute"
(,rimitive program testate"
(,rimitive program totale"
-'F/3G' /H3IF:%'@J/,0K
-F':%/L/%:%' ,FIHF:M:%IF
,FIHF:M
-'F/3G'
-M%/' :JNK
-M%/'
33':HFK
-M%/' HF/
(:-I,'F/F' EIF/%K"
(!" programului i se asociaz o acti!itate de testare unitate bazat pe cunoa#terea
structurii programului (cunoscut ca 345T( 6O7+ sau pe cea funcional
($8(,9 6O7 T(/T5N:";
(4" cerinelor li se asociaz o activitate de test sistem care, n maOoritatea cazurilor,
presupune o necunoa#tere a implementrii program.
0unt proiectate scenarii de test care s demonstreze operarea corect din
punctul de !edere al utili-atorului.
,rimitivele cerine se cunosc #i ele dau o msur de acoperire test orientat
utilizator (NJ:-P NIQ %'0%/3H".
-ombinarea celor dou activiti duce la ceea ce se c<eam HF:R NIQ
%'0%/3H. %estarea n aceast activitate vizeaz produsul, acoperirea prin test a
programului #i cerinelor.
f! Instruire:
Mtilizatorul ar trebui s neleag baza teoriei de testare.
g!. Exemplu:
,resupunem c toate cerinele sunt implementate.
%abelul ; d coverageul test al unui set de teste n care segmentele sunt
primitivele.
"abelul Exemplu de m#surare a acoperirii test#rii
$cu segmente ca primitive!
Nr. Nume Numr
de
Teste e#ecutate
crt
.
modul se*mente Nr. de in!ocri Nr. de se*mente testate %rocent co!era*e
65
6!
64
6;
6C
66
6S
68
:
N
-
E
'
*
H
T
!88
!6
8
;
6C
6
9
49
!4
4
!C
;C
45
6
!
4
64
!!
C
4
!7
;
9
!C
49.;7
8;.;;
68.!C
SS.S8
;;.;;
S5.55
!55.55
C7.47
TOT,8 11;' 1;< 4=4 1>.?; @
4. Timpul mediu pAn la defectare
a. Aplicare:
0e folose#te pentru a testa un M%%* specificat.
b. Primitive:
M%%* este parametrul de baz cerut de maOoritatea modelelor de fiabilitate
soft&are;
calculul e dependent de precizia nregistrrii timpului de defectare ( ti ", unde
ti este timpul dintre defectrile (i!" #i i;
pentru un mediu de dezvoltare soft&are, se recomand timpul de e(ecuie
-,M, iar pentru mediul operaional timpul calendaristic (mai puin precis".
c. 5mplementare:
se pstreaz istoria defectrilor;
se organizeaz defectele n funcie de comple(itate, severitate sau rata de
reinserie;
se alege un model reprezentativ al procesului de defectare, care se valideaz
cu datele despre defectri pe care leam nregistrat.
c. Interpretare:
I valoare mare a M%%* implic o fiabilitate #i disponibilitate corespunztoare ale
soft&areului.
d. Instruire:
cuno#tine de statistic matematic #i folosire a modelelor de fiabilitate;
calculele pentru maOoritatea modelelor de fiabilitate cer implementarea unor
programe pe calculator.
e. Exemplu:
0e consider trei nivele ale severitii claselor de defectare) 0*!, 0*4 #i 0*;.
*iecare clas de defectare are proprii si timpi ntre defectri)
/F1: !75, S86, ;!6, 4!4, 487, 65;, C;!
/F': C88, !5C7, S76, ;9S
/F1: 79C, !C44.
:tunci o estimare a M%%* este)
M%%*
t
i
k
k
i
!
, pentru fiecare clas, unde)
t
k
= timpii ntre defectri;
i = nr. de defectri din clasa de severitate respectiv.
M%%* 0*!
469C
8
;85 68 . ,
M%%* 0*4
4S5S
C
S6! 6 . ,
MTTF SF ;
4;!S
4
!!67 .
:ceste valori pot fi comparate cu M%%* specificat pentru fiecare clas de
severitate.
,entru c rata de defectare e constant, funcia de distribuie a defectrii poate fi
presupus e(ponenial #i *(t" = ! e(p(t@M%%*", care reprezint probabilitatea
defectrii soft&are n timpul t.
=. 9ata de defectare
a. Aplicare:
,oate fi folosit pentru a indica cre#terea fiabilitii soft&are n funcie de timpul
de testare.
b. Primitive:
t
i
= timpul ntre defectri pentru un anumit nivel de severitate (i = !, 4,$..";
f
i
= numrul de defectri ale unui nivel de severitate n intervalul de timp t.
c. Implementare:
rata de defectare )t+ poate fi estimat din func"ia de fiailitateB 9)t+B care
la rndul ei se poate obine din distriu"ia de proailitate cumulati!B F)t+B
a timpului pn la urmtoarea defectare folosind orice model de cre#tere
fiabilitate, cum ar fi modelul %oisson neomo*en )N4%%+ sau modelul de tip
6aCesian.
Fata de defectare este ) )t+ D
F t
F t
U ( "
( "
B unde 9)t+ D 1 - F)t+.
d. Interpretare:
)t+ o"inut din N4%% depinde numai de timpul t 2i descre2te continuu;
(t" care deriv din modelul lui 8ittle.ood depinde de timpul t #i valoarea
func"iei de cre2tere fiailitate )i+ la defectarea a i a.
-ernd funciei (i" s fie cresctoare, condiia )t
i
+ )t
i
- 1+ poate fi
respectat doar n sens probabilistic, pentru c programatorul poate introduce noi erori n
timpul coreciei unei erori.
e. Consideraii:
Modelul N4%% face supoziiile)
(!" *iecare defect are probabilitate egal de e(punere;
(4" 3r. de defecte detectate n timpul intervalelor destinate de test , t
i
, sunt
independente;
(;" %impul ntre defectrile i! #i i depinde de timpul pn la a (i!" a defectare.
f. Instruire:
programe de calcul pe calculator (pt. parametri #i indicatori";
cunoa#tere a proceselor stoc<astice #i a te<nicilor de optimizare.
g. Exemple:
Misra , un specialist 3:0:, a obinut o funcie valoare medie pentru rata de
defectare testnd peste 5.6 milioane linii cod surs ale unui soft&are folosit n aviaie.
Eup ;7 sptmni de testare ( 4C66 <" au fost estimai parametrii modelului
3T,, pentru categoria de erori maOore)
a = !S;.7!;; b = 5.478 !5
;
Fata de defectare descresctoare are e(presia)
( ) t ab b t t i
i
n
+
_
,
'
e(p
!
pentru t t i
i
n
!
.
8ittle.ood a e(aminat un set de date de !;S timpi de e(ecuie, pulicat de Musa, pentru
a prezice timpii de defectare viitori, utiliznd
( )
( )
t
t i
,t t t i i
+
+!
#i lund pentru (i" o form liniar)
(i" =
!
+
4
i.
,arametrii ,
!
#i
4
sau obinut cu metoda verosimilitii ma(ime bazat pe primele ;6
de observaii)
= !.6!7;
!
= 5.996;
4
= 8.7;C.
-u aceasta, rata de defectare dup defectarea i se poate estima cu formula)
( ) t
t i
+
!6!7
5 996 87;C
.
. .
,
t
i
t t
i + !
(i = !, $.!;S".
h. Beneficii:
scderea ratei de defectare poate fi folosit pentru a arta mbuntirea
fiabilitii soft&are ca un rezultat al folosirii operaionale;
se poate estima timpul necesar atingerii unei inte de fiabilitate
2
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1
Introducere n Ingineria Programrii
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 2
Obiective
G
De a face o introducere n ingineria
software i de a explica importana ei
G
De a prezenta rspunsuri la ntrebrile
cheie legate de ingineria programrii
G
De a prezenta aspecte etice i
profesionale ce sunt legate de inginerii
software
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 3
Cuprins
G
ntrebri frecvente despre ingineria
software
G
Responsabilitate ethic i profesional
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 4
Ingineria programrii
G
Economiile !!R"R rilor dezvoltate depind de
software#
G
ot mai multe sisteme sunt controlate de
programe#
G
$ngineria software se ocup cu teorii% metode i
instrumente pentru dezvoltarea software
profesional#
G
&heltuielile legate de software reprezint un
procent semnificativ n toate rile dezvoltate#
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 5
Costuri software
G
Costurile software de cele mai multe ori
depesc costurile hardware.
G
Costurile de ntreinere a unui program de obicei
sunt mai mari dect costurile de devoltare.
Pentru sistemele cu o via lung! costurile de
mentenan pot depi de cteva ori costurile
de devoltare.
G
Ingineria programrii se ocup cu devoltarea
eficient a programelor.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 6
"ntrebri frecvente despre ingineria
software
G
Ce este software#ul$
G
Ce este ingineria software$
G
Care este diferena dintre ingineria software i
tiina calculatoarelor$
G
Care este diferena dintre ingineria software i
ingineria sistemelor$
G
Ce este un proces software$
G
Ce este un model al procesului software$
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 7
"ntrebri frecvente despre ingineria
software
G
Care sunt costurile n ingineria software$
G
Ce sunt metodele ingineriei software$
G
Ce este C%&' (Computer#%ided &oftware
'ngineering)
G
Care sunt atributele unui software de calitate$
G
Care sunt provocrile eseniale ale ingineriei
software$
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 8
Ce este software#ul$
G
Programele de calculator i documentaia legat de ele cum
ar fi cerine! modele de proiectare i manuale de utiliare.
G
Produsele software pot fi devoltate pentru un client
particular sau pentru o pia general.
G
Produsele software pot fi
* +enerice , devoltate pentru a fi vndute unei game largi de
utiliatori (cum ar fi '-cel sau .ord).
* /edicate , devoltate pentru un singur client n conformitate cu
cerinele clientului.
G
&oftware nou poate fi creat prin devoltarea de noi
programe! configurnd sisteme software generice sau
reutilind software e-istent.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 9
Ce este ingineria software$
G
Ingineria software este o disciplin de inginerie
ce se ocup de toate aspectele produciei
software.
G
Inginerii software trebuie s adopte o abordare
sistematic i organiat i s foloseasc
instrumente i tehnici potrivite cu problema de
reolvat! cu constrngerile de devoltare i cu
resursele disponibile.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 10
Care este diferena dintre ingineria software
i tiina calculatoarelor$
G
0tiina calculatoarelor se ocup cu partea de
teorie i fundamente1 ingineria software se ocup
cu prtile practice de devoltare i livrare a
programelor utile.
G
2eoriile tiinei calculatoarelor nu sunt suficiente
pentru ingineria software.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 11
Care este diferena dintre ingineria software
i ingineria sistemelor$
G
Ingineria sistemelor se ocup cu toate aspectele
de devoltare ale sistemelor baate pe calculator
inclund hardware! software i ingineria
proceselor. Ingineria software este parte a
acestui proces ce se ocup cu devoltarea
infrastructurii software! control! aplicaii i bae
de date n sistem.
G
Inginerii de sistem sunt implicai n specificarea
sistemelor! proiectarea arhitecturii! integrare i
instalare.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 12
Ce este un proces software$
G
'ste o mulime de activiti ale cror scop este
devoltarea sau evoluia unui software.
G
%ctivitile generice preente n toate procesele
software sunt3
*
'pecificare , ce ar trebui s fac sistemul i care sunt
constrngerile de devoltare
*
Dezvoltare , producia sistemului software
*
(alidare , verificarea dac sistemul software este ceea
ce dorete clientul
*
Evoluie , schimbarea sistemului software ca rspuns
la cerinele clientului
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 13
Ce este un model al procesului software$
G
'ste o repreentare simplificat a unui proces
software! preentat dintr#o perspectiv specific.
G
'-emple de perspective prin care putem privi un
process
*
Perspectiv .or4flow , secven de activiti1
*
Perspectiv /ata#flow , flu-ul informaiei (de date)1
*
Perspectiv 5ol6aciune , cine ce face.
G
7odele generic de proces
*
.aterfall (cascad)1
*
/evoltare iterativ1
*
/evoltare baat pe componente.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 14
Care sunt costurile n ingineria software$
G
%pro-imativ 89: din costuri sunt costuri de
devoltare! iar ;9: sunt costuri de testare. /ar
pentru software devoltat pentru un client
particular! costurile de evoluie de cele mai multe
ori depesc costurile de devoltare.
G
Costurile varia n funcie de tipul sistemului
devoltat i n funcie de cerinele sistemului mai
ales cele de performan i fiabilitate.
G
/istribuia costurilor depinde mult de modelul de
devoltare folosit.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 15
/istribuia costurilor pe activitate
Wa t e rfa ll m o de l
It e ra tiv e de v e lo pm e nt
Co m po ne nt-b a se d so ftw a re e ng ine e ring
De v e lo pm e nt a nd e v o lutio n c o sts fo r lo ng -life tim e sy st e m s
Sy ste m e v o lutio n
1 0 2 0 0 3 0 0 0 0
Sy ste m de v e lo pm e nt
Spe c ific a tio n De sig n De v e lo pm e nt Inte g ra tio n a nd te sting
2 ! ! 0
" !
1 0 0 0
Spe c ific a tio n De v e lo pm e nt Inte g ra tio n a nd te sting
2 ! ! 0 " ! 1 0 0 0
Spe c ific a tio n Ite ra tiv e de v e lo pm e nt Sy ste m te sting
2 ! ! 0 " ! 1 0 0 0
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 16
Costurile de devoltare a unui produs
Spe c ific a tio n De v e lo pm e nt Sy ste m te sting
2 ! ! 0
" !
1 0 0 0
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 17
Ce sunt metodele ingineriei software$
G
&unt abordri structurate ale devoltrii software care
includ modele de sistem! notaii! reguli! sfaturi de
proiectare i ghid de proces.
G
/iagrame de model
* /escrieri grafice ale modelului de sistem1
G
5eguli
* Constrngeri aplicate modelelor de sistem1
G
5ecomandri
* &faturi de bun proiectare1
G
+hid de proces
* Ce activiti ar trebui efectuate.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 18
Ce este C%&' (Computer#%ided &oftware
'ngineering)
G
&unt sisteme software care ofer suport pentru
activitile proceselor software.
G
&istemele C%&' sunt deseori folosite pentru a
realia o metodologie de devoltare.
G
<pper#C%&'
*
%plicaii care vin n a=utorul activitilor de nceput ale
procesului de devoltare cum ar fi specificarea
cerinelor! anali i proiectare1
G
>ower#C%&'
*
%plicaii care a=ut activiti ulterioare cum ar fi
programare! depanare i testare.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 19
Care sunt atributele unui software de
calitate$
G
<n software de calitate trebuie s ofere funcionalitatea i
performana cerut de client i s fie mentenabil! fiabil i
acceptat de client.
G
7entenabilitate
* &oftware#ul trebuie s evoluee pentru a fi n pas cu schimbrile1
G
?iabilitate
* &oftware#ul trebuie s fie @de ncredereA1
G
'ficien
* &oftware#ul nu trebuie s abuee de resursele sistemului1
G
%cceptan
* &oftware#ul trebuie s fie acceptat de utiliatorii pentru care a fost
proiectat. %cest lucru nseamn c trebuie s fie uor de neles!
utiliabil i compatibil cu alte sisteme.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 20
Care sunt provocrile eseniale ale
ingineriei software$
G
'terogenitate! promptitudine i ncredere.
G
'terogenitate
*
2ehnicile de devoltare software trebuie s fac fa
platformelor i mediilor de e-ecuie eterogene1
G
Promptitudine
*
2ehnicile de devoltare trebuie s duc la o mai
rapid devoltare a programelor1
G
"ncredere
*
2ehnicile de devoltare trebuie s demonstree c
utiliatorii pot folosi cu ncredere produsul software.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 21
5esponsabiliti profesionale i etice
G
Ingineria software implic mai multe
responsabiliti dect punerea n practic a unor
aptitudini tehnice.
G
Inginerii software trebuie s aib un
comportament onest i etic dac vor s fie
respectai ca profesioniti.
G
Comportamentul etic nseamn mai mult dect a
respecta legea.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 22
'lemente de responsabilitate profesional
G
Confidenialitate
*
2rebuie respectat confidenialitatea anga=ailor i a
clienilor indiferent dac a fost semnat sau nu un
contract de confidenialitate.
G
Competen
*
Bu trebuie preentat greit nivelul de competen.
Bu trebuie acceptat o lucrare care depete
nivelul de competen.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 23
'lemente de responsabilitate profesional
G
Proprietatea intelectual
*
2rebuie avute n vedere legile locale legate de
patente! copCright! etc. 2rebuie de asemnea luate
msuri pentru prote=area proprietilor intelectuale
ale anga=ailor i clienilor.
G
"ntrebuinare iresponsabil a calculatorului
*
%ptitudinile de lucru cu calculatorul nu trebuie
folosite iresponsabil asupra calculatoarelor altor
persoane. ?olosirea iresponsabil varia de la
lucruri relativ triviale (=ucarea unor =ocuri pe
calculatoarele clientului) pn la lucruri e-trem de
serioase (virusarea calculatoarelor).
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 24
Concluii
G
Ingineria software este o disciplin de inginerine ce se ocup
cu toate aspecte de producie software.
G
Produsele software constau din programele devoltate i
documentaia corespuntoare. %tributele esentiale ale
produselor software sunt maintainabilitatea! fiabilitatea!
eficiena i utilitatea.
G
Procesul software const din activitile implicate n
devoltarea produselor software. %ctivitile de ba sunt
specificarea software! devoltarea! validarea i evoluia.
G
7etodele sunt moduri organiate de producie software. 'le
includ sugestii pentru procesul ce trebuie urmat! notaii
folosite! reguli ce guvernea descrierile sistemului ce este
produs i sfaturi de proiectare.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 25
Concluii
G
%plicaiile C%&' sunt sisteme software
proiectate s a=ute activitile de rutin din
procesul de devoltare software! cum ar fi
editarea diagramelor! verificarea consistenei lor
i evidena testelor rulate.
G
Inginerii software au responsabiliti profesionale
i sociale care depesc elementele tehnice.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 1
Cerine Software
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 2
Obiective
G
De a introduce conceptele de cerine
utilizator i cerine sistem
G
De a descrie cerinele funcionale i ne-
funcionale
G
De a explica cum pot fi organizate
cerinele sotfware ntr-un document de
cerine
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 3
Cuprins
G
Cerine funcionale i ne-funcionale
G
Cerine utilizator
G
Cerine de sistem
G
Documentul de cerine software
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 4
Ingineria cerinelor
G
ste procesul de stabilire a serviciilor pe
care le dorete clientul de la sistem i
constr!ngerile de operare i dezvoltare"
G
Cerinele sunt descrieri ale serviciilor
sistemului"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 5
Ce este o cerin#$
G
%oate varia de la o fraz# abstract# care descrie
un serviciu sau o constr!ngere de sistem p!n# la
o specificare matematic# detaliat#"
G
&ceast# situaie este inevitabil# deoarece ele au
dou# funcii
'
%ot sta la baza unei licitaii ( deci trebuie s# fie uor
de interpretat)
'
%ot sta la baza unui contract ( deci trebuie definite n
detaliu)
'
&mbele descrieri sunt numite cerine"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 6
&bstractizarea cerinelor *Davis+
Dac o companie dore te s ini ieze dezvoltarea unui proiect software mare , trebuie s
defineasc cerin ele ntr -un mod suficient de abstract ca solu ia s nu fie predefinit .
Cerin ele trebuie scrise astfel nct diferite firme s poate licita pentru con tract, oferind
probabil diferite moduri de a ndeplini cerin ele organiza iei clien t. Odat ce contractul a
fost c tigat, contractorul trebuie s scrie o defini ie a sistemului mult mai detaliat astfel
nct clientul s n eleag i s valideze comportamentul programului. Ambele do cumente
pot fi numite document de cerin e pentru sistem.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 7
,ipuri de cerine
G
Cerine utilizator
'
Sunt fraze n limba- natural plus diagrame ale
serviciilor pe care le ofer# sistemul i constr!ngeri
de operare" le sunt scrise de clieni"
G
Cerine de sistem
'
Sunt structurate ntr-un document cu descrieri
detaliate ale funciilor sistemului. servicii i
constr!ngeri de operare" Definete ceea ce va fi
implementat. deci poate fi parte dintr-un contract"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 8
Definiii i specificaii
1. %rogramul trebuie s# ofere mi-loace de reprezentare i accesare a
1. fiierelor externe create de alte instrumente
1.1 /tilizatorul trebuie s# aib# mi-loace de a defini tipul fiierelor externe
2
1.2 0iecare tip de fiier exterior poate avea un instrument asociat cu care
1.2 poate fi desc1is acel fiier .
1.3 0iecare tip de fiier exterior poate fi reprezentat cu un icon specific
1.2 pe ecran
1.4 ,rebuie oferite mi-loace ca pozele ce reprezint# tipurile de fiiere
1.2 externe s# poat# fi definite de utilizator
1.5 C!nd utilizatorul selecteaz# o poz# ce reprezint# un fiier. efectul
1.2 seleciei este aplicarea instrumentului asociat acelui tip de fiier
1.2asupra fiierului selectat
Definiie de cerin# utilizator
Specificaie de cerin# sistem
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 9
Cine citete cerinele$
2anageri ai clientului
/tilizatori finali de sistem
Ingineri ai clientului
2anageri de dezvoltare
&r1iteci de sistem
/tilizatori finali de sistem
Ingineri ai clientului
&r1iteci de sistem
Dezvoltatori software
Ingineri ai clientului *posibil+
&r1iteci de sistem
Dezvoltatori software
Cerine
utilizator
Cerine
sistem
Specificaii de
proiectare
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 10
Cerine funcionale i ne-funcionale
G
Cerine funcionale
'
Descrieri ale serviciilor pe care trebuie s# le ofere sistemul.
cum trebuie s# reacioneze i s# se comporte sistemul n
situaii particulare"
G
Cerine ne-funcionale
'
Constr!ngeri asupra serviciilor sau funciilor oferite de
sistem cum ar fi constr!ngeri de timp. constr!ngeri ale
procesului de dezvoltare. standarde. etc"
G
Cerine specifice domeniului problemei
'
Cerine ce provin din mediul de utilizare a sistemului"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 11
Cerine funcionale
G
Descriu funcionalitatea sau serviciile
sistemului"
G
Depind de tipul de software i de tipul de
utilizatori ce vor folosi sistemul"
G
Cerinele funcionale pot fi fraze abstracte
de descriu ceea ce face sistemul. dar ele
pot descrie sistemul n detaliu"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 12
Sistemul 3I4S5S *exemplu+
G
ste un sistem tip bibliotec# ce ofer# o
interfa# unic# la un num#r de baze de
date cu articole din diferite biblioteci"
G
/tilizatorii pot c#uta. aduce i tip#ri aceste
articole pentru studiu personal"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 13
xemple de cerine funcionale
G
/tilizatorul trebuie s# poat# c#uta articole n
toate bazele de date sau ntr-un subset selectat"
G
Sistemul trebuie s# ofere instrumente de
vizualizare potrivite pentru citirea articolelor"
G
0iecare comand# trebuie s# aib# alocat un
identificator unic *O6D67ID+"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 14
Imprecizii ale cerinelor
G
%roblemele apar atunci c!nd cerinele nu sunt
enunate precis"
G
Cerinele ambigue pot fi interpretate diferit de
utilizatori i dezvoltatori"
G
De exemplu termenul 8instrumente de vizualizare
potrivite9
'
Intenia utilizatorului ( instrumente de vizualizare
speciale pentru fiecare tip de document)
'
Interpretarea dezvoltatorului ( oferirea unui editor de
text care s# prezinte coninutul documentului"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 15
Completitudinea i consistena cerinelor
G
:n principiu. cerinele trebuie s# fie complete i
consistente"
G
Complete
'
,rebuie s# includ# descrieri ale tuturor
facilit#ilor"
G
Consistente
'
;u trebuie s# existe conflicte sau contradicii
n descrierea facilit#ilor sistemului"
G
:n practic#. este imposibil# realizarea unui
document de cerine complete i consistente"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 16
Cerine ne-funcionale
G
&cestea definesc propriet#ile i constr!ngerile sistemului
cum ar fi fiabilitate. timp de r#spuns i cerine de stocare"
Constr!ngerile sunt propriet#i ale componentelor de
stocare de date. reprezent#ri ale sistemului. etc"
G
%ot fi specificate cerine de proces care impun un anumit
sistem C&S. un limba- de programare sau o metod# de
dezvoltare"
G
Cerinele ne-funcionale pot fi mai critice dec!t cele
funcionale" Dac# primele nu sunt ndeplinite. sistemul
este inutilizabil"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 17
Clasificarea cerinelor ne-funcionale
G
Cerine de produs
' Sunt cerine care specific# lucruri pe care produsul trebuie s# le
ndeplineasc# legat de viteza de execuie. fiabilitate. etc"
G
Cerine de organizare
' Cerine care sunt consecine ale politicii i procedurilor
organizaiei cum ar fi standarde de proces folosite. cerine de
implementare. etc"
G
Cerine externe
' Cerine care provin din factori externi sistemului i procesului
de dezvoltare cum ar fi cerine de interoperabilitate. cerine
legislative. etc"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 18
,ipuri de cerine ne-funcionale
Pe r fo r man c e
re q uir e m e n ts
Spac e
r e q uir e m e n ts
Us a b ility
r e q uir e m e n ts
Effic ie n c y
re q uir e me n ts
Re lia b ility
r e q uir e m e n ts
Po rta b ility
re q uir e me n ts
In te r o pe r a b ility
re q uir e m e n ts
Eth ic al
r e q uir e me n ts
Le g is lativ e
re q uir e m e n ts
Im ple m e n ta tio n
re q uir e m e n ts
Stan d ar d s
re q uir e m e n ts
De li ve ry
re q uir e m e n ts
Safe ty
re q uir e m e n ts
Pri vac y
r e q uir e m e n ts
Pro d uc t
r e q uir e m e n ts
Org an is atio n al
re q uir e m e n ts
Ex te rn al
r e q uir e me n ts
o n !fun c tio n al
re q uir e m e n ts
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 19
xemple de cerine ne-funcionale
G
Cerine de produs
<"= Interfaa cu utilizatorul pentru sistemul 3I4S5S
trebuie s# fie implementat# ca pagini >,23 simple f#r#
cadre *frames+ sau ?ava applets"
G
Cerine de organizare
@"A"B %rocesul de dezvoltare i documentele rezultate se
vor conforma celor definite n C5DCo-S%-S,&;-@E"
G
Cerine externe
F"G"E Sistemul nu trebuie s# ofere alte informaii personale
legate de clieni n afar# de numele lor"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 20
Cerine i scopuri
G
Cerinele ne-funcionale pot fi foarte greu de exprimat ntr-
un mod precis. iar cerinele imprecise pot fi greu verificate"
G
Scop
' O intenie general# a utilizatorului. cum ar fi uurina n utilizare"
G
Cerin# ne-funcional# verificabil#
' O cerin# ce folosete un sistem de m#sur# pentru a putea fi
obiectiv testat#"
G
Scopurile sunt utile dezvoltatorilor n m#sura n care
cuprind inteniile utilizatorilor de sistem"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 21
xemple
G
Un scop al sistemului
' Sistemul trebuie s# fie uor de utilizat de operatori
experimentai i trebuie organizat astfel nc!t erorile de
utilizare s# fie minimizate"
G
O cerin ne-funcional verificabil
' Operatorii experimentai trebuie s# poat# folosi
funcionalitatea sistemului dup# un total de dou# ore
de nv#are" Dup# aceast# perioad# num#rul mediu al
erorilor f#cute de operatorii experimentai nu trebuie s#
dep#easc# dou# pe zi"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 22
/nit#i de m#sur# pentru cerine
Proprietate Unitate de msur
Viteza Tranzacii/secund procesate
Timp de rspuns
Timp de mprosptare pe ecran
Dimensiune M Bytes
Numr de cipuri ROM/RAM
Uurin de utiizare Timp de n!are
Numru de "erestre de a#utor
$ia%iitate Timpu mediu p&n a eroare
'ro%a%iitatea de indisponi%iitate
Rata de apariie a erorior
Disponi%iitate
Ro%ustee Timp de restart dup eroare
'rocentu de e!enimente ce cauzeaz erori
'ro%a%iitatea de corupere a dateor a erori
'orta%iitate 'rocentu de instruciuni ce depind de mediu int
de impementare
Numru de medii int de impementare
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 23
Interaciunea cerinelor
G
Conflictele dintre diferite cerine ne-funcionale
sunt un lucru obinuit n sistemele complexe"
G
Sistem folosit n navete spaiale
'
%entru a minimiza greutatea. num#rul de cipuri
separate din sistem trebuie minimizat"
'
%entru a minimiza consumul de putere. trebuie
folosite cipuri cu consum redus"
'
,otui. folosirea cipurilor cu consum redus poate
nsemna c# vor fi folosite mai multe cipuri" Care
cerin# este mai important# *mai critic#+$
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 24
Cerine din domeniul aplicaiei
G
Descriu caracteristici ale sistemului i facilit#i
care reflect# domeniul specific de lucru al
aplicaiei"
G
le pot fi cerine funcionale. constr!ngeri asupra
altor cerine sau pot defini calcule specifice"
G
Dac# aceste cerine nu sunt ndeplinite. sistemul
poate fi inutilizabil"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 25
Cerine din domeniul aplicaiei 3I4S5S
G
,rebuie s# existe o interfa# utilizator standard
pentru toate bazele de date. interfa# bazat# pe
standardul DA@"EH"
G
Datorit# restriciilor de copIrig1t. unele documente
trebuie terse imediat dup# ce au fost aduse" :n
funcie de cerinele utilizatorului. aceste documente
pot fi doar printate local sau pe o imprimant# de
reea"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 26
%robleme ale cerinelor din domeniul aplicaiei
G
:nelegerea cerinelor
'
Cerinele sunt exprimate ntr-un limba- specific
domeniului aplicaiei)
'
&cest limba- nu este ntotdeauna neles de inginerii
software ce dezvolt# sistemul"
G
Cerine implicite
'
Specialitii domeniului neleg domeniul at!t de bine
nc!t nu se g!ndesc c# este nevoie s# exprime
explicit aceste cerine"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 27
Cerine utilizator
G
,rebuie s# descrie cerine funcionale sau ne-
funcionale ntr-un mod care s# fie neles de
c#tre utilizatorii sistemului care nu au cunotine
te1nice de detaliu"
G
Cerinele utilizator sunt definite folosind limba-ul
natural. tabele i diagrame. n m#sura n care pot
fi nelese de c#tre toi utilizatorii"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 28
%robleme legate de exprimarea n limba- natural
G
3ipsa de claritate
'
ste greu s# obii precizie f#r# s# faci documentul
dificil de citit"
G
Confuzia cerinelor
'
Cerinele funcionale i cele ne-funcionale tind s# fie
amestecate"
G
&malgamarea cerinelor
'
Diferite cerine pot fi exprimate mpreun#"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 29
Cerine utilizator 3I4S5S
4..5 Sistemul LIBSYS trebuie s ofere un sistem de
contabilitate care s in nregistr ri ale tuturor pl ilor
f cute de utilizatorii sistemului . Managerii sistemului pot
configura acest sistem de contabilitate astfel nct
utilizatorii frecven i s poat beneficia de reduceri .
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 30
%robleme ale cerinelor
G
Cerinele includ at!t informaie
conceptual# c!t i de detaliu
G
Cerinele amestec# tipuri diferite de cerine
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 31
Sfaturi pentru scrierea cerinelor
G
Inventeaz# un format standard i folosete-l
pentru toate cerinele"
G
0olosete limba-ul ntr-un mod consistent"
0olosete JtrebuieK pentru cerinele obligatorii i
Jar trebuiK pentru cerinele de dorit"
G
Scoate n eviden# p#rile c1eie ale cerinelor"
G
vit# folosirea -argonului informatic"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 32
Cerine de sistem
G
Sunt specificaii mai detaliate ale funcionalit#ii
sistemului. ale serviciilor sau constr!ngerilor"
G
le vor fi baza pentru proiectarea sistemului"
G
%ot fi ncorporate ntr-un contract"
G
Cerinele de sistem pot fi definite sau ilustrate
folosind diferite modele de sistem"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 33
Cerinele i proiectarea
G
:n principiu. cerinele trebuie s# exprime ceea ce
va face sistemul. iar proiectarea trebuie s#
descrie cum va face sistemul aceste lucruri"
G
:n practic#. cerinele i proiectarea sunt
inseparabile
'
O ar1itectur# de sistem poate fi proiectat# pentru a
structura cerinele)
'
Sistemul poate interopera cu alte sisteme care
genereaz# cerine de proiectare)
'
0olosirea unei proiect#ri specifice poate fi o cerin#
din domeniul aplicaiei"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 34
%robleme ale specific#rii n limba- natural
G
&mbiguitate
'
Cititorii i scriitorii de cerine trebuie s# interpreteze
aceleai cuvinte n acelai fel" 3imba-ul natural este
ambiguu. ceea ce face lucrurile dificile"
G
0lexibilitate prea mare
'
&celai lucru poate fi spus n mai multe feluri n
specifiaie"
G
3ipsa modulariz#rii
'
Structurile limba-ului natural nu sunt adecvate pentru
a structura cerinele de sistem"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 35
<ernative la specificaii n limba- natural
Nota ie Descriere
Limbaj natural
structurat
Aceast abordare depinde de definirea unor abloane standard pentru exprimarea
cerin elor.
Limbaje de
descriere a
proiect rii
Aceast abordare folose te limbaje asem n toare cu limbajele de programare , dar
cu facilit i mai abstracte pentru a specifica cerin ele prin definirea unui model
opera ional al sistemului. Aceast abordare nu este pre mult folosit ast zi , cu toate
c poate fi util pentru specifica iile de interfe e.
Nota ii grafice Un limbaj grafic, suplimentat de note de text, folosit pentru a defini cerin ele
func ionale ale sistemului. Ast zi se folosesc descrieri de tip use -case (cazuri de
utilizare) i diagrame de secven .
Specifica ii
matematice
Acestea sunt nota ii bazate pe concepte matematice cum ar fi automate cu st ri
finite. Aceste specifica ii neambigue reduc discut iile dintre client i contractor
legate de func ionalitatea sistemului. Pe de alt parte majoritatea clien ilor nu
n eleg specifica iile formale i au mari rezerve n a le accepta ca i contract.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 36
Specificaii n limba- structurat
G
3ibertatea scriitorului de cerine este limitat# de
un ablon predefinit pentru cerine"
G
,oate cerinele sunt scrise ntr-o manier#
standard"
G
,erminologia folosit# n descrieri poate fi limitat#"
G
&vanta-ul este c# se menine expresivitatea
limba-ului natural. dar este impus un grad de
uniformizare a specificaiilor"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 37
Labloane de specificaii
G
Definirea funciei sau a entit#ii"
G
Descrierea intr#rilor i a provenienei lor"
G
Descrierea ieirilor i a destinaiei lor"
G
Indicarea altor entit#i necesare"
G
%re i post condiii *dac# este necesar+"
G
fecte secundare *laterale+ ale funciei"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 38
Labloane de specificaii
Insulin Pump/Control Software/SRS/3.3.2
Funcie (acueaz doza de insuin) Ni!eu si*ur de za+r
Descriere (acueaz doza de insuin ce tre%uie administrat c&nd ni!eu msurat de za+ este n
zona de si*uran ntre , i - uniti.
Intrri (itirea ni!eu curent de za+r /r012 i precedentee dou citiri /r3 and r41
Surs Ni!eu curent de za+r de a senzor. Ate citiri din memorie.
Ieiri Doza(acuat 5 doza de insuin ce tre%uie administrat
Destinaie Buca principa de contro
Aciune: Doza(acuat este zero dac ni!eu za+ruui este sta%i sau n cdere sau dac ni!eu
este n cretere2 dar rata de cretere scade. Dac ni!eu crete i rata de cretere crete i ea2 atunci
Doza(acuat se o%ine mprind di"erena dintre ni!eu curent a za+ruui i ni!eu precedent a 6 i
rotun#ind rezutatu. Dac rezutatu este rotun#it a zer o atunci Doza(acuat este doza minim ce poate
"i administrat.
Necesit Dou citiri precedente pentru a putea "i cacuat rata modi"icrii ni!euui de za+r.
Pre-condiie Rezer!oru de insuin conine ce puin doza ma7im de insuin..
Post-condiie r3 este nocuit de r42 apoi r4 este nocuit de r0
Efecte-secundare Nici unu
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 39
2odele grafice
G
2odelele grafice sunt foarte utile c!nd trebuie s#
ar#i cum se sc1imb# starea sistemului sau c!nd
trebuie specificate secvene de aciuni"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 40
Diagrame de secven#
G
&rat# secvena evenimentelor care apar n timpul
unei interaciuni a utilizatorului cu sistemul"
G
Se citesc de sus n -os pentru a nelege ordinea
n care apar aciunile"
G
Scoaterea banilor dintr-un &,2
'
Malidarea cardului)
'
%relucrarea cerinei)
'
Completarea tranzaciei"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 41
Diagram# de secven# pentru scoaterea
banilor dintr-un &,2
ATM Database
Card
Card number
Card OK
PIN request
PIN
Option menu
<<exception>>
invalid card
Withdraw request
Amount request
Amount
Balance request
Balance
<<exception>>
insufficient cash
Debit (amount)
Debit response
Card
Card removed
Cash
Cash removed
Receipt
Validate card
Handle request
Complete
transaction
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 42
Documentul de cerine
G
Documentul de cerine este exprimarea oficial# a
ceea ce se cere de la dezvoltatorii sistemului"
G
,rebuie s# includ# at!t definiii ale cerinelor
utilizator c!t i specificaii ale cerinelor de
sistem"
G
;/ este un document de proiectare" %e c!t este
posibil. trebuie s# exprime C trebuie s# fac#
sistemul i nu C/2 trebuie s# fac#
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 43
/tilizatorii documentului de cerine
Use the requirements to
develop validation tests for
the system
Use the requirements
doument to plan a !id for
the system and to plan the
system development proess
Use the requirements to
understand what system is to
!e developed
System test
en"ineers
#ana"ers
System
en"ineers
Speify the requirements and
read them to he$ that they
meet their needs. %hey
speify han"es to the
requirements
System
ustomers
Use the requirements to help
understand the system and
the relationships !etween its
parts
System
maintenane
en"ineers
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 44
Standardul I pentru cerine
G
Definete o structur# generic# pentru
documentul de cerine ce trebuie creat pentru un
sistem specific"
'
Introducere"
'
Descriere general#"
'
Cerine specifice"
'
&pendice"
'
Index"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 45
Structur# propus# pentru documentul de cerine
G
%refa#
G
Introducere
G
Nlosar
G
Definirea cerinelor utilizator
G
&r1itectura sistemului
G
Specificarea cerinelor de sistem
G
2odele de sistem
G
voluia sistemului
G
&pendice
G
Index
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 46
Concluzii
G
Cerinele exprim# ceea ce trebuie s# fac# sistemul i
definete constr!ngerile asupra oper#rii sau
implement#rii"
G
Cerinele funcionale exprim# serviciile pe care le va oferi
sistemul"
G
Cerinele ne-funcionale constr!ng sistemul sau procesul
de dezvoltare"
G
Cerinele utilizator sunt exprim#ri de nivel nalt a ceea ce
trebuie s# fac# sistemul" Cerinele utilizator trebuie scrise
n limba- natural. eventual folosind tabele i diagrame"
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 47
Concluzii
G
Cerinele de sistem trebuie s# descrie funciile
oferite de sistem"
G
/n document de cerine software este o
exprimare oficial# a cerinelor sistemului"
G
Standardul I este un punct de start pentru
definirea unor standarde mai detaliate de
specificare a cerinelor"
CAPITOLUL 2
FIABILITATEA PRODUSELOR SOFTWARE.
2.1 Rolul standardelor n asigurarea calitii i fiabilitii software
Domeniul calitii software-ului a fost pus n discuie pentru prima dat ntr-o conferin
internaional organizat de N.A.T.O., n anul 1968, cnd s-au analizat coninutul i semnificaia
domeniului cunoscut actualmente su! denumirea de "ingineria software-ului# $software engineering%.
&impozioanele i conferinele internaionale ce au a'ut loc dup ()*+, a'nd ca tematic
calitatea software-ului, ca i cercetrile i e,perimentrile fcute, au relevat !"#le$%tatea ae&tu%
'!"en%u( #reu" )% "ult%tu'%nea 'e #r!*le"e are a#ar le+at 'e &#e%,%area( real%-area(
".&urarea )% evaluarea al%t./%% &!,t0are1ulu% #e ntre+ul %lu 'e v%a/. 2a&%+urarea al%t./%%
&!,t0are3.
-&O $Organizaia -nternaional de &tandardizare% i -./ $/omisia .lectrote0nic -nternaional%
alctuiesc sistemul specializat n ceea ce pri'ete standardizarea internaional.
Organismele naionale care sunt mem!re ale -&O sau -./, iau parte la ela!orarea
standardelor internaionale prin intermediul comitetelor te0nice desemnate de organizaia respecti',
n scopul a!ordrii unor domenii specifice ale acti'itii te0nice.
Alte organizaii internaionale, gu'ernamentale i negu'ernamentale, n cola!orare cu -&O i
-./, iau parte, de asemenea, la acti'itatea aceasta.
4n '!"en%ul tehnologiei informaiei ISO )% IEC au reat un !"%tet te5n% !"un(
ISO6IEC 7TC1.
1roiectele &tandardelor -nternaionale care sunt adoptate de acest comitet te0nic comun sunt
trimise organismelor naionale care, n urma studiului efectuat, i e,prim 'otul 'iza'i de un anumit
proiect de standard.
Adoptarea i pu!licarea ca standard internaional impun adeziunea a unui procent de "%n%"
89: '%n nu".rul !r+an%&"el!r na/%!nale are )%1au e$#r%"at v!tul.
1e msur ce numrul i importana aplicaiilor software au crescut, de asemenea a crescut
i cerina de calitate pe care tre!uie s o ai! n 'edere orice organizaie $firm% care
dez'olt i comercializeaz produse software, ea reprezentnd ade'rata carte de 'izit a respecti'ei
instituii, a crei transparen, recunoatere i certificare permit competiti'itatea i prosperitatea
ei .
Pe #lan "!n'%al( eret.r%le )% real%-.r%le v%-;n' al%tatea &!,t0are &unt na%ntate( at;t
n "e'%ul un%ver&%tar ;t )% el %n'u&tr%al. Ele au ,!&t '%na"%-ate 'at!r%t. &#!r%r%% !nuren/e%
%nterna/%!nale( &5%"*.r%l!r #r!,un'e n te5n!l!+%a 'e ela*!rare a &!,t0are1ulu%( er%n/el!r
n!% )% !"#le$e ale l%en/%l!r )% 'e a'eren/a la &tan'ar'e 2'e e$.< ISO 91263.
/ompanii mari, care 'nd produse din ramura te0nologiei informaiei, cum ar fi2 3icrosoft,
-43, 5ewlett-1ac6ard, 7erilog-8rana, Datamat--talia i-au ela!orat strategii pe termen lung pentru
conducerea calitii glo!ale, a'nd un rol primordial acti'itile manageriale i de msurare a calitii
software-ului pe ntreg ciclul de 'ia.
Totui, rezultatele o!inute de acestea nu sunt generalizate i utilizate pe scar larg, fie
datorit faptului c unele firme nu-i fac pu!lice strategiile proprii de o!inere i monitorizare a
calitii produselor software li'rate, fie graie costurilor financiare mari care au fcut ca numai
organizaiile mari, care au resurse !neti su!staniale, s !eneficieze de implementarea lor n scopul
meninerii competiti'itii i a asigurrii unui a'anta9 pe piaa concurenial de produse i ser'icii din
ramura te0nologiei informaiei.
Pe #lan %ntern( al%tatea &!,t0are 2&au arater%&t%% ale a&%+ur.r%% e%3 a ,!&t &tu'%at. 'e
&#e%al%)t% '%n entre 'e eretare 2ICI3( "e'%%le un%ver&%tare 2AT=( UPB( ASE3( ;t )% 'e
!r+an%-a/%% %n'u&tr%ale.
(
&-a acordat o atenie deose!it terminologiei i aspectelor de ordin conceptual din domeniul
calitii software, prelundu-se i adaptndu-se rezultate ale firmelor de prestigiu n domeniu,
pu!licate n re'iste i cri de specialitate.
Re-ultatele eret.r%l!r )% e$#er%"ent.r%l!r ntre#r%n&e n "e'%ul un%ver&%tar )%
%n'u&tr%al au ,!&t !nret%-ate #r%n #u*l%area a #e&te >? 'e lur.r% 'e &#e%al%tate( n
#er%!a'a 19821199> .
O atenie aparte a fost acordat fia!ilitii software-ului, studii i e,perimentri fiind
ntreprinse n cadrul -/- i instituiilor de n'mnt superior $A&., :14, AT3%, drept urmare se
poate aprecia c s-a format un grup de specialiti care posed cunotine te0nice i care au acumulat
e,perien n domeniu pe !aza e,perimentelor i studiilor de caz ntreprinse.
@u &e #!t &#une #rea "ulte lurur% #!-%t%ve n eea e #r%ve)te &!%et./%le are &e !u#.
u real%-area )% !"er%al%-area #r!'u&el!r '%n '!"en%ul te5n!l!+%e% %n,!r"a/%e%( un'e
at%v%t./%le 'e !n'uere )% a&%+urare a al%t./%% &!,t0are1ulu% &unt ,!arte &la* e$#r%"ate.
Ceret.r%le '%n '!"en%ul %n+%ner%e% &!,t0are1ulu% a*!r'ea-. %"#l%%t )% e$#l%%t
'!"en%ul al%t./%% &!,t0are1ulu%.
Tratarea %"#l%%t. a calitii se refer la metode, te0nici i instrumente de realizare $analiz,
proiectare, programare% care s ai! ca o!iecti' final o!inerea de software cu un ni'el mare de
calitate.
;elul specialitilor este de a ela!ora i implementa te0nologii pentru asigurarea i
m!untirea calitii software.
A!ordarea e$#l%%t. 'izeaz cercetarea direct $nemi9locit% a calitii, a'nd ca o!iecti'e
principale2
definirea terminologiei i a noiunilor principale ale calitii software-ului<
sta!ilirea i clasificarea caracteristicilor de calitate<
construirea metodelor de specificare, msurare, estimare i e'aluare a calitii
software-ului<
ela!orarea listei de indicatori ai calitii software-ului.
-mportana standardelor ce descriu calitatea $de e,. seria de standarde -&O )===% rezult din
faptul c standardele -&O au fost preluate de un numr mare de organisme de standardizare naionale
i regionale.
:nele organizaii de standardizare folosesc standardele -&O fr a le "!'%,%a( altele au
introdus sisteme proprii de numerotare, te,tul fiind acelai cu cel al standardelor -&O.
&unt multe organizaii care produc standarde n &:A i alte ri.
>n industria de aprare a'em de-a face cu standardele DOD $Departament of Defence% care
se folosesc de muli ani. O serie de standarde ale departamentului de aprare au fost preluate i
adoptate n sectorul comercial al produciei de organizaii precum IEEE $-nstitute for .lectrical on
.ngineers%, AST= $T0e American &ociet? for Testing and 3aterials%, UL $:nderwriters
@a!oratories% i SAE $&ociet? for Automati'e .ngineers%.
4n eea e #r%ve)te ,%a*%l%tatea( a una '%ntre #r%n%#alele arater%&t%% 'e al%tate
&!,t0are( ea a ,!&t a*!r'at. %n'%ret( #r%n &tan'ar'ele 'e a&%+urare a al%t./%% &!,t0are n
an&a"*lu 2ISO 9???( ISO 9126( )% altele3 &au '%ret( #r%n &tan'ar'e are v%-au #r!*le"at%a
'e,%n%r%% ter"%n!l!+%e%( ".&ur.r%% )% evalu.r%% ,%a*%l%t./%% &!,t0are #e ntre+ %lul 'e v%a/.(
&tan'ar'e #u*l%ate at;t 'e ISO6IEC( ;t )% 'e alte !r+an%&"e )% !r+an%-a/%% %nterna/%!nale.
3ai 9os se propune o list cu unele dintre standardele de fia!ilitate $plus alte standarde la care
se fac referine% cunoscute i e,istente pe plan mondial, dar i n ara noastr i pe care autorul le-a
putut consulta prin intermediul -A& $-nstitutul Aomn de &tandarde%2
@ u "e & t a n ' a r '
T % t l u
AN&-B-... std. CD)-()+EFGGGG+EH -... &tandard Ilossar? of &oftware
.ngineering Terminolog?.
D
AN&-B-... std. CE=-()+JFGGGG+JH -... &tandard for &oftware Kualit?
Assurance 1lans.
AN&-B-... std. (=(D-()+*FGGGG+*H -... &tandard for &oftware
7erification and 7alidation 1lans.
-&O +J=D-())JFGGGa)JH 3anagement and Assurance of Lualit? -
'oca!ular?.
@ u "e & t a n ' a r ' T % t l u
-... std. )+D.(-()++FGGGa++H -... &tandard Dictionar? of 3easures
to 1roduce Aelia!le &oftware.
-... std. )+D.D-()+)FGGGa+)H -... Iuide for t0e :se of &tandard
Dictionar? of 3easures to 1roduce
Aelia!le &oftware $)+D.( - ()++%.
DD ()+2())(FGGG!)(H
$standard !ritanic%
Iuide to Assessment of Aelia!ilit? of
&?stems /ontaining &oftware.
4& MC*=21art =2()+MFGGGa+MH
$standard !ritanic%
-ntroductor? Iuide to Aelia!ilit?.
4& MC*=21art (2()+MFGGG!+MH
$standard !ritanic%
Iuide to Aelia!ilit? and 3aintaina!ilit?
1rogramme 3anagement.
4& MC*=21art *2())(FGGGa)(H
$standard !ritanic, identic cu -./ (=(J2()+)%
Iuides to 1rogrammes for Aelia!ilit?
Irowt0.
-&O +)E=-()+CFGGGa+CH Ieneral 1rinciples on Aelia!ilit? for
&tructures.
@ist of .Lui'alent Terms.
:T. /D=-E(C :2())=FGGGa)=H
$standard 8rana%
1rogrammes de /roisance le 8ia!ilitN.
G1 G*=-M==2()++FGGG!++H
$standard 8rana%
Terminologie relati'e O la 8ia!ilitN -
3aintena!ilitN-Disponi!ilitN.
/reterea continu a importanei acordate fia!ilitii software-ului de ctre specialiti se
e,plic prin ela!orarea de noi standarde de fia!ilitate $un standard A-AA pentru fia!ilitatea software
a fost apro!at n ())EFGGGG)EH i alte standarde -... sunt su! dez'oltare% i prin crearea unei noi
discipline-&oftware Aea!ilit? .ngineering $&A.%.
-ngineria fia!ilitii software se maturizeaz prin e,tinderea standardelor i prin
promo'area lor.
/reterea !"un%t./%% de cercetare n &A. este de apro,imati' EMP pe an, fapt ce e,plic importana
acordat acestei discipline aflat n ascensiune.
2.2 Fiabilitatea, o caracteristic a calitii software-ului
reflectat de standardele internaionale I! "### i I! "12$
2.2.1 %aracteristicile de calitate software
C!nven/%!nal( %n+%ner%% &!,t0are au !n&%'erat . re&#!n&a*%l%tatea l!r &unt re-ultatele
te5n%e ale ,urn%-.r%% unu% #r!'u& &!,t0are are e$eut. n%)te ,un/%% !n,!r" &#e%,%a/%%l!r.
/el mai important lucru este s se o!in calitatea prin controlarea metodelor de producere i
nu a produsului nsui.
E
8olosirea te0nicilor noi e posi!il s creasc feza!ilitatea i s reduc riscurile implicate n
o!inerea sigur a calitii dorite.
De e,emplu, metodele formale pot duce la realizarea unor ni'ele nalte de fia!ilitate, iar
fi,area de prototipuri poate crete ansa atingerii ni'elelor dorite n utilizarea produsului.
La ela*!rarea #r!'u&el!r &!,t0are( arater%&t%%le 'e al%tate &unt #r%v%te '%,eren/%at.
Se #!ate #une aent la un "!"ent 'at #e real%-area la !te &u#er%!are a une% anu"%te
arater%&t%% 'e al%tate.
Celelalte arater%&t%% v!r avea n%velur% %n,luen/ate '%ret 'e arater%&t%a #r%!r%tar.(
are tre*u%e "en/%nut. ntre l%"%te are nu a,etea-. n%velul +l!*al al #er,!r"an/e%
#r!'u&ulu%.
Pr!+ra"ele &unt ela*!rate a&t,el n;t &. r.&#un'. er%n/el!r 'e #relurare ale
*ene,%%ar%l!r( 'ar n aela)% t%"# &. re,lete #!&%*%l%t./%le "ater%ale )% ,%nan%are ale
real%-at!rulu% )% ale *ene,%%ar%l!r. Da. la #r!%etare #r%"ea-. ! anu"%t. arater%&t%.( !'at.
u treerea la n!% ver&%un% ale #r!+ra"ulu%( &e #!ate "!'%,%a %erar5%-area arater%&t%%l!r n
ra#!rt u r%ter%ul %"#!rtan/e%.
/aracteristicile i atri!utele de calitate ale produselor program formeaz un sistem comple,,
dinamic< creterea ni'elului unei anumite caracteristici influeneaz poziti' ni'elul altor caracteristici,
dar pot e,ista i situaii conflictuale.
De aceea tre!uie asigurat ec0ili!rul necesar ncadrrii produselor program ntre limitele
admise ale performanei, prin utilizarea te0nicilor de analiz - proiectare - programare adec'ate, dup
ce s-au e'aluat efectele lor.
2.2.2 %lasificarea caracteristicilor de calitate
.,ist mai multe criterii de clasificare a lor2
,a-a %lulu% 'e v%a/. a #r!'u&ulu% #r!+ra" n are &e #un n ev%'en/.
arater%&t%%2
e,ist caracteristici de calitate e'ideniate n etapele de ela!orare a produsului, iar alte
caracteristici apar n etapele de efectuare de modificri n structura produsului pentru a-i
asigura meninerea n funciune.
&#e%,%%tatea #r!'u&ulu% #r!+ra" are %"#une a ! arater%&t%. &. ,%e
#r%!r%tar.( %ar elelalte arater%&t%% &eun'areA
#er&!ana are ela*!rea-.( ut%l%-ea-. &au "en/%ne n ut%l%-are #r!'u&ul &!,t0are(
are #!ate ev%'en/%a #re-en/a &au a*&en/a une% arater%&t%% 'e al%tate.
/ercetrile specialitilor au condus la ela!orarea unei structuri conceptuale a sistemului de
caracteristici cunoscut su! numele de "!'elul al%t./%% &!,t0are1ulu%. 3odelul a fost creat pentru
prima dat 'e BarrB B!e5" )% !la*!rat!r%% &.% 'e la TRW SB&te"& Cr!u#. :lterior a fost
rafinat i e,tins 'e 7a"e& =Call( P. R%5ar' )% C. Walter& - modelul a fcut o!iectul
standardizrii i este recomandat de ISO #r%n &tan'ar'ul ISO6IEC 912611991.
/omponentele calitii de ni'el nalt, uzual numite ,at!r% 'e al%tate, sunt considerate n
termeni ai componentelor de calitate de ni'el sczut, r%ter%%, consistente cu 'iziunea dez'olttorilor
de sistem al calitii.
Aceast concepie conduce la modelul2
factor de calitate $caracteristic%, criteriu de calitate $su!caracteristica% i metrici de
calitate, sc0ematizat n fig. (.
J
metrici
metrici
factor $caracteristic%
$su!caracteristic%
criteriu
(
criteriu
n
Fig. 1. Relaia caracteristici-subcaracteristici-metrici
. . .
Carater%&t%%le 'e al%tate re#re-%nt. #untul 'e ve'ere al ut%l%-at!rulu% )% al )e,ulu% 'e #r!%et
a&u#ra al%t./%%( folosind la definirea cerinelor utilizatorului i la sta!ilirea o!iecti'elor de calitate
pentru sistemul de programe.
Su*arater%&t%%le au &e"n%,%a/%e te5n%. )% &unt relevante #entru #er&!nalul 'e
&#e%al%tate 2anal%)t%( #r!%etan/%( #r!+ra"at!r%3.
.le faciliteaz comunicarea ntre eful de proiect i personalul de specialitate pentru atingerea
o!iecti'elor de calitate.
Su*arater%&t%%le &e 'e,%ne& #entru !"#!nentele &%&te"ulu% 'e #r!+ra"e )% '%,er%tele
,!r"e 'e re#re-entare 2er%n/e( &#e%,%a/%%( !' &ur&.( '!u"enta/%e 'e ut%l%-are( ).a.3 #e
#arur&ul %lulu% 'e v%a/..
@a ultimul ni'el se definesc metricile, care permit msurarea su!caracteristicilor i, n
consecin, a caracteristicilor de pe primul ni'el.
2.2.& Relaiile dintre caracteristici
>ntre caracteristici e,ist relaii de su!ordonare i de dependen ce sunt reflectate n mod
diferit de modelele calitii $-&O )(D*, .sprit $recomandat de .uropean organization for Kualit?%,
4oe0m, 3c/all% , aa cum se 'ede n fig. D.
Aelaiile ierar0ice de su!ordonare sunt definite prin structura sistemului de caracteristici i
difer de la un model la altul.
Aelaiile de influen de tip conflictual semnific faptul c pe msur ce crete ni'elul unei
caracteristici, este de ateptat ca ni'elele celeilalte caracteristici s scad.
Aelaiile de influen de tip complementar au urmtoarea semnificaie2
- dac ni'elul unei caracteristici crete, atunci este de ateptat ca i ni'elul celorlalte caracteristici s
creasc. /unoaterea relaiilor i a interdependenelor ntre caracteristici e necesar n toate fazele de
specificare, determinare i e'aluare a calitii sistemelor de programe, n special n faza de sta!ilire a
o!iecti'elor de calitate.
>n dez'oltarea i utilizarea unui model de calitate pentru un anumit tip de sistem de
programe, e foarte important s se includ caracteristici de calitate ct mai independente.
2.2.' (odelul calitii software din I! "12$
1rin modelul -&O )(D* se recomand utilizarea urmtorului set de caracteristici2
M
Aelaii
-erar0ice
De influen
/onflictuale /omplementare
Fig. 2 Relaiile ntre caracteristici
- funcionalitate, utiliza!ilitate, fia!ilitate, eficien, mentena!ilitate i porta!ilitate, ca
n figura E2
3ai 9os se d o descriere pe scurt a semnificaiei caracteristicilor n modelul -&OB-./ )(D*2
Tabelul 1. %aracteristici de calitate n modelul I!)I*% "12$
Carater% &t% . Se"n%,%a/% e
8:N/;-ONA@-TAT.
- prezena i adec'ana setului de funciuni fa de specificaii<
- atri!utele produsului sunt legate de o!inerea rezultatelor corecte sau
con'enite $e,. gradul necesar de precizie al 'alorilor%<
- posi!ilitatea de interaciune a produsului cu altele specificate<
- aderarea la standarde, con'enii, reglementri i alte prescripii
similare, legate de domeniul de aplicaie<
- posi!ilitatea produsului de a pre'eni accesul neautorizat, accidental
sau deli!erat, la programe sau date.
8-A4-@-TAT.
- gradul de maturitate al produsului, respecti' frec'ena cderilor din
cauza erorilor produsului software<
- capacitatea produsului de a-i menine un anumit ni'el specificat de
performan n caz de eroare<
- posi!ilitatea resta!ilirii ni'elului de performan i refacerea datelor
n cazul unei erori< timpul i efortul necesar pentru aceasta.
:T-@-QA4-@-TAT.
- uurina n nelegere, efortul utilizatorului de a recunoate conceptul
logic i aplica!ilitatea lui<
- uurina n operare<
- uurina n n'area aplicrii produsului.
1.A8OA3AN;.
- comportamentul n timp, eficiena ca timp de rspuns - pe tipuri
di'erse de prelucrri, ratele de transfer su! condiii diferite de
ncrcare i configuraii diferite<
- comportamentul resurselor, respecti' consumul de memorie intern i
e,tern n diferite condiii.
3.NT.NA4-@-TAT.
- rapiditatea i e,actitatea cu care se poate identifica o eroare n
e,ecuie din mesa9ele produsului i cauzele acesteia<
- e,istena n documentaie a procedurilor i facilitilor de ntreinere a
produsului.
1OATA4-@-TAT.
- posi!ilitatea de adaptare la alte medii specifice, fr a apela faciliti
din afara produsului<
- posi!ilitatea de instalare a produsului ntr-un mediu specificat<
- gradul de aderare a produsului la standardele i reglementrile legate
de porta!ilitate.
*
Fig. 3 Modelul ISO/IEC 12!
3entena!ilitate
3aturitate
Toleran la erori
/apacitatea de recuperare
8uncionalitate
:tiliza!ilitate
1orta!ilitate
8ia!ilitate
.ficien
/aracteristici
ci
&u!caracteristici
/onform acestui standard, ,%a*%l%tatea e 'e,%n%t. a ,%%n' a#a%tatea &!,t0are1ulu% 'e a
"en/%ne n%velul &.u 'e #er,!r"an/. n !n'%/%% &ta*%l%te #entru ! #er%!a'. 'at. 'e t%"#.
U-ura &au "*.tr;n%rea nu apare n software. L%"%t.r%le ,%a*%l%t./%% &unt +enerate 'e
er!r%le n er%n/e( #r!%etare )% %"#le"entare. 4ntreru#er%le are a#ar '%n au-a ae&t!r er!r%
'e#%n' 'e "!'ul u" e ut%l%-at #r!'u&ul &!,t0are 2#r!,%lul !#era/%!nal3 )% 'e !#/%un%le
&eletate n #r!+ra"( "a% 'e+ra*. 'e;t 'e treerea t%"#ulu%.
4n 'e,%n%/%a ISO 8>?2( ,%a*%l%tatea re#re-%nt.
DA#t%tu'%nea unu% #r!'u& 'e a n'e#l%n% ! ,un/%e erut.......E. 4n ae&t &tan'ar'(
,un/%!nal%tatea e&te nu"a% una '%n arater%&t%%le al%t./%% &!,t0are1ulu%. Ca ur"are( 'e,%n%/%a
,%a*%l%t./%% a ,!&t e$tra#!lat. la D"en/%nerea n%velulu% &.u 'e #er,!r"an/.E n l! 'e
De$eutarea une% ,un/%% eruteE.
>n ceea ce pri'ete su!caracteristicile, se poate aprecia c ni'elul lor este mai detaliat. 7om
e,emplifica aici doar &u*arater%&t%%le &#e%,%e ,%a*%l%t./%%, cele aparinnd celorlalte caracteristici
putndu-se afla prin consultarea standardului $se pot deduce i din semnificaia dat caracteristicilor
n ta!elul (%. .le sunt2
"atur%tatea - atri!ute ale software-ului ce 'izeaz frec'ena ntreruperilor datorate
erorilor software<
t!leran/a la 'e,et.r% - aptitudinea software de a menine un ni'el specificat de
funcionare n cazul apariiei erorilor sau al 'iolrii interfeei sale<
a#a%tatea 'e reu#erare - atri!ute software ce reflect capacitatea de resta!ilire a
ni'elului su de funcionare i de recuperare a datelor afectate direct de apariia unor
erori, precum i timpul i efortul necesare pentru aceasta.
Definiia dat calitii din -&O +J=D e,prim punctul de 'edere al utilizatorilor, la fel ca i
caracteristicile din acest standard.
Ut%l%-at!r%% evaluea-. &!,t0are1ul ,.r. a )t% a&#etele %nterne 'e real%-are )% %ntera/%une
&!,t0are.
>ntre!rile utilizatorilor pot fi de forma2
,un/%%le erute &unt '%&#!n%*%le n &!,t0areF
;t 'e ,%a*%l e&te &!,t0are1ulF
;t 'e e,%%ent e&te &!,t0are1ulF
e&te &!,t0are1ul u)!r 'e ut%l%-atF
are1% '%,%ultatea tran&,er.r%% &!,t0are1ulu% n alt "e'%uF
Aealizatorii sunt responsa!ili de producerea software-ului care 'a satisface cerinele de
calitate, fiind interesai att n calitatea produsului intermediar, ct i n cea a produsului final.
1entru a e'alua calitatea produsului intermediar n fiecare faz a ciclului de realizare,
realizatorii tre!uie s foloseasc msuri diferite pentru aceleai caracteristici, nefiind uni'ersale
pentru toate fazele ciclului de 'ia..
1unctul de 'edere al realizatorilor tre!uie s e,prime i pe cel al celor care ntrein
software-ul.
A'"%n%&trat!rul 2"ana+erul 'e #r!%et3 este interesat de calitate pe ansam!lu, dect de o
caracteristic anume i de aceea 'a tre!ui s fie acordate ponderi caracteristicilor indi'iduale, care s
oglindeasc cerinele comerciale.
A'"%n%&trat!rul e5%l%*rea-. "*un.t./%rea al%t./%% u r%ter%%le 'e a'"%n%&trare, cum
ar fi ntrzierea fa de timpul planificat sau depirea costului, '!r%n' !#t%"%-area al%t./%% n
a'rul l%"%tel!r !&tulu%( re&ur&el!r u"ane )% a t%"#ulu% #rev.-ut. :ltimul ni'el n modelul
calitii, reprezentat de "etr%%( nu este nc standardizat.
&e las la latitudinea organizaiilor s-i defineasc metrici specifice.
:nii specialiti folosesc alt terminologie pentru perec0ea caracteristici - su!caracteristici2
- arater%&t%% 1 atr%*ute n modelul 4oe0m<
- ,at!r% 1 &u*,at!r% n modelul 3c/all.
3odelele difer att prin modul de ierar0izare a caracteristicilor i su!caracteristicilor, ct i
prin definiiile utilizate.
2.2.+ tandardele I! "###
C
C!ne#tul 'e "ana+e"ent al al%t./%% t!tale &e a$ea-. #e lur.r%le 'e #%!n%erat ale lu%
Ar"an' Fe%+en*au"( Dr.E'0ar' De"%n+( Dr. 7!&e#5 7uran )% al/%%.
O lucrare de referin n acest domeniu este DT!tal Gual%tB C!ntr!lE( pu!licat de A.
8eigen!aum nc din ()M(.
/alitatea total s-a aplicat pentru prima oar n Raponia la nceputul anilor S+=, dup
pu!licarea crii "/e e calitatea total# a dr. Taoru -s0i6awa. @a 9umtatea anilor S+=,
Departamentul Aprrii &.:.A. a popularizat noiunea de management al calitii totale, e,trapolnd
disciplina calitii la toate domeniile economice.
Dup o definiie dat de DOD n ())=, "ana+e"entul al%t./%% t!tale e o strategie pentru a
continua m!untirea performanei la orice ni'el i-n toate domeniile de responsa!ilitate.
/alitatea total reprezint un proces continuu cuprinznd toate aspectele unei organizaii, de
la design ori ser'iciu pn la producie i utilizarea produsului sau ser'iciului, necesitnd deplina
nelegere a cerinelor i ateptrilor clienilor i implicnd toi anga9aii n aprecierea i m!untirea
calitii, cu a9utorul unor instrumente i te0nici de m!untire.
Stan'ar'ele ISO &unt un #unt 'e &tart !re&#un-.t!r #entru ! ,%r". are1)% #r!#une
"ana+e"entul al%t./%% t!tale.
Stan'ar'ele ISO 9??? 'e&r%u un &et 'e &tan'ar'e %nterna/%!nale are &e !u#. u
'e&%+nul( #r!'u/%a( l%vrarea( &erv%%ul )% te&tarea #r!e&ulu%. Ele )% #r!#un "*un.t./%rea
#r!e&ulu% 'e #r!'u/%e a une% ,%r"e.
>n &.:.A. multe companii folosesc standardele 3-@ - -- JMD=+ sau 3-@ - K - )+M+, c0iar i
acelea care nu au contracte cu industria de aprare.
Odat ce un standard al calitii sistemului s-a impus, &unt tre% .% u-uale 'e a ver%,%a
n'e#l%n%rea er%n/el!r 'e al%tate #r%v%n' &%&te"ele<
u"#.r.t!rul are nre'ere n *una re'%n/. a ,urn%-!rulu% 2#r!'u.t!rulu%3A
u"#.r.t!rul !n'ue #r!e&ul 'e ver%,%are la #r!'u.t!rA
u"#.r.t!rul )% ale+e un ver%,%at!r are ert%,%. al%tatea &%&te"ulu% 2au'%t3.
1rimele dou metode sunt comune n practicile comerciale. De e,emplu, DOD &.:.A.
conduce testele de 'erificare a calitii sistemelor pentru furnizorii si.
&tandardele -&O )=== au adoptat a treia metod de 'erificare a calitii.
Descrierea lor pe pri este dat n ta!elul D.
Tabelul 2. Standardele din seria ISO """ re#eritoare la calitate
-&O +J=D 2 ())J 3anagementul calitii i asigurarea calitii - 'oca!ular.
-&O )=== - ( 2 ())J 3anagementul calitii i standarde de asigurare a calitii.
$art. 12 I0id pentru selectare i utilizare.
-&O )=== - D 2 ())E 3anagementul calitii i standarde de asigurare a calitii.
$art.22 I0id generic de aplicare a standardelor -&O )==(, )==D i -&O
)==E.
-&O )=== - E 2 ())( 3anagementul calitii i standarde de asigurare a calitii.
$art. 32 I0id de aplicare a standardului -&O )==( la dez'oltarea,
producerea i mentenana software-ului.
-&O )=== - J2 ())E 3anagementul calitii i standarde de asigurare a calitii.
$art. %2 I0id de management al dependenei.
-&O )==( 2 ())J /alitatea sistemelor - 3odel pentru asigurarea calitii n proiectare,
dez'oltare, producere, instalare i ntreinere.
-&O )==D 2 ())J /alitatea sistemelor - 3odel pentru asigurarea calitii n producere,
instalare i ntreinere.
-&O )==E 2 ())J /alitatea sistemelor - 3odel pentru asigurarea calitii n inspecia
final i testare.
-&O )==J - ( 2 ())J 3anagementul calitii i calitatea elementelor sistemului.
$art 12 I0id.
-&O )==J - D 2 ())( 3anagementul calitii i calitatea elementelor sistemului.
$art 12 I0id pentru ntreinere.
+
-&O )==J - E 2 ())E 3anagementul calitii i calitatea elementelor sistemului.
$art 12 I0id pentru prelucrarea materialelor.
-&O )==J - J 2 ())E 3anagementul calitii i calitatea elementelor sistemului.
$art 12 I0id pentru creterea calitii.
&tandardele -&O )==(, )==D i )==E pre'd cerinele contractuale ntre productor i
!eneficiar.
&tandardele cu cel mai mare efect n proiectare asupra calitii sunt -&O )==(, -&O )===-E i -&O
)=== - J. 1rin aplicarea acestora, productorul poate realiza un sistem de calitate innd seama de
etapele de proiectare, producere i dependen pentru produsele 0ardware ct i pentru software.
&tandardul -&O )=== - E ofer un g0id productorilor de software care aplic standardul
-&O )==(.
4n &tan'ar'ul ISO 9??? 1 1 &e a,%r".<
DPr!e&ul 'e-v!lt.r%%( #r!'uer%% )% ntre/%ner%% #r!'u&el!r &!,t0are e&te '%,er%t 'e
elelalte t%#ur% 'e #r!e&e %n'u&tr%ale n are nu e&te n%% ! '%,eren/. n ,a-a 'e #r!'u/%e.
S!,t0are1ul nu &e u-ea-. )% n !n&e%n/. al%tatea at%v%t./%l!r n ,a-a 'e #r!%etare are !
%"#!rtan/. 'e!&e*%t. n al%tatea ,%nal. a #r!'u&ulu%E.
2.& Fiabilitatea software reflectat n standardele britanice i americane
2.&.1 ,efiniii i terminologie
/onform standardului -... $AN&-% )+D.D din ()+)FGGGa+)H, elementele principale n
definirea software sunt2 er!area $error%, nere+ula $fault% i 'e,etarea $failure%.
Er!area este o greeal uman ce are ca rezultat un program incorect. >n aceast categorie
se pot include, de e,emplu, omiterea sau lipsa interpretrii unei cerine utilizator la redacterea
specificaiei program, precum i interpretarea greit a unei cerine sau omiterea unei cerine n
specificaia de design.
>n urma erorii umane apare nere+ula $fault sau !ug%. .a este materializarea nemi9locit a
erorii umane n software, a'nd ca efect necesitatea modificrii unei poriuni de cod.
>n 'or!irea curent, se folosete denumirea de eroare att pentru eroarea uman $error%, ct
i pentru manifestarea ei direct n program $fault sau !ug%. Anomaliile produsului cauzate de erori
se numesc 'e,ete $defects%.
De,etarea sau cderea $,a%lure% e e'idenierea defectului, cnd o unitate funcional a
sistemului $ce include i 0ardware-ul comandat% nu-i mai ndeplinete funcia n limite specificate.
/derea $failure% apare cnd un anumit set de date de intrare acti'eaz defectul e,istent n
software.
Er!r%le u"ane( nere+ul%le 2,ault&3 )% 'e,etele 2'e,et&3 '%n &!,t0are &unt au-ele
even%"entel!r ne'!r%te( %ar 'e,et.r%le 2.'er%le H ,a%lure&3 &unt e,etele.
8igura J reprezint sc0ematic aceste noiuni, precum i interaciunile lor, n 'iziunea
standardului !ritanic DD ()+B())(FGGG!)(H 2
)
Nereguli $faults%
3ecanismul dez'luirii
$punerii n e'iden%
/deri $failures%
.rori $errors%
3ediu
-ntrri
Operator
1ot fi
atri!uite
uneia sau
mai multor
1ot fi
atri!uite
uneia sau
mai multor
1ot genera
= sau mai
multe
1ersoana
care face
zero sau mai
multe erori
Fig. %. Relaiile dintre termenii de ba- n fiabilitatea software. *rror, fault, failure.
>n continuare se prezint i ali termeni frec'ent utilizai de standarde2
=ISURI $metric%
O apreciere cantitati' a gradului n care un proces sau produs software
posed un atri!ut dat.
PRI=ITIJI
Dat folosit n dez'oltarea sau utilizarea software pentru
implementarea msurilor sau descrierilor cantitati'e ale software-ului<
primiti'a e direct msura!il sau numra!il, i poate fi dat printr-o
constant.
.,emplu2 nr. de erori, mrimea unui inter'al de timp, nr. arce, nr.
noduri, nr. de instruciuni e,ecuta!ile .a.
FIABILITATE
SOFTWARE
1ro!a!ilitatea ca software-ul s funcioneze fr defectare ntr-un timp
specificat, n condiii operaionale date.
&ec'ena de cod e,ecutat depinde de 'alorile datelor de intrare, ca
urmare fia!ilitatea unui program e o funcie ponderat n mod
corespunztor cu distri!uia datelor de intrare din mediul utilizator.
>n DD ()+B())(, se utilizeaz i o alt definire 2
A*%l%tatea unu% #r!'u& &!,t0are 'e1a 'a #er,!r"an/.
&at%&,..t!are #e ter"en lun+( ,.r. a &e 'e,eta 2a n ISO6IEC
91263.
=A@ACE=E@TUL
FIABILITIKII
SOFTWARE
1rocesul optimizrii fia!ilitii software printr-un program care pune
accent pe pre'enirea erorilor software, detectarea i ndeprtarea
neregulilor $faults% i folosirea msurtorilor pentru a ma,imiza
fia!ilitatea, pe fondul constngerilor proiect, cum ar fi costul resurselor,
planificarea i performana.
2.&.2 %onstruirea fiabilitii software
(=
&copul standardelor de fia!ilitate este de-a spri9ini dez'oltatorii de software, managerii de
proiect i utilizatorii sistem n atingerea ni'elelor de fia!ilitate optim n produsele software. .le 'in
n spri9inul celor care dez'olt software i clienilor care sunt confruntai cu o multitudine de modele,
te0nici i msuri, n literatur, dar care nu dau g0idare suficient n utilizarea lor efecti'.
E$%&t. ! rela/%e %nt%". ntre ,%a*%l%tatea unu% #r!'u& )% #r!e&ele ,!l!&%te n 'e-v!ltarea
#r!'u&ulu%.
3surile $metricile% selectate 'a tre!ui s dea 'izi!ilitate proceselor i produselor astfel nct
factorii eseniali necesari n e'aluarea procesului i-a sc0im!rii acestuia s fie disponi!ili.
&copul principal al standardelor este de-a furniza elementele unui program de msurare care
s spri9ine o a!ordare constructi' pentru atingerea fia!ilitii optime la sfritul implementrii
produsului< totodat ele asist managementul n dez'oltarea produsului i atingerea unor inte de
fia!ilitate.
O a*!r'are !n&trut%v. a ,%a*%l%t./%% &!,t0are aut. &. el%"%ne au-a +ener.r%%
%n%'entel!r &%&te" 2,%+. 93 n #r!e&ul 'e 'e-v!ltare &!,t0are )% &#r%L%n. #r!e&ele are
#r!"!vea-. ev%tarea *u+ur%l!r( 'etetarea t%"#ur%e a 'e,etel!r( el%"%narea a'evat. a
ae&t!ra )% #r!%etarea unu% &%&te" t!lerant la 'e,et.r% 2,%+. 63.
=aL!r%tatea .'er%l!r &unt le+ate 'e !r%+%nea l!r( are v%-ea-.<
213 %n!"#leta 'e,%n%re a nee&%t./%l!r )% er%n/el!r u&erA
223 !"%&%un% n #r!e&ul 'e #r!%etare )% !'%,%areA
2M3 ,!l!&%rea %"#r!#r%e a &%&te"ulu%A
2>3 &5%"*.r% 'e !' e$e&%ve.
:n #r!e& &trate+% de atingere a fia!ilitii software include at%v%t./%( "et!'e(
%n&tru"ente )% ".&ur.t!r%.
F%+ura 2 8 3 arat. ae&t #r!e& )% r!lul %nte+rat al ".&ur.t!r%l!r #entru a "!n%t!r%-a
al%tatea #r!e&ulu% )% a #r!'u&ulu%.
.a reprezint un cumul de concepte, acti'iti i te0nici cunoscute, care pot fi utilizate pentru
a conduce un proiect n scopul o!inerii unei mai !une fia!iliti.
((
Fig. & Cau'ele incidentelor (#ailures)
(D
... trebuie s* #ie
eli+inate...
FANA OPERA K IO@ALO
$ failures %
LIPSO DE
ROBUSTE K E
FAULTS
RENIDUALE
FAULTS
( nereguli )
FAULTS
DETECTATE
... adesea alte
e#ecte...
... rar ,
solu ia...
... -ot genera...
... generea'* ...
de'astre
surs* a di#icult* ii . i
costului +are n
ti+-ul i+-le+ent*rii
ERRORS
... originea ...
PROIECTARE<
nestructurat*/
ne+odular*/
nedocu+entat*.
PROIECTARE<
inco+-let*/
instabil*.
CU@OA P TERE SORACO( ORIE@TARE
I@SUFICIE@TO( PRE=ATURO 4@SPRE
@EJOILE USER P I CALITATEA TOTALO.
SCQI=BORI
$ adesea fUcute mai
trziu %
...ce trebuie
s* #ie
e0tinse..
ERORI
USER
I@TRORI
'%n lu"ea
realR
SISTE=
TOLERA@T
LA
DEFECTIR
I
U@ PRODUS
FIABIL
c1te2a (sau ")
#ailures
U@ SISTE=
ROBUST
c1te2a (sau ")
#aults
ERORI
USER
ERORI
PUKI@E
ERORI
PUKI@E
DEFECTIRI
(#aults)
FAULTS
DETECTATE
SCQI=BIRI
(#3cute c1t +ai
cur1nd -osibile)
REALITIKI
ALE
JIEKII
PROIECT
ARE<
4susine
e0tensii
directe 4
PROIECTARE<
sta!il<
adapta!il
PROIECTARE<
modular<
documentat<
I@TRIRI
'%n lu"ea
real.
CU@OAPTERE DEPLI@I( ORIE@TARE
4@ TI=P PE @ECESITIKILE USER
PI CALITATEA TOTALI
ABORDARE CO@DUSI DE U@ =ODEL DE
CALITATE
4-er+ite
i+-le+entarea u.oar3
.i controlat3 4
4d3 na.tere4
4-re2ine4
PROCESE
CO@STRUC1
TIJE
PROIECT
ARE<
4generea'34
4.tergere
adec2at34
4generea'34
4rar de#ecte
secundare4
4co+-let -entru o
-roiectare con2ergent3 4
4a5ut3,
-rote5ea'3 ..4
Fig. ! Constructorii unui -rodus #iabil
(E
C
O
@
C
E
P
T
C
E
R
I
@
K
E
D
E
S
I
C
@
C
O
D
I
F
I
C
A
R
E
T
E
S
T
I
n
&
t
a
l
a
r
e
S
L
%
v
r
a
r
e
O
#
e
r
a
r
e
S
=
a
%
n
t
e
n
a
n
/
.
Retra+ere
S
O
F
T
W
A
R
E
"Do it rig0t t0e
first time#
$ 1re'enire eroare,
reducere apariie
defect, proiectare
ro!ust i toleran
la defectri %
/
O
N
/
.
1
;
-
.
D
e
s
i
g
n
V
/
o
d
i
f
i
c
a
r
e
D
E
J
E
L
O
P
=
E
@
T
"Detect it earl?<
fi, it as soon as
practica!le#
$ detectare i
eliminare
defecte %
7
e
r
i
f
i
c
a
r
e
7
a
l
i
d
a
r
e
P
R
O
C
E
S
"3onitor itW
$/t de corectX%
$/t de complet X%
3
.
T
A
-
/
-
-
Fig. 6 Strategia 7constructi237 de de'2oltare a unui so#t8are #iabil
/riteriile care stau la !aza acestei concepii constructi'e $proces% sunt2
(J
personal priceput, competent
studiul mediului operaional i al necesitilor :&.A
studiul produselor similare
scriere specificaii
prototipizare rapid
simulare
proiectare structurat top - down
V testare
lim!a9e design
prototipizare
simulare
metode de minimizare comple,itate
spec
spec
spec
spec run
run
run
run
%once/ia ideal
1. folosii 'erificarea $acti'iti,
te0nici, scule%
pt. a determina i elimina
defectele<
2. folosii 'alidarea $acti'iti,
te0nici, scule% pt. a confirma
a!sena defectelor.
re'ederi
inspecii
prototipizare
rapid
simulare
pro!are
corectitudine
Teste dinamice2
1 %n&talare
te&te
1 te&te &%&te"
1 te&te &u*&%&te"
)% %nte+rare
1 te&te un%tate
2#r!'u&3
reluare
$pentru a 'edea c
nu s-a degradat%
colecie de date despre primiti'e, calcule, e'aluare
$intrUrile pentru metrici sunt furnizate prin acti'itUi de 'alidare
i 'erificare %
1. F. eva !ret 'e #r%"a 'at.<
&e pune accent pe necesitatea studierii intensi'e a necesitilor sta!ilite i nesta!ilite ale
aplicaiei user, precum i pe e,istena unei e,periene suficiente n rezol'area unei
pro!leme similare, ceea ce presupune anga9area unui personal priceput i competent n
construirea de produse fia!ile.
-mplicarea timpurie a !eneficiarului n conceperea produsului prin te0nici ca
prototipizarea pentru a se asigura c utiliza!ilitatea este susinut i de lipsa defectrilor
n funcionare<
3etode moderne, lim!a9e i instrumente automate tre!uie s fie utilizate pentru
promo'area producti'itii i calitii n acti'itile de specificare, design, codificare i
testare.
2. Detetarea t%"#ur%e a er!r%%A ,%$area e% ;t 'e ur;n' #!&%*%l.
Detectarea i repararea ar tre!ui s fie acti'iti planificate adec'at.
Jer%,%area e procesul determinrii dac $sau nu% produsul rezultat n urma unei faze a
procesului de dez'oltare software satisface cerinele sta!ilite n timpul fazei anterioare.
Jal%'area este procesul e'alurii software la sfritul unei faze $ proces % de dez'oltare
pentru a asigura acordul cu cerinele software.
Detectarea timpurie a defectelor software prin re'ederi, inspecii, prototipizare, simulare sau
pro!area corectitudinii unui produs 'a m!unti fia!ilitatea.
F%a*%l%tatea nu poate fi o!inut numai prin acti'itatea de testare a unui produs. 3ai mult testare
nu nseamn neaprat mai !un fia!ilitate. Totui, testele dinamice, metoda principal pentru 'alidare, 'or fi
folosite $n limitele unui cost% pentru a da acoperirea testrii unui produs.
M. =!n%t!r%-area er!r%l!r.
.'aluarea msurtorilor e folosit nu numai pentru e'aluarea calitii software, ci i pentru
detectarea !ugurilor.
De e,emplu, dac timpul de procesare e mai mare dect o 'aloare dat, acesta poate fi un
moti' suficient de respingere a codului implementat i de nlocuire a lui cu altul rescris.
2.&.& (ediul de msurare
=.&urarea #re&u#une a !"#ara ! #r!#r%etate a unu% !*%et u una &%"%lar. a unu%
&tan'ar' 'e re,er%n/..
/nd msurtorile se folosesc pentru diagnosticare, tre!uie s e,iste un mediu propice pentru
colectarea i analiza datelor, ct i pentru aciunile corecti'e care se fac, toate aceste acti'iti
te0nice i manageriale desfurndu-se ntr-un flu,. $ 8igura + %
In,!r"a/%%le ,!l!&%te #entru ".&ur% "a% !"#le$e &e nu"e& #r%"%t%ve. :nele primiti'e
pot deri'a direct din produs $specificaii, cod surs, cod o!iect%2
instruciuni<
noduri<
arce<
ramificri .a.
Alte primiti'e, re-ultate ale at%v%t./%l!r 'e val%'are )% ver%,%are, includ nr. er!r%, nr.
defecte $,ault&% i nr. cderi $,a%lure&%.
Se re!"an'. '!% #a)% n #re+.t%rea !le/%e% 'e 'ate<
213 Pentru ,%eare ".&ur. #!ten/%al. &eletat. '%n &tan'ar'e( &e 'eter"%n. e
'ate tre*u%e ".&urate '%n l%&ta 'e #r%"%t%veA
223 Datele !letate &e v!r "e"!ra ntr1! *a-. 'e 'ate( #entru a /%ne %&t!r%ul
unu% #r!%et 'e 'e-v!ltare )%1n &!#ul anal%-el!r.
(M
SPECIFICAKIE
DESIC@
CODIFICARE
TESTARE<
9 RE:E;ERI
9 I<S$EC=II
(0102*(*13 4R!%*
DA
$&e trece la
faza urmtoare
de dez'oltare%
corecie proces i
repetarea lui
@U
modelul 7oe0m
independena fa de hardware,
completitudine#
acuratee - gradul n care ieirile furnizate de produs sunt suficient
de precise pentru a satisface cerinele impuse#
consistena - gradul n care produsul conine notaii# terminologie i
simboluri unitare)#
u
l
e
s
t
e
p
e
l
u
n
!
IP
12
Distribuia forei de munc n timp
20 om-lun
20 oameni muncesc 1 luna
4 oameni muncesc 5 luni
1 om muncete 20 luni
Productivitatea individual scade atunci cnd echipa
de dezvoltare crete
Comunicare suplimentar
La adugarea de noi membri, productivitatea iniial scade
Creterea numeric a forei de munc la un proiect
rmas n urm are ca efect rmnerea i mai n urm
a proiectului. (Legea lui Brooks)
N
U
IP
12
Distribuia forei de munc n timp
(2)
Productivitatea medie (L: LOC/PM)
P: dimensiunea medie a echipei
IP
12
Distribuia forei de munc n timp
(2)
Pentru o echip cu P persoane putem avea
ntre P-1 i P(P-1)/2
canale de comunicaie.
Fiecare canal induce o
pierdere l de eficien
Productivitatea individual va fi:
Productivitatea echipei (de dimensiune P) va fi:
IP
12
Cum NU se calculeaz costurile
i NU se fac planificri
Avem 12 luni s terminm treaba, deci treaba va dura 12
luni. Legea lui Parkinson: munca se ntinde pe timpul
avut la dispoziie.
tim c competitorul a cerut $1.000.000. Noi cerem
$900.000.
tim c bugetul clientului pentru produs este de
$500.000. Att ne cost i pe noi dezvoltarea.
Vrem s prezentm produsul la CeBit anul viitor:
terminm pn atunci produsul.
Programul va dura 1 an, dar voi spune c va dura 10
luni. Ce-o s mai conteze 2 luni peste planificare...
IP
12
Metrici Orientate Obiect
Adncimea arborelui de derivare
Numrul claselor derivate dintr-o clas
Metode bazate pe ponderi pentru o clas
Cuplaje ntre clase de obiecte
Responsabilitile unei clase
Lipsa coeziunii n metode
IP
12
Adncimea arborelui de derivare
Care este cel mai lung brum de la clasa
rdcin pn la o clas derivat din
aceasta?
Cu ct o clas se afl mai jos n ierarhie, cu
att crete probabilitatea s moteneasc
mai multe metode de la ancestori.
IP
12
Numrul claselor derivate dintr-o
clas
Cte subclase are o anumit clas?
Indic importana unei anumite clase.
Dei motenirea este o form de refolosire a
codului, un numr mare de clase derivate
conduce la o structur complex a ierarhiei
de clase.
IP
12
Metode bazate pe ponderi pentru
o clas
Cte metode sunt ntr-o clas i ct de
complexe sunt ele?
Numrul i complexitatea metodelor indic
timpul necesar dezvoltrii i meninerii clasei.
Un numr mare de metode ntr-o clas are un
impact mai puternic asupra claselor derivate
i reduce generalitatea.
IP
12
Cuplaje ntre clase de obiecte
De cte clase este legat o anumit clas?
Prea multe cuplaje mpiedic modularitatea i
refolosirea codului.
IP
12
Responsabilitile unei clase
Cte metode pot fi invocate de o metod a
unei alte clase?
Indic complexitatea.
IP
12
Lipsa coeziunii n metode
Fiecare unitate reprezint o unitate logic din
punctul de vedere al funcionalitii?
Coeziunea promoveaz ncapsularea. Dac
metodele nu sunt coezive s-ar putea s fie
nevoie de o subclas.
IP
12
Probleme la folosirea metricilor
Lipsa de acuratee
Rezistena din partea angajailor
Folosirea lor n alte scopuri dect au fost create
Disensiuni n cadrul echipei de dezvoltare
IP
12
V mulumim !
... pentru
atenie
rbdare
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 1
Proiectare orientat obiect
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 2
Obiective
G
De a explica cum poate fi proiectat un software
ca o mulime de obiecte care interacioneaz
ntre ele
G
De a descrie activitile procesului de proiectare
orientat obiect
G
De a prezenta diferite modele ce pot fi folosite
pentru a descrie un proiect orientat obiect
G
De a arta felul n care limbajul grafic UM poate
fi folosit pentru a reprezenta aceste modele
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 3
!uprins
G
Obiecte "i clase de obiecte
G
Procesul de proiectare orientat obiect
G
#voluia proiectrii
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 4
Dezvoltarea orientat obiect
G
$naliza% proiectarea "i programarea orientat obiect
sunt nrudite dar distincte&
G
$naliza orientat obiect 'OO$( se ocup cu
realizarea unui model obiectual al domeniului
aplicaiei&
G
Proiectarea orientat obiect 'OOD( se ocup cu
realizarea unui model obiectual al sistemului care
implementeaz cerinele&
G
Programarea orientat obiect 'OOP( se ocup cu
implementarea unui proiect orientat obiect ntr)un
limbaj de programare orientat obiect% cum ar fi *ava
sau !++&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 5
!aracteristici ale OOD
G
Obiectele sunt abstractizri ale entitilor din
lumea real sau ale entitilor unui sistem&
G
Obiectele sunt independente "i ncapsuleaz
stare sau informaie&
G
,uncionalitatea sistemului este exprimat n
termeni de servicii oferite de obiecte&
G
-unt eliminate datele comune% obiectele
comunic.nd prin sc/imb de mesaje&
G
Obiectele pot fi distribuite "i pot fi executate
secvenial sau n paralel&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 6
Obiecte care interacionez
sta te o 3
o 3 :C3
sta te o 4
o 4: C4
sta te o 1
o 1 : C1
sta te o 6
o 6 : C1
sta te o 5
o 5 :C5
sta te o 2
o 2 : C3
o ps1 () o ps3 () o ps4 ()
o ps3 () o ps1 ()
o ps5 ()
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 7
$vantaje ale OOD
G
Mentenan mai u"oar& Obiectele pot fi
nelese ca entiti independente&
G
Obiectele sunt poteniale componente
reutilizabile&
G
Pentru unele sisteme% poate exista o
ec/ivalen clar ntre entiti din lumea
real "i obiecte ale sistemului&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 8
Obiecte "i clase de obiecte
G
Obiectele sunt entiti dintr)un sistem
software ce reprezint entiti din lumea
real sau din alte sisteme&
G
!lasele de obiecte sunt modele '"abloane(
pentru obiecte& #le pot fi folosite pentru a
crea obiecte&
G
!lasele de obiecte pot mo"teni atribute "i
servicii 'metode( de la alte clase de obiecte&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 9
Obiecte "i clase de obiecte
Un obiect este o entitate care are o stare i o mul ime definit de
opera ii care opereaz asupra acelei st ri . Starea este reprezentat
ca o mul ime de atribute. Opera iile asociate obiectului ofer
servicii pentru alte obiecte (clien i ) care solicit aceste servicii
cnd au nevoie de anumite calcule.
Obiectele sunt create dup defini ie unei clase de obiecte. O
defini ie a unei clase de obiecte serve te ca model pentru obiecte .
Ea include declara ii ale tuturor atributelor i metodelor
(serviciilor) ce trebuie asociate cu un obiect din aceas clas.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 10
UM '0/e Unified Modeling anguage(
G
Diferite notaii pentru descrierea proiectelor
orientate obiect au fost propuse ntre anii
1234 "i 5444&
G
imbajul UM este o integrare a acestor
notaii&
G
#l descrie notaii folosite pentru diferite
modele ce pot rezulta n analiza sau
proiectarea orientat obiect&
G
UM este astzi standardul pentru modelarea
orientat obiect&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 11
!lasa $ngajat 'UM(
$ngajat
name: string
address: string
dateOfBirth: Date
employeeNo: integer
socialSecurityNo: string
depar tment: Dept
manager: Employee
salary: integer
status: {current, left, retired
ta!"ode: integer
# # #
$oin %&
lea'e %&
retire %&
changeDetails %&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 12
!omunicarea obiectelor
G
!onceptual% obiectele comunic prin sc/imb
de mesaje&
G
Mesaje
6
7umele metodei apelate8
6
!opii ale informaiei necesare pentru executarea
metodei&
G
9n practic% mesajele sunt implementate prin
apeluri de funcii 'metode(
6
7ume : numele funciei8
6
;nformaii : lista de parametrii&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 13
#xemple de mesaje
// Apelul unei metode asociate cu un obiect
// buffer ce returneaz urm toarea valoare
// din buffer
v = circularBuffer.Get () ;
// Apelul unei metode asociate cu un
// obiect termostat care seteaz
// temperatura ce trebuie men inut
thermostat.setTemp (20) ;
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 14
<eneralizare "i mo"tenire
G
Obiectele sunt instane ale unor clase care definesc
tipul atributelor "i operaiile&
G
!lasele pot fi aranjate ntr)o ierar/ie de clase n care
o clas 'super)clas( este o generalizare a uneia
sau a mai multor clase 'sub)clase(&
G
O sub)clas mo"tene"te atributele "i metodele de la
super)cals "i poate aduga propriile metode "i
atribute&
G
<eneralizarea din UM este implementat prin
mo"tenire n limbajele de programare orientate
obiect&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 15
O ierar/ie de clase
Em plo ye e
Pro g ra m m e r
pro j e c t
pro g La ng ua g e s
Ma na g e r
Pro j e c t
Ma na g e r
b ug e tsCo ntro lle
a te !ppo "nte
pro j e c ts
#e pt$
Ma na g e r
%tra te g "c
Ma na g e r
e pt re spo ns"b "l"t"e s
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 16
$vantaje ale mo"tenirii
G
#ste un mecanism de abstractizare ce poate
fi folosit pentru a clasifica entiti&
G
#ste un mecanism de reutilizare at.t la nivel
de proiectare c.t "i la nivel de programare&
G
O ierar/ie de mo"tenire este o surs de
informaie de organizare despre domenii "i
siteme&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 17
Probleme legate de mo"tenire
G
!lasele de obiecte nu sunt independente% ele
nu pot fi nelese fr a face referire la super)
clase&
G
Proiectanii au tendina de a refolosi ierar/iile
create la analiz% ceea ce poate duce la
ineficien&
G
;erar/iile de mo"tenire la analiz% proiectare
"i programare au funcii diferite "i trebuie
ntreinute separat&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 18
$socieri UM
G
Obiectele "i clasele de obiecte particip n
relaii cu alte obiecte "i clase de obiecte&
G
9n UM% o relaie general este indicat prin
o asociere&
G
$socierile pot fi adnotate cu informaie ce
descrie asocierea&
G
$socierile pot indica faptul c un atribut al
unui obiect este un alt obiect asociat sau c
o metod se bazeaz pe un obiect asociat&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 19
Un model de asocieri
Em plo y e e #e pa r tm e nt
Ma na g e r
"s&m e m b e r&o '
"s&m a na g e &b y
m a na g e s
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 20
Obiecte concurente
G
Obiectele fiind entiti independente se
preteaz foarte bine la implementri
concurente&
G
Modelul de sc/imb de mesaje pentru
comunicarea dintre obiecte poate fi
implementat direct dac obiectele sunt
executate pe procesoare diferite ntr)un
sistem distribuit&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 21
Un proces de proiectare orientat obiect
G
Procesul de proiectare implic dezvoltarea
c.torva modele ale sistemului&
G
#le necesit mult efort de dezvoltare "i
ntreinere iar pentru sistemele mici acest
lucru poate s nu fie eficient din punct de
vedere al costurilor&
G
0otu"i pentru sistemele mari dezvoltate de
grupuri diferite% modelele de proiectare sunt
un mecanism esenial de comunicare&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 22
#tape ale procesului
G
#videniem activitile c/eie fr s ne
legm de un proces anume cum ar fi =UP&
6
Definirea contextului "i modele de utilizare ale
sistemului8
6
Proiectarea ar/itecturii sistemului8
6
;dentificarea principalelor obiecte din sistem8
6
Dezvoltarea modelelor de proiectare8
6
-pecificarea interfeelor obiectelor&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 23
-istem de monitorizare meteo
Este necesar un sistem de monitorizare meteo pentru a genera
h r i meteorologice n mod regulat folosind date colectate de la
sta ii meteo la distan i de la alte surse cum ar fi observatoare
meteo, baloane i sateli i . Sta iile meteo transmit datele lor
calculatorului din acea zon ca r spuns la o cerere de la acel
calculator.
Calculatoarele zonale valideaz datele colectate i le integreaz cu
date din diferite surse. Datele integrate sunt arhivate i, folosind
date din aceast arhiv i o baz de date de h r i digitizate se
creaz un set de h r i meteo locale . H r ile pot fi tip rite pe o
imprimant special sau pot fi afi ate n diferite formate .
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 24
!ontextul sistemului "i modele de utilizare
G
Dezvoltare unei nelegeri ale relaiilor dintre
sistemul software ce trebuie proiectat "i mediul
exterior
G
!ontextul sistemului
6
#ste un model static ce descrie relaia cu alte sisteme& -e
folose"te un model de tip subsistem&
G
Model de utilizare
6
#ste un model dinamic ce descrie cum interacionez
sistemul cu mediul& -e folosesc cazuri de utilizare 'use)
cases( pentru a arta interaciunile
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 25
$r/itectur pe straturi
(su)system*
Data collection
(su)system*
Data processing
(su)system*
Data archi'ing
(su)system*
Data display
-tratul de colectare a datelor
Obiectele se ocup cu ac/iziionarea
de la surse de la distan
-tratul de procesare a datelor
Obiectele se ocup cu verificarea "i
+ntegrarea datelor colectate
-tratul de ar/ivare a datelor
Obiectele se ocup cu stocarea
datelor pentru viitoare prelucrri
-tratul de afi"are a datelor
Obiectele se ocup cu pregtirea "i
pre,entarea datelor ntr)o form
u"or de neles
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 26
-ubsisteme n sistemul de monitorizare meteo
#a ta
sto ra g e
(se r
"nte r 'a c e
) sub sy ste m *
#a ta c o lle c t"o n
) sub sy ste m *
#a ta pro c e ss"ng
) sub sy ste m *
#a ta a rc +", "ng
) sub sy ste m *
#a ta "spla y
-e a t+e r
sta t"o n
%a te ll"te
Co m m s
.a llo o n
/b se r, e r
Ma p sto re
#a ta sto re
#a ta
sto ra g e
Ma p
(se r
"nte r 'a c e
Ma p
"spla y
Ma p
pr"nte r
#a ta
c +e c 0"ng
#a ta
"nte g ra t"o n
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 27
Modele de utilizare 'use)cases(
G
Modelele de utilizare sunt folosite pentru a
reprezenta fiecare interaciune cu sistemul&
G
Un model de utilizare prezint
funcionalitatea sistemului la nivel de actori "i
scopuri ale actorilor&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 28
!azuri de utilizare pentru o staie meteo
%ta r tup
%+uto 1 n
2e po r t
Ca l"b ra te
3e st
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 29
Descrierea unui Use)case
Sistem Sta ie meteo
Use-case Raport
Actori Sistemul meteo de colectare a datelor, Sta ia meteo
Descriere Sta ia meteo trimite sistemului meteo de colectare un sumar al datelor meteo colectate de
la instrumente n perioada de colectare. Datele trimise sunt maximul, minimul i media
temperaturii solului i aerului , ale presiunii aerului, vitezei vntului, precipita iile totale i
direc ia vntului .
Stimuli Sistemul meteo de colectare a datelor stabile te o conexiune prin modem cu sta ia meteo
i cere transmiterea datelor .
R spuns Datele sumarizate sunt trimise c tre sistemul meteo de colectare a datelor
Comentarii Sta iile meteo sunt solicitate s trimit rapoarte de obiecei odat pe or dar aceast
frecven poate s difere de la o sta ie la alta i poate fi modificat pe viitor .
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 30
Proiectare ar/itectural
G
Odat ce interaciunile dintre sistem "i mediul lui au
fost nelese% aceast informaie este folosit pentru
proiectarea ar/itecturii sistemului&
G
O ar/itectur pe straturi este potrivit pentru staia
meteo
6
-tratul de interfa pentru rezolvarea comunicaiilor8
6
-tratul de colecie de date pentru lucrul cu instrumentele
meteo8
6
-tratul instrumentelor meteo pentru colectarea datelor&
G
9n mod normal nu trebuie s apar mai mult de >
entiti ntr)un model ar/itectural&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 31
$r/itectura unei staii meteo
-e a t+e r sta t"o n
Ma na g e s a ll
e 4te rna l
c o m m un"c a t"o ns
Co lle c ts a n
sum m a r"se s
1 e a t+e r a ta
Pa c 0a g e o '
"nstrum e nts 'o r ra 1
a ta c o lle c t"o ns
) sub sy ste m *
#a ta c o lle c t"o n
) sub sy ste m *
5nstrum e nts
) sub sy ste m *
5nte r'a c e
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 32
;dentificarea obiectelor
G
;dentificarea obiectelor 'sau a claselor de obiecte(
este partea cea mai dificil a proiectrii orientate
obiect&
G
7u exist nici o ?formul magic? pentru identificarea
obiectelor& #a se bazeaz doar pe aptitudini%
experien "i cunoa"terea foarte bun a domeniului
de ctre proiectanii sistemului&
G
;dentificarea obiectelor este un proces iterativ& #ste
puin probabil ca de prima dat s poi identifica
toate obiectele corect&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 33
$bordri posibile
G
,olosirea unei abordri gramaticale bazate pe
descrierea sistemului n limbaj natural 'folosit n
metoda @ood de proiectare orientat obiect(&
G
,olosirea unei abordri bazate pe identificarea
lucrurilor tangibile din domeniul aplicaiei&
G
,olosirea unei abordri comportamentale "i
identificarea obiectelor bazat pe cine particip n
sistem "i cu ce comportament&
G
,olosirea unei analize bazate pe scenarii& Obiectele%
atributele "i metodele din fiecare scenariu sunt
identificate&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 34
Descrierea unei staii meteo
O sta ie meteo este un pachet de instrumente controlate de
software, ce colecteaz date , efectueaz unele proces ri de date i
transmite aceste date pentru proces ri ulterioare . Instrumentele
includ termometre de aer i de sol , un anemometru pentru
m surarea vitezei i direc iei vntului , un barometru i un
instrument pentru m surarea precipita iilor . Datele sunt collectate
periodic.
Cnd se d o comand pentru trans miterea datelor meteo, sta ia
meteo proceseaz i sumarizeaz datele colectate . Datele
sumarizate sunt transmise calculatorului pentru procesarea h r ilor
cnd se prime te o cerere de transmisie .
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 35
!lasele de obiecte ale unei staii meteo
G
0ermometru de sol% $nemometru% Aarometru
6
Obiecte din domeniul aplicaiei care sunt
obiecte B/ardwareC corespunztoare
intrumentelor din sistem&
G
-taia meteo
6
;nterfaa de baz a staiei meteo cu mediul su&
#a reflect interaciunile identificate n modelul
use)case&
G
Datele meteo
6
9ncapsuleaz "i sumarizeaz datele provenite
de la instrumente&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 36
!lasele de obiecte ale unei staii meteo
"e nt"'"e r
re po r t-e a t+e r ()
c a l"b ra te ("nstrum e nts)
te st ()
sta r tup ("nstrum e nts)
s+uto 1 n ("nstrum e nts)
-e a t+e r%ta t"o n
te st ()
c a l"b ra te ()
6ro un
t+e rm o m e t e r
te m pe r a ture
!ne m o m e t e r
1 "n%pe e
1 "n#"re c t"o n
te st ()
.a ro m e t e r
pre ssure
+e "g +t
te st ()
c a l"b ra te ()
-e a t+e r#a ta
a "r3e m pe r a ture s
g ro un3 e m pe r a ture s
1 "n%pe e s
1 "n#"re c t"o ns
pre ssure s
ra "n'a ll
c o lle c t ()
sum m a r"se ()
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 37
$lte obiecte "i rafinarea obiectelor
G
,olosii cuno"tiine din domeniul aplicaiei
pentru a identifica alte obiecte "i operaii
6
-taiile meteo trebuie s aib un identificator
unic8
6
-taiile meteo sunt situate la distan astfel c
defeciuni ale instrumentelor trebuie raportare
automat& -unt necesare atribute "i operaii
pentru auto)testare&
G
Obiecte active sau pasive
6
9n acest caz obiectele sunt pasive "i colecteaz
datele la cerere nu din proprie iniiativ&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 38
Modele de proiectare
G
Modelele de proiectare prezint obiectele%
clasele de obiecte "i relaiile dintre aceste
entiti&
G
Modelele statice descriu structura static a
sistemului n termeni de clase de obiecte "i
relaii&
G
Modelele dinamice descriu interaciunile
dinamice dintre obiecte&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 39
#xemple de modele de proiectare
G
Modele tip sub)sistem care arat gruprile
logice de obiecte n sub)sisteme coerente&
G
Modele de secven care arat secvena
interaciunilor ntre obiecte&
G
Modele de stare arat cum obiecte
individuale "i sc/imb starea ca rspuns la
evenimente&
G
$lte modele% cum ar fi modele use)case%
modele de agregare% modele de
generallizare% etc&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 40
-ub)sisteme n staia meteo
) sub sy ste m *
5nte r 'a c e
) sub sy ste m *
#a ta c o lle c t"o n
Co m m sCo ntro lle r
-e a t+e r%ta t"o n
-e a t+e r#a ta
5nstrum e nt
%ta tus
) sub sy ste m *
5nstrum e nts
!"r
t+e rm o m e te r
6ro un
t+e rm o m e te r
2a "n6a ug e
.a ro m e te r
!ne m o m e te r
-"n7a ne
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 41
Modele de secven
G
Modelele de secven arat interaciunile
dintre obiecte
6
Obiectele sunt aranjate orizontal n partea de
sus a diagramei8
6
0impul este reprezentat vertical deci modelele
se citesc de sus n jos8
6
;nteraciunile sunt reprezentate de sgei
etic/etate8 diferite stiluri de sgei reprezint
diferite tipuri de interaciuni8
6
Un dreptung/i subire n linia de timp a unui
obiect reprezint timpul n care obiectul
controleaz sistemul&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 42
Model de secven pentru colectarea
datelor
:Co m m sCo ntro lle r
re 8 ue st (re po r t)
a c 0no 1 le g e ()
re po r t ()
sum m a r"se ()
re ply (re po r t)
a c 0no 1 le g e ()
se n (re po r t)
:-e a t+e r%ta t"o n :-e a t+e r#a ta
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 43
Diagrame de stare
G
$rat cum rspund obiectele la diferite cereri "i
tranziiile n starea obiectelor provocate de aceste
cereri
6 Dac starea obiectului este -/utdown atunci obiectul
poate rspunde la un mesaj de tip -tartup'(8
6 9n starea de a"teptare 'Daiting( obiectul a"teapt alte
mesaje8
6 Dac prime"te mesajul reportDeat/er'( atunci trece n
starea -ummarising8
6
a primirea mesajului calibrate'( se trece n starea de
calibrare8
6
-e intr n starea de colectare a datelor atunci c.nd se
prime"te un mesaj de la un cronometru din sistem&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 44
Deat/er station state diagram
tra nsm "ss"o n o ne
c a l"b ra te ()
te st ()
sta r tup ()
s+uto 1 n ()
c a l"b ra t"o n /9
te st c o m ple te
1 e a t+e r sum m a ry
c o m ple te
c lo c 0
c o lle c t"o n
o ne
/pe ra t"o n
re po r t-e a t+e r ()
%+uto 1 n
-a "t"ng
3e st"ng
3ra nsm "tt"ng
Co lle c t"ng
%um m a r"s"ng
Ca l"b ra t"ng
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 45
-pecificare interfeei obiectelor
G
;nterfeele obiectelor trebuie specificate
astfel nc.t obiectele "i alte componente s
poat fi proiectate n paralel&
G
Obiectele pot avea mai multe interfee care
sunt puncte de vedere diferite asupra
metodelor oferite de obiecte&
G
UM folose"te diagrame de clase pentru
specificarea interfeelor% dar poate fi folosit "i
limbajul *ava&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 46
;nterfaa obiectului staie meteo
interface WeatherStation {
public void WeatherStation () ;
public void startup () ;
public void startup (Instrument i) ;
public void shutdown () ;
public void shutdown (Instrument i) ;
public void reportWeather ( ) ;
public void test () ;
public void test ( Instrument i ) ;
public void calibrate ( Instrument i) ;
public int getID () ;
} //WeatherStation
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 47
#voluia proiectrii
G
$scunderea informaiei n obiecte nseamn
c modificrile asupra unui obiect nu
afecteaz alte obiecte ntr)o manier
impredictibil&
G
- presupunem c trebuie adugate staiilor
meteo faciliti pentru monitorizarea polurii&
$cestea iau o prob de aer "i calculeaz
cantitatea diferiilor poluani din atmosfer&
G
!itirile de poluare sunt transmise mpreun
cu datele meteo&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 48
Modificri cerute
G
$dugarea unei clase de obiecte numite
$ir EualitF ca parte din Deat/er-tation&
G
$dugarea unei operaii report$irGualitF
la Deat/er-tation& Modificarea
programului de control pentru colectarea
citirilor de poluare&
G
$dugarea obiectelor reprezent.nd
instrumentele de monitorizare a polurii&
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 49
Monitorizarea polurii
:/#a ta
sm o 0 e #a ta
b e n; e ne #a ta
c o lle c t ()
sum m a r"se ()
!"r 8 ua l"ty
"e nt"'"e r
re po r t-e a t+e r ()
re po r t!"r<ua l"ty ()
c a l"b ra te ("nstrum e nts)
te st ()
sta r tup ("nstrum e nts)
s+uto 1 n ("nstrum e nts)
-e a t+e r%ta t"o n
Po llut"o n m o n"to r"ng "nstrum e nts
:/m e te r %m o 0e Me te r
.e n;e ne Me te r
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 50
G
Proiectarea orientat obiect este o abordare a
proiectrii n care componentele proiectate au operaii
"i stare intern&
G
Obiectele trebuie s aib un constructor "i operaii de
inspectare& #le ofer servicii altor obiecte&
G
Obiectele pot fi implementate secvenial sau
concurent&
G
UM 'Unified Modeling anguage( ofer diferite notaii
pentru definirea diferitelor modele de obiecte&
!oncluzii
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 14 Slide 51
!oncluzii
G
Diferite modele pot fi realizate n timpul
proiectrii orientate obiect& $cestea includ
modele statice "i dinamice de sistem&
G
;nterfeete obiectelor trebuie definite precis
folosind c/iar limbaje de programare&
G
Proiectarea orientat obiect poate simplifica
mult evoluia sistemului&
UML (Unified Modeling
Language)
limbaj unificat de modelare
orientat obiect
Scop
Cunoasterea unui limbaj vizual
orientat obiect, standard de
realizare a aplicatiilor si
sistemelor
ISTORIC
Principalele etape de unificare, ce au condus la UML:
Octombrie 199: Rumbaugh i se altur lui Booch la irma Rational
Sot!are "i #ncep uniicarea metodei lui Booch cu O$T%
Octombrie 199!: &pare versiunea '() drat a *niied $ethod% +acobson
se altur "i el lui Rational Sot!are% se #ncepe #ncorporarea OOS, #n *$-%
"unie 199#: apare *$- versiunea '(., apoi ia na"tere Consor/iul *$-%
"anuarie 199$: *$- 0(' 1creat cu contribu/ia 2,C, 34, I5-ogi6, Intellicorp,
IB$, $icrosot, Oracle "(a(7 este oerit spre standardizare catre Object
$anagement 8roup 1O$87, ca raspuns la cererea O$8 pentru un limbaj
standard de modelare%
"ulie 199$: 9ersiunea revizuita *$- 0(0 1creat de catre un grup mult largit
de parteneri7 este oerit catre O$8 pentru standardizare%
1 noiembrie 199$: *$- 0(0 este adoptat ca standard de catre O$8%
$entenan/a *$- este preluat de ctre O$8, care public ulterior reviziile
*$- 0(: 1iunie 0..)7 "i *$- 0(; 1#n toamna lui 0..)7%
<n anul %&&& a aprut versiunea *$- 0(=%
<n %&&1 se public revizia *$- :('
Principii de ba'
*nali'a
2iagrama cazurilor de utilizare 1Use Case Diagram7
2iagrama de activita/i 1Activity Diagram7
Proiectare
5 Structura@ 2iagrama de clase 1Class Diagram7
5 Comportamentul@
2iagrama de stari 1Statechart Diagram7
2iagrame de interac/iuni 1Interactions Diagrams7
o 2iagrama de secven/a 1Sequence Diagram7
o 2iagrama de colaborare 1Collaboration Diagram7
"mplementare
C 2iagrama de componente 1Component Diagram7
C 2iagrama de plasare 1Deployment Diagram7
+oncepte de ba'a
comportamentale
de grupare
de adnotare
C
relatii
C
diagrame
Clasa
Instanta
Interfata
Colaborarea
Cazul de utilizare
Clasa activa
Componenta
Nodul
Clasa
Instantele pot i @
5 concrete C reprezinta instante ale unor clase
concrete%
5 prototipice C reprezinta instante potentiale ale
claselor concrete care sunt subclase ale claselor
abstracte, sau ale claselor concrete care
realizeaza interete
Interfata
Simbol@
Dume intera/
Colaborarea
Simbol@
Dume colaborare
Cazul de utilizare
Simbol@
Dume caz de utilizare
Clasa activa
Simbol@
Nodul
Simbol@
Dume nod
,lemente comportamentale
Sunt partile dinamice ale modelului *$-,
reprezent?nd comportamentul modelului #n
timp si spatiu( ,le sunt verbele modelului(
5
Interactiune
5
Ma"in cu stri
Interactiune
Simbol@
nume
,lemente de grupare
Simbol@
Dume pachet
,lemente de adnotare
Simbol@
nume not
-elatii
Simbol@
!socierea
Simbol@ '((0 E
rol rol
2incolo de orma de baza a asocierilor, se mai olosesc si
urmatoarele notiuni@
Simbol@
Realizarea
Simbol@
.iagrame
Clasiicare
C
2iagrame structurale
C
2iagrame comportamentale
-eguli UML
speciicatii
adnotari
diviziuni generale
mecanisme de e6tensie
C
stereotip
C
valoare etichetat
C
constrngere
Specificatii
Simbol@
.i(i'iuni generale
diviziunea clasaAobiect
C
o clasa este o abstractie,
C
un obiect este o maniestare concreta a acelei
abstractii%
separatia interataAimplementare
C
interata declara un contract
C
implementarea reprezinta o realizare concreta
a acelui contract, responsabila pentru
realizarea integrala a semanticii complete a
interetei
$ecanisme de e6tensie
Clasificare
Diagrame structurale
Diagrame comportamentale
Diagrame structurale
Diagrame de clase
Diagrame de obiecte
Diagrame de componente
Diagrame de amplasare
Diagramele de pachet
Diagrame comportamentale
Diagrame de secventa
Diagrame de colaborare
Diagrame de activitate
Diagrama bine structurata
&eprezentare'
5socieri;
&ela%ii de generalizare;
&ela%ii de dependenta;
&ela%ii de realizare;
DIAGRAME DE CLAE
rela"ii) asocierea
DIAGRAME DE CLAE
rela"ii) asocierea ) clasa a asocierii
DIAGRAME DE CLAE
rela"ii) asocierea ) agregarea
#umele pac3etului'
+nume de cale,
'AC.E-E (I DIAGRAME DE
'AC.E-E
Clase
:nterfete
Componente
#oduri
Cola!orari
Cazuri de utilizare
5lte pac3ete
&ela%ii ntrepac3ete'
?eneralizare
'AC.E-E (I DIAGRAME DE
'AC.E-E) Import / e*port
$lementele %&'
$lementele %2
stri de activitate i stri de aciune
tranziii
obiecte
ramuri
bifurcaii si mbinri
culuare !s3imlanes"
DIAGRAMA DE ACTI%ITATI (DA)
Stri de activitate i stri de aciune
&tarea sursa
&tarea destinaie
DIAGRAME DE TRAN+I&IE A $T'RIL(R
forma general#
DIAGRAME DE TRAN+ITIE A $TARIL(R
t#ri si tran,i"ii a!anate
Ac"iuni de intrare / ie-ire' se folosesc atunci cnd se dorete ca aceeai aciune sa
aib loc ori de cte ori se intra ntr-o stare 9 se prsete o stare, indiferent de
tranziia care conduce la acea stare
Tran,i"ii interne0 folosite atunci cnd se dorete rezolvarea unor evenimente fr a
prsi starea
Acti!it#"i0 cnd este ntr-o stare n general obiectul rmne inactiv, ateptnd apariia
unui eveniment. 5neori, aflat ntr-o stare, un obiect va realiza o sarcina si o va
continua pn cnd este ntrerupt de un eveniment. 8entru aceasta se folosete o
tranziie speciala do1 &e poate de asemenea specifica o secvena de aciuni !de
exemplu' do9op0!a"<op1!b"<op=!c"".
E!enimente am2nate0 n unele situaii de modelare, se dorete recunoaterea unor
evenimente, dar amnarea rspunsului la acestea. 2ceasta se specifica prin listarea
unui eveniment cu aciunea speciala defer1
DIAGRAME DE TRAN+ITIE A $TARIL(R
ubt#ri
Utili,are0
utilizare'
Modelarea 7roceoarelor i
di7o,iti!elor
faciliti indi)iduale pe 2C
editor de diagrame
analizor de structur
generator de cod
generator de documentaie
Caracteristici i a)anta-e0
1
documentaia de realizare a oricrui proiect, n
totalitatea ei, se gsete n repositor(, de unde poate
fi tiprit integral sau parial
1
documentaia finala a produsului software este
realizat pe +aza informaiilor despre proiect
coninute n repositor(
1
creterea preciziei i a acurateei documentaiei fa
de cazul n care aceasta este realizat pe &*rtie,
deoarece sunt detectate erorile, inconsistenele i
omisiunile
1
asigur lucrul n ec&ip i n reea
Analizorul de structur