Sunteți pe pagina 1din 73

Inginerie software curs 3

Specificarea software-lui

Site:
http://www.info.uvt.ro/~cmindruta/Curs_IS_SwEng
Software Engineering (9th Edition) by Ian Sommerville.pdf

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Activitile procesului software

Specificarea software-lui

Procesul de stabilire a serviciilor cerute i a constrngerilor asupra


operrii i dezvoltrii sistemului.

Dezvoltarea (proiectarea i implementarea)


software-lui

Procesul de convertire a specificaiilor sistemului ntr-un sistem


executabil.

Validarea software-lui

Verificarea i validarea (V & V) au scopul de a arta c sistemul se


conformeaz specificaiilor sale i ndeplinete cerinele
clientului sistemului.

Evoluia software-lui

Procesul de evoluie a software-lui pe msura modificrii cerinelor.


Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

SPECIFICAREA SOFTWARE-lui

Cerinele software

Cerine funcionale
Cerine extra- funcionale
Cerine de domeniu
Cerine utilizator
Cerine sistem

Documentul cerinelor software


Procesul ingineriei cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Specificarea software-lui
Def. Specificarea software-lui = procesul de stabilire a
serviciilor necesare i a constrngerilor impuse
operrii i dezvoltrii sistemului.
Specificarea cerinelor software.
Def. Cerin pentru sistem software =
serviciu solicitat sistemului de catre client sau
constrngere de operare a sistemului sau
constrngere de dezvoltare a sistemului.
Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerina
Poate varia de la o descriere abstract de nivel nalt a
unui serviciu sau a unei constrngeri a sistemului
pn la o specificaie funcional precizat n detaliu
n termeni matematici.
Acest lucru este inevitabil deoarece cerinele pot servi unei funcii duale:

Pot fi baza unei licitaii pentru un contract WUHEXLHVILH


deschise ctre interpretare;

Pot fi baza contractului nsui trebuie definite n detaliu;

Ambele declaraii (abstract i detaliat) pot fi numite cerine.


Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Tipuri de cerine

Cerine utilizator

Expuneri n limbaj natural plus diagrame ale


serviciilorSHFDUHOHIXUQL]HD]VLVWHPXOi
constrngerilor sale de operare.

Cerine sistem

Un document structurat care precizeaz descrieri


detaliate ale funciilor, serviciilor i constrngerilor
de operare i de dezvoltare ale sistemului.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Exemplu: Definiii i specificaii


Definiie cerin utilizator:

1. Software-ul trebuie s ofere un mijloc de a reprezenta i accesa fiiere


externe create de alte instrumente.
Specificaie cerine sistem:

1.1 Utilizatorului trebuie s i se ofere faciliti de a defini tipuri de fiiere


externe.
1.2 Fiecare tip de fiier extern poate avea asociat un instrument care poate fi
aplicat fiierului.
1.3 Fiecare tip de fiier extern poate fi reprezentat sub forma unei pictograme
specifice pe display-ul utilizatorului.
1.4 Trebuie oferite faciliti pentru definirea de ctre utilizator a pictogramei
pentru reprezentarea unui tip de fiier extern.
1.5 Cnd un utilizator selecteaz o pictogram reprezentnd un fiier extern,
efectul selectrii este acela de a aplica instrumentul asociat tipului de fiier
extern fiierului reprezentat de pictograma selectat.
Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cititorii cerinelor

Cerine
utilizator

Manageri la client
Utilizatori finali ai sistemului
Ingineri la client
Manageri la contractori
Arhitecii sistemului

Cerine
sistem

Ingineri la client
Arhitecii sistemului
Dezvoltatorii de software
Inginerii de testare
Ingineri de mentenan

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

SPECIFICAREA SOFTWARE-lui

Cerinele software

Cerine funcionale
Cerine extra- funcionale
Cerine de domeniu
Cerine utilizator
Cerine sistem

Documentul cerinelor software


Procesul ingineriei cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine funcionale
Cerine extra-funcionale
Cerine de domeniu

Cerine funcionale
Descriu funcionalitatea (serviciile sistem).

Cerinele utilizator funcionale pot fi expuneri de


nivel nalt despre ceea ce trebuie s fac sistemul.

Cerinele sistem funcionale trebuie s descrie


serviciile sistemului n detaliu.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine funcionale
Cerine extra-funcionale
Cerine de domeniu

Exemplu: Sistemul LIBSYS


Sistemul LIBSYS OBIECTIVUL:

