Professional Documents
Culture Documents
Slide 1
Obiective
De a introduce conceptele de cerine utilizator i cerine sistem De a descrie cerinele funcionale i nefuncionale De a explica cum pot fi organizate cerinele sotfware ntr-un document de cerine
Slide 2
Cuprins
Cerine funcionale i ne-funcionale Cerine utilizator Cerine de sistem Documentul de cerine software
Slide 3
Ingineria cerinelor
Este procesul de stabilire a serviciilor pe care le dorete clientul de la sistem i constrngerile de operare i dezvoltare. Cerinele sunt descrieri ale serviciilor sistemului.
Slide 4
Ce este o cerin?
Poate varia de la o fraz abstract care descrie un serviciu sau o constrngere de sistem pn la o specificare matematic detaliat. Aceast situaie este inevitabil deoarece ele au dou funcii
Pot sta la baza unei licitaii deci trebuie s fie uor de interpretat; Pot sta la baza unui contract deci trebuie definite n detaliu; Ambele descrieri sunt numite cerine.
Slide 5
Slide 6
Tipuri de cerine
Cerine utilizator
Sunt fraze n limbaj natural plus diagrame ale serviciilor pe care le ofer sistemul i constrngeri de operare. Ele sunt scrise de clieni. Sunt structurate ntr-un document cu descrieri detaliate ale funciilor sistemului, servicii i constrngeri de operare. Definete ceea ce va fi implementat deci poate fi parte dintr-un contract.
Software Engineering, 7th edition. Chapter 6 Slide 7
Cerine de sistem
Definiii i specificaii
Definiie de cerin utilizator
1. Programul trebuie s ofere mijloace de reprezentare i accesare a 1. fiierelor externe create de alte instrumente
Specificaie de cerin sistem 1.1 Utilizator trebuie s aib mijloace de a defini tipul fiierelor externe 1.2 1.2 Fiecare tip de fiier exterior poate avea un instrument asociat cu care 1.2 poate fi deschis acel . fiier 1.3 Fiecare tip de fiier exterior poate fi reprezentat cu un icon specific 1.2 pe ecran 1.4 Trebuie oferite mijloace ca pozele ce reprezint tipurile de fiiere 1.2 externe s poat fi definite de utilizator 1.5 Cnd utilizatoru selecteaz o poz ce reprezint un fiier, efectul 1.2 seleciei este aplicarea instrumentului asociat acelui tip de fiier 1.2 asupra fiierului selectat
Slide 8
Manageri ai clientului Utilizatori finali de sistem Ingineri si clientului Manageri de dezvoltare Arhiteci de sistem
Cerine sistem
Specificaii de proiectare
Slide 9
Cerine funcionale
Descrieri ale serviciilor pe care trebuie s le ofere sistemul, cum trebuie s reacioneze i s se comporte sistemul n situaii particulare. Constrngeri asupra serviciilor sau funciilor oferite de sistem cum ar fi constrngeri de timp, constrngeri ale procesului de dezvoltare, standarde, etc. Cerine ce provin din domeniul de aplicaie al sistemului.
Cerine ne-funcionale
Slide 10
Cerine funcionale
Descriu funcionalitatea sau serviciile sistemului. Depind de tipul de software i de tipul de utilizator ce vor folosi sistemul. Cerinele funcionale pot fi fraze abstracte de descriu ceea ce face sistemul dar ele pot descrie sistemul n detaliu.
Slide 11
Este un sistem tip bibliotec ce ofer o interfa unic la un numr de baze de date de articole din diferite biblioteci. Utilizatorii pot cuta, aduce i tipri aceste articole pentru studiu personal.
Slide 12
Utilizatorul trebuie s poat cuta articole n toate bazele de date sau ntr-un subset selectat.
de
Slide 13
Problemele apar atunci cnd cerinele nu sunt enunate precis. Cerinele ambigue pot fi interpretate diferit de utilizatori i dezvoltatori. De exemplu termenul instrumente de vizualizare potrivite
Intenia utilizatorului instrumente de vizualizare speciale pentru fiecare tip de document; Interpretarea dezvoltatorului oferirea unui editor de text care s prezinte coninutul documentului.
Slide 14
n principiu, cerinele trebuie s fie complete i consistente. Complete Trebuie s includ descrieri ale tuturor facilitilor. Consistente Nu trebuie s existe conflicte sau contradicii n descrierea facilitilor sistemului. n practic, este imposibil realizarea unui document de cerine complete i consistente.
Software Engineering, 7th edition. Chapter 6 Slide 15
Cerine ne-funcionale
Acestea definesc proprietile i constrngerile sistemului cum ar fi fiabilitate, timp de rspuns i cerine de stocare. Constrngerile sunt proprieti ale componentelor de stocare de date, reprezentri ale sistemului, etc. Pot fi specificate cerine de proces care impun un anumit sistem CASE, un limbaj de programare sau o metod de dezvoltare. Cerinele ne-funcionale pot fi mai critice dect cele funcionale. Dac primele nu sunt ndeplinite, sistemul este inutilizabil.
Slide 16
Cerine de produs
Sunt cerine care specific lucruri pe care produsul trebuie s le ndeplineasc legat de viteza de execuie, fiabilitate, etc. Cerine care sunt consecine ale politicii i procedurilor organizaiei cum ar fi standarde de proces folosite, cerine de implementare, etc.
Cerine de organizare
Cerine externe
Cerine care provin din factori externi sistemului i procesului de dezvoltare cum ar fi cerine de interoperabilitate, cerine legislative, etc.
Slide 17
Slide 18
Cerine de produs
8.1 Interfaa cu utilizatorul pentru sistemul LIBSYS trebuie s fie implementat ca pagini HTML simple fr cadre (frames) sau Java applets.
Cerine de organizare
9.3.2 Procesul de dezvoltare i documentele rezultate se vor conforma celor definite n XYZCo-SP-STAN-95.
Cerine externe
7.6.5 Sistemul nu trebuie s ofere alte informaii personale legate de clieni n afar de numele lor.
Slide 19
Cerine i scopuri
Cerinele ne-funcionale pot fi foarte greu de exprimat ntr-un mod precis iar cerinele imprecise pot fi greu verificate. Scop
O intenie general a utilizatorului cum ar fi uurina n utilizare. O cerin ce folosete un sistem de msur pentru a putea fi obiectiv testat.
Scopurile sunt utile dezvoltatorilor n msura n care cuprind inteniile utilizatorilor de sistem.
Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 6 Slide 20
Exemple
Un scop al sistemului
Sistemul trebuie s fie uor de utilizat de operatori experimentai i trebuie organizat astfel nct erorile de utilizare s fie minimizate. Operatorii experimentai trebuie s poat folosi funcionalitatea sistemului dup un total de dou ore de nvare. Dup aceast perioad numrul mediu al erorilor fcute de operatorii experimentai nu trebuie s depeasc dou pe zi.
Slide 21
Tranzacii/secund procesate
T i m p d e r s p u n s T i m p d e m p r o s p t a r e p e e c r a n
Slide 22
Interaciunea cerinelor
Conflictele dintre diferite cerine ne-funcionale sun un lucru obinuit n sistemele complexe. Sistem folosit n navete spaiale
Pentru a minimiza greutatea, numrul de cipuri separate din sistem trebuie minimizat. Pentru a minimiza consumul de putere, trebuie folosite cipuri cu consum redus. Totui, folosirea cipurilor cu consum redus poate nsemna c vor fi folosite mai multe cipuri. Care cerin este mai important (mai critic)?
Slide 23
Descriu caracteristici ale sistemului i faciliti care reflect domeniul specific de lucru al aplicaiei. Ele pot fi cerine funcionale, constrngeri asupra altor cerine sau pot defini calcule specifice. Dac aceste cerine nu sunt ndeplinite, sistemul poate fi inutilizabil.
Slide 24
Trebuie s existe o interfa utilizator standard pentru toate bazele de date interfa bazat pe standardul Z39.50. Datorit restriciilor de copyright, unele documente trebuie terse imediat dup ce au fost aduse. n funcie de cerinele utilizatorului, aceste documente pot fi doar printate local sau pe o imprimant de reea.
Slide 25
nelegerea cerinelor
Cerinele sunt exprimate ntr-un limbaj specific domeniului aplicaiei; Acest limbaj nu este ntotdeauna neles de inginerii software ce dezvolt sistemul. Specialitii domeniului neleg domeniul att de bine nct nu se gndesc c este nevoie s exprime explicit aceste cerine.
Cerine implicite
Slide 26
Cerine utilizator
Trebuie s descrie cerine funcionale sau nefuncionale ntr-un mod care s fie neles de ctre utilizatorii sistemului care nu au cunotine tehnice de detaliu. Cerinele utilizator sunt definite folosind limbajul natural, tabele i diagrame n msura n care pot fi nelese de ctre toi utilizatorii.
Slide 27
Lipsa de claritate
Este greu s obii precizie fr s faci documentul dificil de citit. Cerinele funcionale i cele ne-funcionale tind s fie amestecate. Diferite cerine pot fi exprimate mpreun.
Confuzia cerinelor
Amalgamarea cerinelor
Slide 28
4..5 Sistemul LIBSYS trebuie s ofere un sistem de contabilitate care s tin nregistrri ale tuturor plilor fcute de utilizatorii sistemului. Managerii sistemului pot configura acest sistem de contabilitate astfel nct utilizatorii frecveni s poat beneficia de reduceri.
Slide 29
Inventeaz un format standard i folosete-l pentru toate cerinele. Folosete limbajul ntr-un mod consistent. Folosete trebuie pentru cerinele obligatorii i ar trebui pentru cerinele de dorit. Scoate n eviden prile cheie ale cerinelor. Evit folosirea jargonului informatic.
Slide 30
Cerine de sistem
Sunt specificaii mai detaliate ale funcionalitii sistemului, ale serviciilor sau constrngerilor. Ele vor fi baza pentru proiectarea sistemului. Pot fi ncorporate ntr-un contract. Cerinele de sistem pot fi definite sau ilustrate folosind diferite modele de sistem.
Slide 31
Cerinele i proiectarea
n principiu, cerinele trebuie s exprime ceea ce va face sistemul iar proiectarea tebuie s descrie cum va face sistemul aceste lucruri. n practic, cerinele i proiectarea sunt inseparabile
O arhitectur de sistem poate fi proiectat pentru a structura cerinele; Sistemul poate inter-opera cu alte sisteme care genereaz cerine de proiectare; Folosirea unei proiectri specifice poate fi o cerin din domeniul aplicaiei.
Software Engineering, 7th edition. Chapter 6 Slide 32
Ambiguitate
Cititorii i scriitorii de cerine trebuie s interpreteze aceleai cuvinte n acelai fel. Limbajul natural este ambiguu ceea ce face lucrurile dificile. Acelai lucru poate fi spus n mai multe feluri n specifiaie. Structurile limbajului natural nu sunt adecvate pentru a structura cerinele de sistem.
Lipsa modularizrii
Slide 33
Slide 34
Libertatea scriitorului de cerine este limitat de un ablon predefinit pentru cerine. Toate cerinele sunt scrise ntr-o manier standard. Terminologia folosit n descrieri poate fi limitat. Avantajul este c se menine expresivitatea limbajului natural dar este impus un grad de uniformizare a specificaiilor.
Slide 35
abloane de specificaii
Definirea funciei sau a entitii. Descrierea intrrilor i a provenienei lor. Descrierea ieirilor i a destinaiei lor. Indicarea altor entiti necesare. Pre i post condiii (dac este necesar). Efecte secundare (laterale) ale funciei.
Slide 36
abloane de specificaii
Insulin Pump/Control Software/SRS/3.3.2 Funcie Descriere
z o n a d e s i g u r a n
Calculeaz doza de insulin: Nivelul sigur de zahr Cacluleaz doze de insulin ce trebuie administrat cnd nivelul msurat de zah este n
n t r e 3 i 7 u n i t i .
Citirea nivelul curent de zahr (r2), i precedentele dou citiri (r0 and r1) Nivelul curent de zahr de la senzor. Alte citiri din memorie. DozaCalculat
d o z a d e i n s u l i n c e t r e b u i e a d m i n i s t r a t
Bucla principal de control DozaCalculat este zero dac nivelul zahrului este stabil sau n cdere sau dac nivelul
d a r r a t a d e c r e t e r e s c a d e . D a c n i v e l u l c r e t e i r a t a d e c r e t e r e c r e t e i e a , a t u n c i e o b i n e m p r i n d d i f e r e n a d i n t r e n i v e l u l c u r e n t a l z a h r u l u i i n i v e l u l p r e c e d e n t l a 4 i
Dou citiri precedente pentru a putea fi calculat rata modificrii nivel Rezervorul de insulin conine cel puin doza maxim de insulin.. r0 este nlocuit de r1 apoi r1 este nlocuit de r2 Nici unul
Efecte-secundare
Slide 37
Modele grafice
Modelele grafice sunt foarte utile cnd trebuie s ari cum se schimb starea sistemului sau cnd trebuie specificate secvene de aciuni.
Slide 38
Diagrame de secven
Arat secvena evenimentelor care apar n timpul unei interaciuni a utilizatorului cu sistemul. Se citesc de sus n jos pentru a nelege ordinea n care apar aciunile. Scoaterea banilor dintr-un ATM
Validarea cardului; Prelucrarea cerinei; Completarea tranzaciei.
Slide 39
Slide 40
Documentul de cerine
Documentul de cerine este exprimarea oficial a ceea ce se cere de la dezvoltatorii sistemului. Trebuie s includ att definiii ale cerinelor utilizator ct i specificaii ale cerinelor de sistem. NU este un document de proiectare. Pe ct este posibil, trebuie s exprime CE trebuie s fac sistemul i nu CUM trebuie s fac
Slide 41
Managers
Use the requirements document to plan a bid for the system and to plan the system development process
Use the requirements to help understand the system and the relationships between its parts
Slide 42
Definete o structur generic pentru documentul de cerine ce trebuie creat pentru un sistem specific.
Introducere. Descriere general. Cerine specifice. Apendice. Index.
Slide 43
Prefa Introducere Glosar Definirea cerinelor utilizator Arhitectura sistemului Specificarea cerinelor de sistem Modele de sistem Evoluia sistemului Apendice Index
Slide 44
Concluzii
Cerinele exprim ceea ce trebuie s fac sistemul i definete constrngerile asupra operrii sau implementrii. Cerinele funcionale exprim serviciile pe care le va oferi sistemul. Cerinele ne-funcionale constrng sistemul sau procesul de dezvoltare. Cerinele utilizator sunt exprimri de nivel nalt a ceea ce trebuie s fac sistemul. Cerinele utilizator trebuie scrise n limbaj natural, eventual folosind tabele i diagrame.
Slide 45
Concluzii
Cerinele de sistem trebuie s descrie funciile oferite de sistem. Un document de cerine software este o exprimare oficial a cerinelor sistemului. Standardul IEEE este un punct de start pentru definirea unor standarde mai detaliate de specificare a cerinelor.
Slide 46