Sunteți pe pagina 1din 45

Sisteme in Timp Real

Semestrul I 2013 2014

Curs 4
Limbajul UML - introducere

Cuprinsul cursului 4

UML - introducere

Partea a 2-a Cerinte si ca!uri de utili!are

25.10.2013

Curs 4 STR

Cerinte

"#emplu un sistem cale $erata intre %ucuresti-%raso&

cerinta de ni&el inalt calatoria intre aceste doua puncte sa dure!e mai putin de 3 ore este indeplinita daca toate componentele sistemului $unctionea!a coordonat' adica'

trenurile - &ite!a corespun!atoare sinele abilitate sa sustina trenuri de mare &ite!a statiile si personalul timpul de asteptare intre trenuri mecanicii de tren capabili sa conduca trenul subsistemele de semnali!are sistemul de conducere al trenului si subsistemele de detectie sistemele de alimentare

componentele so$t(are ale sistemului de semnali!are si conducere joaca un rol important' insa nu indeplinesc complet cerinta enuntata

solutia completa implica intreg sistemul

25.10.2013

Curs 4 STR

Sistem - definitie
sistem ) o multime de componente - masina' so$t(are' $actor uman - care cooperea!a intr-un mod or*ani!at pentru a obtine un re!ultat scontat ) cerintele

+ ,sistemul- include si $actorul uman

cooperare intre componente ). sunt necesare interfete /intre oameni si masina' intre masina si componentele so$t(are0

ideea de ba!a ) proprietati emergente

utilitatea unui sistem nu depinde de o anumita parte a sistemului' ci emer*e din modul in care interactionea!a toate componentele acestuia proprietatile emer*ente pot $i dorite /au $ost anticipate si proiectate pentru a $i incluse in sistem0 sau nedorite /neanticipate' e1*1 in$luenta ne*ati&a asupra mediului0

25.10.2013

Curs 4 STR

Cerinte - definitie
definitie cerinta