Un sistem de bibliotec ce ofer o interfa unic ctre mai multe


baze de date cu articole din diferite biblioteci.
Utilizatorii pot cuta, descrca i imprima aceste articole pentru
studiu individual.
Exemple de cerine funcionale:

Utilizatorul trebuie s poat cuta fie n ntregul set iniial al


bazelor de date fie s poat selecta un subset al acestuia.
Sistemul va oferi instrumente de vizualizare corespunztoare
pentru ca utilizatorul s citeasc documentele.
Fiecrui ordin i se va aloca un identificator unic (ORDER_ID)
pe care utilizatorul l va putea copia n zona de memorie
permanent a contului.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine funcionale
Cerine extra-funcionale
Cerine de domeniu

Imprecizia cerinelor

Dac cerinele nu sunt exprimate precis pot s


apar probleme.
Cerine ambigue pot fi interpretate n moduri diferite
de ctre dezvoltatori i utilizatori.

Exemplu: Considerm exprimarea instrumente de vizualizare


corespunztoare din exemplul prezentat n slide-ul anterior:

Intenia utilizatorului instrumente de vizualizare


specifice pentru fiecare tip de document;

Interpretarea dezvoltatorului Oferirea unui instrument


simplu de vizualizare text care s arate coninutul
documentului.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine funcionale
Cerine extra-funcionale
Cerine de domeniu

Completitudinea i consistena cerinelor


n principiu, cerinele trebuie s fie att complete ct i
consistente.

Complete

Trebuie s includ descrieri ale tuturor facilitilor necesare.

Consistente

Nu trebuie s existe conflicte sau contradicii n descrierile


facilitilor sistemului.

n practic, este foarte dificil s se produc un document al cerinelor


i complet i consistent.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine funcionale
Cerine extra-funcionale
Cerine de domeniu

Cerine extra-funcionale

Se refer la calitai emergente ale sistemului

Constrng sistemul ce trebuie dezvoltat

Constrng procesul de dezvoltare

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Tipuri de cerine extra-funcionale

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine funcionale
Cerine extra-funcionale
Cerine de domeniu

Cerine funcionale
Cerine extra-funcionale
Cerine de domeniu

eluri i cerine
Poate fi foarte dificil de precizat unele cerine extrafuncionale, iar cerine imprecise pot fi verificate cu
dificultate.

el

O intenie general a utilizatorului (ex. uurina n utilizare).

Cerin extra-funcional verificabil

O exprimare care utilizeaz o msur ce poate fi testat obiectiv.

elurile sunt utile dezvoltatorilor deoarece transmit inteniile


utilizatorilor sistemului.

Inginerii software trebuie s ncerce s le exprime sub


form de cerine extra-funcionale verificabile.
Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine funcionale
Cerine extra-funcionale
Cerine de domeniu

eluri i cerine

Un el al sistemului

- Exemple

Sistemul trebuie s fie uor de folosit de ctre controlorii


experimentai i trebuie organizat astfel nct s se
minimizeze erorile utilizatorilor.

O cerin extra-funcional verificabil (corespunztoare)

Controlorii experimentai trebuie s fie capabili s


utilizeze toate funciile sistemului dup un total de dou
ore de antrenament. Dup acest antrenament, numrul
mediu de erori efectuate de utilizatorii experimentai nu va
depi dou pe zi.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine funcionale
Cerine extra-funcionale
Cerine de domeniu

Msuri ale cerinelor - exemple


Proprietate

Msur

Vitez

Numrul de tranzacii procesate pe secund.


Timpul de rspuns la utilizator/eveniment.
Timpul de refresh al ecranului.

Mrime

M Bytes
Numrul de chip-uri ROM.

Uurin n utilizare

Timpul de instruire (antrenament).


Numrul de cadre (frames) al help-ului.

Fiabilitate

Timpul mediu ntre defectri.


Probabilitatea indisponibilitii.
Rata de apariie a defectelor.
Disponibilitate.

Robustee

Timpul de relansare dup defect.


Procentul evenimentelor care produc defecte.
Probabilitatea coruperii datelor la apariia unui defect.

Portabilitate

Procentul de instruciuni dependente de platforma int.


Numrul de sisteme (platforme) int.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine funcionale
Cerine extra-funcionale
Cerine de domeniu

Interaciunea cerinelor
n sisteme complexe apar n mod obinuit conflicte ntre
diferite cerine extra-funcionale.
Exemplu: Sistem pentru nav spaial

Pentru a minimiza greutatea, trebuie minimizat numrul


