Documente Academic
Documente Profesional
Documente Cultură
Curs 4
Limbajul UML - introducere
Cuprinsul cursului 4
UML - introducere
25.10.2013
Curs 4 STR
Cerinte
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
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
cooperare intre componente ). sunt necesare interfete /intre oameni si masina' intre masina si componentele so$t(are0
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
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
25.10.2013
Curs 4 STR
Cerinte - de$initie
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
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
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
<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
25.10.2013
Curs 4 STR
12
!ctori: e"emple
25.10.2013
Curs 4 STR
13
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
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
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
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
<<include>>
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
25.10.2013
Curs 4 STR
16
25.10.2013
Curs 4 STR
17
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
@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
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
;lternati&e scenarios
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
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
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
Postconditions
Pa4ment is collected and receipt printed <5e member is in possession o$ t5e &ideo cop4
25.10.2013
Curs 4 STR
22
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
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
25.10.2013
Curs 4 STR
25
actor ) ce&a D cine&a din a$ara sistemului' care joaca un rol prin care interactioneaza cu sistemul
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
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
de cele mai multe ori sec&enta de interactiuni asociata unui ca! de utili!are implica mai multi actori' insa
de cele mai multe ori este actorul care a initiat ca!ul de utili!are
25.10.2013
Curs 4 STR
27
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
25.10.2013
Curs 4 STR
28
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
Inre*istrare la curs
<rimite note
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'
;ctorF2
;ctorF3
25.10.2013
Curs 4 STR
31
Sen!or acti&
a)
Super&i!or
Sen!or 5ibrid
Sen!or acti&
b)
Super&i!or
Sen!or 5ibrid
25.10.2013
Curs 4 STR
32
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
,Ca!ul de utili!are este pornit atunci cand actorul Supervisor acti&ea!a monitori!area1Curs 4 STR 33
25.10.2013
o instanta use-case descrie un traseu particular de-a lun*ul unui $lu# de e&enimente descrise intr-un ca! de utili!are
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
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
Client%anca
"c5ipa<e5nica
25.10.2013
Curs 4 STR
35
$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
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:
studentul nu interactionea!a direct cu sistemul' ci persoana care $ace operea!a e$ecti& inre*istrarea
25.10.2013
25.10.2013
Curs 4 STR
39
25.10.2013
Curs 4 STR
40
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
pentru startup' termination' maintenance pentru automaticall4 sc5eduled e&ents /aici actor special plani$icatorul0
25.10.2013
Curs 4 STR
41
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
25.10.2013
Curs 4 STR
42
*escompunere functionala:
o problema este sparta in parti mai mici' separate
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:
Introduce card
Introduce pin
Selecte!a In contul
Introduce contul
25.10.2013
Curs 4 STR
44
*escompunere functionala:
e#emplu corect
!TM 2etra*e numerar
Client%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