2UP /2ational Uni$ied Process - I%M0 a re3uirement describes a condition or capabilit4 to (5ic5 a s4stem must con$orm' eit5er deri&ed directl4 $rom user needs' or stated in a contract' standard' speci$ication' or ot5er $ormall4 imposed document UML a desired $eature' propert4' or be5a&ior o$ t5e s4stem Cerintele speci$ica ceea CE trebuie sa $aca sistemul' si nu CUM trebuie sa $aca sistemul acest lucru

e#ista mai multe tipuri de cerinte' de e#emplu

cerinte pentru caracteristici /feature req.0 - sunt strans le*ate de ne&oile utili!atorului cerinte so$t(are /software req.0 - descrie in detaliu cerintele pentru aplicatia so$t(are

25.10.2013

Curs 4 STR

Cerinte - definitie
e#emplu ce speci$ica cerintele so$t(are6

sunt o de$initie de tip ,blac7-bo#- a sistemului de$inesc doar ceea ce este obser&abil din e#terior' adica C" si nu CUM

8bser&atie CUM se identi$ica ca si constran*eri de proiectare

25.10.2013

Curs 4 STR

Cerinte - de$initie

cerintele pot apare la di&erse ni&ele /&e!i S" sand(ic50' ast$el


o ne&oie a unui stakeholder9s este o cerinta pentru analistul de sistem' care &a produce o lista de caracteristici care sunt cerinte speci$icate prin use-case-uri' apoi ca!urile de utili!are trebuie sa $urni!e!e o speci$icatie despre C" &a $ace sistemul pentru a implementa acele caracteristici speci$icatorii de tip use-case produc un numar de ca!uri de utili!are care &or $i cerinte pentru proiectantul de sistem etc 111

25.10.2013

Curs 4 STR

Cerinte si modelare

modelarea sustine acti&itatile de proiectare' $acilitea!a intele*erea sistemului pentru ca cerintele sa poata $i descompuse la un ni&el dorit pe urmatorul ni&el in jos

cerintele surprind ceea ce este cerut la $iecare ni&el /detaliul creste de sus in jos0

model ) o perspecti&a abstracta a unui sistem' care se concentrea!a in mod deliberat doar asupra unor aspecte ale sistemului' i*norand alte aspecte /i1e1 i*nora acele detalii' care desi sunt importante' nu sunt rele&ante pentru respecti&ul model0

a&antaj pot $i colectate' procesate' or*ani!ate si anali!ate cantitati mici de in$ormatie' aplicand te5nici speci$ice aspectelor studiate + un sin*ur model nu descrie niciodata complet un sistem

25.10.2013

Curs 4 STR

Studiu de caz

Ma*a!inul :ideo 2ental Stores /:2S0 doreste un sistem /aplicatie0 so$t(are care sa super&i!e!e inc5irierea si *estionarea de material &ideo Principalele cerinte sunt urmatoarele: :2S inc5iria!a si &inde material &ideo1 ;re un catalo* de $ilme' documentare' seriale <:' sau alte tipuri de &ideo Sistemul trebuie sa inre*istre!e toate operatiunile de inc5iriere Ma*a!inul poate detine una sau mai multe copii pentru $iecare &ideo pe =:= sau banda /:>S0 :2S are o lista de mebri Membrii pot ras$oi pe ?eb catalo*ul si isi pot re!er&a materialele &ideo @on-membrii pot inc5iria materiale &ideo daca $urni!ea!a un numar de card de credit pentru a *aranta plata :2S are doua ni&ele de an*ajati mana*eri si $unctionari Aunctionarii inc5iria!a si primesc inapoi materialele inc5iriate clientilor Aunctionarii trebuie sa &eri$ice daca clientii au &arsta ceruta' daca nu au inc5irieri nereturnate' etc Mana*erul de ma*a!in intocmeste rapoarte si supra&e*5ea!a intar!irile de returnare
Curs 4 STR 9

25.10.2013

Overview: utilizarea cazurilor de utilizare

Ca!urile de utili!are repre!inta un mod de a de$ini cerintele1 ;ici nu este nimic de tip orientare spre obiecte Ca!urile de utili!are ajuta sa se identi$ice cerintele dintr-o perspecti&a e#terna sistemului' nu interna Ca!urile de utili!are se $ocali!ea!a asupra utili!atorilor sistemului' si nu asupra modului in care $unctionea!a sistemul Scopul de a captura cerintele intr-un mod utili!abil si de inteles atat de catre *rupul de business cat si de *rupul de de!&oltare Aurni!ea!a o ba!a pentru testarea sistemului pentru a $i si*uri ca cerintele dorite sunt indeplinite

25.10.2013

Curs 4 STR

10

Cum definim un caz de utilizare

Un ca! de utili!are repre!inta o descriere a comportamentului sistemului &a!ut din e#terior1 =escrie o cerinta si interactiunea dintre utili!ator si sistem pentru a obtine re!ultatul dorit Parti importante ale de$initiei Sistem Sistemul repre!inta aplicatia so$t(are care &a $i creata ;ctor Un actor repre!inta o entitate care interactionea!a cu sistemul ;ctorul poate $i o persoana sau alt sistem Sec&ente de actiuni Aiecare actiune poate $i *andita ca un pas al*oritmic care este in&ocat atunci cand un actor interactionea!a cu sistemul 2e!ultat obser&abil Un criteriu masurabil indica daca respecti&ul ca! de utili!are a $ost e#ecutat cu succes

25.10.2013

Curs 4 STR

11

Cum gasim actorii


<rebuie sa identi$icam cine &a interactiona cu sistemul Un actor poate $i o persoana' alt sistem' sau orice altce&a care poate interactiona cu sistemul In ca!ul oamenilor' actorii sunt roluri pe care oamenii le joaca atunci cand interactionea!a cu sistemul ;ceeasi persoana poate juca mai multe roluri' ca! in care &a $i repre!entata de unul sau mai multi actori

e1*1

Mana*erul de ma*a!in poate indeplini si rolul de $unctionar

25.10.2013

Curs 4 STR

12

!ctori: e"emple

25.10.2013

Curs 4 STR

13

#dentificarea cazurilor de utilizare

Prima data identi$icam actorii ;poi identi$icam cum si de ce interactionea!a actorii cu sistemul Pasii initiali pentru speci$icarea cerintelor Identi$ica ca!urile de utili!are la un ni&el inalt

La iteratiile ulterioare pot $i adau*a late detalii ca!ului de utili!are

Un ca! de utili!are trebuie sa contina o sec&enta de actiuni de sine-statatoare e1*1 Clientul /actor0 cumpara un bilet de a&ion

Casierul &eri$ica cosul de cumparaturi

Intrebari despre cum identi$icam ca!urile de utili!are Care este scopul $iecarui actor in sistem6

;ctorii au ne&oie sa cree!e' citeasca' actuali!e!e' stear*a date6 ;ctorii au ne&oie sa $ie in$ormati despre modi$icarile aparute in sistem6

25.10.2013

Curs 4 STR

14

Relatii intre cazuri de utilizare


2elatia de tip BBe#tends.. este un stereotip al relatiei de dependenta1 Ca!ul de utili!are de ba!a /Use case $0 este e#tins de ca!ul de utili!are client /Use case &0

Ca!ul de utili!are deri&at /Use case '0 Sseciali!ea!a ca!ul de utili!are de ba!a /Use case $01 Use case ' este Cun fel de- Use case $1

Use case 3 Use case 1 <<extends>>


Use case 3 extinde Use Case 1

generalizare cazuri utilizare

<<include>>

Use case 2 Use case 4

Use case 1 include Use case 4

2elatia de tip BBinclude.. este un stereotip al unei dependete intre clase1 Ca!ul de utili!are client /Use case $0 importa comportament de la ca!ul de utili!are $urni!or /Use case %0
15

25.10.2013

Curs 4 STR

Cazuri de utilizare pentru (ideo Rental S)stem

25.10.2013

Curs 4 STR

16

Use cases: conditii si preconditii


Un ca! de utili!are poate $i &a!ut ca o modi$icare de stare necesara =e la preconditii po!itia de pornire La postconditii conditii pentru momentul in care se termina ca!ul de utili!are Preconditii Identi$ica ipote!ele pentru ca!ul de utili!are Listea!a conditiile care se presupun a $i deja asi*urate e1*1' un client al :2S a ales un material &ideo pentru inc5iriat Postconditii Identi$ica starea sistemului dupa $inali!area ca!ului de utili!are e1*1' ca!ul de utili!are Crent a &ideo- se termina atunci cand clientul a selectat si platit materialul &ideo inc5iriat

25.10.2013

Curs 4 STR

17

*etalierea cazurilor de utilizare

Un ca! de utili!are speci$icat complet contine @ume ;ctorul principal In mod tipic sunt utili!atorii ;corii secundari pot $i non-5uman /alt sistem0 Scurta descriere Alu# de e&enimente /principal0 Scenariul cel mai u!ualD de succesD tipicl D ideal Alu# de e&enimente alternati& Scenarii alternati&e Cerinte speci$ice Cerinte non$unctionale sau ne&oi speciale Preconditii Stari obser&abile de catre utili!aror care trebuie sa e#iste inaintea acestui ca! de utili!are - intrari Postconditii Stari obser&abile de catre utili!aror care trebuie sa $ie indeplinite iniante de terminarea ca!ului de utili!are - iesiri

25.10.2013

Curs 4 STR

18

E"emplu +use case, $-%


@ume C.ec/s out video cop) ;ctor Cler7 Scurta descrire <5e cler7 c5ec7s out one or more &ideo copies $or a customer and collects pa4ment1 <5e customer ta7es t5e cop41 Alu# de e&enimente Start o$ t5e use case ; member approac5es t5e counter and as7s to rent a mo&ie1 <5e cler7 submits locates a cop4 and enters t5e cop4 number into t5e s4stem1 C5ec7 a*e re3uirements <5e s4stem displa4s t5e a*e re3uirements to rent t5e mo&ie1 <5e cler7 determines i$ t5e member is old enou*51

25.10.2013

Curs 4 STR

19

E"emplu +use case, '-%

Alo( o$ e&ents continued :eri$4 member is in *ood standin* <5e cler7 enters t5e members5ip I= number into t5e s4stem1 <5e s4stem &eri$ies t5at t5e member is &alid and 5as no $ines1 Update in&entor4 <5e s4stem sets t5e status o$ t5e &ideo cop4 to c5ec7ed out1 <5e s4stem increments t5e number o$ times t5e mo&ie (as rented1 Calculate $ee S4stem determines t5e $ee based on cate*or4 o$ mo&ie1 Collect pa4ment Cler7 collects t5e $ee $rom t5e member1 Eenerate receipt S4stem prints receipt $or t5e customer1

25.10.2013

Curs 4 STR

20

E"emplu +use case, &-%

;lternati&e scenarios

Customer is too 4oun* to (atc5 re3uested mo&ie

I$ t5e customer does not meet a*e re3uirements' do not rent t5e &ideo cop41 Instead' t5e cler7 returns it to t5e s5el&es1 I$ t5e customer is not a member' t5e cler7 must enter I= and credit card in$ormation into t5e s4stem1 Later' t5e s4stem can c5ar*e t5e customer upon $ailure to return t5e &ideo1

Customer is not a member

Member 5as late $ees or unreturned &ideo copies ; member must pa4 all $ines or and return late &ideos be$ore rentin* anot5er1

25.10.2013

Curs 4 STR

21

E"emplu +use case, %-%


Special 2e3uirements

Cler7s can c5ec7 a*e and &eri$4 identit4 $rom a p5oto I= suc5 as a dri&er9s license' student I= cards or passport

Preconditions

<5e re3uested mo&ie is a&ailable

Postconditions

Pa4ment is collected and receipt printed <5e member is in possession o$ t5e &ideo cop4

25.10.2013

Curs 4 STR

22

#ntroducere 0 use case modeling


introducere use-case modelin* /UCM0

de$initii concepte c5eie pentru UCM

bene$icii descrierea relatiilor dintre actori si ca!urile de utili!are

cum stabilim actorii si ca!urile de utili!are

de$inirea descompunerii $unctionale cum se citeste si cum se desenea!a o dia*rama de ca!uri de utili!are

25.10.2013

Curs 4 STR

23

Ce inseamna use-case modeling +UCM,

lea*a cerintele /needs0 utili!atorilor de cerintele /re3uirements0 so$t(are de$ineste clar limitele unui sistem capturea!a si comunica comportamentul dorit al sistemului identi$ica cine /?>8 sau ?>;<0 interactionea!a cu sistemul &alidea!a D &eri$ica cerintele este un instrument de plani$icare

un model de cazuri de utilizare /use-case model0 descrie cerintele $unctionale ale sistemului utili!and ca!uri de utili!are

25.10.2013

Curs 4 STR

24

Model de cazuri de utilizare UCM:


un UCM este contine atat dia*rame' cat si te#t /preponderent0

25.10.2013

Curs 4 STR

25

Elementele de 1aza ale UCM:

actor ) ce&a D cine&a din a$ara sistemului' care joaca un rol prin care interactioneaza cu sistemul

caz de utilizare ) repre!inta ce&a ce sistemul $ace pentru actori

o sec&enta de interactiuni intre actori si sistem' care apare atunci cand actorul utili!ea!a sistemul pentru a obtine un re!ultat un ca! de utili!are descrie

sistemul' mediul sau' si relatiile dintre ele cum interactionea!a lucrurile din a$ara cu sistemul comportamentul dorit al sistemului
26

25.10.2013

Curs 4 STR

Ce este un caz de utilizare +use-case,

un ca! de utili!are de$ineste o


secventa de actiuni /acti&itati atomice' deci!ii' cereri0 indeplinite de un sistem /cerintele $unctionale0 care conduc la un rezultat o1serva1il cu valoare pentru un actor2

Use Case @ame


8%S"2:;<I"

de cele mai multe ori sec&enta de interactiuni asociata unui ca! de utili!are implica mai multi actori' insa

un sin*ur actor primeste re!ultatul /&aloarea0 e#ecutiei ) actor primar

de cele mai multe ori este actorul care a initiat ca!ul de utili!are

25.10.2013

Curs 4 STR

27

UC contin cerintele software:


$iecare ca! de utili!are

descrie actiunile pe care un sistem le e#ecuta pentru a *enera ce&a cu &aloare pentru un actor arata $unctionalitatea sistemului pe care o utili!ea!a un actor modelea!a dialo*ul intre sistem si actori repre!inta un $lu# de e&enimente complet' cu semni$icatie din perspecti&a unui anumit actor

cazurile de utilizare contin cerintele software functionale detaliate ale sistemului

25.10.2013

Curs 4 STR

28

*efinirea actorilor: roluri


un actor repre!inta un rol pe care un om D dispo!iti& 5ard(are D alt sistem il joaca in relatie cu sistemul

numele actorilor trebuie sa de$ineasca clar rolul actorului

un actor repre!inta o anumita clasa de utili!atori /mai multi utili!atori pot juca acelasi rol' $iecare utili!ator este o instanta a unui actor0

25.10.2013

Curs 4 STR

29

!ctori si roluri - e"emplu:


!ndrei este an*ajat in uni&ersitate ca pro$esor de matematica' si este inscris ca student la un curs de economie Raluca este studenta la un curs de $i!ica

Andrei si Raluca actioneaza ca Student


Student

Inre*istrare la curs

<rimite note

Andrei actioneaza ca Profesor


Pro$esor

25.10.2013

Curs 4 STR

30

Comunicatie-asociere:
relatiile intre actori si ca!urile de utili!are sunt denumite comunicatie-asociere sunt repre!entate prin linii in UML

sa*eata arata cine initia!a $iecare interactiune daca nu apar sa*eti la nici un capat'

oricare dintre capete pot initia comunicatia

Ca! utili!are ;ctorF1

;ctorF2

;ctorF3

25.10.2013

Curs 4 STR

31

Conventii de notatie - sageti:

Sen!or acti&

a)
Super&i!or

Monitori!are alarme Sen!or pasi&

Sen!or 5ibrid

Sen!or acti&

b)
Super&i!or

Monitori!are alarme Sen!or pasi&

Sen!or 5ibrid

25.10.2013

Curs 4 STR

32

Conventii de notatie - sageti:


E"emplu de$inirea ca!urilor de utili!are pentru un sistem de monitori!are a alarmei pentru incendiu ;ctorii care interactionea!a cu sistemul sunt

Supervisor este persoana care administrea!a sistemul si porneste monitori!area Passive sensor este un detector de $um a carui stare o citeste sistemul !ctive sensor este un detector de $um care isi trimite starea catre sistem in mod automat la $iecare G0 de secunde 3)1rid sensor este un detector de $um care isi trimite starea catre sistem in mod automat la $iecare G0 de secunde' dar totodata poate intero*at de catre sistem asupra starii sale1 =aca sen!orul nu transmite timp de HI de secunde date' el poate $i intero*at de catre sistem

cine porneste ca!ul de utili!are6

,Ca!ul de utili!are este pornit atunci cand actorul Supervisor acti&ea!a monitori!area1Curs 4 STR 33

25.10.2013

#nstanta use-case 4 scenariu:

o instanta use-case descrie un traseu particular de-a lun*ul unui $lu# de e&enimente descrise intr-un ca! de utili!are

este o sec&enta speci$ica de actiuni care ilustrea!a comportamentul sistemului ) scenariu

un ca! de utili!are /use case0 de$ineste o multime de scenarii inrudite

un ca! de utili!are repre!inta toate sec&entele posibile care pot a&ea loc pana cand se obtine re!ultatul dorit
Inre*istrare la curs Student

Catalo*CursuriFSistem

Scenariu 1: Log on in sistem Log on acce tat !ntroduce criteriu cautare "auta lista de cursuri A#iseaza lista de cursuri Selecteaza cursurile "on#irma dis onibilitatea A#iseaza rogramarea #inala

Scenariu 2: Log on in sistem Log on acce tat !ntroduce criteriu cautare "riteriu incorect Reintroduce criteriu cautare "auta lista de cursuri A#iseaza lista de cursuri Selecteaza cursurile "on#irma dis onibilitatea A#iseaza rogramarea #inala

25.10.2013

Curs 4 STR

34

*iagrama cazurilor de utilizare:

un model de cazuri de utilizare /UCM0 arata ceea ce ar trebui sa $aca sistemul /use cases0' ceea ce inconjoara sistemul /actori0' si relatiile intre actori si ca!urile de utili!are o diagrama de cazuri de utilizare /use case diagram0 este o descriere *ra$ica a unui model de ca!uri de utili!are /UCM0 ca!uri de utili!are

primare /sustin actoriiDutili! si scopul acti&itatii0 secundare /$unctionalitate suplimentara0


!TM 2etra*e numerar

Client%anca

<rans$era $onduri Aunctionar%anca =epo!itea!a $onduri

Colecte!a bani depusi Casier Intretinere ;<M

"c5ipa<e5nica

25.10.2013

Curs 4 STR

35

Cum denumim un caz de utilizare

$iecare ca! de utili!are trebuie sa aiba un nume care sa indice ce anume se obtine din interactiunea lui cu actorii

indica &aloarea sau scopul /pentru actor0 se $oloseste $orma acti&aJ numele incepe cu un &erb ima*inea!a o lista de actiuni /to-do list0 e#emple de posibile denumiri

2e*ister $or Courses 2e*isterin* $or Courses ;c7no(led*e 2e*istration Course 2e*istration Use 2e*istration S4stem care varianta arata valoarea pentru actor? care nu ?

25.10.2013

Curs 4 STR

36

Pasi pentru crearea unui model UCM:

11 Aind actors and use cases1


identi$ica si descrie pe scurt actorii identi$ica si descrie pe scurt ca!urile de utili!are

21 Scrie ca!urile de utili!are


pune in e&identa toate ca!urile de utili!are da prioritati $lu#urilor de acti&itati pentru ca!urile de utili!are detalia!a $iecare $lu# in ordinea prioritatii

25.10.2013

Curs 4 STR

37

*efinirea actorilor:

cine interactionea!a cu sistemul6

studentul nu interactionea!a direct cu sistemul' ci persoana care $ace operea!a e$ecti& inre*istrarea

sistem de inre*istrare on-line studentul interactionea!a direct cu sistemul


Curs 4 STR 38

25.10.2013

*escrierea unui actor:


Te"t 5ume scurta descriere

Student o persoana care se inre*istrea!a la un curs

ce repre!inta actorul de ce este necesar actorul de ce este interesat actorul de sistem

relatia actorului cu ca!urile de utili!are

25.10.2013

Curs 4 STR

39

Cum identificam cazurile de utilizare


ca!urile de utili!are descriu ce anume doreste un actor de la sistem /ce $ace sistemul pentru actor0

25.10.2013

Curs 4 STR

40

Cum identificam cazurile de utilizare


care sunt obiecti&ele urmarite de $ieare actor6

de ce &rea actorul sa utili!e!e sistemul6 actorul &a crea' stoca' modi$ica' ster*e' citi date inDdin sistem6 =aca da' de ce6 este necesar ca actorul sa in$orme!e sistemul despre e&enimnete e#terne sau modi$icari6 este necesar ca actorul sa $ie in$ormat despre anumite e&enimente aparute in sistem6

sistemul asi*ura intrea*a $unctionalitate dorita6

de e#emplu' ca!uri de utili!are speciale

pentru startup' termination' maintenance pentru automaticall4 sc5eduled e&ents /aici actor special plani$icatorul0

25.10.2013

Curs 4 STR

41

*escrierea unui caz de utilizare:


Te"t

5ume Scurta descriere

Register for Courses <5e student selects t5e courses t5e4 (is5 to attend to t5e ne#t semester1 ; sc5edule o$ primar4 and alternate courses is produced1

2elatia cu actorii

communicatie-asociere' include' e#tend si *enerali!ation

25.10.2013

Curs 4 STR

42

*escompunere functionala:
o problema este sparta in parti mai mici' separate

partile $unctionea!a impreuna pentru a $urni!a o anumita $unctionalitate sistemului

ca!uri de utili!are

nu repre!inta o descompunere $unctionala mentin $unctionalitatea pentru a descrie complet sistemul $urni!ea!a conte#t

25.10.2013

Curs 4 STR

43

*escompunere functionala:

e#emplu *resit /doar o lista de pasi' nu se concentrea!a pe scop0

Introduce card

Procesea!a tran!actie Aunctionar%anca

Introduce pin

Selecte!a In contul

Client%anca Selectea!a <rans$era $onduri

Introduce contul

Selectea!a 2etra*e numerar

Selecte!a "#tras cont

Selectea!a =in contul

25.10.2013

Curs 4 STR

44

*escompunere functionala:
e#emplu corect
!TM 2etra*e numerar

Client%anca

<rans$era $onduri Aunctionar%anca

=epo!itea!a $onduri

a&antaje

cerintele sistemului sunt puse in conte#t desi sunt usor de inteles scopulD scopurile actorilor sunt clar &isibile toate cerintele care se re$era la cele trei scopuri sunt continute in aceeasi speci$icare use p case cei care implementea!a &ad clar relatiile dintre cerinte

25.10.2013

Curs 4 STR

45