de chip-uri din sistem.

Pentru a minimiza consumul de energie, trebuie utilizate


chip-uri la puteri joase.

Totui, utiliznd chip-uri la puteri joase poate nsemna c


trebuie utilizate mai multe chip-uri. Care este cerina cea
mai critic?

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine funcionale
Cerine extra-funcionale
Cerine de domeniu

Cerine de domeniu

Derivate din domeniul aplicaiei.


Descriu caracteristicile i trasturile care reflect
domeniul sistemului.

pot fi cerine funcionale noi,


pot fi constrngeri asupra cerinelor existente
pot fi definiii ale unor operaii de calcul specifice.

Dac nu sunt satisfcute, sistemul poate fi nefuncional.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine funcionale
Cerine extra-funcionale
Cerine de domeniu

Cerine de domeniu: problematic

nelegere

Cerinele sunt exprimate n limbajul domeniului aplicaiei;

Acesta este deseori greu de neles pentru inginerii care


dezvolt sistemul.

Subnelegere

Specialitii domeniului neleg domeniul att de bine nct


nu consider c este necesar s expliciteze cerinele de
domeniu. Acestea li se par subnelese i implicite.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

SPECIFICAREA SOFTWARE-lui

Cerinele software

Cerine funcionale
Cerine extra- funcionale
Cerine de domeniu
Cerine utilizator
Cerine sistem

Documentul cerinelor software


Procesul ingineriei cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine utilizator
Cerine sistem

Cerine utilizator

Cerinele funcionale i extra-funcionale trebuie


descrise astfel nct s poat fi nelese de ctre
utilizatorii sistemului care nu au cunotine tehnice
de detaliu.
Sunt definite utiliznd limbaj natural, tabele i
diagrame, deoarece acestea pot fi nelese de toi
utilizatorii.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine utilizator
Cerine sistem

Cerine utilizator: Probleme cu limbajul natural

Lips de claritate

Confuzii ale cerinelor

Odat cu creterea preciziei exprimrii documentul


devine dificil de citit.

Se tinde ctre amestecarea cerinelor funcionale i


extra-funcionale.

Amalgamarea cerinelor

Mai multe cerine diferite ar putea fi exprimate


mpreun.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine utilizator
Cerine sistem

Exemplu: Cerin pentru editor gril


2.6 Facilitile grilei. Pentru a asista poziionarea
entitilor pe o diagram, utilizatorul poate solicita
afiarea unei grile n centimetri sau n inch-i, prin
intermediul unei opiuni de pe panoul de control. Iniial,
grila nu este vizibil. Grila poate fi fcut vizibil sau
invizibil oricnd n timpul unei sesiuni de editare i
poate fi comutat oricnd ntre inch-i i centimetri. Va fi
oferit o opiune a grilei pentru obinerea unei afiride
tip reduce-to-fitGDUQXPUXOGHOLQLLDOHJULOHLDILate
va fi redus pentru a evita umplerea cu linii ale grilei a
diagramelor mici.
CRITIC:

Cerina pentru gril amestec trei tipuri de cerine:


1.
2.
3.

Cerin funcional conceptual (necesitatea unei grile);


Cerin extra-funcional (unitile de msur pe gril);
Cerin extra-funcional pentru UI (comutarea afirii pe gril).

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine utilizator
Cerine sistem

Exemplu: Prezentare structurat

2.6.1 Facilitile grilei


Editorul va avea o facilitate gril, unde o matrice de linii orizontale
i verticale ofer un fundal pentru fereastra editorului. Aceast gril
va fi o gril pasiv n care alinierea entitilor este responsabilitatea
utilizatorului.
Motivare (raiune fundamental): O gril ajut utilizatorul n crearea unei
diagrame curate i cu entiti bine spaiate. Dei o gril activ, unde
entitile se autoaliniaz la liniile grilei poate fi util, poziionarea este
imprecis. Utilizatorul este persoana cea mai potrivit s decid
unde trebuie poziionate entitile.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine utilizator
Cerine sistem

Ghid pentru scrierea cerinelor utilizator

Inventai un format standard i utilizai-l pentru toate


cerinele.
Utilizai limbajul ntr-un mod consistent. Utilizai
trebuie pentru cerine obligatorii i ar trebui pentru
cerine dezirabile.
Utilizai evidenierea textului pentru a identifica prile
cheie ale cerinei.
Evitai utilizarea jargonului de specialitate (IT).

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine utilizator
Cerine sistem

