Documente Academic
Documente Profesional
Documente Cultură
▪tehnicile de specificare;
▪tehnicile de concepţie;
▪tehnicile de validare/verificare;
▪gestiunea proiectelor;
▪aspectele socio-economice ale proiectelor de dezvoltare a produselor
software.
Tehnici de specificare
Prin specificare înţelegem o descriere a unor caracteristici ale produsului final, (un
program sau o aplicaţie formată dintr-un sistem de programe) care trebuie să fie
realizat în mod obligatoriu de către proiectant (programator) pentru ca produsul să
poată fi acceptat şi utilizat de beneficiarul său.
Corespunzător, există diferite tehnici de specificare, caracteristice fiecărei
faze de dezvoltare:
▪tehnici de specificare a cerinţelor sau a exigenţelor funcţionale şi nefuncţionale
(eficacitate, dimensiuni, siguranţă în funcţionare etc.); se aplică în faza de analiză a
cerinţelor şi se exprimă, în general, în limbaj natural;
▪ tehnici de specificare a sistemului; se aplică în faza de analiză de sistem şi se referă la
natura funcţiilor oferite, la comportamentul dorit şi la datele necesare pentru realizarea
funcţiilor;
▪tehnici de specificare a arhitecturii sistemului; se aplică în faza de concepţie generală
şi definesc modulele de arhitectură ce urmează să fie realizate;
▪tehnici de specificare tehnică (sau de detaliu); se aplică în faza de proiectare detaliată a
modulelor, programelor şi structurilor de date.
Tehnici de concepţie
Se efectuează jocuri de test (de încercare) care nu pot fi, în general, exhaustive. Jocul
de test este ales astfel încât rezultatele execuţiei programului să fie comparabile cu
rezultatele aşteptate conform specificaţiilor de funcţionare ale produsului (parţiale sau
globale). Scopul este de a pune în evidenţă eventualele erori. Testele pot să arate
prezenţa erorilor dar nu pot demonstra absenţa erorilor.
În construirea testelor se disting trei moduri de abordare a construcţiei jocurilor de test:
a)Abordarea aleatoare a testului
Testul este ales în mod aleator din domeniul de definiţie al datelor de intrare ale
programului. Domeniul de definiţie este stabilit pe baza specificaţiilor de interfaţă
operator-maşină ale programului (intrări-ieşiri).
b)Abordarea funcţională (sau a “cutiei negre”) :
Se iau în considerare numai specificaţiile privind funcţiunile programului (sau CE
trebuie să facă produsul). Specificaţiile trebuie să fie suficient de clare şi complete
pentru a permite verificarea fiecărei funcţiuni predefinite. Verificarea funcţională se
referă în special la date şi rezultate.
Verificare dinamică
c) Abordarea structurală (sau a “cutiei albe”):
In această formă, testarea se referă la structura internă a programului (modulului).
Se pot stabili mai multe criterii de aplicare a testului:
c1) Criteriul parcurgerii instrucţiunilor – jocul de test trebuie să arate că toate
instrucţiunile elementare sunt executate cel puţin o dată;
c2) Criteriul parcurgerii arcelor şi nodurilor grafului de control – graful de control
este o reţea care cuprinde structurile de control ale programului, cum ar fi spre
exemplu:
I Diagrame de structură
•Evidentiaza componentele ce trebuie să existe în cadrul sistemului modelat;
sunt în general folosite pentru documentarea arhitecturii sistemelor software.
II Diagrame de comportament
•Evidentiază ce trebuie să se întample în sistemul modelat; ilustrează
comportamentul sistemului și sunt utilizate în general pentru a descrie
funcționalitatea sa.
III Diagrame de interacțiune
•Diagramele de interacțiune reprezintă diagrame de comportament care
evidențiază modul în care circulă datele și se transferă controlul în sistemul
modelat.
I. Diagrame de structură
• Diagrama de clasă: descrie structura unui sistem prin evidențierea
claselor din sistem, a atributelor lor și a relațiilor dintre clase;
• Diagrama de componente: descrie modul în care un sistem este
descompus în parțile sale componente și arată dependentele dintre
acestea;
• Diagrama structurii compozite: descrie structura internă a unei
clase și colaborările posibile datorate acestei structuri;
• Diagrama de construcție: descrie componentele hardware utilizate
în implementarea sistemului;
• Diagrama de obiecte: prezintă obiectele și relațiile dintre ele;
• Diagrama de pachet: descrie modul în care un sistem este împarțit
în grupuri logice aratand legaturile între aceste grupuri;
• Diagrama de profil: operează la nivel de metamodel.
II. Diagrame de comportament
Din toate clasele identificate se vor opri clasele ce reprezintă obiecte fizice, entități
conceptuale, categorii de clase (ce vor deveni de fapt superclase) și clasele ce
reprezintă interfețe cu mediul exterior sistemului considerat.
• Port – reprezentat sub forma unui dreptunghi mic amplasat pe graniţa componentei
şi reprezintă un punct de interacţiune prin intermediul căruia o componentă poate să
comunice cu alte componente.
În figură a fost introdusă şi notaţia de port. În sensul diagramelor UML portul este un
mecanism prin care o componentă internă a unei componente expune către exterior o serie de
funcţionalităţi ( de exemplu componenta Controller expune interfaţa IOrderProduct) sau prin
care o componentă internă accesează funcţii externe (de exemplu componenta Controller
utilizează interfaţa IPayment a unei entităţi externe). În mod uzual între o componentă internă
şi un port se realizează o asociere de tip delegat.
Diagrama de componente-continuare
Pentru a specifica faptul că două componente comunică între ele prin intermediul
porturilor se poate realiza atât asociere directă între cele două porturi cât şi asociere prin
intermediul interfeţelor expuse de porturi. Un exemplu în acest sens este prezentat în
următoarea figură.