Inginerie Software c3

73
Adapted after 'Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4 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

Transcript of Inginerie Software c3

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Inginerie software curs 3Specificarea software-lui

    Site: http://www.info.uvt.ro/~cmindruta/Curs_IS_SwEng

    Software Engineering (9th Edition) by Ian Sommerville.pdf

    id17156910 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Activitile procesului software

    Specificarea software-luiProcesul de stabilire a serviciilor cerute i a constrngerilor asupra

    operrii i dezvoltrii sistemului. Dezvoltarea (proiectarea i implementarea)

    software-luiProcesul de convertire a specificaiilor sistemului ntr-un sistem

    executabil. Validarea software-luiVerificarea i validarea (V & V) au scopul de a arta c sistemul se

    conformeaz specificaiilor sale i ndeplinete cerinele clientului sistemului.

    Evoluia software-luiProcesul 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

    Documentul cerinelor software Procesul ingineriei cerinelor

    Studiu de fezabilitate Identificarea i analiza cerinelor Validarea cerinelor Managementul cerinelor

    Cerine utilizatorCerine sistem

    Cerine funcionaleCerine extra- funcionaleCerine de domeniu

  • 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 sauconstrngere de operare a sistemului sauconstrngere 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 detaliun termeni matematici.

    Acest lucru este inevitabil deoarece cerinele pot servi unei funcii duale:

    Pot fi baza unei licitaii pentru un contract WUHEXLHVILHdeschise 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

    Definiie cerin utilizator:

    Specificaie cerine sistem:

    Exemplu: Definiii i specificaii

    1. Software-ul trebuie s ofere un mijloc de a reprezenta i accesa fiiereexterne create de alte instrumente.

    1.1 Utilizatorului trebuie s i se ofere faciliti de a defini tipuri de fiiereexterne.1.2 Fiecare tip de fiier extern poate avea asociat un instrument care poate fiaplicat fiierului.1.3 Fiecare tip de fiier extern poate fi reprezentat sub forma unei pictogramespecifice pe display-ul utilizatorului.1.4 Trebuie oferite faciliti pentru definirea de ctre utilizator a pictogrameipentru 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 fiierextern fiierului reprezentat de pictograma selectat.

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Cititorii cerinelor

    Cerine utilizator

    Manageri la clientUtilizatori finali ai sistemuluiIngineri la clientManageri la contractoriArhitecii sistemului

    Cerine sistem

    Ingineri la clientArhitecii sistemuluiDezvoltatorii de softwareInginerii de testareIngineri de mentenan

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    SPECIFICAREA SOFTWARE-lui

    Cerinele software

    Documentul cerinelor software Procesul ingineriei cerinelor

    Studiu de fezabilitate Identificarea i analiza cerinelor Validarea cerinelor Managementul cerinelor

    Cerine utilizatorCerine sistem

    Cerine funcionaleCerine extra- funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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.

    Cerine funcionaleCerine extra-funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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.

    Cerine funcionaleCerine extra-funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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.

    Cerine funcionaleCerine extra-funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Completitudinea i consistena cerinelor

    n principiu, cerinele trebuie s fie att complete ct iconsistente.

    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.

    Cerine funcionaleCerine extra-funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Cerine extra-funcionale

    Se refer la calitai emergente ale sistemului

    Constrng sistemul ce trebuie dezvoltat

    Constrng procesul de dezvoltare

    Cerine funcionaleCerine extra-funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Tipuri de cerine extra-funcionaleCerine funcionaleCerine extra-funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    eluri i cerine

    Poate fi foarte dificil de precizat unele cerine extra-funcionale, 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.

    Cerine funcionaleCerine extra-funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    eluri i cerine - Exemple

    Un el al sistemului 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.

    Cerine funcionaleCerine extra-funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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.

    Cerine funcionaleCerine extra-funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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?

    Cerine funcionaleCerine extra-funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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.

    Cerine funcionaleCerine extra-funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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.

    Cerine funcionaleCerine extra-funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    SPECIFICAREA SOFTWARE-lui

    Cerinele software

    Documentul cerinelor software Procesul ingineriei cerinelor

    Studiu de fezabilitate Identificarea i analiza cerinelor Validarea cerinelor Managementul cerinelor

    Cerine utilizatorCerine sistem

    Cerine funcionaleCerine extra- funcionaleCerine de domeniu

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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.

    Cerine utilizatorCerine sistem

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Cerine utilizator: Probleme cu limbajul natural

    Lips de claritate Odat cu creterea preciziei exprimrii documentul

    devine dificil de citit.

    Confuzii ale cerinelor Se tinde ctre amestecarea cerinelor funcionale i

    extra-funcionale.

    Amalgamarea cerinelor Mai multe cerine diferite ar putea fi exprimate

    mpreun.

    Cerine utilizatorCerine sistem

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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. Cerin funcional conceptual (necesitatea unei grile);2. Cerin extra-funcional (unitile de msur pe gril);3. Cerin extra-funcional pentru UI (comutarea afirii pe gril).

    Cerine utilizatorCerine sistem

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Exemplu: Prezentare structurat

    2.6.1 Facilitile grileiEditorul va avea o facilitate gril, unde o matrice de linii orizontalei verticale ofer un fundal pentru fereastra editorului. Aceast grilva fi o gril pasiv n care alinierea entitilor este responsabilitatea utilizatorului.Motivare (raiune fundamental): O gril ajut utilizatorul n crearea uneidiagrame 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.

    Cerine utilizatorCerine sistem

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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).

    Cerine utilizatorCerine sistem

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Cerine sistem

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

    Sunt destinate s constituie baza pentru proiectarea sistemului.

    Pot fi incorporate n contractul sistemului.

    Pot fi definite sau ilustrate utiliznd modele de sistem.

    Cerine utilizatorCerine sistem

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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.

    Cerine utilizatorCerine sistem

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Probleme cu specificarea n limbaj natural

    Ambiguitate Cititorii i editorii cerinei trebuie s interpreteze

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

    Supra-flexibilitate Acelai lucru poate fi spus n mai multe moduri n

    specificaie.

    Lipsa modularizrii Structurile limbajului natural nu sunt adecvate

    structurrii cerinelor sistem.

    Cerine utilizatorCerine sistem

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Alternative la specificarea n limbaj natural

    Cerine utilizatorCerine sistem

    Notaii bazate pe concepte matematice ca cel de main cu strifinite sau cel de mulime (set). Aceste specificaii neambigue reducdisputele ntre client i contractor referitoare la funcionalitateasistemului. Majoritatea clienilor nu neleg specificaiile formale isunt refractari n acceptarea lor ca i contract pentru sistem.

    Specificaiimatematice

    Limbaj grafic, suplimentat cu adnotri textuale utilizat pentru a definicerinele funcionale pentru sistem. Un exemplu timpuriu al unuiastfel de limbaj a fost SADT (Structured Analysis and DesignTechnique). n prezent se folosete UML.

    Notaii grafice

    Abordare care utilizeaz un limbaj de tipul limbajelor de programare,dar cu caracteristici mai abstracte, pentru a specifica cerinele prindefinirea unui model operaional al sistemului. Abordare puinrspndit care poate fi util pentru specificaiile de interfa.

    Limbaje dedescriere amodeluluiproiect (design)

    Abordare ce depinde de definirea de forme sau tipare (templates) standard pentru a exprima specificaiile cerinelor.

    Limbaj naturalstructurat

    DescriereNotaie

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    SPECIFICAREA SOFTWARE-lui

    Cerinele software

    Documentul cerinelor software Procesul ingineriei cerinelor

    Studiu de fezabilitate Identificarea i analiza cerinelor Validarea cerinelor Managementul cerinelor

    Cerine utilizatorCerine sistem

    Cerine funcionaleCerine extra- funcionaleCerine de domeniu

  • 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 Perspectiva produsului Funciile produsului Caracteristicile utilizator Constrngeri generale Premize i dependene

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Standardul IEEE pentru cerine

    (continuare) Cerine specifice.

    Funcionale extra-funcionale De interfa

    Cea mai substanial parte a documentuluiVariabilitate 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

    Documentul cerinelor software Procesul ingineriei cerinelor

    Studiu de fezabilitate Identificarea i analiza cerinelor Validarea cerinelor Managementul cerinelor

    Cerine utilizatorCerine sistem

    Cerine funcionaleCerine extra- funcionaleCerine de domeniu

  • 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

    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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Identificarea i analiza 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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Analiza cerinelor: problematic

    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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Activitile

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Descoperirea 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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Metod de descoperire: Intervievare

    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 ?.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Metod de descoperire: Etnografie

    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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Puncte de vedere

    Def. Punctele de vedere sunt un mod de a structura cerinele astfel nct s reprezinte perspectivelediferitelor 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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

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

    Furnizorii dearticoleFinanciar

    Managerbibliotec

    PersonalulbiblioteciiUtilizatorii

    InteractorIndirect

    Toate PV

    Sistem declasificare

    Domeniu

    ExterniPersonalStudeniPersonal pentrucatalogare

    Manageriisistemului

    StandardeUI

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Exprimarea cerinelor

    1. Scrierea formalizat a cerineiID.nume intrare-proces-ieireExemplu :

    2.Folosire scenarii de cazuri de utilizare

    -Afiare mesaj acceptare-Cerere mesaj confirmare

    -nscriere student la cursurile selectate

    -Lista decursuri-naintare cerere

    2.4 nscriere student

    IeireProcesIntrareID&numecerin

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Analiza cerinelor - categorizare

    Gruparea cerinelor:Scop :Identificarea inconsistenelor ntre grupuri de cerine i a

    posibilelor incompletitudini ale cerinelor.

    Exemple de metodologii:1. Folosind fluxul business2. Folosind cazuri de utilizare OO

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Gruparea cerinelor dup fluxul business.

    QCISUIDFIFBFPrefix

    QC-1, QC-2, QC-3IS-1UI-1.1, UI-1.2, UI-2.1, UI-2.1DF-1.1, DF-1.2, DF-2.1IF-1.1, IF-1.2, IF-1.3, IF-2.1BF-1, BF-2

    Ex. numerotare cerine

    Caliti i constrngeriInterfa cu alte sistemeInterfa utilizatorDate i format dateFuncionalitate individualFlux business

    Categorie cerine

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

    Analiza cerinelor - categorizare

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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.

    Analiza cerinelor - categorizare

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Gruparea cerinelor dup cazuri de utilizare OOCaz de utilizareReprezint o funcionalitateRIHULWGHVLVWHPn contextului su format din actori.Definete cerine despre CE trebuie sefectueze sistemul. (cerine funcionale).ActorOrice entitate extern care interacioneazcu sistemul prin intermediul unei interfee.

    Limit sistemDelimiteaz ceea ce este inclus n sistem de ceea ce este n afara sa i interacioneaz cu el.

    Analiza cerinelor - categorizare

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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 cerinelesunt exprimate, grupate i puse n legturcorespunztoare cu actorii.

    Analiza cerinelor - categorizare

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Exemplu:Cazuri de utilizare ale sistemului LIBSYS

    Exemplu:Cazul de utilizare Print article

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Exemplu: scenariu n cadrul sistemului LIBSYS (1)

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

    Precondiie: Utilizatorul s-a conectat (logat) la sistemul LIBSYS i a localizatrevista care conine copia articolului.Flux principal: Utilizatorul selecteaz articolul de copiat. Sistemul i solicitacestuia 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

    Exemplu: scenariu n cadrul sistemului LIBSYS (2)

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

    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

    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.

    Analiza cerinelor - prioritizare

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Analiza cerinelor - trasabilitate

    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 implementareBackward to modelul proiect i implementarea legate la cerin.Forward from documentele precedente cerinei legate la cerin.Matricea relaiilor ntre cerine corelarea cerinelor.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Validarea 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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Requirement checking

    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?

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Verificarea 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?

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Tehnici pentru validarea cerinelor

    Revizuiri ale cerinelor Analiz manual sistematic a cerinelor.

    Prototipare 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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Revizuiri ale 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) sauinformale.

    O comunicare bun ntre dezvoltatori, clieni i utilizatori poate rezolva probleme nc din stadii incipiente.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    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 iinconsistente 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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Modificarea 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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Evoluia cerinelor

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Cerine durabile i volatile

    Cerine durabile. Cerine stabileGHULYDWHGLQDFWLYLWDWHDde 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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Clasificarea cerinelordin punct de vedere a managementului lor

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

    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.

    Compatibilitate

    Cerine care apar ca urmare a introducerii sistemului de calcul. Introducerea sistemului de calcul poate schimba proceseleorganizaiei i poate deschide noi ci de a lucra, genernd noicerine pentru sistem.

    Consecin

    Cerine care apar pe msur ce, odat cu dezvoltarea sistemului, se dezvolt nelegerea acestuia de ctre client. Procesul de proiectarepoate revela noi cerine emergente.

    Emergent

    Cerine care se modific datorit schimbrilor aprute n contextul ncare opereaz organizaia. De exemplu, n sisteme destinate spitalelor, finanarea pacienilor se poate modifica iar acest lucru necesit colectarea de informaii pentru tratamente diferite.

    MutabilDescriereTip cerin

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Planificarea managementului cerinelor

    n timpul procesului de inginerie a cerinelor trebuie planificate: Identificarea cerinelorCum se identific cerinele in mod individual;

    Un proces de management al schimbrilorProcesul de urmat la analiza unei schimbri la cerine;

    Politicile de urmrireCantitatea de informaii pstrat referitoare la relaiile ntre

    cerine;

    Instrumentul CASE suportInstrumentul suport necesar pentru a gestiona schimbarea

    cerinelor;

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul 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 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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • Adapted after Ian Sommerville 2010 Software Engineering, 9th edition. Chapter 4

    Managementul schimbrii cerinelorTrebuie aplicat tuturor schimbrilor propuse pentru cerine.

    Activitile principaleAnaliza 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.

    Studiu de fezabilitateIdentificarea i analiza cerinelorValidarea cerinelorManagementul cerinelor

  • 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 careinclude 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.