Cerine sistem
Def. Cerine sistem = specificaii, mai detaliate dect
cerinele utilizator, ale funciilor, serviciilor i
constrngerilor de operare i de dezvoltare ale
sistemului.

Sunt destinate s constituie baza pentru proiectarea


sistemului.
Pot fi incorporate n contractul sistemului.
Pot fi definite sau ilustrate utiliznd modele de
sistem.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine utilizator
Cerine sistem

Cerinele i proiectarea
n principiu:

cerineleWUHEXLHVH[SULPHFHHDCEWUHEXLHV
fac sistemul
proiectareaWUHEXLHVGHVFULHCUMVHUHDOL]HD]
aceasta.

n practic, cerinele i proiectarea sunt inseparabile

Pentru a structura cerinele se poate proiecta o


arhitectur a sistemului;

Sistemul poate s inter-opereze cu alte sisteme care


genereaz cerine de proiectare;

Utilizarea unei anumit model de proiect poate fi o cerin


de domeniu.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine utilizator
Cerine sistem

Probleme cu specificarea n limbaj natural

Ambiguitate

Supra-flexibilitate

Cititorii i editorii cerinei trebuie s interpreteze


aceleai cuvinte n acelai fel. Limbajul natural este
inerent ambiguu astfel nct acest lucru este dificil.

Acelai lucru poate fi spus n mai multe moduri n


specificaie.

Lipsa modularizrii

Structurile limbajului natural nu sunt adecvate


structurrii cerinelor sistem.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Cerine utilizator
Cerine sistem

Alternative la specificarea n limbaj natural


Notaie

Descriere

Limbaj natural Abordare ce depinde de definirea de forme sau tipare (templates)


structurat
standard pentru a exprima specificaiile cerinelor.
Limbaje de
descriere a
modelului
proiect (design)

Abordare care utilizeaz un limbaj de tipul limbajelor de programare,


dar cu caracteristici mai abstracte, pentru a specifica cerinele prin
definirea unui model operaional al sistemului. Abordare puin
rspndit care poate fi util pentru specificaiile de interfa.

Notaii grafice

Limbaj grafic, suplimentat cu adnotri textuale utilizat pentru a defini


cerinele funcionale pentru sistem. Un exemplu timpuriu al unui
astfel de limbaj a fost SADT (Structured Analysis and Design
Technique). n prezent se folosete UML.

Specificaii
matematice

Notaii bazate pe concepte matematice ca cel de main cu stri


finite sau cel de mulime (set). Aceste specificaii neambigue reduc
disputele ntre client i contractor referitoare la funcionalitatea
sistemului. Majoritatea clienilor nu neleg specificaiile formale i
sunt refractari n acceptarea lor ca i contract pentru sistem.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

SPECIFICAREA SOFTWARE-lui

Cerinele software

Cerine funcionale
Cerine extra- funcionale
Cerine de domeniu
Cerine utilizator
Cerine sistem

Documentul cerinelor software


Procesul ingineriei cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Documentul cerinelor software

Documentul cerinelor este declaraia oficial a ceea


ce se cere de la dezvoltatorii sistemului.
Trebuie s includ att o definiie a cerinelor utilizator ct i o
specificaie a cerinelor sistem.
NU este un document de proiectare. n msura n care este
posibil, trebuie precizat CE,PDLFXUkQGGHFkW&80, trebuie s
fac sistemul.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Standardul IEEE pentru cerine


Definete o structur generic pentru un document de cerine ce trebuie instaniat
pentru fiecare sistem specific.

Introducere

Scopul documentului cerinelor


Domeniul produsului
Definiii, acronime i abrevieri
Referine
Rezumat al restului documentului

Descriere general

Adapted after Ian Sommerville 2010

Perspectiva produsului
Funciile produsului
Caracteristicile utilizator
Constrngeri generale
Premize i dependene

Software Engineering, 9th edition. Chapter 4

Standardul IEEE pentru cerine


(continuare)

Cerine specifice.
Funcionale
extra-funcionale
De interfa

Cea mai substanial parte a documentului


Variabilitate mare n practica organizaional nu are
o structur standard
Apendice.
Index.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

SPECIFICAREA SOFTWARE-lui

Cerinele software

Cerine funcionale
Cerine extra- funcionale
Cerine de domeniu
Cerine utilizator
Cerine sistem

Documentul cerinelor software


Procesul ingineriei cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Procesul ingineriei cerinelor


