Documente Academic
Documente Profesional
Documente Cultură
• Meniul Edit va avea două opţiuni, de sus în jos în ordinea: Copy şi Paste
• Metodele de activare a opţiunilor vor fi:
• Clic
• combinaţia Alt-E urmată de C, respectiv P
• combinaţiile de taste implicite din Windows (Ctrl-C, Ctrl-V).
• Opţiunea Copy va avea ca efect copierea în Clipboard a afişajului Windows
Calculator.
• Opţiunea Paste va avea ca efect copierea conţinutului Clipboard în câmpul
de afişare din Windows Calculator.
• Recomandare: la specificatie se pot adauga si imagini daca e cazul (in
exemplul de fata, notiunile de meniu, optiune sunt suficient de clare)
• Specificaţia e sistemul de referinţă al testerului ! (vezi definiţia erorii)
Ce este o cerinţă?
• Poate varia de la o descriere abstractă de nivel înalt a unui serviciu sau a unei
constrângeri a sistemului până la o specificaţie funcţională precizată în detaliu în
termeni matematici.
• Acest lucru este inevitabil deoarece cerinţele pot servi unei funcţii duale
• Pot fi baza unei licitaţii pentru un contract – trebuie să fie deschise către interpretare;
• Pot fi baza contractului însuşi – trebuie definite în detaliu;
• Ambele declaraţii (abstractă şi detaliată) pot fi numite cerinţe.
Nivelul de abstractizare al cerinţelor
“Dacă o companie doreşte lansarea unui contract pentru dezvoltarea unui proiect software de dimensiuni
mari, aceasta trebuie să-şi definească necesităţile într-un mod suficient de abstract astfel încât să nu existe
o soluţie predefinită. Cerinţele trebuie scrise astfel încât mai mulţi contractori să poată licita pentru
obţinerea contractului, oferind, probabil, moduri diferite de a îndeplini necesităţile organizaţiei clientului.
Odată ce contractul a fost atribuit, contratorul trebuie să scrie o definiţie a sistemului cu un nivel mai
mare de detaliere astfel încât clientul înţelege şi poate valida ceea ce software-ul urmează să facă.
Ambele documente descrise mai sus pot fi numite documentul cerinţelor pentru sistem.”
Software Requirement Specification (SRS)
• Specificațiile cerințelor software reprezinta o descriere detaliată a
unui produs software care urmează să fie dezvoltat cu cerințele sale
funcționale și nefuncționale.
• Este dezvoltat pe baza acordului dintre client și contractori.
• Documentul cu specificațiile cerințelor software cuprinde toate
cerințelor necesare pentru dezvoltarea proiectului.
• Pentru a dezvolta sistemul software, ar trebui să avem o înțelegere
clară a sistemului software. Pentru a realiza acest lucru avem nevoie
de o comunicare continuă cu clienții pentru a aduna toate cerințele.
• Standardul IEEE 830 (IEEE recommended practice for software
requirements specifications) descrie continutul, calitatile si avantajele
unei bune specificatii a cerintelor software
Calitatile
• Specificatiile cerintelor software trebuie sa fie:
• Corecte
• Neambigue – fiecare cerinta definita are o singura interpretare
• Complete – ar trebui sa contina tot ceea ce este necesar pentru realizarea
software-ului
• Consistente – intre ele si cu documentele pe care le refera
• Clasificate dupa importanta si/sau stabilitate
• Verificabile. Trebuie evitate cerinte ca :”va furniza un raspuns rapid”,
“sistemul nu va cadea niciodata”, etc.
• Modificabile. Atunci cand o aceeasi cerinta apare in mai multe parti,
actualizarile documentului sunt mai greu de facut
• Usor de corelat cu cerinte formulate in alte documente, de ex. URD
Avantajele
• Sta la baza contractului dintre clienti si furnizori.
• Reduce efortul de dezvoltare.
• Sta la baza estimarii costurilor si a planificarii
• Permite planificarea testelor de verificare si validare
• Usureaza transferul produsului la noi utilizatori sau pe platforme noi.
• Serveste ca baza pentru viitoarele imbunatatiri sau modificari ale
produsului.
Tipurile de cerinţe
• Cerinţe utilizator
• Expuneri în limbaj natural plus diagrame ale serviciilor pe care le furnizează
sistemul şi constrângerile sale operaţionale. Scrise pentru clienţi.
• Cerinţe sistem
• Un document structurat care sa contina descrieri ale functionalitatii
sistemului, serviciile si operatiile pe care le permite. Se difineste ce va fi
implementat, deci poate fi vazut ca o parte a contractului dintre client si
contractor (producator).
Cerinţe funcţionale şi non-funcţionale
• Cerinţe funcţionale
• Descriu functiile pe care trebuie sa le realizeze sistemul, intr-un mod independent de
implementare.
• Ce transformari trebuie efectuate asupra intrarilor si ce iesiri trebuie sa se obtina pentru fiecare tip
de intrari.
• Precizarea serviciilor pe care trebuie să le ofere sistemul, cum trebuie să reacţioneze sistemul la
intrări particulare şi cum trebuie să se comporte sistemul în situaţii particulare.
• Cerinţe non-funcţionale
• Constrângeri asupra serviciilor sau funcţiilor oferite de sistem, cum ar fi constrângeri de timp,
constrîngeri asupra procesului de dezvoltare, standarde, etc.
• Cerinte de: performanta, interfata, de operare, de verificare, de portabilitate, de intretinere, de
fiabilitate
• Cerinţe de domeniu
• Cerinţe care vin din partea domeniului de aplicaţie a sistemului şi care reflectă caracteristicile
acelui domeniu.
Cerinţe funcţionale
• Descriu funcţionalitatea sau serviciile sistem.
• Depind de tipul de software, de utilizatorii preconizaţi şi de tipul
sistemului în care este utilizat software-ul.
• Cerinţele utilizator funcţionale pot fi expuneri de nivel înalt despre
ceea ce trebuie să facă sistemul.
• Cerinţele sistem funcţionale trebuie să descrie serviciile sistemului în
detaliu.
Imprecizia cerinţelor
• Dacă cerinţele nu sunt exprimate precis pot să apară probleme.
• Cerinţe ambigue pot fi interpretate în moduri diferite de către dezvoltatori şi
utilizatori.
• Considerăm termenul ‘instrumente de vizualizare corespunzătoare’
• Intenţia utilizatorului – instrumente de vizualizare specifice pentru fiecare tip de document;
• Interpretarea dezvoltatorului – Oferirea unui instrument simplu de vizualizare text care să
arate conţinutul documentului.
Completitudinea şi consistenţa cerinţelor
Organizaţionale Externe
Produs
Card
Card nu mb er
Card OK
PIN request
PIN
Optio n men u Validate card
<<exceptio n>>
in valid card
<<exceptio n>>
in sufficient cas h Deb it respo nse
Card
Card remo ved
Complete
Cash transaction
Cash removed
Receipt
Documentul cerinţelor
• Documentul cerinţelor este declaraţia oficială a ceea ce se cere de la
dezvoltatorii sistemului.
• Trebuie să includă atât o definiţie a cerinţelor utilizator cât şi o
specificaţie a cerinţelor sistem.
• NU este un document de proiectare. În măsura în care este posibil,
trebuie precizat CE, mai curând decât CUM, trebuie să facă sistemul.
Cazuri de utilizare (Use case)
• Actorii
• Actiunile
Creaza
utilizatori
Introduce
valutele
Administratorul Realizeaza
back-up-up