Sunteți pe pagina 1din 11

1.

Not de baza priv pachetele software


Un sistem de calcul e alcatuit din 2
subsisteme: software si hardware.Hardware
=totalit echipamentelor fizice care compun
sistemul de calcul;Software= totalitatea prodr
progr cu care e echipat sistemul de calcul;
Produse program(software)=ansamblul de
programe intercorelate avand o interfata
unitara destinata rezolvarii unui anumit tip de
pb ale utilizatorului.Program=ansamblu de
instructiuni care, transpuse intr-un anumit cod
sau lb de programare si pe un suport accesibil
calculat, poate realiza o functie de tratare a
datelor sau a info.Tratarea datelor=operatii
de calcul si/sau logice,transferuri, reorganiz,
selectari, ordonari, cautari, regasiri, actualiz,
afisaripe ecran!, listariimprim!, transmisii la
distanta.Limba de programare=lb artificial
destinat descrierii prin direcive, comenzi,
instructiuni e"primate simbolic, prelucrarea
datelor ce urmeaza a fi realizata in cadrul
sistemului de calcul. #ot fi specializate pe
domenii de aplicatii sau cerinte de calcul.
Subsistemele software pot fi clasificate i!:
$. programe de sistem " sistem de operare;
instrumente soft, medii de programare! 2.
programe de aplicatii pachete de programe
orientate pe domenii; pachete de programe
orientate pe metode!%. structuri de date
Programele de sistem sunt create de
specialisti din firme specializate, livrate odata
cu calculatorul.S#=ansamblul de programe
care realizeaza gestiunea resurselor unui
sistem de calcul, are un caracter universal,
controleaza e"ecutia altor programe si
furnizeaza servicii altor componente ale
software-ului.$!strume!te soft = entitati soft
care prelucreaza sau actioneaza asupra altor
entitati soft.%edii de programare=colectii
de instrumente soft grupate in &urul unui
compilator avand o interfata comuna care
a&uta la dezvoltarea unui program intr-un
anumit limba&.'". instrumente: compilatoare,
interpret, editoare de legatura, depanatoare;
'". medii: (isual),*o",+asic,),!#e lg
mediile de programare, in proc dezvoltarii
pachetelor software sunt fol si instrum )-.'
computer assisted software engeneering! ce
asista programele la analiza /proiectareProgr
de aplicatii scrise pt anumite categorii de
utilizatori si pt realizarea unor pb specifice:
-domenii: ec, transporturi, constructii;
-metode: statistice, matematices0stat,
win1sb!2n plus fata de clasificarea anterioara
mai e"ista e"tensii ale .3:-.3 cu caracter
dedicat-comp software care asigura la nivelul
echipamentelor, facilitati speciale curente fol
numai de an. aplicatii.4ai e"ista si pachete
integrate de programe:-editoare de te"t,
tabele, gestiune +5, grafica de prezentare,
agenda, posta electronica office!. -vanta&:
compatibilitatea componentelor.
1.(co!ti!uare1)
'lemente constitutive ale produselor
program#.!:-program=codificarea in lb de
nivel inalt al unor algoritmi sau fctii de
prelucrare a inf. 'ste o unitate de sine-
statatoare, interactionand doar cu .3.
6ucreaza cu date 2/3 proprii. 'ste def prin
date, algoritmi, structuri. 'ste parte fizica a
unui #.##!.-subprogram=comp fizica,
parte dintr-un program, destinata rez unor pb
dintr-o an clasa. #oate fi fol in diverse parti
ale pr. .e fol in cadrul lb de programare de
niv inalt ce ofera facilitati de declarare, apel
si transfer de parametrii.-modulul=comp
logica, elemente de structura a programelor,
rezulta din divizarea programelor in parti
distincte, are independenta functionala si
interactiunea lui cu alte module este minima.
Un program e compus din cel putin un modul
iar un modul din unul sau mai multe progr,
proceduri, subprograme. 4odularizarea unui
#. este la latitudinea dezvoltarii acestuia si
reprezinta modelul de implemetare pe
componente.-pachete de program##!
-biblioteci de program, proceduri, subrutine =
produse software ale caror comp pot fi
apelate din diverse alte pachete software pt
rezolvarea unor an pb specifice. 'le nu fac
parte din produsul software de baza, ci tb sa
e"iste alaturi de acesta. .unt specializate pe
diverse tipuri de metode mate, statistice,...!.
. &ibliotecile de programe = produse
software ale caror componente pot fi apelate
din diverse alte pachete software pt
rezolvarea unor anumite pb specifice.
+ibliotecile nu fac parte din produsul
software de baza cit b sa e"iste alaturi de
acesta. .unt specializate pe diverse tipuri de
metode matematice, statistice, etc.!
'lasificarea ge!eratiilor de produse
software dpdv al modului lor de realizare
si al prelucrarilor efectuate 2 mari categ!:
a! produse program clasice care prelucr.
date si i!formatii(produse program monolit -
nu li se pot face modificari, nu pot fi
intrerupte in functionare(produse program
conversationalesisteme de asistare a
deciziei ;sisteme e"pert!(produse program
prietenoase b)prod. program care prelucr.
cu!osti!te) 'lasificarea produselor
program orie!tate pe dome!ii se poate face
di! mai multe pcte de vedere"(ge!eralitate
( produse program de uz general ) ( produse
program generalizate )(produse program
refolosibile ; ( produse program unicat. (dpdv
al fct utilizator i!formatizate ( produse
software pt informatizarea proceselor de
productie; ( prod software pt informatizarea
diverselor fctii ale intreprinderii; ( activitati
de birou) ( activitati de cercetare) ( activitati
de programare.
1.(co!ti!uare*)
- dpdv al dome!iului utilizatorului (
produse software pt activitatea economica
ind., constructii, agricultura!'lasificarea
orie!tata pe metode" (dpdv al modelului
utilizat + matematice; - orientate pe
planificarea productiei) ( statistice; ( teoria
deciziei(dpdv al fu!ctiei i!depli!ite (
produse software de e"ploatare a bd; (
produse software utilitare;(dpdv al
comple,itatii ( produse program
independente) ( biblioteci de programe sau
subprograme'riterii de alegere a prod
program si evaluarea calitatii lor"
$. dimensiunea ma"ima a pb ce tb rezolvata
in raport cu dim prod software 2. cerintele
hard si soft minime necesare functionarii
produsului program in raport cu cele e"istente
%. fle"ibilitatea = usurinta in utiliz 7. costurile
implicate de utilizarea curenta a produsului
nu tb sa afecteze eficienta economica a
intreprinderii8. modularitate si adaptabilitate
la noi functii si dezvoltari ale produsului
9. modul de tratare al erorilor si de semnalare
a lor:. fiabilitatea = siguranta in e"ploatare
;. implicatiile algoritmilor utilizati asupra
preciziei rezultatelor, vitezei de raspuns si
consumului de resurse'valuarea calitatii se
poate realiza fie dpdv al utilizatorului dupa
criteriile de mai sus!, fie al realizatorului prin
compar. niv. caracteristice de calitate obtinute
cu cele planificate.Stocarea si difuzarea
produselor software.tocarea se face prin
intermediul bibliotecilor tehnologice, iar
difuzarea prin bibliotecile de distributie
&ibliotecile teh!ologice - se realizeaza in
cadrul unitatilor elaboratoare software; - %
categorii: de sistem, ale proiectelor si ale
programatorilor ; - 2n cadrul unei biblioteci
tehnologice sunt cuprinse toate prod soft
e"istente in cadrul unei firme de soft.
&ibliotecile de sistem " ( )ontin toate
instrumentele software, so, medii de
programare utilizate in cadrul firmei.
-numite categorii de utiliz din firma au acces
la ele.&ibliotecile de proiect : - .pecifice
fiecarui proiect de produs soft aflat in curs de
realizare in cadrul firmei si cintine
programme sau componente in curs de
realizare sau in forma finala apartinand
aceleiasi apl.&ibliotecile programatorilor : -
.unt organizate si intretinute de fiecare
programator in parte si contin comp software
apartinand diverselor aplicatii in curs de
realizare sau rwalizate de catre programatorul
respectiv.&ibliotecile de distributie (
cercetarea de proiecte produs de uz general
sau generalizabile de la elaboratori si
difuzarea lor catre utilizatorii interesati ; -
evidenta produselor program elaborate si in
curs de elaborare aflate la autori ; - selectarea
de produse program care pot prezenta interes
1.(co!ti!uare-)
pt mai multi utilizatori ; - colectarea de
produse program selectate si repartizarea lor
pe categorii ; - testarea si omologarea
produselor program selectate ; - informarea
utilizatorilor cu privire la produsele program
aflate in fondul bibliotecii; - difuzarea prod
program catre utiliz; - urmarirea in e"ploatare
a prod program ; - colectarea de la utilizatori
de cerinte de noi versiuni ale prod e"istente.
.specte legislative privi!d protectia
produselor software6egea priv. dr. de autor
si drepturile cone"e a fost aprobata in <=9 si a
suferit pe parcurs adaugari si modificari din
diverse ordonante.#biectul dreptului de
autor = operele orig. de creeatie intelectuala
indif. de modalitatile de creeatie, modul si
forma concreta de e"primare si indep. de val.
si destinatia lor.'o!ti!utul dreptului de
autor -utorul are dr e"clusiv de a autoriza
reproducerea integrala sau partiala, difuzarea,
transmiterea prin fir, cablu sau fibra optica,
accesul public la bd dc ele sunt prote&ate,
utiliz, inchirierea sau imprumutul a orig sau a
copiei.#rin contractul de inchiriere, autorul
permite folosirea pe un timp determinat a
origunalului sau a unei copii. /urata dr de
autor = tot timpul vietii autorului si se
transmite prin mostenire pe o perioada de 8>
de ani. /ispozitii speciale privi!d produsele
software #rotectia programelor pt calculator
includ : orice e"presie a unui program, progr
de aplicatie si sistemele de operare e"primate
in orice lb, cod sursa, cod obiect sau cod
e"ecutabil, materialele de conceptie pregatit
precum si manualele.2deile, procedurile,
metodele de functionare, conceptele
matematice si principiile care stau la baza
oricaror elemente dintr-un program, inclusiv
cele care stau la baza interfetelor.-utorul are
dreptul e"clusiv de a realiza sau autoriza :
-reproducerea permanenta sau temporala,
integrala sau partiala a unui program prin
orice mi&loc sau forma ;-traducerea,adaptarea,
rearan&area si alte transformari ale unui
program, precum si reproducerea acestor
transformari ;-difuzarea origunalului sau
acopiilor sub orice forma, inclusiv inchiriere.
5repturile asupra programelor create de unul
sau mai multi anga&ati ca atributii de
servici sau dupa instructiunile celui care
anga&eaza, apartin anga&atorului.Pri!
co!tractul de utilizare : - utilizatorul are
dreptul nee"clusiv de utilizare a progr. ; -
utilizatorul nu poate transmite dr de utilizare
unei alte persoane ; - cesiunea dreptului de
utilizare al unui progr nu implica transferul dr
de autor asupra lui ;- utilizatorul autorizat are
dreptul de a realiza copii de arhiva sau de
siguranta fara acceptul autorului 0eprod sau
traduc codului progr pt interoperabilitatea cu
alte 2nfo nu pot fi communicate altor
1.(co!ti!uare1)
persona&e .2nfo nu pot fi utilizate pt
definitivarea, producerea sau comercializarea
unui program a carui e"presie e fundamental
similara.Se sa!ctio!eaza cu i!chisoare sau
ame!da urmatoarele" ( accesul public la bd
care contins au constituie opere prote&ate, fara
autorizarea titularului dreptului e autor ; (
insusirea fara drept a calitatii de autor ) ( fara
autorizarea titularului dr de autor
se :reproduce, difuzeaza sau comercializeaza
programme ; pune la dispozitia publicului
prin vanzare mi&loacele tehnice destinale
neutralizarii dispozitivelor de protectie a
progr+eneficiaza de protectie prin lege si
progr creeate anter intrarii in viguare a acestei
legi.
*. #rga!izarea si structurarea datelor
/atele = un mod de reprez a inf accesibil
unui processor om sau calc! cu care se poate
opera pt a obtine noi informatii despre
fenomene, procese sau obiecte.
/atele su!t grupate i! * mari categorii :
$! datele eleme!tare = entitati indivizibile
atat in raport cu inf pe care o reprezinta cat si
in raport cu procesul care o prelucreaza.#oate
fi privita dpdv logic sau fizic.
Pctu de vedere logic = pctu de vedere al
procesorului uman. ' formata din % parti :
identificatori, atribute si
valori.$de!tificatorul = simbol sau nume
care se asociaza datei pt a o distinge de alte
date si pt a o putea referi in procesul de
prelucrare..tributele precizeaza proprietati
datei si determina modul in care ea va fi
tratata in procesul de prelucrare. #ot fi de tip,
pot preciza modul de alocare al mem
static/dinamic!, pot preciza reprezentarea
interna, eventual valorile initiale.(alorile pot
fi nr intregi, reale, comple"e, logice, siruri de
caractere. #ot fi precizate prin enumerare sau
printr-o proprietate comuna. 5c pe parc
procesului de prel, data isi pastreaza valoare
=? constanta, altfel =? variabila./pdv fizic
al calc!, modelul coresp datei = o zona de
mem de o an lungime situata la o an adresa
absoluta in care sunt memorate pe o an per de
timp si intr-o an forma specifica, valorile
datei.5atele se prezinta sub forma unor
multimi colectii! care necesita o an
organizare. 5c intre elem unei colectii pot fi
identif0 si introducse relatii, se obtine cel de-
al doilea tip de date, structurile.
2! structurile de date @elatiile pot fi relatii
de ordine intre elem colectiei sau relatii de
descriere a mecanismelor de acces.3
structura de date = entitate de sine
statatoare individualizata prin nume ale carei
comp isi mentin propriet. )omp unei .5 pot
fi individualizate sau selectate fie prin nume,
fie prin pozitia pe care o ocupa in cadrul
structurii conform cu relatia de ordine
specificata.)ladificarea .5 :(dupa modul de
selectare a comp : .5 cu acces direct sau
acces secve!tial )( dupa suportul fizic in care
sunt stocate : .5 i!ter!e si e,ter!efisiere,
+5! ; - dupa modul de alocare a memoriei :
.5 statice, care isi pastreaza nr de
componente pe parc prelucrarii ; sau .5
di!amice, care isi modifica structura pe parc
prelucrarii cu cardi!alitate fi!ita nr limitat
de comp! ;cu cardi!alitate i!fi!ita nr de
comp e nelimitat!!-supra unei .5 se pot
efectua o multime de operatii cele mai uzuale
fiind : creeare memorarea str pe un support!,
actualizare adaugare, modif, stergere!,
listare.-lte operatii : ventilarea desfacerea
unei str in mai multe!, fuzionarea
*. (co!ti!uare*)
combinarea a 2/m multe str e".
2nterclasarea!.
Tipurile de S/ i! memoria i!ter!a"1)sirul
= o succesiune ordonata de elem. 6ungimea
lui e data de nr de elem. Aipul lui e dat de
tipul elem.*)%asivul = o colectie de date
omogene cu cardinalitate finita. -re o str
liniara si statica.-)$!registrarea = str de date
eterogena, statica si cu cardinalitate finite.
)omp ei sunt campuri si sunt indiv prin
nume. @elatiile de ordine intre elem e
ierarhica, ierarhia fiind precizata prin nr de
nivel. 'lem str pot fi date elementare sau .5.
2n memoria interna, reprezentarea articolului
se face prin liniarizare intr-o zona
compacta.1)Liste = str dinamice liniare,
recursive, cu comp omogene sau eterogene.
'lem unei liste pot fi date elem/.5. 3rice
lista are doua capete numite baza si varf.
Aoate elem unei liste mai putin baza si vf au
det in mod unic elem precedent si eventual pe
cel successor. #ot fi de 2 tipuri: li!iare
asimetrice fiec elem 2 se cunoaste numai
elem succ! si li!iare simetrice fiec elem 2 se
cunoaste adr elem succ si al celui prec!.
#arcurgerea listelor poate fi facuta in forma
62*3 sai *2*3 =? listele pot fi de tip coada
*2*3! sau stiva 62*3!.1).rborii = str
dinamice cu o rel de ordine ierarhica, elem str
se numesc noduri sau varfuri, referintele
pleaca de la nodul tata la nodul fiu. 2n orice
arbore e"ista un nod radacina care nu are tata
si noduri frunze care nu au fii. - -rbori
generali -? orice data poate sa aiba un nr
nelimitat de fii ( -rbori binari -? orice varf
poate sa aiba ma"im 2 descendenti. -rborii
binari pot avea urmatoarele forme de
repreze!tare:standard,prin paranteze
incluse,grafica,tata.Parcurgerea :preordine
@.5! ;inordine .@5! ;postordine .5@!)
2)Structuri de date e,ter!e : ( fisiere =
colectie organizata de inregistrari. 2n functie
de modalitatea de mem a inreg, e"ista m
multe tipuri de metode de acc la fis.-
3rganizare secventiala =? acc secvential;
3rganizare inde"at secv =? acc secv / direct;
3rganizare selective =? acc direct, secv,
d0namic
3 categ speciala sunt fisierele inverse care se
creeaza pe baza unor fis clasice prin
inversarea rolului inreg cu cel al caract
campurilor!. .e fol in cadrul org datelor in
arhive sau cataloage de date in care se pune
pb cautarii inreg carora le coresp o caract de o
an valoare;. B &/(una sau mai multe colectii
de date aflate Cn interdependenta, Cmpreuna cu
descrierea structurii acestora si a relatiilor
dintre ele. 2ncluderea Cn baza de date a
descrierii structurii acesteia o deosebeste
calitativ de fisierele de date, deoarece prin
*. (co!ti!uare-)
aceasta se asigura independenta datelor din
baza fata de programele de aplicatii si invers.
Dn functie de tipurile de structura abordate si
conceptia de definire a relatiilor dintre
colectiile de date putem avea: E baze de date
ierarhice modelul ierarhic! care opereaza cu
multimi de date structurate arborescent;
E baze de date tip retea modelul retea! care
opereaza cu multimi de date structurate Cn
retea; aici notiunea de element ierarhicdispare
fiind Cnlocuita cu cea de predecesor;E baze de
date relationale modelul relational! care
opereaza cu multimi de date structurate pe
baza teoriei matematice a relatiilor dintre
ansambluri. E baze de date orientate obiect
modelul obiectual! destinate stocarii
obiectelor utilizate in aplicatiiconcepute si
realizate orientat obiect.
3actori care i!fl alegerea modului de org si
str a datelor i! cadrul act de dezvoltare
soft$.volumul datelor determina alegerea
modului de stocare a datelor pe suport intern
sau e"tern si implicit tipul de structura
*.operatiile de prelucrare si frecve!ta lor
determina natura suportului de memorie, tipul
de structura si modul de acces -.i!dicele de
activitate pe operatii este def ca un raport
intre nr de comp a structurii utiliz intr-o
operatie si nr de componente e"ploatate pt
aceasta operatie. -cest fact infl tipul de acc,
implicit suportul fizic 1.durata de viata a
structurii. 5c se lucreaza in timp asupra
datelor. 5c .5 sunt temporare, nu cont
modalitatea de stocare ci modul de org a
datelor care sa permita un acc rapid la ele
2.utilizarea eficie!ta a spatiului de mem.
.patiul de mem conditioneaza stocarea
datelor si implicit alegerea unor str de date
.5! in mem interna42! 4. comple,itatea
act de programe si lb de programare fol 5.
asigurarea i!tegritatii datelor 6. e,perie!ta
programatorului
-. .L7#0$T%$
1. Notiu!i ge!erale privi! alg
-lgoritmul=sistem de reguli care, aplicat la o
cls de pb de acelasi tip conduce de la o an inf
initiala, la solutia finala cu a&utorul unor
operatii succesiv ordonate si unic det. 3 inf
initiala pt care un alg este aplicabil=inf
admisibila. Aotalitatea inf admisibile
formeaza domeniul algoritmului. -lg poate fi
definit: f:5-?. 3bsF Gu orice metoda de
calcul=alg. 3 met pt a fi alg tb sa indeplin %
cond: $!generaliatate B tb sa rezolve toate pb
din aceeasi clasa;2! finitudine B tb sa aiba
reguli clare de sf a alf; %!unicitate B transf
intermediare facute asupra inf initiale tb sa fie
unic determinate de regulile alg si sa prezinte
osuccesiune stricta a operatiilor'ompu!erea
si descompu!erea alg)ompunerea se poate
face prin:-suprapunere B at cand alg f este
compus din suprapunerea lui f$ peste f2:
f=f$f2!, de e" min, ma" pe coloane;-
succesiune B in care inf finala a lui f$ = inf
initiala pt f2: f=f$Hf2;-mi"tao succ de
suprapuneri,o suprapunere de succ! 5escomp
se realiz prin spargerea unui alg intr-o
combinatie de alg cu o str mai simpla numiti
subalg.'lasificarea alg 1)/pdv al formei de
repreze!tare:-alg liniari in care succ alg este
liniara si nu se poate reveni la pasii anteriori;-
alg cu ramificatii care includ struct alternativa
si se det evolutia alg pe o ramura sau alta in
fctie de rez unei conditii) -alg cicliciiterativi!
B pornind de la o val initiala a sol, imbunatat
aceasta sol printr-un proc repetitiv *)/pdv al
programarii"-alg !umerici B cu urm carac:
ma& datelor sunt numerice;sunt org in siruri,
liste, masive)fol ca suport 42)procesul de
calcul este iterativ) nr de operatii de calcul e
mare)pt progr lor sunt fol lb procedurale.(alg
de prelucrare B prezinta o pondere mare a
datelor stocate pe suporti e"terni, org in fis
sau +5. .pecificul prel datelor impune o
specializare a alg: alg pt creearea fis sau
actualizarea lor. 5eoarece prel datelor din fis
se realiz la niv de inreg, alg vor avea str
repetitive.*. Teh!ici de repreze!tare a alg
8,ista * mari categ: 2.$ repr grafica: scheme
logice, diagrame arborescente, tabele de
decizie) 2.2 repr te"tuala: pseudocodul si
reprez analitica3bsF $!se utilizeaza o tehnica
de reprez, una sau alta, in fctie de
avanta&ele /dezav fiecareia si de scopul
urmarit astfel:-schema logica permite
intelegerea mai clara a alg dar are dezav unui
spatiu f mare ocupat si impos de a realiza o
descompunere pe nivele a alg; -reprez
analitica permite descrierea intr-un spatiu
redus dar intelegerea semnif alg e f dificila;
-diagrama arb are avant vizualizarii f clare a
desc pe nivele a alg precum si a str fundam de
control; -pseudocodul premite trecerea cu
usurinta la lb de programare dar de asem
spatiul ocupat este
-. (co!ti!uare1)
mare 2! diagr arb se parcurg de sus in &os si in
cadrul aceluiasi niv de la st la dr. '"ista 2
tipuri de diagr arborescente:-tabourierI!;-
millsasemanatoare cu prima numai J se
elimina repr grafice: drept/romb.
#seudocodul poate fi in engleza sau in
romana. 'l permite in plus si repr unor
declaratii de datept care se poate utilize
sinta"a unor anumite lb de programare.
1.'iclul de viata si ciclul de realizare al
produselor program
'v=intervalul de timp intre mom luarii
deciziei de realizare a produsului si pana la
inlocuirea totala alui cu un alt produs.
'r=intervalul de timp intre mom luarii
deciziei de realizare si pana la punerea lui in
functiune la utilizatorul final.-mandoua sunt
impartite in etape, fiecare etapa fiind definita
printr-un scop si avand preconizate an
rezultate. 3rdinea de parcurgere a etapelor,
intervalul de timp alocat fiecarei etape,
precum si rezultatele partiale sau finale! ale
etapelor fac sa e"iste diverse modele ale
ciclului de viata, respectiv ciclul de realizare.
%odelele cv su!t "( modelul li!iar )(
modelul evolutiv )( modelul i! cascada )(
modelul i!creme!tal )(modelul i! spirala)(
imagi!ea bazata pe model.
8tapele cv su!t"$!a!aliza problemei" are ca
scop identificarea si formularea cerintelor
globale ale produselor soft, precum si
analizarea necesitatii sau oportunitatii
realizarii lui ca rezultat = tema de
realizare.*)Proiectarea prelimi!ara" are ca
scop specificarea mai detaliata a cerintelor
functionale si de calitate si are ca rezultat
specificatiile de definire si o prima varianta a
planului de testare.%!Proiectarea detaliata"
scop B proiectarea structi logice a modulelor;-
proiectarea interfetelor cu utilizatorul; -
proiectarea structurilor de date si de control
dpdv logic;-proiectarea str fizice a datelor;-
proiectarea algoritmilor si pregatirea testarii
produsului ce teste se vor face, de cate ori se
testeaza fiecare, modul, care vor fi datele de
test, care tb sa fie rez corecte ale testelor!
rezultat " specificatiile de realizare, de testare
si de integrare ; 7!impleme!tarea de cod
scop : elaborarea programelor, testarea
individuala a programelor si modulelor,
elaborarea aplicatiei, elab documentatiei de
intretinere si inceperea elaborarii programe tb
autorizata de titularul dr de autor daca : -
actele de reprod sau traducere sunt realizate
de o pers care detine dr de utilizator a unei
copii ;- daca info necesare interoperabilit nu
sunt usor si rapid accesib;- dc actele se
limiteaza la,parti din program.2nfo necesare
inteoperabilitatii nu pot fi utilizate in alte
scopuri decat pt realizarea transf autorizate
documentelor de intretinere, prezentare si
utilizarerezultat " programele e"ecutabile,
fisiere sau bd, date de test si documentatie de
intretinere8!i!tegrarea si testarea i!
a!samplu a produsului rezultat : - produsul
program testat in ansamblu ;- raportul de
integrare si testare ;- forma finala a
documentelor de intretinere manualul de
prezentare, de utilizare si eventual, manualul
de e"ploatare!9!e,perime!tarea i! co!ditii
1. (co!ti!uare1)
reale de lucru la utilizatorii fi!ali. @ezulta
un raport de e"perimentare si se face prin
versiuni beta:!omologarea = certificarea
calitatii si functionalitatea produsului. .e
realizeaza de catre firme specializate si
acreditate sa faca acest lucru.5upa omologare
produsul e dat in e"ploatare curenta si va
functiona pana la inlocuirea lui de un alt
produs modelul liniar! fie i se vor adauga
veriuni ulterioare in etapa de mentenanta in
alte modele!.2n versiunea liniara etapele tb
parcurse integral. 6a sf fiecarei etape se realiz
analiza si avaluarea rezultatului etapei. 5c
analiza e pozitiva se poate trece la etapa
urmatoare, altfel etapa va fi realuata.
3bs. o etapa odata validata nu va mai fi
niciodata reluata.'tapele de analiza si
proiectare preliminara = etapa de analiza care
raspunde la intrebarea : K ce tre sa faca
produsul program I L'tapa de proiectare
detaliata : K cum vor fi realizate cerintele I L
1.1%odelul i! cascada
Dn mod traditional, activitatea de realizare a
produsului software este structurata utilizMnd
diferite tipuri
ale modelului Cn cascada care descrie flu"ul
procesului de dezvoltareUn model tipic Cn
cascada presupune ca dezvoltarea Cncepe cu
definirea cerintelor si a specificatiilor,
care se pot realiza Cn secv dar si alternMndu-le.
Urmeaza proiectarea care odata terminata se
pot implementa module mici care pot fi
testate individual, iar apoi Cmpreuna; cMnd
ultimul test de integrare este complet, Cntregul
produs software poate fi testat si livrat si
Cncepe etapa de mentenanta.
*iecare etapa a ciclului de viata are un scop
bine precizat si presupune unor activitati
specifice. 6asfMrsitul fiecarei etape se obtin
componentele produsului program Cn diverse
stadii de elaborare precumsi documentatia de
realizare a produsului.6a trecerea de la o
etapa la alta, rezultatele obtinute sunt evaluate
si avizate. 2nitial a e"istat ideea ca ofaza
trebuie sa fie complet terminata pentru a o
Cncepe pe urmatoarea. -cest principiu a fost
abandonat relativ repede si s-a convenit ca o
faza sa poata Cncepe Cnainte ca precedenta sa
fie complet terminata. /efi!ire ceri!te ( are
ca scop identificarea si formularea cerintelor
globale privind realiz produsuluiprogram cMt
si &ustificarea necesitatii si oportunitatii
acestuia. 0ez. etapei este specificarea
cerintelor utilizatorului. .!aliza B are ca
scop specificarea cerintelor functionale si de
calitate ale viitorului produs, identificarea
mi&loacelor tehnice-suport, stabilirea fazelor
si activitatilor de elaborare, a procedurilor de
control sireceptie. 0ezultatul etapei este
NTema de RealizareO.Proiectarea B are drept
scop stabilirea arhitecturii si structurii
viitorului produs. #entru proiectele comple"e
aceasta etapa se Cmparte Cn proiectare
preliminara si proiectare detaliata.
1.1. (co!ti!uare1)
8laborarea programelor are ca scop:
realizarea modulelor/programelor conform
specificatiilor derealizare si testare
individuala a acestora. Aestarea, aici este
orientata spre depistarea erorilor de
programare la nivel individual. 0ezultatele
etapei sunt: fisierele /bibliotecile cu
programele/modulele testate
individual, raportul de testare individuala si
listinguri martor. $!tegrarea si testarea
consta Cn integrarea si testarea progresiva a
produsului program Cn ansamblu.Aestarea, Cn
acest caz, este orientata spre validarea
functiilor generale si a performantelor
specificate, a interfetelor dintre programe P
programe, programe P echipamente,
programe P utilizator. 0ezultatul testarii este
consemnat Cn NRaportul de Testare a
integrarii ce contine: scurta descriere a
functiunilor,
conditiile de efectuare a testarii, rezultatele
testarii, performantele obtinute.
8,perime!tarea are ca scop verificarea Cn
conditii reale a functionalitatii si
performantelor produsului program.
0ezultatele e"perimentarii se consemneaza
Cntr-unNRaport de Experimentare9 care
contine: descrierea sumara a produsului
program, descrierea conditiilor concrete de
e"perimentare, evaluarea rezultatelor
obtinute, anomaliile constatate si modul de
solutionare,
recomandari de perfectionare. #mologarea
are ca scop certificarea functionalitatii si a
calitatii produsului program Cn scopu difuzarii
sale pe scara larga.
Dn acest model intrarile fiecarei etape sunt
iesirile alteia. *eedbacJ-ul e format din erori
care serasfrMng asupra etapei urmatoare.
'rorile se propaga indirect, Cn plus intervin
costurile modificarilor fapt ce implica
necesitatea testarii foarte riguroase a fiecarei
etape.
1.*.%odelul i!creme!tal
.pecific acestui model este faptul ca etapele
finale sunt realizate Cn mai multi pasi
succesivi ceea ce permite obtinerea de
versiuni preliminare ale produsului software
'eri!te utiliz
'eri!te software
Proiect arhitecturala
Proiect de detaliu si prod
Tra!sfer
:tiliz si me!te!a!ta
timp
4odelul incremental are urmatoarele
caracteristici:
P analiza si proiectul de ansamblu
arhitectural! se realizeaza Cntr-o singura
componenta;
P proiectarea de detaliu, productia, transferul
si mentenanta sunt facute Cn mai multi pasi
succesivi;
P elaborarea produsului software Cn pasi da
posibilitatea verificarii daca productia va da
rezultatele
dorite.
P 4odelul incremental este mai bun decMt
modelul Cn cascada, necesita mai multa
organizare, dar permite versiuni preliminare
ale produsului software pe care se pot verifica
calitatile acestuia.
5efinire
cerinte
-naliza
#roiectare
2mplem cod
Aestare
UtilizQmentenan
ta
1.-%odelul evolutiv
)omparativ cu modelele precedente, acest
model, necesita un management mai mare, o
organizare mai buna. 'ste foarte util cMnd
specificatiile initiale nu sunt foarte clare sau
cMnd se realizeaza un s0stem nou si nu se pot
da specificatii precise si complete sau cMnd
acestea sunt instabile.#rin parcurgerea pasilor
modelului evolutiv se realizeza un prototip
initial care Cn final prin reluareaetapelor
pasilor! a&unge sa satisfaca cerintele
clientilor
'eri!te utiliz
'eri!te software
Proiect arhitecturala
Proiect de detaliu si prod
Tra!sfer
:tiliz si me!te!a!ta
timp
4odelul evolutiv poate fi aplicat printr-o
strategie agresiva sau revolutionara! care tine
cont decerintele pietei Cn sensul dezvoltarii
continue de noi produse sau de noi functii,
racordate la cerintelepietei de produse
software.+azat pe prototipizare, prin
repetarea tuturor etapelor, modelul evolutiv
naste Cn timp mai Cndelungatun produs, dar
permite Cntotdeauna rezolvarea unor noi
probleme sau includerea de noi functii
cerutede piata utilizatorilor de produse
software.
-daptat la cerintele pietei, modelul evolutiv
poate produce o solutie evolutiva sau, prin
strategia agresiva, o solutie revolutionara.
#rin combinarea acestora si Cn functie de
studiile de piata se poate obtine o solutie
intermediara.
Prototipizarea este o tehnica de construire si
implementare partiala a unui sistem sau
produs software astfel CncMt cumparatorul,
utilizatorul sau realizatorul sa poata Cnvata,
cunoaste mai mult despre problema si despre
solutionarea acesteia.
Prototipul este util pentru utilizatorul final
care va Cntelege mai bine ce vrea sau ce se
asteapta de la produs si este util pentru
realizator pentru a testa unele tehnici,
algoritmi aplicati, interfete realizate etc.
@eferitor la prototip e"ista doua abordari
prototip de ;!cercare) prototip evolutiv
1.1%odelul i! spirala
#roblemele ma&ore Cn dezvoltarea produselor
software apar, Cn cele mai multe cazuri, Cn
etapa de mentenanta care Cn realitate contine
definirea de noi cerinte de specificare, de
analiza, de proiectare.-u fost dezvoltate Cn
timp o serie de alte modele decMt cele
descrise anterior, cel mai utilizat actualmente
fiind modelul Cn spirala al lui +oehm care
Cncearca sa solutioneze problema amintita
anterior 4odelul Cn spirala poate descrie cum
un produs se dezvolta pentru a forma o noua
versiune si cum o noua versiune se dezvolta
incremental de la un prototip la un produs
complet.
-naliza

Proiectare
2mplement Q ($(2 (% (7 (ersiune
Aestare individuala finala
2ntegrare
4odelul propune aceleasi etape de realizare,
dar fiecare ciclu de dezvoltare Cncepe prin
studiul de fezabilitate, apoi continua cu
specificarea cerintelor si analiza, proiectarea
si implementarea.#e de alta parte fiecare din
etapele amintite anterior se realizeaza printr-o
succesiune de activitati:P determinarea
obiectivelor etapei, a alternativelor si
restrictiilor;P evaluarea alternativelor,
identificarea riscurilor si rezolvarea lor;P
dezvoltarea si verificarea urmatorului nivel al
produsului;P Cntocmirea planului urmatoarei
etape, ales pe baza riscurilor.-tMt etapele cMt
si activitatile lor componente sunt evaluate
avMnd drept crt de baza costurile implicate.
4odelul Cn spirala are urmatoarele caract:P
contine aproape toate caracteristicile
celorlalte modele;P celelalte modele pot fi
considerate sau sunt cazuri particulare ale
acestuia;P evalueaza riscurile oricarei
abordari Cn toate etapele de dezvoltare a
produselor software, iar pebaza acestora alege
abordarea corecta.5ezvoltarea produselor
software contine Cn mod uzual toate fazele si
activitatile prezentate anterior, chiar daca ele
poarta dif nume Cn dif metodologii si
dezvoltarea decurge incremental pe parcursul
acestor etape, scenariu de dezvoltare care se
poate aplica indiferent de metoda de realizare
utilizata. #utem caracteriza dezvoltarea
produsului ca pornind initial dintr-o faza
nebuloasa, dar care se stabilizeaza Cn
urmatorii pasi Cn subsecvente. 4etodele de
dezvoltare trebuie sa a&ute ca procesul de
dezvoltare sa fie stabil pe cMt posibil. .e
presupune ca trebuie lucrat Cn etapa de analiza
pMna cMnd se va Cntelege sistemul Cn totalitate,
dar nu atMt de mult CncMt sa consideram
detaliile care vor fi modificate pe parcursul
proiectarii. -cest lucru poate Cnsemna ca cea
mai mare durata este alocata analizei, ceea ce
este valabil Cn unele modelele de implem a
ciclului de viata prezentate anterior, cu
variatii de la un model la altul.3 Cmpartire a
timpului alocat etapelor proiectului precum si
a relatiei timp/efort pe etape se poate
reprezenta ca Cn figura:
2nitial un grup redus de persoane efectueaza
analiza si proiectarea. -ceste activitati se
realizeaza iterativ. )u cMt structura sistemului
se stabilizeaza, un numar mai mare de oameni
sunt antrenati Cn implementare si testare. 5e
obicei activitatile de analiza si proiectare sunt
clarificate atunci cMnd Cncepe testarea,
deoarece Cn acest stadiu nu sunt posibile decMt
putine modificari Cn ceea ce s-a realizat Cn
etapa de analiza si proiectare.
2mplementMnd metodologiile de realizare
bazate pe structura functionala sau pe
structura datelor si/sau
metodologiile orientate obiect, instrumentele
pentru inginerie software asistata de
calculator permit construirea, verificarea,
validarea, stocarea si reutilizarea diferitelor
modele componente ale aplicatiilor si
produselor program.
-sigurMnd dezvoltarea, CncepMnd de la
modelele de analiza-proiectare si pMna la
generarea automata de cod pentru modele,
aceste produse pentru inginerie software
asigura din punct de vedere calitativ
produsele realizate si permit respectarea
si/sau reducerea termenelor de livrare a
produselor.-ceasta noua maniera de
dezvoltare a prod program este denumita
inginerie software bazata pe model B 4odel
+ased .oftware 'ngineering B si poate fi
considerata ca un nou model de implementare
a ciclului de viata
2.%etode a!aliz a s i proiectare a
produselor program
.!aliza este prima etapa a ciclului de
realizare Cn care se stabilesc cerintele
aplicatiei, pornind de la cerintele
utilizatorului final, se identifica functiile
viitorului produs software precum si datele
implicate. -naliza trebuie sa raspunda la
Cntrebarea ce trebuie sa faca viitorul produs,
pornind de la cunoasterea Cn ansamblu a
Cntregului si descompunerea acestuia Cn
elemente componente mai usor de studiat.
Proiectarea este etapa ciclului de realizare Cn
care se stabileste modul de realizare a
cerintelor identificate Cn etapa de analiza,
adica trebuie sa raspunda la Cntrebarea cum se
vor realiza aceste cerinte atMt la nivel
global cMt si la nivel de detaliu. -ceasta etapa
porneste deci de la cerintele si specificatiile
definite anterior si continua cu detalierea si
transformarea acestora pMna la definirea
structurii unei solutii care sa fie reprezentata
folosind un limba& grafic, te"tual sau mi"t.
#roiectul astfel obtinut trebuie sa poata fi
utilizat mai departe la construirea sau
elaborarea produsului software.unt de dif
categorii si sunt realizate in fctie de diverse
tipuri de cicluri de viata a prod soft.
'"ista 2 mari categ de metodologii :
1)Structurale#ot fi structurate in fctie de
etapele pe care le acopera in ciclul de
realizare :-met care acopera intreg ciclul de
dezvoltare ;-numai partea de analiza ;-numai
partea de dezvoltare2n fctie de modul de
abordare, de dezv a prod :-met top-down;-met
bottom-up.2n fctie de punctul de pornire
e"ista : - met structurate care incep de la
analiza si proiectarea str functionale:
R2#3hierarhical input processing output!,
.-5A; -met structurate care pornesc de la
analiza si proiectarea str datelor: 6).logica
construirii sistemelor!, 6)#logica construirii
programelor!;-met structurate care pornesc de
la analiza si proiectarea flu"ului de date :
Sourdon-)onstantine, met bazate pe
abstractizare #arnase!*)#rie!tate obiect
*olosesc notiunea de incapsulare B sunt
grupate datele care e"ista unei anumite
entitati precum si prelucrarile care se
efectueaza asupra acerstor date. #rin ac
grupare se obtine notiunea de obiect compus
dina tributedate! si operatiiprelucrari!.3
colectie de obiecteatrib/operatii comune!
formeaza o clasa de obiecte. Aoate met de
analiza/ proiectare 33 lucreaza cu clase de
obiecte.5intre cele mai cunoscute met de
analiza/proiectare 33 :-34A;-335ob&ect
oriented design! ;-33.'ob&ect oriented
software engeneering!-U46unifier modeling
language!;-U.5#unifier software developer
process!;-@U#rational unified process!
2.1. %etoda H$P#
Utilizarea metodei R2#3 permite asigurarea
corectitudinii a consist si completitudinii! si
a usurintei Cntretinerii produsului program
final. Pri!cipii de baz a ale metodei
4etoda R2#3 Rierarchical-2nput-
#roccessing-3utput sau Rierarch0 plus 2nput-
#roccess-3utput Bdescrierea intrarilor,
prelucrarilor si iesirilor Cn mod ierarhic!
utilizata Cn realizarea produselor progr, se
bazeaza pe principiile: descompunerea
functionala modularitate! si de sus Cn &os
topdown!.
#biectiveR2#3, ca metoda de proiectare si
documentare standardizata are urmatoarele
obiective generale:E usurarea Cntelegerii
structurii si functiunilor unui produs program
prin divizarea produsului Cn parti
mai mici, numite module, care pot fi stapMnite
logic;E enumerarea functiilor ce urmeaza a fi
realizate de sistem si e"primarea grafica a
flu"ului intrariprelucrari- iesiri;E docum
produsului program prin realizarea:B setului
de proiectare generala, cuprinzMnd specif de
definire,B setului de proiectare de detaliu
continMnd specificatiile de realizareB setului
de CntretinereB manualului tehnic al prod
8tape si activit at i#roiectarea - documentarea
cu a&utorul metodei R2#3 presupune
parcurgerea urmatorilor pasi:E elaborarea
specificatiilor de definire prin:B conceperea
listei de functiuni, sortarea si aran&area
acesteia; B elaborarea diagramei ierarhice
diagrama R!, care e"prima descompunerea
top - down a functiunilor globale ale
produsului program pMna la nivelul functiilor
elementare, primul bloc din diagrama
continMnd functia generala a sistemului;
B elaborarea diagramelor intrari - prelucrari -
iesiri diagrame 2#3!, pentru fiecare functie
din diagrama R, Cn care apar intrarile si
iesirile ma&ore ale functiilor de nivel inferior;
E elaborarea specificatii de realizare:
B e"pandarea diagramelor ierarhice si a
diagramelor de prelucrare; Cn unele cazuri se
obtin ierarhii de diagrame R si diagramele
2#3 corespunzatoare; B se alege sistemul de
administrare a datelor;B se proiecteaza
structura datelor;B se includ functiunile
administrative ale produsului program
deschideri, Cnchideri, copieri de
fisiere etc.!;B se includ Cn setul R2#3
machetele structurilor de date;B se definesc
punctele de intrare Cn module / programe,
identificatorii pentru date;B se detaliaza
prelucrarea erorilor etc E elab specificatiilor
de Cntretinere pornind de la specificatiile de
realizare si Cntocmirea documentatiei tehnice
a produsului.*iecare set de documentatie
-naliza
#roiectare
2mplementare
Aestare
timp
e
f
o
r
t
permite: E descrierea structurii functionale a
produsului program reprezentata printr-o
2.1. .(co!ti!uare1)
diagrama ierarhica sau diagrama R diagrama
de continut!, cu mentiunea ca fiec diagrama
R de un anumit nivel este o submultime a
unei diagrame R de nivel superior; E scrierea
unei componente din cadrul structurii
functionale prin specificarea intrarilor-
prelucrarilor iesirilor necesare realizarii
componentei functionale respective, repr
printr-o diagrama intrari - prelucrari - iesiri
sau diagrama 2#3.2. 'o!cepte de baz a <
defi!i tii si simboluri utilizate )onceptele si
simbolurile diagramelor R sunt:E modul
functional B este rezultat din descompunerea
ierarhica a functiilor produsuluiE cone"iunile
dintre module Bredau structura descompunerii
ierarhice.)onceptele si simbolurile diagr 2#3
sunt:E modulele 2 2nput - intrari!E modulele #
#rocessing - prelucrari!E modulele 3 3utput
- iesiri!.imbolurile utilizate pentru aceste
tipuri de module sunt asemanatoare, dar
diferentiate prin tipul modulului si continutul
detaliat al acestuia. E cone"iuni orizontale
Cntre modulele de tip 2, #, 3 reprezentMnd
flu"urile de date dintre acestea.
4. %odalit at i de repreze!tare
5. 'omparatii cu alte metode4etoda R2#3,
comparativ cu alte metode, are urmatoarele
dezav:E este greu de utilizat Cn proiectare la
nivel de detaliu;E diag sunt consumatoare de
timp, sunt greu de Cntretinut si nu sunt
orientate spre descrierea datelor.5intre
avanta&ele metodei, se pot aminti:E repr clara
a descompunerii functionale;E intrarile si
iesirile Cn procese sunt clar specificate..e
recomanda utiliz metodei R2#3 mai ales Cn
proiectarea de ansamblu.
2.*. Teh!ica de a!aliz a s i proiectare
structurat a ( S./T
Scop E )unoasterea metodologiilor de analiza
si proiectare structurata bazate pe descomp
functionalaE @ealizarea de diagrame de date
si activitati pentru aplicatii simpleE .esizarea
deosebirilor metodei .-5A fata de alte meth
utiliz Cn realiz proiectelor software
*. Pri!cipii de baza ale metodei
Aehnica .-5A .tructured -nal0sis and
5esign Aechni1ue! are la baza principiile
descompunerii functionale, Cn maniera
descendenta top-down!. 'ste o metoda
preponderent grafica. .pecifica functiile si
datele unei aplicatii, precum si legaturile
dintre ele si permite verif completitudinii si a
caract necontradictoriu al fctiilor si datelor.
-ceasta tehnica realizeaza repr aplicatiei atMt
sub aspectul activitatilor modelul activit! cMt
si sub aspectul datelor modelul datelor! ceea
ce asigura completitudinea si lipsa de
contradictii Cn modele;5eoarece metoda nu
are posibilitatea reprezentarii flu"urilor de
date si de control, nu se recomanda introd Cn
modele a aspectelor algoritmice-. #biective
5escompunerea functionala are ca obiectiv
asig conditiilor: E partile subprogramele! ce
alcatuiesc un pachet de programe sa fie
concepute Cn conte"tul asamblarii lor, E
proiectantul sa se concentreze Cn vederea
elaborarii unor astfel de componente.
-rhitectura functionala si Cn general
arhitectura sistemului sunt caract printr-un
nivel ridicat de concretizare a detaliilor Cn
cadrul fiecarui niv ierarhic de descompunere
a structurilor.Aermenul de arhitectura se
&ustifica Cn primul rMnd prin necesitatea de a
defini pozitia partilor Cn Cntreg si Cn al doilea
rMnd, prin necesitatea Cmbinarii perfecte a
partilor.1. 8tape si activit at iAehnica .-5A
aplicata la elab pachetelor de programe se
caract prin:E def Cn maniera structurata a
proiectului produsului program;E esalonarea
sarcinilor Cn cadrul echipelor comple"e de
analiza-proiectare-codificare, Cn conte"tual
proiectarii structurate;E utiliz unor concepte si
simboluri unice, care asigura consistenta
produsului program;E efectuarea unui control
complet asupra stadiilor de elab prin docum
elaborate progresiv;E analiza esalonata, pe
parcursul etapelor de elaborare, a calitatii
produsului program cu efectuarea corectiilor,
asigurMnd nivelul planificat al calitatii; E
integrarea de compon e"istente si asigurarea
unui niv de reutilizare ridicat. Aehnica .-5A
are caracterul iterativ al reluarii unor etape Cn
cadrul elaborarii produselor program, dar
vol reluarilor sau modificarilor pe care le pp
acestea este redus. #entru disciplinarea si
coordonarea muncii Cn echipa, se foloseste
asa-numitul ciclu Tcititor-
autorT. Dntr-o echipa .-5A sunt cuprinse
urmatoarele persoane:
2.*. (co!ti!uare1)
E. Autori - sunt persoane care studiaza
cerintele si restrictiile, analizeaza functiunile
sistemului si le
reprezinta folosind metodele bazate pe
diagrame .-5A.E. Comentatori - sunt de
obicei autori care trebuie sa revada si sa
comenteze Cn scris munca altor autori.E.
Cititorii - sunt pers care citesc diagramele
.-5A pentru informare, asteptMndu-se de la
ei comentarii scrise.E. Expertii - sunt
persoane de la care autorii obtin informatii de
specialitate despre cerinte si restrictii.E.
Comitetul tehnic - este un grup de specialisti
cu e"perienta care rezolva probleme tehnice
dificile si recomanda decizii conducerii
proiectului.E. Bibliotecarul proiectului - este
o persoana care are ca sarcina mentinerea
unei evidente centralizate a tuturor docum
proiectului, e"ecuta copii dupa documente,
tine evidente etc.E. .eful de proiect - este un
membru al echipei si are responsabilitatea
tehnica finala pentru realizarea analizei si
proiectarii.E. Analist sef - este persoana care
cunoaste bine .-5A, Cndruma si sfatuieste
membrii echipei Cn folosirea si aplicarea
tehnicii .-5A. E. Instructorul - este cel care
instruieste initial autorii si comentatorii Cn
utilizarea .-5A. #e parcursul proiectului,
prin interactiunea acestor persoane se asigura
o comunicare continua si eficienta.
2. 'o!cepte de baz a < defi!i tii
E 5ate de intrareE 5ate de iesire
E 5ate de control restrictii!E 4ecanism de
suport - defineste serviciul sau persoana
raspunzatoare de realizarea unei activitati, Cn
cazul unui descriptor de activitate, respectiv
mi&locul de stocare al datelor, Cn cazul unui
descriptor de dateE -ctivitate generatoare de
dateE -ctivit utilizatoare de date E -ctivitate
de controlE -ctigrame - diagrame de activitati
E 5atagrame - diagrame de dateE 5escriptor
de activitate - descrierea grafica a activitatii
E 5escriptor de date - descriere grafica a unei
entitati de date4. %odalit at i de repreze!tare
Aehnica .-5A se concretizeaza prin reprez
grafice la niveluri diferite; nivelele inferioare
reprezinta detalieri ale celor superioare.
@eprezentarile grafice permit stabilirea
nivelului de detaliere, pozitia componentei Cn
sistem si legaturile dintre componente. Dn
acest scop sunt utilizate: E diagramele de
activitati actigrame!; E diagramele de date
datagrame!.Aoate diagramelesunt realizate
top-down. *iecare diagrama este fie o
diagrama sumarizata parinte!, fie una de
detaliu fiu!.3 diagrama .-5A este compusa
din dreptunghiuri si sageti. Dntr-o diagrama
de activitati E dreptunghiul corespunde
activitatii,E sagetile corespund datelorE fiecare
activitate este denumita cu un verb si un
obiect de e": T.3@A'-U- 5-A'
-GV-S-A2T!;
2.*. (co!ti!uare*)
E datele de control definesc restictiile asupra
activitatilor,E mecanismul de suport Cnseamna
definirea serviciului sau persoanei
raspunzatoare de realizarea activitatii.
Dntr-o diagrama de date E dreptunghiul
corespunde datelorE sagetile indica activitatile
legate de acele dateE fiecare data are un nume
substantiv!E activitatea de control este cea
care limiteaza generarea si utilizarea datelor
E mecanismul de suport este mi&locul de
stocare a datelor de e"emplu: fisier!, servind
de asemenea ca mi&loc de legatura Cntre
diagrame.
6imba&ul grafic .-5A asigura un set limitat
de constructii primitive cu a&utorul caruia
analistul si proiectantul pot compune structuri
ordonate de orice dim. Un model .-5A este
deci o secv organizata de diagrame, fiecare
putMnd fi Cnsotita de un te"t descriptiv concis.
6a primul nivel, diag generala repr Cntregul
subiect. *iecare diagrama de la nivelele
inferioare introd un nivel limitat de detaliu,
pastrMnd Cnsa leg cu portiunile superioare ale
modelului, respectMnd rel logica a fiecarei
componente cu sistemul global Un model
.-5A este deci o repr grafica a structurii
ierarhice a unui sistem, structurat astfel CncMt
sa e"puna, treptat, din ce Cn ce mai multe
detalii..6. 'ompara tii cu alte metode Dn
conducerea proiectelor .-5A se pot utiliza si
instrum info pentru automatiz activitatilor de
analiza si proiectare, dezvoltate independent
de metodologia .-5A. 4etoda .-5A comp
cu alte metode:E se poate utiliza Cn proiectarea
aplicatiilor de orice dim, fata de alte metode
care se recomanda pentru aplicatii de dim
reduse.E Gr diagramelor .-5A depinde de
comple"itatea activitatilor si nu de marimea
proiectelor. E 4odelul de date este de aceeasi
impo cu modelul activitatilor, dar mai greu de
realizat E 4odelul de date poate conduce la
identif activitatilor lipsa.
E 4etoda se foloseste de obicei cu
instrumente de proiectare corespunzatoare
pentru elaborarea diagramelor proprii
metodei.
2.-. %etoda =ac>so! (co!ceptul !ested(
logic)
Scop E )unoasterea unei metodologii de
analiza-proiectare care se bazeaza pe struc
datelor aplicatiei.E @ealiz diagramelor specif
metodei SacJson conform principiului
Gested-6ogic.E #osibilitatea de a sesiza
deosebirile si asemanarile dintre diferite
metodologii orientate pe structuradatelor
si/sau metodologii orientate pe structura
functionala.*. Pri!cipii de baz a ale metodei
- structura progr este derivata din structura
problemei;- procesul de structurare a progr
are la baza descompunerea Cntregului Cn parti
componente obtinMndu-se o struct ierarhica;-
principiile programarii structurate pot fi utiliz
atMt pentru etapa de elaborare a programelor,
cMt si pentru etapa de proiectare a acestora.
-. #biectiveE determinarea structurii datelor
aplicatiei si deducerea din aceasta a structurii
programuluiE reprezentarea structurii datelor
si structurii de prelucrare utilizMnd un limba&
grafic unitar pentru ambele tipuri de structura
E combinarea celor doua tipuri de structuri
pMna la nivl operatiilor elementare ale progr
1. 8tape si activit at i
- determinarea structurii datelor problemei;
- det componentelor coresp din structurile
datelor;- deducerea structurii programului din
structura datelor;- det operatiilor elementare
ce vor fi e"ecutate si alocarea lor la structura
programului; - descrierea programului cu
a&utorul pseudocodului schema de structura!.
2. 'o!cepte de baz a < defi!i tii si simboluri
utilizateAipurile de componente blocuri!
folosite de metoda SacJson sunt:- secventa -
marcheaza un grup de enunturi e"ecutate Cn
ordinea Cn care au fost scrise;- selectia -
marcheaza separarea enunturilor Cn doua
grupe Cn functie de realizarea / nerealizarea
unei conditii;- iteratia - marcheaza un grup de
enunturi cu e"ecutie repetata de un numar de
ori, inclusiv repetarea de zero ori eliminarea
e"ecutiei blocului!.+locurile se structureaza
dupa urmatoarele reguli:$! pctul de intrare
Cntr-un bloc este unic;2! pctul de iesire dintr-
un bloc este unic;%! blocul iterativ Cncepe prel
prin testarea conditiei de iesire din ciclu;7! un
bloc poate contine orice combinatie de
blocuri ce satisface regulile $!, 2!, %!.
4. %odalit at i de repreze!tare - doua tipuri
de reprezentari. 3 reprezentare graficaB
diagrama de structura si o repr tip pseudocod
Bschema de structura. -cestea sunt utilizate
atMt prntru structura datelor cMt si pentru
structura de prelucrare.
/iagrama de structura. #rin diagrama de
structura se Cntelege reprezentarea grafica
ierarhizata a uneistructuri de date sau a unei
structuri de prelucrare pe nivele de detaliere,
conform urmatoarelor reguli:$! nivelele de
detaliere se parcurg de sus Cn &os top-down!;
2.-. (co!ti!uare1)
2! fiecare nivel reprezinta o detaliere a
nivelului precedent;%! blocurile situate pe
acelasi nivel se parcurg de la stMnga la
dreapta;7! terminarea parcurgerii unui nivel
presupune parcurgerea primului bloc din
nivelul urmator.'lementul de baza al
diagramei este blocul, reprezentat grafic
printr-un dreptunghi si identificat printr-un
nume Cnscris Cn interiorul blocului.)itirea
unei diagrame de structura se face astfel:$!
operatia de trecere de la un nivel superior la
un nivel inferior se face utilizMnd e"presia
)3G.A- 52G; 2! operatia de trecere de la un
bloc la alt bloc de pe acelasi nivel se face
utilizMnd e"presia U@4-A 5';%! citirea
operatiei de trecere de la un nivel inferior la
un nivel superior se face prin trecerea la
urmatorul bloc al nivelului superior utilizMnd
e"presia U@4-A 5';7! caracterul T H T
marcat Cn coltul din dreapta sus al unui bloc
identifica un bloc cu e"ecutie repetata si se
citeste utilizMnd e"presia 4-2 4U6A';
8! caracterul T o T marcat Cn coltul din dreapta
sus al unui bloc identifica un bloc optional si
se citeste utilizMnd e"presia .-U
5. 'ompara tii cu alte metode E metoda
SacJson, comparativ cu alte metode
prezentate sau nu Cn acest capitol se
recomanda a fi utilizata Cn cazul aplicatiilor Cn
care structura datelor este comple"a; E metoda
este adecvata pentru faza de proiectare de
detaliu, deoarece, fata de metoda Wourdon-
)onstantine , nu prevede modalitati specifice
pentru proiectarea de ansamblu; E utilizarea
schemelor de structura de tip SacJson are
avanta&ul ca apropie proiectul de faza de
implementare de cod.
2.1. %etoda de a!aliz a s i proiectare
structurat a ?ourdo!('o!sta!ti!e
X acopera atMt etapa de analiza cMt si etapa de
proiectare a apl informatice, permitMnd
dezvoltarea acestora Cntr-o maniera unitara.
2.1.1..!aliza structurat a
Xeste proc de studiere, Cntelegere si repr a
unui sistem, proces Cn cadrul caruia se identif
cerintele de perfectionare ale acestuia.
)aracteristica esentiala a acestui proces este
faptul ca ea se bazeaza pe o strategie de tip
top - down, concretizMndu-se Cn proiectul
logic al noului s0stem. #biectivul pp al proc
de analiza structurata este construirea unui
model logic al sistemului proiectat, care sa
poata fi Cnteles si validat de catre utilizator si
este asigurat prin:- folosirea unei metode
rationale de Cmpartire a sistemului Cn compon
usor de izolat si studiat; - descrierea riguroasa
a procesului de transformare a datelor cu
a&utorul unor instrumente adecvate;- utiliz cu
precadere a tehnicilor grafice de descriere.
#t atingerea obiectivului enuntat, analiza
structurata propune folosirea unor tehnici de
descriere a structurii sistemului, prin diagr de
flu" de date, a structurii datelor prin dictionar
de date si diagrama de structura a datelor si a
structurilor de prelucrare a algoritmilor de
prelucrare! prin limba& natural structurat.
8tape si activit at iProcesul 1" Studiul
sistemului e,iste!t este un studiu complet al
zonei din sistemul informationalcare urmeaza
sa fie modif prin introd prelucrarii automate a
datelor. #rocesul are ca scop Cntelegerea
modului de functionare, cunoasterea
principalelor flu"uri de date, algoritmi si
restrictii legale si organizatorice. .tudiul
sistemului este considerat Cncheiat cMnd se
dispune de o reprezentare a modului de
functionare a sistemului, de un set de acte
normative care coordoneaza desfasurarea
activitatilor din aria studiata si de un set al
principalelor documente utilizate Cn sistem
Procesul *" 'o!struirea modelului logic al
sistemului e,iste!t consta Cn Cnlaturarea
aspectelor fizice din modelul sistemului
e"istent, acestea fiind induse de ambianta Cn
care fct sistemul: organizare, dotare tehnica,
repartizare teritoriala etc. Procesul -"
'o!struirea modelului logic al sistemului
propus este proc de elaborare a structurii fct
a noului sistem pe baza modelului logic al sist
e"istent,al restrictiilor organizatorice,tehnice
si legale identificate Cn etapa de studiu si pe
baza cerintelor de perfectionare a sistemului,
detectate Cn fazele anterioare sau definite de
catre utilizator.Dn aceasta faza se construieste
de asemenea modelul logic al datelor, adica o
prima versiune a schemei bazei de date,
obtinuta prin luarea Cn considerare a tuturor
necesitatilor de acces la datele retinute Cn
fisiere.
2.1 (co!ti!uare1)
@ezultatul acestei faze - modelul logic al
sistemului propus sau proiectul logic - nu face
o distinctie neta Cntre procedurile manuale si
cele automatizate, scopul sau fiind de a
asigura fctatea dorita a sistemului.
Procesul 1" Proiectarea procedurilor de
i!terfata modifica modelul logic al
sistemului propus prin elaborarea unor var de
automatizare a proceselor, variante analizate
si evaluate Cn termeni cost - performanta.
Procesul 2: 8laborarea specificatiilor de
sistem consta Cn asamblarea tuturor compon
modelului logic al sistemului propus Cn
conformitate cu standardele realizatorului
proiectului tehnic. Dn aceasta faza se introduc
detalii amMnate pe parcursul fazelor prec:
modul de desfasurare Cn timp a prelucrarilor
dinamica sistemelor!, flu"urile de control
acte normative!, elemente de calcul a
cheltuielilor de functionare a sistemului
propus, propuneri de esalonare a realizarii
sistemului, propuneri de buget alocat pentru
etapele urm etc. @ezultatul - specificatiile
structurate de sistem sau proiectul logic -
ofera o descriere completa si coerenta a
cerintelor de functionare a sistemului
'o!cepte de baz a a) #entru descrierea
structurii sistemului se folosesc diagramele
de flu, de date. Procesul - este o
transformare a unui flu" de date de intrare
Cntr-un flu" de date de iesire. Fluxul de date
reprezinta o interfata Cntre procesele unei
5*5 si poate fi definit ca un canal prin care
circula pachete de informatii de compozitie
cunoscuta.
Sursa sau Destinatia repr o pers, organizatie
sau compartim care se afla Cn afara conte"tulu
sistemului si este un emitator sau un receptor
de date din sistem. Fisierul sau baze de date
sunt depozite de date, avMnd o den unica care
sa sugereze continutul acestuia. Nivelele de
DFD )onceptul folosit pentru a realiza o
parta&are pe nivele este analiza "top-down".
5aca fiecare din aceste partitionari succesive
sunt descrise cu un 5*5, rezulta un set de
diagrame ierarhizate care vor descrie complet
sistemul si vor fi mai usor de Cnteles.
'lementele unui asemenea set ierarhizat de
5*5-uri sunt: diagramele de context, care
documenteaza domeniul de studiu, prezinta
flu"urile care intra si care ies din domeniul
analizat, delimitMnd astfel granitele sistem)
primitivele functionale, sunt procese ce nu se
descompun Cn retele de nivel mai mic; nivelel
intermediare, Cn numar de ;-=!, fac trecerea
treptata de la diagrama de conte"t la primitiv
functionale. Evaluarea DFD - pentru a testa
si, eventual, a corecta 5*5 se aplica doua
categorii de teste: teste de corectitudine si
teste de utilitate
b) #entru descrierea structurii datelor se
foloseste dic tionarul de date DD!
2.1 (co!ti!uare*)
-sa cum 5*5 realizeaza o partitionare a
domeniului de studiu, 55 efectueaza o
partitionare top-downa datelor. 6a nivel
superior, flu"ul de date este definit ca fiind
constituit din flu"uri de date subordonate,
care la rMndul lor sunt definite detaliat pMna la
nivelul de date elementare. Dn 55 trebuie sa
e"iste un element pentru fiecare flu" de date
din diagrama si pentru toate subordonatele
acestor flu"uri. 55 cuprinde, de obicei, pe
lMnga seturile de date si un set de proceduri
utilizate pentru a construi si Cntretine acest
depozit. 55 este compus din definitii ale
flu"urilor de date, componentelor flu"urilor
de date, fisierelor si proceselor.
c) #entru descrierea structurii de prelucrare se
foloseste limba"ul natural structurat (LNS) '
fol pt descrierea structurii de prelucrare pt
fiecare proces de prelucrare din 5*5-uri. 6b
tb sa respecte str fundamentala de control dar
in rest, ca mod de e"primare e la latitudinea
analistului.#rin intermediul lui se descrie in
linii mari fct procesului de prel. Aehnici de
repr utiliz i! proiectarea teh!ica #t repr
structurii modulare se foloseste diagrama de
str modulara.5.4!#t reprezentarea str
datelor, se fol dict de date e"tins.55'!#t
reprezentarea str de prelucrare se fol una
dintre tehnicile de descriere a alg : schema
logica, pseodocod, tabele de decizie etc.
%odalit at i de repreze!tare
2.1.*. Proiectarea structurat a
#roiectarea structurata are ca scop stabilirea
modalitatilor concrete de realizare a cerintelor
identificate Cn etapa de analiza structurata.
#roiectarea structurata este procesul de
definire a componentelor fizice ale sistemului
proceduri,programe, module! Cn functie de
posibilitatile si performantele configuratiei de
calcul pe care va functiona viitorul sistem.
3biectivul principal al proiectarii structurate
este realizarea unui sistem eficient, fiabil,
usor de Cntretinut si de modificat, obiectiv
care este asigurat prin:a! proiectarea
sistemului pornind de la structura sa
functionala;b! abordarea comple"itatii
sistemului Cntr-o maniera care permite
tratarea individuala a subsistemului;c!
reutilizarea modulelor def si construite Cn
cadrul altor proiecte;
2.1 (co!ti!uare-)
d! folosirea unor criterii de evaluare a calitatii
proiectarii si a unor tehnici de Cmbunatatire
iterative a acesteia. 8tape si activit at i"
Procesul 1. /efi!ire subsisteme - se
desfasoara Cn doi pasi dupa cum urmeaza:
$! se e"pliciteaza intrarile si iesirile Cn
sistemul de prelucrare automata, prin
adaugarea unor procese specifice de
conversie date, centralizare-descentralizare
date, fuzionare de fisiere etc.; 2! definirea
unor subsisteme care se vor proiecta
independent, Cmpartirea facMndu-se pe baza
unor criterii bine precizate, cum ar fi:
interfete minime Cntre subsisteme; grad de
omogenitate ridicata a proc subsistemului;
interval de timp similar de activare a
proceselor; viteze de raspuns apropiate, la
aceleasi tipuri de prelucrare; trasee de
prelucrare a tranzactiilor; granita dintre tipuri
diferite de echipam. *azele urm se desf la
nivelul fiecarui subsistem definit Cn acest
mod. Procesul *. Stabilire parametri de
proiectare - este faza Cn care se fi"eaza
parametrii tehnici si de performanta ai
subsistemului ce urmeaza a fi proiectat:
configuratia detaliata a echipamentelor,
tipul de preluc, protocoale de comunicatie,
viteze de prelucrare si timpi de rasp,
proceduri de asigurare a confidentialit si
securitatii datelor etc. Procesul -. Proiectare
structura modulara subsistem - constituie
proiectarea tehnica propriuzisa si consta din
def unei ierarhii de module si a structurilor de
date de comunicatie Cntre acestea. Procesul 1.
#roiectarea structurii fizice de date
porneste de la structura modulara si de la
structurile de date definite Cn faza anterioara,
prin simularea functionarii sistemului. -vMnd
ca restrictie timpii de raspuns si limitarile de
memorie, se proiecteaza structura fizica de
implementare! a fisierelor si a zonelor de
memorie de comunicatie Cntre module.
Procesul 2. 8laborare specificatii de
programare - se e"ecuta Cn doi pasi:
$! definirea programelor;2! elaborarea
specificatiilor programelor.
Procesul 4. 8laborare specificatii de testare
si i!tegrare - implica elaborarea instruct de
testare a modulelor si programelor pe baza
unor date de test specificate e"plicit sau prin
intermediul unor reguli de generare! precum
si schitarea strategiei de integrare a progr Cn
aplicatii si a aplicatiilor Cn subsistem.
'o!cepte de baz a #roiectarea structurata
a&uta proiectantul Cn obtinerea unui program
modular sau a unui ansamblu de progr
modulare. #entru aceasta se fac urmatoarele
descrieri:a! structura fizica a aplicatiei, care
este reprezentata Cn diagrame de structura;
b! structura fizica a datelor fisiere, date
interne ale programelor/modulelor,parametri!,
2.1 (co!ti!uare1)
utilizMnd pseudocodul sau dictionarul de date
e"tins;c! algoritmii modulelor/programelor,
utilizMnd scheme logice, diagrame etc.
%odalit at i de repreze!tare 4odulul poate fi
de prelucrare, predefinit sau de date. 'l este
reprezentat printr-un dreptunghi Cn interiorul
caruia se scrie numele si functiunea
.
.ensul sagetii indica sensul transferului. 5aca
denumirile flu"ului Cncarca prea mult figura,
se poate folosinumerotarea sau prescurtarea
inteligibila a acestora
2.2. %etodologia #%T (#bect %odeli!g
Tech!i@ue)
Pri!cipii de baza ale metodei
34A - este o tehnica de dezvoltare a
software-ului bazata pe modele ca abstractii
ale problemelor din lumea reala, menite sa
focalizeze aspectele importante ale problemei
si sa omita pe cele irelevante.4odelul are trei
aspecte importante:P abstractizarea realitatii -
pentru aceeasi problema se pot crea mai
multe modele care sa focalizezediferite
aspecte.P scopul modelului - se focalizeaza
ceva cunoscutP comunicarea - modelul
trebuie Cnteles de toti membrii echipei de
analiza-proiectare precum si Cnteles si validat
de utilizator.#biective 'volutia rapida Cn
domeniul tehnologiei informatiei a impus pe
lMnga dezvoltarea produselor hardwaresi
elaborarea de noi metodologii pentru
dezvoltarea sistemelor si aplicatiilor info.
-stfel la oraactuala s-au cristalizat doua tipuri
de metode utilizate Cn analiza si proiectarea
sistemelor informatice :metode traditionale
structurate, orientate pe functii/date! si
metode orientate obiect.5aca metodele
traditionale au separat modelarea datelor de
modelarea functiilor, obtinMnd astfel
douatipuri de structuri distincte, struc de date
si structuri functionale, metodele orientate
obiect propunmodelarea concomitenta a
datelor si functiilor obtinMnd ierarhii de clase
de obiecte care Cnglobeaza atMt date cMt si
comportament. )omparativ cu metodele
traditionale, abordarea orientata obiect muta
centrul de greutate al solutionarii
problemei Cn faza de analiza, fapt ce va fi
compensat cu un minimum de efort Cn faza de
implementare.3 buna Cntelegere a cerintelor
problemei reale va conduce la construirea
unui model fiabil, adaptabil, care suporta usor
modificarile ulterioare'iclul de via ta al u!ui
proiect #%T#entru ciclul de viata al unui
proiect sunt posibile mai multe modele, dar
fle"ibilitatea metodelororientate-obiect
permite lucrul Cntr-un ciclu de viata #n
spirala. @eamintim ca ciclul de viata Cn
spirala,sau modelul Cn spirala, spre deosebire
de modelul Cn cascada specific metodelor
structurate, presupunem faptul ca doar o parte
a modelului trebuie sa fie gata Cnainte de a
trece la faza urmatoare. -ceastaCnseamna ca
versiuni partiale ale sistemului pot fi livrate Cn
timp scurt si pot fi evaluate si validate decatre
utilizator iar proiectantul poate relua analiza
pentru completarea modelelor. *eed-bacJ-ul
rapid permite gasirea de solutii convenabile,
iar fle"ibilitatea modelelor orientate-obiect
permitearmonizarea cerintelor utilizatorului
cu solutiile propuse de echipa de realizatori.
5e remarcat, de asemenea, ca modelul Cn
cascada, chiar Cn varianta care cuprinde
2.2. (co!ti!uare1)
iterarea fazelor, permite detectarea si
corectarea erorilor Cnainte de trecerea la faza
urmatoare si impune ca fiecare faza sa
produca un document sau documente si
produse absolut corecte. )orectarea erorilor
Cn fazele urmatoare celei Cn care s-au facut
este foarte costisitoare timp, efort! iar
utilizatorul trebuie sa astepte pMna la sfMrsitul
implementarii pentru a vedea daca sistemul
corespunde necesitatilor.'o!cepte de baz a
)onstructia de baza Cn abordarea orientata
obiect este obiectul care combina structra
datelor si comportam Cntr-o singura entitate.
#rin obiect Cntelegem o entitate din lumea
reala asupra careia se poate Cntreprinde o
actiune, sau care poate Cntreprinde o actiune.
Un obiect este caracterizat prin stare,
comportame!t si ide!titate. .punem despre
un obiect ca are doua componente: structura
i!formatio!ala si comportame!tul sau
operatiile care actioneaza asupra
structurii.)omportamentul obiectelor poate fi
declansat de stimuli e"terni sau
eve!ime!te3rice obiect are atribute si
operatii: atributele descriu un obiect si sunt
valori ale datelor, operatiile fct!definesc
comportamentul obiectelor. Un model de
obiecte este format dintr-un numar de obiecte
care comunica Cntre ele. 5intre acestea unele
au caracteristici comune si pentru a pastra
legatura semantica, acestea sunt grupate Cn
clase de obiecte. Dn mod evident orice obiect
apartine unei clase si este considerat, Cn
momentul Cn care vrem sa-l precizam sau
referim, ca o i!sta!ta a acelei
clase2mplementarea unei operatii se numeste
metoda. #entru o operatie pot e"ista mai
multe metode dincare un obiect va selecta ce
meth va e"ecuta Cntr-o situatie particulara.Dn
obiecte/clase de obiecte sunt ascunse atMt
structura cMt si implementarea operatiilor prin
procesul de ;!capsulareDn conte"tul
orientarii obiect la construirea claselor
caracteristicile comune ale obiectelor sau
claselor deobiecte sunt colectate Cn cadrul
claselor, respectiv al superclaselor sau
claselor abstracte, prin ge!eralizaresi/sau
agregare. .imilitudinile, sau caract comune
pot fi apoi moste!ite de clasele sau obiectele
initiale si pot fi parta&ate Cntre anumite clase
.Dn orientarea obiect, prin polimorfism se
Cntelege faptul ca o op poate fi implementata
diferit Cn clase diferite sau ca un atribut are
sensuri dif pentru clase diferit 4a&oritatea
metodelor orientate obiect utilizeaza reguli
sau op semantice cum sunt ge!eralizarea A
specializarea< agregarea A descompu!erea
combinate cu moste!irea si ;!capsularea.
2.2.1 %odelul obiectual(static)
4odelul obiectual - reflecta structura statica a
aplicatiei. -re ca scop evidentierea
obiectelor, claselorde obiecte, a atributelor si
operatiilor claselor, precum si a asociatiilor
dintre ele. )onceptele de bazautilizate de
modelul de obiecte sunt urmatoarele:P obiect
- concept, abstractie sau lucru bine delimitat
avMnd o identitateP clasa de obiecte - grup de
obiecte cu aceleasi atribute, operatii si
semantica
.imbolul utilizat Cn metodologia 34A pentru
reprezentarea unei clase de obiecte este
prezentat Cn figura
Gumele clasei trebuie sa fie sugestiv Cn
conte"tul aplicatiei si sa identifice clasa Cn
mod unic. P atribut - proprietate a obiectelor
dintr-o clasa.Dn 34A atributele sunt repr sub
numele clasei, fiind specificate numele
atributului sioptional tipul sau si o valoare
implicita, asa cum se poate observa Cn figura
3biectele se diferentiaza Cntre ele prin val pe
care le iau atributele lor la un moment dat,
valoricare constituie starea ob Cn acel mom.3
categorie speciala de atribute sunt atributele
clasei. Un atribut al clasei repr un atribut a
caruivaloare este comuna clasei de obiecte si
nu unei instante specifice. .imbolul folosit
pentru acest tip de atribut este caract YZO
plasat Cn fata numelui atributului, asa cum se
poate observa Cn figura
5eci el descrie o propietate comuna tuturor
ob din clasa dar nu a unei anumite instante
3 alta categorie de atribute sunt atributele
derivate. Un atribut derivat este un atribut a
carui valoare se calculeaza pe baza valorii
altor atribute. -cest tip de atribut se
reprezinta utilizMnd caracterul Y/O Cn fata
numelui sau.
2.2.1 (co!ti!uare1)
P operatie B defineste comportamentul
obiectelor clasei.
3 operatie este o functie sau o transformare
aplicata obiectelor unei clase. 3 operatie
apelata de un obiect al unei clase poate act
asupra starii ob respectiv prin transformarea/
consultarea acesteia, poate actiona asupra
starii altui obiect din clasa sau asupra starii
unui obiect apartinMnd altei clase.Un tip
specific de op Cl reprezinta operatia clasei.
-ceasta reprezinta o operatie pe o clasa dar
nu pe instantele acesteia. .imbolul utilizat
pentru o operate a clasei este caracterul YZO Cn
fata numelui operatiei.
#entru reprezentarea grafica a unei clase, Cn
metodologia 34A, se utilizeaza deci o forma
dreptunghiulara avMnd una sau trei regiuni. Dn
cazul Cn care este utilizata reprezentarea cu
trei regiuni,Cn partea superioara se precizeaza
numele clasei, Cn partea de mi&loc se specifica
atributele iar Cn partea inferioara se gasesc
operatiile clasei respective. Dn functie de niv
de detaliere cerut, atributele si operatiile se
pot specifica sau nu. Dn cazul Cn care se utiliz
reprezentarea cu o singura regiune, Cn aceasta
se specifica numele clasei.
P Legatura + este o cone"iune Cntre obiecte
P .socierea + repr descrierea unui grup de
legaturi cu aceiasi structura si semantica.
3 asociere dintre doua clase este reprezentata,
Cn metod 34A, printr-o linie ce conecteaza
2.2.1 (co!ti!uare*)
doua clase. Gumele asocierii, de regula un
verb, se trece deasupra liniei, indicMnd sensul
asocierii.
3 caracteristica a asocierilor o repr faptul ca
acestea pot avea atribute.
.tributul u!ei asocieri reprezinta o valoare
atasata fiecarei legaturi a asocierii.
Nume de rol B este un concept prin care se
identif Cn mod unic capetele unei asocieri. 3
clasa, care are mai mult de o asociere, poate
&uca roluri dif fata de fiecare dintre acestea.
.socieri calificate B o asociere calificata este
o asociere unu B multi sau multi B multi la
care un atribut special calificator! reduce
multiplicitatea efectiva. Un calificator
distinge Cntre seturile de obiecte de la capatul
multi al unei asocieri.
P ge!eralizareAspecializare - permit
parta&area caracteristicilor comune Cntre clase,
pastrMnd totodata diferentele dintre acestea.
2.2.1 (co!ti!uare-)
P moste!ire - mecanism ce da posibilitatea
parta&arii atributelor si operatiilor utilizMnd
relatia de generalizare. P agregareA
descompu!ere - operatii semantice Cn care
clasele rezultate din descompunere sunt parti
ale clasei agregate. )onceptele de baza ale
modelului obiectual sunt utilizate pentru
reprezentarea acestuia. 4odalitatea de repr
utilizata de modelul de ob este /iagrama de
.sociere a 'laselor (/.'), o diagrama a
claselor de obiecte. 5iagrama este practic un
graf ale carui noduri sunt clasele de obiecte si
ale carui arce sunt asocierile dintre obiecte si
clase de obiecte.
2.2.*. %odelul di!amic
%odelul di!amic - descrie aspectele
sistemului care se schimba Cn timp, respectiv
succesiunea operatiilor.-cest model are ca
scop evidentierea relatiilor temporale.
)onceptele de baza utiliz sunt urmatoarele:
E eve!ime!t - este ceva ce se CntMmpla la un
moment dat si nu are durata instantaneu!; E
sce!ariu B este o secventa de evenimente
care apar Cn timpul e"ecutiei sistemului;
.ecventa de evenimente si obiecte poate fi
evidentiata prin Diagrama de Trasare a
Evenimentelor!DTE" - se folosesc pentru
analiza ev comple"e din declaratia unei
probleme, mai e"act pentru reprezentarea
scenariilor indicMnd actorii initiatorii
evenimentelor!, eve!ime!tele si obiectele.
4odul de citire al 5A' este de sus Cn &os si de
la stMnga spre dreapta. #entru un eveniment al
aplicatiei se poate modela un singur scenariu,
numit scenariu principal,iar daca evenimentul
aplicatiei este comple", pe lMnga acesta se
mai pot modela mai multe scenari alternative.
'venimentele sunt trimise de la un obiect
emitator la un obiect receptor si ca obiectul
care starteaza evenimentul este initiator.
P Stare - este o abstractizare a valorilor
atributelor si legaturilor unui obiect si
specifica raspunsul obiectului la un ev de
intrare.P Tra!zitie B reprezinta schimbarea
starii cauzata de un eveniment.P 'o!ditie B
este o functie booleana pe valorile obiectului,
valida pe o perioada de timp;
P #peratiileBsunt atasate stari si tranzitiilor si
descriu comportamentul unui obiect ca
raspuns laevenimente. P .ctivitati B repr
operatii ce necesita timp pentru a se e"ecuta
si sunt asociate unor stari pe care le
controleaza pMna cMnd un eveniment le
Cntrerupe si se produce o tranzitie a starii.
P .ctiu!e B este o operatie instantanee,
asociata unui eveniment, a carei structura
interna nu este interesanta
2.2.*. (co!ti!uare*)
5iagrama de Aranzitie a .tarilor este un graf
Cn care nodurile sunt starile, iar arcele sunt
tranzitii datorate unor evenimente. Aoate
tranzitiile din aceeasi stare trebuie sa
corespunda la ev diferite. 3 5iagrama de
Aranzitie a .tarilor descrie comportamentul
unei singure clase de obiecte si specifica
secventierea starilor cauzata de secventierea
evenimentelor. 5iagramele de Aranzitie a
.tarilor pot fi structurate pentru a descrie
sisteme comple"e. .tructurarea se face prin
generalizare si agregare.
Un model dinamic este o colectie de
diagrame de tranzitie a starilor care
interactioneaza unele cu altele prin
evenimente parta&ate. 4odelul dinamic
descrie structura de control a sistemului.
2.2.-. %odelul fu!c tio!al
B are ca scop descrierea structurii de calcul a
sistemului evidentiind modul Cn care sunt
obtinute iesirile pe baza intrarilor si a altor
valori intermediare
4odalitatea grafica de repr a modelului
functional este Diagrama de Flux a Datelor
!DFD". 'o!ceptele utilizate"P proces - un
proces transforma valorile datelor si
corespunde unei oper din clasele implicate;
P flu,uri de date - conecteaza iesirea unui
obiect sau proces la intrarea unui alt obiect
sau proces, un flu" putMnd fi trimis Cn mai
multe locuri.P flu, de co!trol - corespunde
unui mesa& Cntr-o diagrama de comunicare sau
unui eveniment Cntr-o diagrama de tranzitie a
starilor P actor - un obiect activ care produce
sau consuma date.P depozit de date B
reprezinta un obiect pasiv care memoreaza
date pentru accesul ulterior.
*lu"urile de date reprezinta valori, iar
flu"urile intermediare reprezinta valori
intermediare rezultate Cn calcule. -tMt actorii
cMt si depozitele de date sunt obiecte cu
comportament si utilizare diferita.
5iagramele de *lu" de 5ate evidentiaza pe
lMnga flu"urile de date dintre terminatori,
procese si depozite de date efectul proceselor
asupra datelor din depozite, precum si
flu"urile de control. *lu"urile de control Cn
5*5 sunt functii boolene care afecteaza
e"ecutia unui proces.*lu"urile de date pot fi
flu"uri de modificare sau flu"uri de rezultate.
#rocesele din 5*5 trebuie implementate ca
operatii ale obiectelor. 3peratiile pot fi
specificate prin:- functii matematice, ecuatii
Cntre intrari si iesiri- tabele de corespondenta
Cntre intrari si iesiri- tabele de decizie-
pseudocod- limba& natural structurat.
4odelul functional este format din 5*5-uri
adica din grafuri ale caror noduri sunt
procesele, iar arcele sunt flu"urile de date si
de control
4. $mpleme!tarea si testarea programelor
4.1 $mpleme!tarea
3biectivul etapei de implementare este de a
realiza componentele e"ecutabile ale
aplicatiei astfel CncMt acestea sa satisfaca
criteriile de performanta definite si sa se
Cncadreze Cn restrictiile tehnice memorie
interna, memorie e"terna, numar de periferice
etc.! si economice timp de rulare, timp de
realizare, cost e"ploatare curenta, cost
Cntretinere etc.!. -cest obiectiv general
trebuie atins prin mi&loace si metode de
realizare care sa asigure viitorului produs
program caractde calitate planificate.
-ctivitatile specifice elaborarii programelor
sunt determinate Cn mare masura de urmatorii
factori: $. tipul de limba folosit; 2. !ivelul
limbaului (ge!eratia)) %. modul de
abordare a elaborarii; 7. comple,itatea
produsului program) #ctivitatile specifice
elaborarii programelor sunt: a) /efi!irea
parametrilor de realizare consta Cn
stabilirea conditiilor tehnice Cn care va fi
realizat produsul program, a parametrilor de
performanta ai acestuia si a tehnicilor de
implementare a proiectului tehnic. b)
'odificarea structurilor de date comu!e se
va face Cn limba&ul Cn care vor fi manipulate
datele iar structurile fizice vor fi depuse Cn
biblioteca produsului program, de unde vor fi
incluse Cn toate componen care le utilizeaza.
c) 'odificarea modulelor de acees la date.
d) 0ealizarea eleme!telor fu!ctio!ale
include codificarea, testarea si depanarea
elem care contin logica de transformare a
aplicatiei. e! $!tegrarea programelor
cuprinde codificarea si testarea elementelor
care contin logica de control a aplicatiei
monitor, program principal, clase active! si
completarea acestora cu elementele care
asigura legatura cu celelalte unitati ale
programului. f! Testare de a!samblu. g!
8lab docume!tatiei de impleme!tare
*orma de prezentare a unui te"t sursa de
program este un element esential Cn
asigurarea unei Cnalte accesibilitati a
programului. -ceasta, alaturi de maniera de
organiz a datelor, prel si autodocumentarii
sale sunt elemente esentiale pentru aprecierea
accesibilitatii, Cntretinerii, diseminarii si
asimilarii programelor precum si pentru
facilitatea testarii si demonstrarii
corectitudinii acestora. 'lementele de stil Cn
programare se refera la aran&area Cn pagina,
utilizarea comentariilor si semantizarea
si standardizarea identificatorilor.
.
4.* Testarea s i depa!area produselor
program
Aestarea reprezinta operatia de verificare a
corectitudinii unui program prin furnizarea de
date de intrare si compararea rezultatelor cu
cele pe care am dori sa le obtinem. $n timpul
proiectarii si codificarii se pot comite erori
care sunt grupate Cn urmatoarele categorii: E
erori legate de alegerea si descrierea
algoritmului: algoritm incorect, sau corect
dar inadecvat problemei;E erori ;! defi!irea
si utilizarea datelorE erori de calculeE erori
produse ;! teh!ica de programareE erori
prod di! !eate!tieE erori ;! ma!ipularea
te,tului programE erori legate de co!te,tul
e,ecutiei.)ea mai mare parte a erorilor
enumerate sunt depistate Cn faza de compilare
a programului si sunt e"trase Cn fisierul de
iesire, Cntr-o forma specifica fiecarui
compilator. Aot ca erori de codificare sunt
consid si cele detectate Cn faza de editare a
legaturilor. )onceptul de t$pe-safet$
semnifica posibilitatea efectuarii de verificari
semantice Cn faza de compilare a te"tului
sursa, pentru a depista posibile neconcordante
Cntre tipurile de date utilizate. $n timpul
executiei pro%ramelor pot apare erori de
genul:E erori de echipame!t, care sunt legate
de conte"tul Cn care se e"ecuta un program si
care pot fi:erori Cn datele de intrare, erori ce
decurg din negli&area specificului unui limba&
sau compilatoraritmetica numerelor Cn
calculator, modul de implementare a tipurilor
si structurilor de date pe un limba& dat etc.!;
E erori de ;!carcare a programelor si de
apelare incorecta a diferitelor periferice.
Strategii de testare Testarea de sus ;! os.
-ceasta este posibila numai Cn cazul unei
conceperi descendente a sistemului.4eth
consta din urmatoarele: se porneste cu
modulul radacina @-5 si cu unul sau mai
multe nivele de ordin imediat inferior figura
9.2.a!; dupa testarea acestui schelet care
probeaza toate posibilitatile legaturilor
interfetelor! se adauga un alt nivel inferior
figura 9.2.b!; cMnd s-au adaugat modulele
ultimului nivel testarea este terminata.
Testarea de os ;! sus modulara!. -ceasta
este metoda consta Cn testarea individuala a
modulelor urmata de testarea ansamblului de
module ca un tot unitar.
#entru fiecare modul trebuie efectuate: testul
de functionalitate se verifica daca modulul
Cndeplineste functia sau functiile sale!, testul
de depistare a datelor eronate ce nu corespund
4.* (co!ti!uare1)
functiei si testul de comportare Cn conditii
e"treme de lucru. 'a presupune verificarea
sistemului din punct de vedere al specific
sale, dar si al performantelor: timp de
raspuns, capacitate de lucru etc. Aestele de
s0stem pot ocupa pMna la %>[ din timpul
total de realizare. 5intre dezavanta&ele
metodei amintim: dificultati Cn stabilirea
datelor de test pentru sistemul final;
dificultati Cn depistarea erorilor legate de
modul de comunicare Cntre module %eth
mi,ta. -ceasta presupune aplicarea simultana
a celor doua metode precedente, ramMnMnd
predominanta testarea descendenta. #rin
urmare se Cncepe elaborarea proiectului Cntr-o
maniera descendenta, dar simultan se realiz
module din nivelul de baza al ierarhiei
Dn acest caz testarea descendenta se
desfasoara paralel cu cea ascendenta. -cest
procedeu de concepere si testare s-a dovedit
eficient Cn elab multor produse program.
C! cazul programelor orie!tate(obiect,
testarea are, pe lMnga rolul de verificare a
corectitudinii progr, si pe cel de a evalua
masura Cn care clasele definite sau referite
satisfac e"igentele cerute de reutilizabilitate.
Tipuri de test a ri a) Testare de specificatie
si de structura. b) Testare de modul( se
poate face la doua nivele de profunzime:
T4etoda cutiei negreT sau testarea de
conformitate cu specificatiile! T4etoda cutiei
albeT sau testarea structurala! c) Testare de
i!tegrare. d) Testarea arhitecturii clie!tA
server. e) Test de compatibilitate si
co!figurare. g) Testarea utilizabilitatiih)
Testare de acceptare a utilizatorului i)
Testare regresiva.
4.- #ptimizarea produselor program
Aermenul de optimizare este impropriu
deoarece nu se poate stabili o functieB
obiectiv prin care sa se precizeze nivelul de
performanta al programului. 5e aceea optim
se refera, Cn principal, la tehnicilesi metodele
ce conduc la perfectionarea programelor Cn
vederea obtinerii unor performante cMt mai
ridicate. 5e obicei, cele mai multe criterii de
optimizare se refera la timpul de e"ecutie si la
spatiul de memorie ocupat. -cesti doi factori,
adesea contradictorii constituie si elementele
de baza pentru aprecierea utilizarii resurselor
de catre un progr. .e urmareste, de asemenea,
ca programul sa fie usor de modificat,
adaptabil la noi conditii de lucru, fiabil etc.,
deci sa aiba, Cn general, caracteristicile de
calitate stabilite. 3ptimizarea programului se
realizeaza Cn decursul tuturor etapelor prin
care trece un produs program. .e pune
problema alegerii algoritmului ce rezolva
problema cu un numar cMt mai redus de
operatii, dar nu e"ista o metoda generala de
determinare a unui asemenea algoritm.
Dmbunatatirea performantelor programului se
poate face intervenind asupra elementului de
comple"itate, respectiv comple"itatea Cn timp
a algoritmului sau a programului.
4.1 0eutilizarea software(ului
@eutilizarea se poate concretiza Cntr-una sau
mai multe din urmatoarele forme:
B utilizarea bibliotecilor de progr/ subprogr /
clase, prin includerea acestora ca baza de
pornire Cn codificarea aplicatiei.B utilizarea
componentelor software, entitati software
care ofera o functionalitate bine stabilita,
accesibila altor aplicatii prin interfete
specifice.B apelarea unor module functionale
din aplicatii pree"istente, folosind tehnologii
de comunicare Cntre aplicatii. +ibliotecile de
subprograme ofera dezvoltatorilor colectii de
subprograme, care pot fi apelate de aplicatie.
*ct oferita se adreseaza unor categorii largi de
aplicatii, avMnd deci un gr mare de generalit
se mai spune ca au granulatie fina!. .ubprogr
sunt grupate Cn module cu functionalitate bine
determinata; de e"emplu, subprograme pentru
operatii matematice, pentru gestiunea
memoriei, pentru grafica etc. +ibliotecile de
clase constituie corespondentul bibliotecilor
de subprograme Cn conte"tul programarii
orientate-obiect. 'le contin ierarhii de clase,
obtinute prin derivare, ce ofera, de asemenea,
o functionalitate de ordin general. +ibliotecile
actuale de subprograme / clase tind catre un
grad mai Cnalt de agregare, regasindu-se sub
forma cadrelor de aplicatie si interfetelor de
programare a aplicatiilor. 2ntegrarea codului
reutilizat cu aplicatia se poate face Cn doua
moduri: E pri! legare statica; E pri! legare
di!amica.
5. $!strume!te si medii de dezvoltare a
programelor
Un i!strume!t software, Cn general, este o
entitate software care prelucreaza sau
actioneaza asupra unei alte entitati software.
$!strume!tele de programare sunt entitati
software care actioneaza asupra elementelor
de constructie a programelor modele, cod-
sursa, cod-obiect, cod e"ecutabil!, realizMnd
transformari ale acestora si/sau analizarea lor
din punct de vedere sintactic, functional sau
calitativ. Un mediu i!tegrat de dezvoltare
constituie un ansamblu integrat de instrum de
programare, care asista dezvoltatorul pe
parcursul activitatilor de codificare, obtinere a
programului e"ecutabil, testare si depanare.
2ntegrarea instrumentelor se manifesta prin
utilizarea lor Cntr-o maniera consistenta,
adesea Cn mod transparent pt programator.
Un mediu de dezvoltare vizuala vizeaza Cn
plus asistarea programatorului Cn realizarea
interfetelor grafice ale aplicatiilor.
4ediile de programare ofera facilitati sporite
de reutilizare a programelor, sub forma
bibliotecilor de subprograme si cadrelor de
dezvoltare a aplicatiilor application
framewor%!. Un produs de tip '.S8
)omputer -ided .oftware 'ngineering!
reprezinta un ansamblu de metode,instrum si
procese destinate ingineriei software asistate
de calculator. -cest tip de instrumente
acopera si etapele de analiza-proiectare,
oferind facilitati de reprezentare grafica a
modelelor si diagramelor fol de meth / lb
2
de
analiza si proiectare. $!strume!te software
disparate Dn aceasta categorie sunt incluse
instrumentele software puternic specializate
pentru anumite subactivitati ale realizarii
produselor program. #utem diferentia trei
categorii de astfel de instrumente: E $!strum
de programarerealizeaza de regula
transformari ale elementelor de constructie
a programelor;2nclud: 8ditoare pentru codul
sursa, 'ompilatoare< 8ditoare de legaturi<
$!terpretoare, .sambloare< Preprocesoare
si precompilatoare< 8mulatoare!E $!strume
de testare au rolul de a automatiza partial
procesul de testare a programelor. 5intre
categoriile de instrum pentru asistarea testarii
fac parte: $!strume!te de capturareAredare<
$!strum de e,ecutie automata a testelor<
.!alizor de acoperire< 7e!erator de cazuri
de test< 7e!erator de date de test< .!alizor
logic A de comple,itate< $!strum de trasare
a erorilor< $!strum de gestio!are a testarii!
D $!strum pe!tru gestiu!ea versiu!ilor si
co!figuratiilor#rocesul de gestiu!e a
versiu!ilor are rolul de a asigura lucrul
consistent si coerent cu elementele de
constructie a programelor. 2nstrum de
gestiune a versiunilor sunt construite Cn
general Cn &urul unui depozit repositor$! care
5. (co!ti!uare1)
contine versiunile succesive ale fisierelor
unuia sau mai multor proiecte. 3peratiile
uzuale Cntr-un astfel de instrum sunt:E c&ec%-
out B e"tragerea unui fisier din depozit Cn
vederea modificarii E c&ec%-in B actualizarea
fisierului modif, Cnsotita eventual de analiza
diferentelordiff!si integr modif concurente
merge!,cu semnalarea conflictelor.! 5intre
instrumentele de gestiune a versiunilor
amintim: @ational )lear)ase, 4icrosoft
(isual .ource.afe, )(. )oncurrent
(ersions .0stem!. %edii i!tegrate de
dezvoltare clasice(cuprind ansamblul de
instrumente necesare implementarii Cntr-un
anumit limba& de programare. Dn componenta
unui mediu integrat de dezvoltare intra, Cn
mod obligatoriu, urmatoarele instrumente:
E 8ditorE 'ompilatorE 8ditor de legaturi
#e lMnga acestea sunt prezente si facilitati de
testare si depa!are< care asistaprogramatorul
Cn activit de depistare si corectare a erorilor.
5epistarea erorilor este facilitata prin:
B Cntreruperea e"ecutiei programului Cn
anumite puncte, stabilite de utilizator
brea%points!B e"ecutia pas-cu-pas a progr
trace!, cu posibilitatea parcurgerii subprogr
2

apelatetrace into! sau nu step over!.B
inspectarea continutului variabilelor watc&!
la un moment dat Cn cursul rularii. %edii
i!tegrate de dezvoltare vizual a( repr o evol a
mediilor integrate, vizMnd asistarea
programatorului Cn realizarea interfetelor
grafice ale aplicatiilor. 3biectivul acestor
medii de programare este de a scuti progr de
scrierea codului specific lucrului cu interfata
grafica, acesta concentrMndu-se pe fctatea
aplicatiei. 4ediile de programare vizuala
includ si gestiunea unitara a fisierelor
corespunzatoare unei anumite aplicatii sub
forma unui proiect. *isierele unui proiect pot
fi: fisiere sursa, fisiere de definire a
ferestrelor aplicatiei, fisiere de resurse etc.
#rogramele realizate cu aceste medii de
programare sunt construite Cn maniera
orientata pe evenimente. Produse de tip
'.S8( reprezinta colectii demeth, instrum si
procese destinate ingineriei software asistata
de calculator. #t ca o colectie de instrumente
sa fie calificata drept un produs de tip )-.'
tb sa : P sa ofere facilitati grafice puternice
pentru a descrie si documenta software-ul
P sa fie integrat, astfel CncMt sa permita
transmiterea usoara a datelor Cntre
componenteP sa stocheze informatiile
referitoare la software Cntr-un depozit
computerizat, permitMnd accesarea acestor
informatii de catre toti membrii echipei de
elaboratoriP sa poata fi utilizat ca baza pentru
automatizarea procesului de producere a
software-ului utilizMnd una sau mai multe
metode de analiza proiectare
5. (co!ti!uare*)
P sa fie reutilizabil pentru dezvoltarea de noi
sisteme, aplicatii si programeP sa poata fi
utilizat pe orice platforma hardware CncepMnd
cu calculatoare personale pMna la mainframe-
uriP sa permita realizarea usoara a interfetei
cu utilizatorul final si e"pandarea interactiunii
cu acestaP sa asigure dezvoltarea de aplicatii
Cn limba&e de programare evoluateP sa asigure
din punct de vedere calitativ software-ul
realizat. 2mportanta si avanta&ele utilizarii
)-.'-urilor: B scurteaza durata de realizare
a proiectelor si de implementare a aplicatiilor
B asigura din punct de vedere calitativ
produsul software si cresc Cncrederea
utilizatorului Cn calitatea acestuiaB asista
realizarea fiecarei etape si deci Cmbunatatesc
calitatea procesului de realizareB dezvoltarea
software-ului se face conf unor metodologii
care specifica pe lMnga etapele de dezvoltare,
continutul si iesirile fiecarei etape, Cn mod
diferentiat dupa natura produsului sau
dupa domeniul sau de aplicatieB obtinerea de
specificatii de definitie completeB acuratetea
specificatiilor de realizare de proiectare!
B obtinerea unei cai usor de Cntretinut si
dezvoltat Cn ideea ca un produs software nu
este niciodata Cn mod real terminat, dezvolt sa
fiind prelungita de operatiile de mentenanta!.
'lasificarea si evaluarea produselor '.S8
a! dupa metodele de analiza si proiectare
implementate: P neorientate obiect, bazate pe
metodologii de analiza si proiectare
structurata sau metode functii/date!P pur
orientate obiectP mi"te - care suporta ambele
tipuri de metodologii. b! dupa numarul
metodelor de analiza si proiectare
implementateP ofera suport pentru o singura
metoda de analiza proiectareP ofera suport
pentru mai multe metode si Cn acest caz daca
- foloseste independent mai multe metode
- permite trecerea automata a documentelor
realizate pentru o anumita metoda Cn
documente echivalente ale altei metode.
c! dupa cum acopera etapele ciclului de viata
si de realizare a aplicatiilor P acopera una sau
mai multe parti ale ciclului de viata P acopera
tot ciclul de viata 2-)-.'! d! dupa codul
generatP nu genereaza codP genereaza cod
care contine:- numai sabloane si cod partial
ce trebuie completat si optimizat- cod
integral, e"ecutabil pe baza transformarii
directe a proiectuluie! dupa cum asigura
modul de lucru:P Cn echipaP Cn retea
f! dupa modul Cn care permite realizarea altor
proiecte, sau sabloane de proiecte, integral
sau partialg! permite reverse engineering -
actualizarea diagramelor dupa modificari Cn
codh! permite includerea sa Cntr-un mediu
integrat de dezvoltare 25' 2ntegrat
5evelopment 'nvironment! #rodusele )-.'
trebuie sa satisfaca urmatoarele conditii:
5. (co!ti!uare-)
a! sa creasca eficienta elaborarii produselor
program si b! sa nu scada calitatea si
siguranta Cn functionare a produselor program
obtinute.
'ompo!e!te de baz a ale u!ui produs
'.S8
6. 'o!ducerea procesului de realizare a
produselor program
6.1. Pla!ificarea (consta Cn stabilirea
obiectivelor proiectului si a sarcinilor de
Cndeplinit, alocarea resurselor necesare si
stabilirea termenelor de realizare.#reviziunea,
Cn cazul produselor program, se realizeaza pe
cele trei niveluri cunoscute: strtegic, tactic si
operativ. Planificarea strate%ica se realiz, de
regula, la nivelul Cntregii organizatii
producatoare de software si are Cn vedere:P
stabilirea tipurilor de produse program pe
care le elaboreaza unitatea respectiva, Cn
raport cu:P obiectivele generale ale unitatii ;P
resursele disponibile la nivelul unitatii;P
fondul de programe de&a e"istent;P stabilirea
nivelului tehnic si calitativ al produselor
program elaborate, care depinde de:P
competenta profesionala a membrilor
organizatiei;P dotarea cu tehnica de calcul;P
posibilitatile de specializare, cooperare si
procurare de produse software de&a
e"istente;P stabilirea termenelor globale de
realizare a produselor program;P stabilirea
costurilor globale si a preturilor de livrare a
produselor program. Planificarea tactica se
desfasoara la nivelul proiectului si se refera la
un produs program concret. Dn mod evident,
planificarea tactica este derivata din
planificarea strategica. #lanific proiectului
acopera ca orizont de timp Cntreg ciclul de
viata al produsului program. 'a cuprinde atMt
elem legate de alocarea resurselor pe activit
cMt si de planificare calendaristica a acestora.
Planificarea operativa se desfasoara pe
parcursul desfasurarii proiectului. 'a pp:
E detalierea si corectarea planif tactice, a
planif activitatilor si resurselor unui proiect;E
stabilirea ordinii de e"ecutie a dif sarcinii si
activit, pe baza planif calendaristice a sarc si
resurselor,efect la niv Cntregului proiect.#lanif
operativa este necesara datorita corectiilor
fata de planificarea tactica, care Cn general
sunt datorate urmatoarelor cauze:E imposibilit
unei eval precise a resurselor si a duratelor
necesare pentru e"ecutarea sarcinilor, Cnainte
de desfasurarea efectiva a proiectului;E
indisponibilit neprev a unor resurse afectate
proiectului;E modif sarcinilor impusa pe parc
realiz lor de Cnsasi tehnologia de realiz a prod.
6.*. #rga!izarea proiectului
6.*.1. Programarea deschis a
Pri!cipiile de baza ale acestei tehnici sunt
urmatoarele:E Cntraga echipa are un scop unic
- reusita proiectului si nu scopuri individuale;
E Cnlaturarea greselilor / erorilor este Cn
interesul Cntregii echipe;E erorile trebuie
descoperite si nu ascunse;E deoarece, uneori
este mai usor sa TveziT erorile din programele
altuia decMt din programele proprii,ech este
compusa din m multi programatori Cntre care
e"ista relatii de colaborare;E definirea globala
a produsului si a solutiilor de realizare se face
Cn colectiv, Cn cadrul Cntregi echipe, dupa care
scrierea progr se distribuie Cntre membrii
colectivului;E Cnainte de compilare, progr
fiecarui programator vor fi citite de un alt
alti! membruii! al/ai echipei pentru a
descoperi erorile. Dn timpul testarii, fiecare
programator se consulta cu colegii din echipa
asupra rezultatelor obtinute si a modului de
Cnlaturare a erorilor.
.va!tae" E asigurare spirit de echipa;E cun
reciproca a progr
2
si respectiv a Cntregului
produs;E integrarea mai usoara si mai rapida a
componentelor;E Cnvatarea si transferul de
e"perienta Cntre membrii echipei. Aoti
membrii echipei, de la cel mai e"perim pMna
la Cncepatori, schimbMnd programele Cntre ei,
Cnvata noi tehnici de programare si algoritmi,
discuta probleme de stil de programare si
eficienta, Cntr-o atmosfera deschisa si de
colaborare;E programarea deschisa nu pp
responsabilitati distincte ale membrilor
echipei; conducerea revine, prin rotatie,
fiecarui programator Cn functie de calitatile si
de e"perienta necesara Cndiferitele momente
ale desfasurarii proiectului. /ezva!tae" E
nefiind definite responsabilitatile membrilor
echipei, apar momente de confuzie Cn
solutionareaunor divergente;E nu se poate
impune un control riguros al avansului
proiectului si al consumului de resurse;
E luarea deciziilor, Cn anumite momente, poate
fi amMnata timp Cndelungat, pMna se a&unge la
un consens asupra diferitelor solutii de
proiectare, asupra standardelor de respectat
sau a altor reguli;E nu se asigura o conducere
permanenta si continua a proiectului;
E comunicarea cu alte entitati organizatorice,
din afara echipei conducerea organizatiei,
utilizatorii etc.! se face Cn mod greoi.
6.*.*. 8chipa programatorului sef ('PT)
.pre deosebire de programarea deschisa, Cn
acest caz structura echipei si responsabilitatile
atribuite au un caracter precis si bine definit.
#rincipiile pe care se bazeaza acest mod de
organizare sunt urmatoarele:E Cntreg procesul
de realizare a prod program trebuie structurat
pe sarcini precise, care sa poata fi atribuite
membrilor echipei;E crearea premizelor
pentru utiliz de instrumente a&utatoare Cn
realiz produsului;E asig vizibilitatii produsului
pe tot parcursul procesului de elaborare;E
asigurarea posibilitatilor de Cnvatare Cn cadrul
echipei;E asigurarea conditiilor ca cel putin
doi membri din echipa sa cunoasca Cntreg
produsul Cn detaliu pMna
la nivelul fiecarei linii de program-sursa!.
Dn cadrul Yechipei programatorului sefO e"ista
un nucleu al echipei format din doi specialisti
cu e"perienta programatorul-sef si ad&unctul
sau! precum si secretarul echipei. #rogr -
membri ai echipei sunt selectati de catre
programatorul sef, numarul lor fiind variabil
Cn functie de comple"itatea proiectului, sau
chiar pentru acelasi proiect, Cn functie de
necesarul de programatori Cn diferitele etape
de dezvoltare a produsului software
Biblioteca proiectului este organizata Cntr-o
biblioteca interna la care nu are acces decMt
secretarul bibliotecar si o biblioteca externa
la care au acces toti membrii echipei.
.va!tae"D introduce rigurozitate Cn
distribuirea responsabilitatilor si a sarcinilor;
E ofera posibilitatea de control permanent al
avansului proiectului, din punct de vedere
calendaristic; /ezav"D - lipsa de motivare si
interes ale membrilor echipei;- lipsa de
control asupra deciziilor pr sef;- lipsa de
atractivitate pentru functia de Tad&unct al
programatorului sefT;- posibilitati limitate de
Cnvatare si de schimb de e"perienta Cntre
membrii echipei;- dificultati Cn selectarea si
numirea de programatori sefi, care trebuie sa
Cntruneasca foarte multe calitati atMt de ordin
profesional cMt si de conducator.
6.*.-. 8chipa chirurgical a .
.i Cn acest caz echipa este compusa dintr-un
sef de ec&ipa, a&utat de un administrator,
care, daca problema este mai comple"a, poate
fi asistat de un secretar care nu trebuie sa fie
neaparat un prr!. 'ditarea documentatiilor
este facuta de un editor, care poate avea la
rMndul sau un secretar. )eilalti programatori
sunt Cmpartiti pe categorii.
.eful echipei si ad"unctul sau Cn termenii
originali TsurgeonT si TcopilotT! Cndeplinesc
sarcini similare cu cele din cadrul metodei
programatorului sef, cu urmatoarele diferente:
- seful echipei nu se mai ocupa de recrutarea
personalului si procurarea resurselor, sarcini
ce revin administratorului!, ramMnMnd strict
desemnat pentru coordonarea tehnica a
proiectului; - ad&unctul are sarcina de a
asigura si interfata cu alte echipe.
Admin raspunde de asigurarea conditiilor de
lucru normale pentru echipa: gestionarea
resurselor ale pro, procurarea spatiului,
asigurarea accesului si a fondului de ore-
calculator etc. si e"ec interfata cu conducerea
de pe nivelurile superioare. -dmin raporteaza
activitatea sa sefului echipei si ia decizii
administrative cu aprobarea acestuia.
Editorul elaboreaza - pe baza documentelor
primite de la seful echipei - Cntreaga
documentatie a proiectului. -dministratorul si
respectiv editorul sunt a&utati de catre un
secretar. #r propriu-zisi sunt si ei specializ pe
diferite functii:- responsabilul cu instrum
'
-
pune la dispozitia echipei instrumentele
software necesare sau chiar elab anumite
instrum software,stabileste procedurile de
catalogare si genereaza macrobibliotecile;-
specialistii (n limba)e de programare sunt
utilizati ca e"perti specializ pe diferite
limba&e, care selecteaza solutii eficiente de
programare Cn lb respective;- responsabilul
cu testarea - pune Cn aplicare planul de testare
elaborat de seful echipei, prin generarea
seturilor de date de test, a programelor de
testare si a procedurilor de depanare.
3rganizarea de tip Techipa chirurgicalaT
atenueaza unele dificultati ale metodei
Yprogramare deschisaO prin distrib mai
uniforma a sarcinilor tehnice si creserea
responsabilitatii membr echipei de
programare
6.*.1. 8chipa programatorului sef
revizuit a( 0'PT)
-c meth de organizare Cmbina av meth
precedente, nucleul fiind format dintr-un
conducator de proiect, un ad&unct al acestuia,
un responsabil pentru asigurarea legaturii cu
utilizatorul si un administrator al proiectului
.pre deosebire de )#A, Cn aceasta varianta de
organiz, conducatorul de proiect - echivalent
cu pr sef - este subordonat admin, caruia Ci
raporteaza starea proiectului.
Conducatorul de proiect este conducatorul
tehnic al echipei pe care o coordoneaza pe tot
parcursul proiectului si Cndeplineste
urmatoarele sarcini: - hotaraste Cmpreuna cu
administratorul resursele necesare; - select
si/sau elaboreaza standardele si procedurile
obligatorii de respectat; - elab specificatiile
de definire a produsului program si
documentatia de proiectare, a&utat de
ad&unctul sau si de persoana Cnsarcinata sa
mentina legatura cu utilizatorul; - asigura
conducerea tehnica a proiectului;- verifica
programele scrise de membrii echipei,
planurile de testare si rezultatele testarii;
- tine &urnalul proiectului;- asigura ridicarea
nivelului tehnic al membrilor echipei.
)olaboratorul sau - ad"unctul sefului de
proiect - Cndeplineste functii similare cu
ad&unctul programatorului sef, cu deosebirea
ca are sarcini de conceptie suplimentare,
participMnd la proiectarea produsului.
Administratorul de proiect este conducatorul
administrativ al proiectului, care asigura
legatura cu conducerea organizatiei
respective. Un administrator poate subordona
simultan mai multe proiecte. #ersoana
Cnsarcinata sa mentina legatura cu utilizatorul
trebuie sa cunoasca foarte bine domeniul de
aplicatie pentru care se realizeaza produsul
Pro%ramatorii raspund de scrierea si testarea
programelor, pe baza specificatiilor primite si
a sarcinilor distribuite de conducatorul
proiectului. #rogramatorii pot fi specializati
pe diferite activitati, putMnduse roti Cntre ei Cn
realizarea diferitelor sarcini. Dn mod optional
@)#A poate include si un redactor tehnic de
documentatie, Cn special pentru produse
progr comple"e si care se adreseaza unui cerc
foarte larg de utilizatori. *ata de organizarile
prezentate Cn paragrafele anterioare, @)#A
aduce unele inovatii menite sa atenueze
6.*.1. (co!ti!uare1)
dezavanta&ele tehnicilor respective. Dn primul
rMnd se Cncearca o limitare a functiilor
Cndeplinite de conducatorul proiectului, care
trb sa se concentreze numai pe activitatea de
conceptie-proiectare a produsului program,
fara a mai fi vazut ca un Tsupra-programatorT.
'l nu mai scrie nici un program, Cn schimb
verif codul sursa realizat de programatori, din
punctul de vedere al respectari specificatiilor.
Dn al doilea rMnd, prin functiile atribuite
administratorului proiectului, au fost plasate
pe alt nivel de competenta - mult mai Cnalt -
sarcinile de asigurare a resurselor, recrutarea
si evaluarea personalului, controlul avansului
proiectului si raportarea Cn fata conducerii
organizatiei. Dn al treilea rMnd, conducatorul
proiectului este scutit de interactiunea cu
utilizatorul si cu alte grupuri din afara
echipei, putMndu-se concentra pe aspectele
tehnice, pe mai buna distribuire si urmarire a
sarcinilor Cn interiorul echipei, pe ridicarea
nivelului tehnic al programatorilor.
Dn cadrul @)#A se asigura, mult mai bine
decit Cn alte tehnici de organizare,
comunicarea dintre echipa si e"terior Un alt
avanta& al @)#A este ca poate fi implement
pe proiecte de diferite dimensiuni. -stfel,
pentru proiecte mici @)#A se poate reduce la
conducatorul proiectului si ad&unctul sau .
Dn acest caz, acestia doi preiau si functiile de
programare, legatura cu utilizatorul si scrierea
documentatiei. #entru proiecte mai mari se
poate alcatui o ierarhie de @)#A, Cn cadrul
careia legatura dintre echipe se realizeaza
prin intermediul ad&unctului
5upa ce a fost aleasa o modalitate de
organizare a echipei de lucru se trece la
construirea echipei de lucru.5upa ce s-a stab
factorul de decizie, se va hotarC cum se va
derula procesul.
'upri!s "
1.Not de baza priv pachetele software
continuare$Q2Q%Q7!
*. #rga!izarea si structurarea datelor
continuare$Q2Q%!
-. .L7#0$T%$
1.'iclul de viata si ciclul de realizare al
produselor program/continuare$!
1.1%odelul i! cascada/continuare$!
1.*.%odelul i!creme!tal
1.-%odelul evolutiv
1.1%odelul i! spirala
2.%etode a!aliz a s i proiectare a produselor
program
2.1. %etoda H$P#/continuare$!
2.*. Teh!ica de a!aliz a s i proiectare
structurat a ( S./T /continuare$Q2!
2.-. %etoda =ac>so! (co!ceptul !ested(
logic) /continuare$!
2.1. %etoda de a!aliz a s i proiectare
structurat a ?ourdo!('o!sta!ti!e
2.1.1..!aliza structurat a /continuare$Q2!
2.1.*. Proiectarea structurat a /
continuare2Q%Q7!
2.2. %etodologia #%T (#bect %odeli!g
Tech!i@ue)
2.2.1 %odelul obiectual(static) /
continuare$Q2Q%!
2.2.*. %odelul di!amic
2.2.-. %odelul fu!c tio!al
4. $mpleme!tarea si testarea programelor
4.1 $mpleme!tarea
4.* Testarea s i depa!area produselor
program/continuare$!
4.- #ptimizarea produselor program E 4.1
0eutilizarea software(ului
5. $!strume!te si medii de dezvoltare a
programelor/continuare$Q2Q%!
6. 'o!ducerea procesului de realizare a
produselor program
6.1. Pla!ificarea
6.*.1. Programarea deschis a
6.*.*. 8chipa programatorului sef ('PT)
6.*.1. 8chipa programatorului sef
revizuit a( 0'PT) /continuare$!

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