Def. Ingineria cerinelor = procesul de identificare,
analiz, documentare, validare i gestionare a
cerinelor software.
Scop: crearea i ntreinerea unui document al
cerinelor pentru sistemul software.
Activitile procesului:

Studiu de fezabilitate;

Identificarea i analiza cerinelor;

Validarea cerinelor;

Managementul cerinelor.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Procesul ingineriei cerinelor

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Studiu de fezabilitate

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Studiul de fezabilitate decide dac sistemul


propus merit sau nu a fi dezvoltat.

Este un studiu scurt i concentrat care verific dac:

sistemul contribuie la obiectivele organizaionale;

sistemul poate fi realizat utiliznd tehnologiile curente


i bugetul alocat;

sistemul poate fi integrat cu alte sisteme utilizate.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Identificarea i analiza cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Numit i extragerea sau descoperirea cerinelor.


Implic activiti n comun ale personalului tehnic cu clienii pentru a nelege:

domeniul aplicaiei;
serviciile pe care sistemul trebuie s le ofere;
constngerile operaionale ale sistemului.

Stakeholder-ii (prile interesate, partenerii)= persoanele i


asociaiile implicate.
Exemple:

Utilizatori finali
Manageri
Ingineri implicai n ntreinere
Experi ai domeniului
Sindicate, etc.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Analiza cerinelor: problematic

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Prile interesate nu tiu exact ce vor.

Prile interesate exprim cerinele n termenii lor proprii.

Diferite pri interesate pot avea cerine contradictorii


(conflictuale).
Factorii organizaionali i politici pot influena cerinele
sistemului.
Modificarea cerinelor n timpul procesului de analiz:

Pot s apar noi pri interesate.

Se poate schimba contextul economic.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Activitile

Adapted after Ian Sommerville 2010

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Software Engineering, 9th edition. Chapter 4

Descoperirea cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Def. Descoperirea cerinelor = activitatea (sub-procesul)


de culegere de informaii despre sistemele propuse i
cele existente i distilarea cerinelor utilizator i sistem
din aceste informaii.

Surse de informaii:
Documentaii;
Prile interesate n sistem (stakeholders);
Specificaii ale unor sisteme similare.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Metod de descoperire: Intervievare

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Interviurile sunt utile pentru a nelege n general ceea ce fac


prile interesate i modul n care ar putea interaciona cu
sistemul.
Intervieviatorii trebuie s fie cu mintea deschis, s doreasc
s asculte prile interesate i s nu aib idei preconcepute
despre cerine.
Trebuie s formuleze ntrebri sau propuneri concrete i s nu
se atepte pur i simplu s li se rspund la ntrebarea ce
dorii ?.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Metod de descoperire: Etnografie

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Sociologii petrec un timp considerabil observnd i analiznd modul n


care oamenii lucreaz.
Oamenii nu trebuie s explice sau s formuleze n cuvinte modul n care
lucreaz.
Se pot observa factori sociali i organizaionali importani.
Studii etnografice arat c modul de lucru este de obicei mai bogat i mai
complex dect este sugerat prin diferite modele ale sistemului.
Cerinele sunt derivate din modul n care oamenii lucreaz n realitate i
nu din modul n care definiiile procesului sugereaz c ar trebui s
lucreze.
Metod potrivit i pentru nelegerea cerinelor de domeniu.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Puncte de vedere

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Def. Punctele de vedere sunt un mod de a structura


cerinele astfel nct s reprezinte perspectivele
diferitelor pri interesate.
Obs. Fiecare punct de vedere ofer o nou perspectiv asupra
sistemului; aceste perspective nu sunt complet independente
de obicei se suprapun propunnd astfel cerine comune.

Aceast analiz multi-perspectiv este important


deoarece nu exist un mod unic corect de a analiza
cerinele sistemului.
Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Exemplu:
Ierarhia punctelor de vedere (PV)
la sistemul LIBSYS

Toate PV

Indirect

Manager
bibliotec

Financiar

Studeni

Interactor

Furnizorii de
articole

Personal

Adapted after Ian Sommerville 2010

Utilizatorii

Externi

Domeniu

Personalul
bibliotecii

Standarde
UI

Managerii
sistemului

Personal pentru
catalogare

Software Engineering, 9th edition. Chapter 4

Sistem de
clasificare

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Exprimarea cerinelor
1. Scrierea formalizat a cerinei
ID.nume intrare-proces-ieire
Exemplu :

ID&nume
cerin
2.4
nscriere
student

Intrare
-Lista de
cursuri

Proces
-nscriere student la
cursurile selectate

-naintare
cerere

-Afiare mesaj
acceptare
-Cerere mesaj
confirmare

2.Folosire scenarii de cazuri de utilizare


Adapted after Ian Sommerville 2010

Ieire

Software Engineering, 9th edition. Chapter 4

Analiza cerinelor - categorizare

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Gruparea cerinelor:
Scop :
Identificarea inconsistenelor ntre grupuri de cerine i a
posibilelor incompletitudini ale cerinelor.
Exemple de metodologii:
1. Folosind fluxul business
2. Folosind cazuri de utilizare OO

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Analiza cerinelor - categorizare

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Gruparea cerinelor dup fluxul business.


Categorie cerine

Prefix

Ex. numerotare cerine

Flux business

BF

BF-1, BF-2

Funcionalitate individual

IF

IF-1.1, IF-1.2, IF-1.3, IF-2.1

Date i format date

DF

DF-1.1, DF-1.2, DF-2.1

Interfa utilizator

UI

UI-1.1, UI-1.2, UI-2.1, UI-2.1

Interfa cu alte sisteme

IS

IS-1

Caliti i constrngeri

QC

QC-1, QC-2, QC-3

Obs. Toate IF-x.y , DF-x.z, UI-x.w sunt asociate (n general) cu BF-x.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Analiza cerinelor - categorizare

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Gruparea cerinelor dup cazuri de utilizare OO

Cazurile de utilizare sunt tehnici bazate pe


scenariuXWLOL]kQGUHSUH]HQWUL80/, care:

identific actorii implicai ntr-o interaciune,

descriu interaciunea nsi.

Un set de cazuri de utilizare descriu toate


interaciunile posibile cu sistemul.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Analiza cerinelor - categorizare

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Gruparea cerinelor dup cazuri de utilizare OO


Caz de utilizare
Reprezint o funcionalitateRIHULWGHVLVWHP
n contextului su format din actori.
Definete cerine despre CE trebuie s
efectueze sistemul. (cerine funcionale).
Actor
Orice entitate extern care interacioneaz
cu sistemul prin intermediul unei interfee.
Limit sistem
Delimiteaz ceea ce este inclus n
sistem de ceea ce este n afara sa i
interacioneaz cu el.
Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Analiza cerinelor - categorizare

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Gruparea cerinelor dup cazuri de utilizare OO


Metodologie :
1.

Identificare actori

2.

Identificare cazuri de utilizare corespunztoare

3.

Identificare condiii de stabilirea a limitelor sistemului

Cu metodologii bazate pe cazuri de utilizare cerinele


sunt exprimate, grupate i puse n legtur
corespunztoare cu actorii.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Exemplu:
Cazuri de utilizare ale sistemului LIBSYS

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Exemplu:
Cazul de utilizare Print article

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Scenarii

Def. Scenariile sunt exemple din viaa real referitoare la


modul n care sistemul poate fi utilizat.
n mod fundamental, un caz de utilizare descrie:

FunciaGHED]

Orice precondiie pentru funcionalitate

Fluxul principal de evenimente (scenariul) pentru


funcie

Orice condiie de eroare i descriere flux alternativ

Informaii despre alte activiti concurente

Orice postcondiie pentru funcionalitate

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Exemplu: scenariu n cadrul sistemului LIBSYS (1)

Precondiie: Utilizatorul s-a conectat (logat) la sistemul LIBSYS i a localizat


revista care conine copia articolului.
Flux principal: Utilizatorul selecteaz articolul de copiat. Sistemul i solicit
acestuia fie s furnizeze informaia de abonat pentru revist fie s indice cum
va plti articolul. Metodele alternative de plat sunt prin carte de credit sau
prin cont bancar.
Utilizatorul este apoi solicitat s completeze formularul de copyright cu
detaliile tranzaciei i s l transmit sistemului LIBSYS.
Formularul de copyright este verificat i, dac e valid, versiunea PDF a
articolului este descrcat n zona de lucru a sistemului LIBSYS de pe
calculatorul utilizatorului, iar utilizatorul este informat c acesta este
disponibil. Utilizatorului i se cere s selecteze o imprimant, dup care pe
aceasta este imprimat o copie a articolului. Dac articolul a fost marcat cu
print-only atunci el este ters de pe sistemul utilizatorului imediat ce
utilizatorul a confirmat c imprimarea s-a ncheiat.
Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Exemplu: scenariu n cadrul sistemului LIBSYS (2)


Fluxuri alternative 1. Utilizatorul poate grei la completarea formularului de
copyright. n acest caz formularul trebuie re-prezentat utilizatorului pentru
corectare. Dac formularul retransmis este tot incorect atunci este respins
cererea utilizatorului pentru articol.
2. Plata ar putea fi respins de ctre sistem. Cererea utilizatorului pentru
articol este, de asemenea, respins.
3. Descrcarea articolului poate s eueze. Se re-ncearc pn se
reuete sau pn utilizatorul nchide sesiunea.
4. Ar putea s nu fie posibil imprimarea articolului. Dac articolul nu este
marcat ca print-onlyDWXQFLHVWHSVWUDWn spaiul de lucru al sistemului
LIBSYS. Altfel, articolul este ters iar contul utilizatorului este creditat cu
costul articolului.
Alte activiti: Descrcri simultane ale altor articole.
Postcondiie: Utilizatorul este conectat. ArticolulGHVFUFDWDIRVWters din
spaiul de lucru al sistemului LIBSYS dac a fost marcat ca print-only.
Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Analiza cerinelor - prioritizare

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Bazat pe constrngeri de dezvoltare i pe sursele cerinelor.


Constrngeri:
Resurse limitate
Timp limitat
Faciliti tehnice limitate
Cerinele cu prioriti maxime sunt cele dezvoltate i lansate
utilizatorilor mai nti.
Criterii (exemple):

Cererile actuale ale clientului

Condiiile de competiie pe piaa curent

Nevoi viitoare i noi ale clienilor

Avantaj imediat al vnzrilor

Probleme critice n produsul existent, etc.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Analiza cerinelor - trasabilitate

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Motivaie: Abilitatea de a testa dup dezvoltare i de a verifica


faptul c toate cerinele au fost dezvoltate, testate,
mpachetate i furnizate.
Precondiie: cerinele sunt identificate n mod unic.
Tipuri de trasabilitate:
Backward from cerina este legat la documentul surs sau
persoana ce a create-o.
Forward from cerina legat la modelul proiect i la implementare
Backward to modelul proiect i implementarea legate la cerin.
Forward from documentele precedente cerinei legate la cerin.
Matricea relaiilor ntre cerine corelarea cerinelor.
Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Validarea cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Se ocup cu demonstrarea faptului c cerinele


definesc sistemul pe care clientul l dorete cu
adevrat.
Costurile erorilor la nivelul cerinelor este ridicat,
deci validarea este foarte important

Eliminarea unei erori la nivelul cerinelor dup livrare ar


putea ajunge la pn de 100 de ori costul eliminrii unei
erori de implementare.

Obs. Validarea se suprapune cu analiza n sensul


descoperirii unor probleme legate de cerine.
Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Requirement checking

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Verificabilitate. Cerina se poate verifica (msura)?

nelegere. Cerina este corect neleas?

Trasabilitate. Originea cerinei este precizat clar?

Adaptabilitate. Cerina se poate modifica fr impact


important asupra altor cerine?

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Verificarea cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Validitate. Furnizeaz sistemul acele funcii care


ofer cel mai bun suport necesitilor clientului?
Consisten. Exist conflicte ntre cerine?
Completitudine. Sunt incluse toate funciile solicitate
de client?
Realism. Cerinele pot fi implementate cu bugetul i
tehnologiile disponibile?

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Tehnici pentru validarea cerinelor

Revizuiri ale cerinelor

Analiz manual sistematic a cerinelor.

Prototipare

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Utilizarea unui model executabil al sistemului pentru a


certifica cerinele.

Generare de cazuri de testare

Dezvoltarea de teste ale cerinelor pentru a verifica


testabilitatea lor.

Obs. Aceste tehnici pot fi utilizate n mod conjugat sau individual.


Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Revizuiri ale cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Pe perioada formulrii definiiilor cerinelor sunt


necesare revizuiri regulate ale acestora.
n revizuiri trebuie implicat att personalul de la client ct
i cel de la contractor.
Revizuirile pot fi formale (cu documente complete) sau
informale.
O comunicare bun ntre dezvoltatori, clieni i utilizatori
poate rezolva probleme nc din stadii incipiente.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Managementul cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Def. Managementul cerinelor este procesul de


gestionare a cerinelor n schimbare n timpul
procesului de inginerie a cerinelor i a dezvoltrii
sistemului.
Cerinele sunt n mod inevitabil incomplete i
inconsistente

Cerine noi apar n timpul procesului pe msur ce


necesitile economice (business) se modific i se
dezvolt o mai bun nelegere a sistemului;

Puncte de vedere diferite pot avea cerine diferite iar


acestea sunt deseori contradictorii.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Modificarea cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Exemple de cauze ale modificrii cerinelor:

Prioritatea cerinelor diferitelor puncte de vedere se modific


n timpul procesului de dezvoltare.
Clienii sistemului pot specifica cerine dintr-o perspectiv
economic, care pot fi n conflict cu cerinele utilizatorilor
finali.
Contextul economic i tehnic se schimb n timpul
dezvoltrii sistemului.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Evoluia cerinelor

Adapted after Ian Sommerville 2010

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Software Engineering, 9th edition. Chapter 4

Cerine durabile i volatile

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Cerine durabile. Cerine stabileGHULYDWHGLQDFWLYLWDWHD


de baz a organizaiei clientului.
Derivate din modelele domeniului.

Exemplu: un spital va avea ntotdeauna doctori, tratamente, etc.

Cerine volatile. Cerine care se schimb n timpul


dezvoltrii sau utilizrii sistemului.

Exemplu: ntr-un spital - cerinele derivate din politica de asigurare a sntii.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Clasificarea cerinelor
din punct de vedere a managementului lor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Tip cerin

Descriere

Mutabil

Cerine care se modific datorit schimbrilor aprute n contextul n


care opereaz organizaia. De exemplu, n sisteme destinate
spitalelor, finanarea pacienilor se poate modifica iar acest lucru
necesit colectarea de informaii pentru tratamente diferite.

Emergent

Cerine care apar pe msur ce, odat cu dezvoltarea sistemului, se


dezvolt nelegerea acestuia de ctre client. Procesul de proiectare
poate revela noi cerine emergente.

Consecin

Cerine care apar ca urmare a introducerii sistemului de calcul.


Introducerea sistemului de calcul poate schimba procesele
organizaiei i poate deschide noi ci de a lucra, genernd noi
cerine pentru sistem.

Compatibilitate Cerine care depind de sistemele sau de procesele economice


particulare unei organizaii. Pe msur ce acestea se schimb,
cerinele de compatibilitate impuse sistemului contractat sau livrat ar
putea, de asemenea, s se dezvolte.
Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Planificarea managementului cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

n timpul procesului de inginerie a cerinelor trebuie planificate:

Identificarea cerinelor
Cum se identific cerinele in mod individual;

Un proces de management al schimbrilor


Procesul de urmat la analiza unei schimbri la cerine;
Politicile de urmrire
Cantitatea de informaii pstrat referitoare la relaiile ntre
cerine;
Instrumentul CASE suport
Instrumentul suport necesar pentru a gestiona schimbarea
cerinelor;
Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Instrument CASE suport

Memorarea cerinelor

Cerinele trebuie gestionate ntr-un depozit de date


sigur i manevrabil.

Managementul schimbrilor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Procesul de management al schimbrilor este un


proces de tip flux de activiti pentru care se pot defini
mai multe stadii, iar fluxul de informaii ntre aceste
stadii poate fi parial automatizat.

Managementul posibilitii de urmrire

Extragerea automat a legturilor dintre cerine.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Managementul schimbrii cerinelor

Studiu de fezabilitate
Identificarea i analiza cerinelor
Validarea cerinelor
Managementul cerinelor

Trebuie aplicat tuturor schimbrilor propuse pentru cerine.

Activitile principale
Analiza problemei. Discutarea problemei aprut la cerine,
verificarea validitii ei i propunerea de schimbri;
Analiza schimbrii i costurilor ei. Evaluarea efectelor
schimbrii asupra altor cerine;
Implementarea schimbrii. Modificarea documentului
cerinelor i a altor documente pentru a reflecta schimbarea.
Recomandare: minimizarea referinelor externe i modularizarea
seciunilor documentului.

Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

Rezumat
Cerinele software specific serviciile solicitate sistemului de ctre
client sau constrngerile de operare sau de dezvoltare a
sistemului.
Cerinele se pot clasifica n cerine funcionale, extra-funcionale i
de domeniu sau n cerine utilizator i cerine sistem.
Procesul de inginerie a cerinelor este un proces iterativ care
include descoperirea, analiza i specificarea, validarea i
managementul cerinelor.
Procesul ingineriei cerinelor are ca principal obiectiv crearea i
ntreinerea unui document ce conine specificaiile tuturor
cerinelor pentru sistemul software.
Adapted after Ian Sommerville 2010

Software Engineering, 9th edition. Chapter 4

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