Gestiunea Unei Biblioteci Universitare

download Gestiunea Unei Biblioteci Universitare

of 54

Transcript of Gestiunea Unei Biblioteci Universitare

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    1/54

    Gestiunea uneiGestiunea unei

    Biblioteci Universitare Biblioteci Universitare

    1

    Studente:

    Liliana Gherasim

    Anda Popovici

    Alexandra Roati

    Otilia Sabu

    Profesor Coordonator:

    Ovidiu Aritoni

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    2/54

    1. Prezentarea detaliat a subiectului

    Softul utilizat pentru biblioteca universitara se orienteaza doar spre gestiuneautilizatorilor. Problemele de gestiune de personal sau financiar contabil ale bibliotecii nuconstituie subiectul acestui proiect. In continuare vom prezenta pe larg acest subiect:

    1. Biblioteca universitara propune studentilor si cadrelor didactice carti, reviste, Cd-uri,Dvd-uri, casete audio si video, servicii de consultare a diferitelor baze de date cumateriale stiintifice.

    . !aterialele si serviciile oferite de catre biblioteca sunt ac"izitionate de catre

    bibliotecar in functie de : propunerile facute de edituri si companii # propunerile facute de profesori# bugetul bibliotecii pentru ac"izitii de materiale si servicii de informare#

    $. Ca si utilizatori pentru biblioteca se pot inscrie cadre didactice si studenti.%. &rice utilizator are dreptul de a cauta un material in baza de date a bibliotecii daca

    acesta s-a autentificat.'. (numite materiale pot fi imprumutate pe o perioada determinata de timp, cu

    posibilitate de prelungire a respectivei perioade.). (plicatia soft*are va permite imprumutarea unei anumite carti daca utilizatorul nu

    are nici o penalizare la momentul de fata.+. Bibliotecarul are dreptul de a sterge contul unui anumit utilizator daca acesta pierde

    statutul de cititor nu mai este student,profesor, i-a e pirat legitimatia, etc . (plicatiava trebui sa pastreze un istoric asupra utilizatorilor, astfel ca utilizatorii vor fimarcati ca /e pirati0.

    . 2n e emplar al unei carti nu poate fi imprumutat daca acesta este intr-o stare foarte proasta.

    3. 2tilizatorii pot fi penalizati in anumite situatii intarziere returnare carte, pierderematerial imprumutat, etc .

    14. (plicatia va folosi date furnizate de catre un server al universitatii si diferite serviciifurnizate de catre acest server.

    2

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    3/54

    2. Modelarea funcional i dinamic

    (1)Actori:

    2tilizatori Studenti

    Profesori

    Bibliotecari

    Server 2niversitate S2

    Sistemul Informatic al Bibliotecii SIB

    5dituri

    (2)Diagrama de conte t static:

    3

    Biblioteca Universitara

    Utilizator0..*

    StudentProfesor

    Bibliotecar

    1..*

    Editura

    1..*

    Package1

    1

    Package2

    1

    Server Universitate Sistemul Informatic al Bibliotecii

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    4/54

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    5/54

    5

    Utilizator

    Student Profesor

    Inscriere

    Stergere

    Imprumutare carte

    Restituire carte

    !onsultare catalog

    SIB

    Propunere carte

    Autentificare

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    6/54

    (")Descrierea de cazuri de utilizare:

    1. Caz de utilizare: Achizitionare carte

    Titlu: (c"izitionare carteRezumat: Bibliotecarul ac"izitioneaza carti in functie de bugetul bibliotecii si de

    propunerile profesorilor 2niversitatii

    Actori: Bibliotecar, edituri

    Descrierea scenariului:

    Preconditii

    5 ista propuneri pentru carti noi

    Bugetul bibliotecii 64

    Cartea e ista in catalogul de ac"izitii al bibliotecii

    Scenariu nominal

    1) Bibliotecarul verifica propunerile

    2) Bibliotecarul verifica bugetul bibliotecii

    3) Bibliotecarul decide sa ac"izitioneze o carte

    4) Bibliotecarul verifica cu a7utorul SIB e istenta cartii in catalogul de propuneri

    5) SIB cauta cartea in catalog

    6) Bibliotecarul comanda cartea la editura

    7) 5ditura e pediaza bibliotecarului cartea

    8) Bibliotecarul efectueaza plata cartii catre editura

    9) 5ditura confirma efectuarea platii

    10) Bibliotecarul sterge cartea din lista de propuneri

    6

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    7/54

    11) Bibliotecarul face update bugetului bibliotecii

    12) Bibliotecarul face update la SIB

    Scenarii alternative1. Cartea nu este disponibila pentru achizitionare (nu se gaseste in catalogul de

    propuneri

    Incepe la pasul ' al scenariului nominal

    ) Cartea nu este in lista de propuneri

    + Bibliotecarul se decide pentru o alta carte

    Scenariul nominal se reia de la pasul $

    !. Cartea nu e disponibila pentru achizionare (editura nu are e"emplaredisponibile

    Incepe la pasul ) al scenariului nominal

    + 5ditura nu are e emplare disponibile ale cartii

    Bibliotecarul se decide pentru o alta carte

    Scenariul nominal se reia de la pasul $

    Scenarii de eroare

    1. #ugetul este insu$icient pentru achizitionarea cartii

    Incepe la pasul al scenariului nominal

    $ Bugetul este insuficient pentru ac"izitionarea de carti

    % Cazul de utilizare se inc"eie

    !. %u sunt carti disponibile pentru achizitionare

    Incepe la pasul ) al scenariului nominal

    7

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    8/54

    ) Biblioteca specifica faptul ca deocamdata nu sunt disponibile carti pentru

    imprumut

    + Cazul de utilizare se inc"eie

    Diagrama de secventa:

    8

    Bibliotecar SIB Edituri

    1 : Prop=consulta_prop(

    2 : return Prop(

    ! : Buget=consulta_bugetBiblio(

    " : return Buget(

    # : $arte=cauta_carte(

    % : re&=cauta_carte(

    ' : return re&( : cere(

    )

    10 : plateste(

    11 : return plata +(

    12 : stergePropunere(

    1! : return stergere +(1" : updateBuget(

    1# : return +(

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    9/54

    Diagrama de activitate:

    9

    $onsulta propuneri

    $onsulta buget biblioteca

    Buget insu,icient

    $auta carte

    $auta carte in catalog$artea nu se gaseste

    $ere cartea editurii

    Editura tri-ite cartea

    Plata carte

    Sterge propunerea

    Plata e in regula

    pdate buget biblioteca

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    10/54

    !. Caz de utilizare: Propunerea de noi carti

    Titlu: Propunere de noi carti

    Rezumat: 5diturile propun carti noi. 8oate cartile noi sunt introduse in catalogul bibliotecii.

    Actori:5diturile

    Descrierea scenariilor

    Preconditii

    Sa e iste edituri

    Sa e iste catalogul propunerilor

    Scenariu nominal

    1 & editura are o carte noua

    5ditura cauta in catalog pentru a vedea daca e ista de7a cartea

    $ Daca nu e ista de7a in catalog, cartea este adaugata

    Postconditii:

    Catalogul de propuneri al bibliotecii contine carti noi.

    &. Caz de utilizare: 'nscrierea de noi utilizatori

    Titlu: Inscrierea de noi utilizatori

    Rezumat: Bibliotecarul inscrie utilizatori care vor sa imprumute carti sau sa consulte publicatii.

    Actori: Bibliotecarul, utilizatorul, SIB, S2

    Descrierea scenariului

    10

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    11/54

    Preconditii

    Persoana care doreste sa se inscrie este student sau profesor al 2niversitatii

    Persoana care doreste sa se inscrie are de7a toate actele necesare carnet destudent sau buletin

    Persoana care doreste sa se inscrie a platit ta ele necesare inscrierii

    2n student penalizat pentru un an se poate inscrie numai la sfarsitul anuluide penalizare

    Scenariu nominal

    1 & persoana se prezinta la g"iseul bibliotecii pentru a se inscrie

    Bibliotecarul ii cere carnetul de student sau buletinul

    $ Persoana ii inmaneaza carnetul sau buletinul

    % Bibliotecarul verifica cu a7utorul S2 daca persoana este student sau profesor al2niversitatii

    ' S2 cauta persoana in baza de date

    ) Bibliotecarul verifica cu a7utorul SIB daca studentul este penalizat pentru un an

    + SIB cauta informatia ceruta

    Bibliotecarul cere persoanei o poza

    3 Persoana ii inmaneaza o poza

    14 Bibliotecarul ii cere persoanei c"itanta pentru a dovedi ca a platit ta ele de inscriere

    11 Persoana ii inmaneaza c"itanta

    1 Bibliotecarul creeaza un nou utilizator si il adauga in lista de utilizatori

    1$ Bibliotecarul face update la SIB

    Scenarii alternative:

    11

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    12/54

    1. Studentul e penalizat pentru un an

    Scenariul debuteaza la pasul + al scenariului nominal

    Bibliotecarul verifica cu a7utorul SIB data inc"eierii perioadei de penalizare

    3 SIB cauta data inc"eierii perioadei de penalizare

    14 a daca aceasta data 9 data curenta atunci bibliotecarul ii cere studentului o poza

    Scenariul se reia din punctul

    b daca aceasta data data curenta cazul de utilizare se inc"eie

    !. Persoana nu a platit ta"ele necesare inscrieriiScenariul debuteaza la pasul 14 al scenariului nominal

    11 Bibliotecarul trimite persoana sa plateasca ta ele necesare

    1 Persoana efectueaza plata ta ei necesare inscrierii

    Scenarii de eroare:

    1. Persoana nu poate prezenta buletinul sau carnetul de student

    Scenariul debuteaza la pasul al scenariului nominal

    $ Cazul de utilizare se inc"eie

    !. Persoana nu e student sau pro$esor al niversitatii

    Scenariul debuteaza la pasul ' al scenariului nominal

    ) Cazul de utilizare se inc"eie

    &. Persoana nu poate prezenta poza

    Scenariul debuteaza la pasul al scenariului nominal

    3 Cazul de utilizare se inc"eie

    Postconditii:

    12

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    13/54

    5ste inscris un nou utilizator in SIB

    ;r ;r

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    14/54

    Diagrama de activitate:

    14

    eri,ica identitate persoana

    u are carnet sau buletin

    E pro,esor sau student3

    u e ista in B4 a ni/

    eri,ica daca e penali&at pt un an

    eri,ica data ter-inarii penali&arii

    45

    $ere po&adata_ter-6data_curenta

    data_ter-7data_curenta

    u are po&a

    $ere c8itanta

    Plateste ta e Inscrie utili&ator

    pdate SI al bibliotecii

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    15/54

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    16/54

    1'. Bibliotecarul introduce n SIB data scadentA de restituire a cAr ii.1). Bibliotecarul face update penru numArul de cAr i mprumutate de cAtre student.1+. Bibliotecarul face update al bazei de date ce con ine cAr ile.Scenarii alternative1. Persoana nu e -nscris+ la bibliotec+

    Scenariul debutezA la pasul al scenariului nominal.

    $. Bibliotecarul cere acordul persoanei care dore te sA mprumute o carte de a o nscriela bibliotecA.

    Cazul continuA cu cazul de utilizare F nscriere de noi utilizatori F.

    1. Persoana nu -mprumut+ nici o carte

    Scenariul debutezA la pasul ) al scenariului nominal.

    +.Persoana nu i aminte te ce carte dore te sA mprumute.

    Cazul se reia cu cazul de utilizare F consultare catalogF.

    Scenarii de eroare

    1. Cartea nu este disponibil+

    Scenariul debutezA la pasul 3 al scenariului nominal.

    14.Cartea nu e istA n SIB.

    11.8oate e emplarele sunt mprumutate

    1 .Cazul de utilizare se nc"eie. 5roareG

    (ceastA situa ie poate fi rezolvatA prin cumpArarea unei cAr i sau returnarea uneiamprumutate.

    !. tilizatorul are penalizari

    Scenariul debutezA la pasul 11 al scenariului nominal.

    1 .2tilizatorul nu poate mprumuta alte cAr i pEnA nu ac"itA penalizarile.

    16

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    17/54

    1$.Cazul de utilizare se nc"eie. 5roareG

    &. tilizatorul are de a & c+r,i -mprumutate

    Scenariul debutezA la pasul 1$ al scenariului nominal.

    1%. 2tilizatorul nu poate mprumuta alte cAr i pEnA nu returnezA cel pu in o carte.

    1'. Cazul de utilizare se nc"eie. 5roareG

    Postcondi,ii:

    Pt utilizator:nr

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    18/54

    /. Caz de utilizare: Restituirea unei c+r,i

    Titlu: Hestituire carte

    Rezumat: 2tilizatorul restituie cartea pe care a mprumutat-o

    Actori: 2tilizator, Bibliotecar, SIB

    Descriere scenariu

    Precondi,ii:

    Cartea e nregistratA n SIB

    Cartea e mprumutatA de cineva.

    Scenariu nominal:

    1. & persoanA se prezintA la g"i eu pentru a returna o carte.. Bibliotecarul i cere cartea pe care dore te sA o restituie.

    $. 2tilizatorul nmEneazA bibliotecarului cartea pe care a adus-o.%. Bibliotecarul verificA n baza de date din SIB cota cartii5.

    SIB aratA bibliotecarului cota cartii.). Bibliotecarul verificA n baza de date din SIB data scadenta.7. SIB ntoarce data scadenta.

    . Bibliotecarul cautA in SIB id-ul utilizatorului.3. SiB intoarce id-ul utilizatorului.14. Bibliotecarul aduce la cuno tin A utilizatorului dacA are penalizari.11. Bibliotecarul aduce la cuno tiin A utilizatorului situa ia mprumuturilor curente.12. Bibliotecarul verificA starea e emplarului returnat.

    1$. Bibliotecarul face update n baza de date din SIB pentru disponibilitatea cAr ilor.14. Bibliotecarul face update n baza de date din SIB pentru numArul de e emplare

    mprumutate de acel utilizator.Scenarii alternative:1. Cartea e $oarte distrus+

    Scenariul debuteazA la pasul 1 al scenariului nominal.

    18

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    19/54

    1$.Bibliotecarul trimite e emplarul pentru a fi recondi ionat.

    1%.Bibliotecarul sc"imbA diponibilitatea e emplarului n atributul: nHecondi ionare.

    Cazul de utilizare se continuA cu pasul 1% .

    !.Cartea nu e -nregistrat+ -n S'#

    Scenariul debuteazA la pasul ' al scenariului nominal.

    (ceastA situa ie e posibilA atunci cEnd cartea a fost pierdutA i utilizatorul o restituiedupA ce ea a fost tearsA din baza de date i eventual nlocuitA cu una nouA. CEnd un e emplaeste pierdut el este ters din baza de date. Bibliotecarul trebuie sA reintroducA noua carte n bd

    i sA aplice penalizare utilizatorului care a pierdut cartea. 2tilizatorul e penalizat ca pentru ontErziere precum i plata noului e emplar Pentru cA biblioteca a cumpArat un alt e emplar

    de7a .

    ).Bibliotecarul nregistreazA cartea ca i nou e emplar

    +.Bibliotecarul face update penalizarilor utilizatorului.

    Scenariul continuA cu pasul 1$ din scenariul nominal.

    Scenarii de eroare 0

    Postcondi,ii:

    nr

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    20/54

    20

    Bibliotecar SIB

    1 : status=getStare(

    2 : /eri,icaStare(

    ! : returnStare(

    " : i, status=9distrus9 etrage(

    # : update r(% : updateB4(

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    21/54

    .Caz de utilizare: 2tergere utilizator

    Titlu: tergere utilizator

    Rezumat: Bibliotecarul terge utilizatorul care nu i-a re nnoit nregistrarea n SIB ae pirat legitima ia sau nu mai este student sau profesor

    Actori: 2tilizator, Bibliotecar, SIB, S2

    Precondi,ii:

    2tilizatorul i pierde statutul de nscris la bibliotecA.

    Scenariu nominal:

    1. Bibliotecarul verificA n baza de date din S2 dacA utilizatorul este ncA student sau profesor.

    2. S2 verificA e isten a persoanei respective n baza de date.3. Bibliotecarul verificA n baza de date din SIB dacA utilizatorul i-a vizat legitima ia.4. SIB verificA dacA utilizatorul este re nregistrat.

    '. Bibliotecarul terge utilizatorul care nu ndepline te condi iile necesare pentru a fi

    utilizator.Scenarii alternative 0Scenarii de eroare

    DacA un utilizator i-a vizat legitima ia pentru anul n curs i este ncA student sau profesor nu poate fi ters.

    Cazul de utilizare se nc"eie.

    Postcondi,ii:2tilizatorul nu mai e istA n SIB.

    Diagrama de secventa:

    21

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    22/54

    22

    Bibliotecar SIB S

    1 : id=getId(

    2 : /eri,icaId(

    ! : re turnId(

    " : /eri,icaStatut(

    # : statut=getStatut(

    % : returnStatut(

    ' : i, sta tut /eri,icaInregistrare(

    : return i&a(

    ) : i, ; statut

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    23/54

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    24/54

    24

    Bibliotecar SIB S

    1 : id=getId(

    2 : /eri,icaId(

    ! : re turnId(

    " : /eri,icaStatut(

    # : statut=getStatut(

    % : returnStatut(

    ' : i, sta tut /eri,icaInregistrare(

    : return i&a(

    ) : i, ; statut

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    25/54

    4. Caz de utilizare: Retragerea unui e"emplar de carte sau revist+

    Titlu: Hetragerea unui e emplar de carte sau revistA

    Rezumat:Bibliotecarul retrage o carteJo revistA dacA:

    - e emplarul respectiv e prea distrus i nu poate fi recondi ionat

    - e emplarul respectiv a fost pierdut

    Actori: Bibliotecar, SIB

    Descriere scenariu

    Precondi,ii: 5 emplarul sA e iste n baza de date din SIB

    5 emplarul respectiv e prea distrus i nu poate fi recondi ionat sau e emplarulrespectiv a fost pierdut

    Scenariu nominal:

    1. Bibliotecarul retrage o carte sau o revistA foarte distrusA.2. Bibliotecarul retrage un material decalarat pierdut.3. Bibliotecarul face update pentru numArul de e emplare al materialului retras.

    %. SIB face update al bazei de date.Scenarii alternative 0Scenarii de eroare 0

    Postcondi,ii:

    ;umArul cAr ilor i revistelor pentru care a fost retras un e emplar este diminuat cu ounitate.

    Pentru material :

    nr

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    26/54

    Diagrama de secventa:

    26

    Bibliotecar SIB

    1 : status=getStare(

    2 : /eri,icaStare(

    ! : returnStare(

    " : i, status=9distrus9 etrage(

    # : update r(% : updateB4(

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    27/54

    5. Caz de utilizare: Consultare catalog

    Titlu: Cautare material in catalogul bibliotecii

    Rezumat:2tilizatorul cauta in baza de date materialul de care are nevoie. Sistemulinformatic al bibliotecii pune la dispozitie mai multe tipuri de cautari: dupa titlul cartii, dupaautor, dupa cuvinte c"eie, etc.

    Actori:2tilizator, SIB

    Descriere scenariu

    Preconditii:

    2tilizator sa fie inscris la biblioteca.

    Scenariu nominal:

    1. 2tilizatorul introduce id-ul de autoidentificare.

    . SIB verificA dacA utilizatorul este inregistrat.

    $. SIB autorizeaza utilizatorul in sesiunea de cautare.

    %. 2tilizatorul alege modul, dupa numele autorului, titlul cartii sau alte cuvinte c"eiein care se va efectua cautarea.

    '. SIB verifica daca poate efectua cautarea dupa tipul de cautare specificat.

    ). SIB realizeaza cautarea.

    +. SIB returneaza rezultatul cautarii.Scenarii alternative: 0

    Scenarii de eroare: 0

    Postconditii:

    5 emplarul cautat a fost gasit.

    27

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    28/54

    Diagrama de secventa:

    .tili&ator SIB

    1 : id getId(

    2 : /eri,icaId(

    ! : returnId(

    " : -od=get>od(

    # : /eri,ica>od(

    % : cautare(

    ' : return re&ultat_cautare(

    28

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    29/54

    Diagrama de activitate:

    5utent i,icare eri,icare utili&ator

    eroare de identi,icare

    Indica -od$autare

    $autare

    5,isea&a re&ultat

    16. Caz de utilizare: 7eri$icare stare e"emplar

    Titlu: Kerificare stare e emplar

    Rezumat: Bibliotecarul verifica starea fiecarei carti returnate de utilizator. (stfel, bibliotecarul verifica starea tuturor cartilor care au fost imprumutate apoi restituite.

    Actori: Bibliotecar, SIB

    Descriere scenariuPrecondi,ii:

    5 emplarul cartiiJrevistei imprumutat e ista in SIB si a fost returnat.

    Scenariu nominal:

    1. Bibliotecarul verificA starea e emplarului returnat.

    29

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    30/54

    . Bibliotecarul modifica in SIB starea cartiiJrevistei care a fost verificata.

    $. Daca starea e emplarului este Lfoarte proasta0, acesta este trimis sprerecondi ionare. Cazul de utilizare se continua cu /Hetragere e emplar pentru reconditionare0.

    Scenarii alternative: 0

    Scenarii de eroare: 0

    Postcondi,ii:

    Starea e emplarului este actualizata.

    Diagrama de secventa:

    Bibliotecar SIB

    1 : /eri,icaStare(

    2 : -odi,icaStare(

    ! : i, stare=9,oarteProasta9 reconditionare(

    $a&ul de utili&are secontinua cu ? etragere e0e-plarpentru reconditionare@.

    11.Caz de utilizare: Detectare c+r,i pierdute

    Titlu: Detectare carti pierdute

    Rezumat:Bibliotecarul identifica toate cartile pierdute. Daca o carte imprumutata nueste restituita in timp de o luna de la efectuarea imprumutuluiJreimprumutului, cartea estedeclarata pierduta. In acest caz, utilizatorul va fi penalizat.

    30

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    31/54

    Actori:Bibliotecar, SIB

    (cest caz de utilizare 99include cazul LHetragerea unui e emplar de carte saurevistA0.

    Descriere scenariu

    Preconditii:

    Cartea e ista n baza de date din SIB.

    Data scadenta de returnare a fost depasita data

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    32/54

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    33/54

    %. Bibliotecarul actualizeaza situatia cartiiJrevistei pentru care a introdus un noue emplarJnumar.

    '. Bibliotecarul face update la SIB.

    Scenarii alternative: 0

    Scenarii de eroare: 0

    Postconditii:SIB contine noul e emplar de carteJrevista.

    Diagrama de secventa:

    Bibliotecar SIB E0e-plar $arteC e/ista

    1 : introd_e0_nou(

    2 : update5t ribute(

    ! : actuali&ea&aIstoric(

    " : actuali&ea&aIstoric1(

    # : updateSIB(

    1). Caz de utilizare: 'nregistrare propunere

    Titlu: Inregistrarea propunere

    Rezumat: Bibliotecarul adauga in catalogul de propuneri numele cartii ceruta deutilizator, care nu e ista in sistemul informatic al bibliotecii. (stfel, fiecare cererenesatisfacuta , va fi inregistrata in lista cu propuneri.

    Actori:Bibliotecar, SIB

    Descriere scenariu:

    33

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    34/54

    Preconditii

    2. 5 ista un catalogul de propuneri al bibliotecii.

    $. Cartea nu e ista in baza de date a bibliotecii.

    Scenariu nominal

    1. Bibliotecarul verifica cu a7utorul SIB e istenta cartii in catalogul de propuneri.

    . SIB returneaza rezultatul cautarii.

    $. Bibliotecarul adauga numele cartii in catalogul de propuneri.

    %. Bibliotecarul face update la SIB.Scenarii alternative: 0

    Scenarii de eroare: 0

    Postconditii:Catalogul de propuneri contine o noua propunere.

    Diagrama de secventa (scenario nominal :

    Bibliotecar SIB

    1 : deDa_inregistrat=cauta_nu-e(

    2 : cauta_nu-e(

    ! : return deDa_inregistrat(

    " : i, ;deDa_inregistrat inregistrea&aPropunere(

    # : update(

    34

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    35/54

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    36/54

    !. Modelare static

    (a)Diagrama de clasa

    36

    Utilizator

    nu-e: Stringprenu-e: StringI4: integer

    66abstract77 nrFileI-pru-ut: integerdataInscriere: 4atedata5nulare: 4atenr$artiI-pru-utate: integernu-e ser: Stringparola: String

    A$reare(A5nulare(A5utenti,icare(Aupdate(AupdateGog(Aalegere>od$autare(

    Student

    adresanrFileI-pru-ut: integer = 1#data escriere: integerH#dataS,arsitPenali&are: 4ate

    AupdatePenali&are(A/eri,icarePenali&are(

    Profesor

    e-ail: StringnrFileI-pru-ut: integer = !0data escriere: integerH!0

    Apropune(

    Biblioteca

    0..*

    Sistemul Informatic al Bibliotecii

    Server Universitate

    1

    1

    Imprumut

    cota: integerI4: integerdataI-pru-ut: 4atedata estituirePre/a&uta: 4atedata estituireE,ecti/a: 4ate

    AcreareI-pru-ut(AanulareI-pru-ut(Acautare4E(Aupdate(AeliberareI-pru-ut(AesteEliberat(

    Eliberare

    Adata: 4atenrEliberare: integer

    AEliberare(

    0..*

    "aterial

    Atitlu: StringAautor: StringAnrE 4isp: integer

    ISB : Stringdata$reare: 4atedata5nulare: 4ate

    Acreare(Aanulare(

    0..*

    !arte

    A/olu-: integer = 1Aeditie: integer = 1

    AupdateGog(Aupdate(Acautare$arte(

    Revista

    Aperiodicitate: ,loatAnu-ar: intAcuprins: String

    Acautare e/ista(

    0..!

    1

    Exemplar

    cota: integerstare: booleancalitate: Stringin eparatie: booleandata$reare: 4atedata5nulare: 4atepierdut: boolean = ,alsei-pru-utabil: boolean

    Asc8i-bareStare(Asc8i-bareIn eparatie(Asc8i-bare$alitate(Acreare(Aanulare(Acautare(AupdateGog(

    0..*

    1

    1..*

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    37/54

    (b)#tructura in $ac%ete

    Clasele sunt grupate in urmatoarele pac"ete:

    1 Inventar 5 emplar

    !aterial

    Carte

    Hevista

    2seri

    2tilizator

    Student

    Profesor

    $ 8ranzactii

    Imprumut

    5liberare

    (c) &n'ariani

    Context Utilizator

    M nume not emptN #

    M prenume not emptN#

    M ID not emptN O is2ni ue #

    M nrQileImprumut 4#

    M $ 6 nrCartiImprumutate 6 4#

    M nume2ser is2ni ue #

    M dataInscriere R todaN#

    37

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    38/54

    M data(nulare R todaN#

    M dataInscriere R data(nulare#

    Context Student

    M adresa not emptN#

    M nrQileImprumut > 1'#

    M dataHeinscriere :

    dataHeinscriere iT ? $)' R dataHeinscriere i?1T #

    dataInscriere 9 dataHeinscriere 4T #

    M dataSfarsitPenalizare :

    dataSfarsitPenalizare 6 todaN #

    dataSfarsitPenalizare R dataHeinscriere iT #

    Context Profesor

    M email not emptN #

    M nrQileImprumut > $4 #

    M dataHeinscriere :dataHeinscriere iT ? $)' R dataHeinscriere i?1T #

    Context Material

    M titlu not emptN #

    M autor not emptN #

    M nr5 Disp 6 4 #

    M ISB; is2ni ue #

    M dataCreare R todaN #

    M data(nulare R todaN #

    dataCreare 9 data(nulare #

    Context Carte

    M volum not emptN default > 1 #

    38

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    39/54

    M editie not emptN default > 1 #

    Context Revista

    M periodicitate 4

    periodicitatea 9 1 daca revista apare de m ori la n luni, unde m9n

    M numar not emptN #

    M cuprins not emptN #

    Context Exemplar

    M cota is2ni ue

    M cota 4

    M dataCreare 9 data(nulare #

    M inHeparatie implies imprumutabil #

    M inHeparatie implies stare

    M calitate implies stare

    M calitate implies imprumutabil #

    M calitate implies inHeparatie #M calitate > enumUnou, ca

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    40/54

    (d)Pre Post ondiii

    Context Student

    M creare nume, prenume, adresa, nume2ser, parola

    Precondi ii :

    not utilizator - e ists user V user.id>id O

    not utilizator - e ists user V user.id O

    anprenume O

    todaN student - user:2tilizatorVuser.id>idd .dataSfarsitPenalizarePostcondi ii:

    utilizator - e ists user V user.id>id V user.nume>nume V

    user.prenume>prenume V user.adresa>adresa V user.nrQileImprumut>1'

    V user.nume2ser>nume2ser Vuser.parola>parola V

    user.nrCartiImprumutate>4 Vuser.dataInscriere>todaN

    Vuser.data(nulare>null Vuser.dataHeinscriere>null V

    user.dataSfarsitPenalizare>null

    O Biblioteca.nr2tilizatori=pre>Biblioteca.nr2tilizatori=post?1

    M anulare

    Precondi ii :

    Postcondi ii :

    Biblioteca.nr2tilizatori=pre>self.nr2tilizatori=post-1 O

    self.data(nulare>todaN

    M autentificare nume2ser, parola

    Precondi ii :

    Postcondi ii :

    result> utilizator - for(ll e :StudentVe.nume2ser>nume2ser O

    40

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    41/54

    e.parola>parola

    M update

    M updateWog

    M alegere!odCautare mod

    M updatePenalizare imprumut

    MverificarePenalizare id :boolean

    Context Profesor

    M creare nume, prenume, email, nume2ser, parola

    Precondi ii :

    not utilizator - e ists user V user.id>id O

    not utilizator - e ists user V user.id O

    anprenume

    Postcondi ii:

    utilizator - e ists user V user.id V user.nume>nume V user.prenume>prenumeV user.email>email V user.nrQileImprumut>$4 V

    user.nume2ser>nume2ser Vuser.parola>parola V

    user.nrCartiImprumutate>4 Vuser.dataInscriere>todaN V

    user.data(nulare>null Vuser.dataHeinscriere>null O

    Biblioteca.nr2tilizatori=pre>Biblioteca.nr2tilizatori=post?1

    M anulare

    Precondi ii :

    Postcondi ii :

    Biblioteca.nr2tilizatori=pre>Biblioteca.nr2tilizatori=post-1 O

    self.data(nulare>todaN

    M autentificare nume2ser,parola

    41

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    42/54

    Precondi ii :

    Postcondi ii :

    result> utilizator - for(ll e :ProfesorVe.nume2ser>nume2ser O

    e.parola>parola

    M update

    M updateWog

    M alegere!odCautare

    M propune propunere

    Precondi ii :

    titlu,autor V propunere.titlu>titlu O propunere.autor>autor 5mptN

    Postcondi ii :

    Biblioteca.listaPropuneri not5mptN

    propunere- e ist pV p.autor>autor V p.titlu>titlu

    Context Carte

    Mupdate MupdateWog

    McautareCarte autor : WistaCarti

    Precondi ii :

    Postcondi ii :

    result>e emplare- select e : Carte Ve.autor>autor

    McautareCarte titlu :WistaCarti

    Precondi ii :

    Postcondi ii :

    result>e emplare- select e : Carte Ve.titlu>titlu

    McautareCarte autor,titlu :WistaCarti

    42

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    43/54

    Precondi ii :

    Postcondi ii :

    result>e emplare- select e : Carte Ve.autor>autor O e.titlu>titlu

    McautareCarte autor,titlu,ISB; :boolean

    Precondi ii :

    Postcondi ii :

    result>e emplare- for(ll e : Carte Ve.autor>autor O e.titlu>titlu O

    e.ISB;>ISB;

    Mcreare autor,titlu,ISB;

    Precondi ii :

    not carte- cautareCarte titlu,autor,ISB;

    Postcondi ii :

    carte- e ists lV l.titlu>titlu V l.autor>autor V l.ISB;>ISB;

    V l.dataCreare>todaN V l.data(nulare>null V l.nr5 Disp>4Manulare ISB;

    Precondi ii :

    carteVcarte.ISB;>ISB;

    carte.nr5 Disp>4

    Postcondi ii :

    carteVcarte.ISB;>ISB;

    carte.data(nulare>todaN

    carte- anulare

    Context Revista

    Mupdate

    43

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    44/54

    MupdateWog

    McautareHevista autor : listaHeviste

    Precondi ii :

    Postcondi ii :

    result>e emplare- select e : Hevista Ve.autor>autor

    McautareHevista titlu :listaHeviste

    Precondi ii :

    Postcondi ii :

    result>e emplare- select e : Hevista Ve.titlu>titluMcautareHevista autor,titlu :listaHeviste

    Precondi ii :

    Postcondi ii :

    result>e emplare- select e : Hevista Ve.autor>autor O e.titlu>titlu

    McautareHevista autor,titlu,ISB; :boolean

    Precondi ii :

    Postcondi ii :

    result>e emplare- for(ll e : Hevista Ve.autor>autor O e.titlu>titlu O

    e.ISB;>ISB;

    Mcreare autor,titlu,ISB;

    Precondi ii :

    not Hevista- cautareHevista titlu,autor,ISB;

    Postcondi ii :

    Hevista- e ists rV r.titlu>titlu V r.autor>autor V r.ISB;>ISB;

    V r.dataCreare>todaN Vr.data(nulare>null Vr.nr5 Disp>4

    Manulare ISB;

    44

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    45/54

    Precondi ii :

    HevistaVHevista.ISB;>ISB;

    Hevista.nr5 Disp>4

    Postcondi ii :

    HevistaVHevista.ISB;>ISB;

    Hevista.data(nularetodaN

    Hevista- anulare

    Context Exemplar

    M sc"imbareStare nouaStare

    Precondi ii :

    Postcondi ii :

    self.stare>nouaStare

    M sc"imbareInHeparatie n

    Precondi ii :

    Postcondi ii :self.inHeparatie>n

    M sc"imbareCalitate cota,nouaCalitate

    Precondi ii :

    Postcondi ii :

    lVl.cota>cota

    l.calitate>nouaCalitate

    M creare titlu,autor,ISB;,cota

    Precondi ii :

    carte : Carte Vcarte.titlu>titlu O carte.autor>autor O

    carte.ISB;>ISB; not5mptN

    Postcondi ii :

    45

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    46/54

    e emplar- e ists e.titlu>titlu V e.autor>autor V e.ISB;>ISB;

    V e.dataCrearenull Ve.cota>cota

    Ve.inHeparatie>false Ve.stare>true Ve.imprumutabil>true Ve.calitate> X nou

    Ve.pierdute>false O carte : CarteVcarte.titlu>titlu O carte.autor>autor O

    carte.ISB;>ISB;

    carte.nr5 Disp=pre>nr5 Disp=post?1#

    M anulare

    Precondi ii :

    e : 5 emplarVe .cota>cota

    e .pierdut>true VV e .calitate> Xfoartefalse

    Postcondi ii :

    e : 5 emplarVe .cota>cota

    e .data(nulare

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    47/54

    implies student.dataSfarsitPenalizare 5mptN

    Postcondi ii :

    utilizator.nrImprumut=pre>utilizator.nrImprumut=post?1 O

    not cota.imprumutabil O not cota.stare O

    imprumut- e ists eV e.cota>cota V e.id>utilizator.id V

    e.dataImprumut>todaN V e.dataHestituirePrevazuta >

    todaN ? utilizator.ocl(s8Npe student Y 1' : $4 V

    e.dataHestituire5fectiva>null

    M anulareImprumut cota

    Precondi ii :

    not cota.imprumutabil O not cota.stare

    Postcondi ii :

    e : Imprumut VCautaImprumut cota

    e.dataHestituire5fectiva>todaN O e emplar : 5 emplar

    Ve emplar.cota>cota e emplar.consultable O e emplar.stare Outilizator : 2tilizator VCauta2tilizator e

    utilizator.nrImprumut=pre>utilizator.nrImprumut=post-1

    M cautaD5

    Precondi ii :

    Postcondi ii :

    result> self.dataHestituirePrevazutaM update ne*DataHestituire5fectiva

    Precondi ii :

    Postcondi ii :

    self.dataHestituire5fectiva> ne*DataHestituire5fectiva

    M eliberareImprumut

    47

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    48/54

    Precondi ii :

    este5liberat

    Postcondi ii :

    not eliberare- contains rVr.imprumut>self =pre implies

    eliberare.size>eliberare.size=pre?1

    eliberare- contains rVr.imprumut>self O todaN -

    r.data95liberare.intervaltodaN O nb5liberare??

    Context Biblioteca

    Mac"izitie!aterial

    Precondi ii :

    self.buget 4 O self .listaPropuneri. ;ot5mptN O

    self.catalog.not5mptN

    Postcondi ii :

    self.buget=pre6self.buget=post O

    self.listaPropuneri=post.includes self.listaPropuneri=pres O

    48

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    49/54

    self.lista!ateriale;oi.not5mptN

    M inscrireProfesor id,nume,prenume,email,nume2ser,parola

    Precondi ii :

    not utilizator - e ists user V user.id>id O

    not utilizator - e ists user V user.id O

    anprenume

    Postcondi ii:

    utilizator - e ists user V user.id V user.nume>nume V

    user.prenume>prenume V user.email>email V user.nrQileImprumut>$4 V

    user.nume2ser>nume2ser Vuser.parola>parola V

    user.nrCartiImprumutate>4 Vuser.dataInscriere>todaN

    Vuser.data(nulare>null Vuser.dataHeinscriere>null O

    self.nr2tilizatori=pre>self.nr2tilizatori=post?1

    M inscrireStudent id,nume,prenume,adresa,nume2ser,parolaPrecondi ii :

    not utilizator - e ists user V user.id>id O

    not utilizator - e ists user V user.id O

    anprenume O

    todaN student - user:2tilizatorVuser.id>idd .dataSfarsitPenalizarePostcondi ii:

    utilizator - e ists user V user.id>idd V user.nume>nume V

    user.prenume>prenume V user.adresa>adresa V user.nrQileImprumut>1'

    V user.nume2ser>nume2ser Vuser.parola>parola V

    user.nrCartiImprumutate>4 V user.dataInscriere>todaN V

    49

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    50/54

    user.data(nulare>null Vuser.dataHeinscriere>null

    Vuser.dataSfarsitPenalizare>null O

    self.nr2tilizatori=pre>self.nr2tilizatori=post?1

    M imprumut utilizator,cota

    Precondi ii :

    utilizator.id not5mptN O 49 utilizator.nrImprumut9$ O

    cota.imprumutabil O cota.stare O utilizator.ocl(s8Npe student

    implies student.dataSfarsitPenalizare emptN

    Postcondi ii :

    utilizator.nrImprumut=pre>utilizator.nrImprumut=post?1 O

    not cota.imprumutabil O not cota.stare O imprumut- e ists eV

    e.cota>cota V e.id>utilizator.id V e.dataImprumut>todaN V

    e.dataHestituirePrevazuta>todaN? utilizator.ocl(s8Npe student Y1':$4

    V e.dataHestituire5fectiva>null

    M restituire cotaPrecondi ii :

    not cota.imprumutabil O not cota.stare

    Postcondi ii :

    e :Imprumut VCautaImprumut cota

    e.dataHestituire5fectiva>todaN O e emplar : 5 emplar

    Ve emplar.cota>cotae emplar.consultable O e emplar.stare O

    utilizator : 2tilizator V Cauta2tilizator e

    utilizator.nrImprumut=pre>utilizatornrImprumut=post-1

    M anulare2tilizator id

    Precondi ii :

    50

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    51/54

    Postcondi ii :

    self.nr2tilizatori=pre>self.nr2tilizatori=post-1 O

    user : 2tilizator Vuser.id>id

    user.data(nulare>todaN

    M repararecota

    not e emplar.imprumutabil O not e emplar.stare O

    e emplar.inHeparatie O

    e emplar.calitate>Xfoartee emplar.ISB; O e emplar.cota>cota

    carte.nr5 Disp=pre>carte.nr5 Disp=post-1

    M reparare;umarHevista cota

    Precondi ii :Postcondi ii :

    nrHevista : ;umarHevistaVnrHevista.cota>cota

    not nrHevista.imprumutabil O not nrHevista.stare O

    nrHevista.inHaparatie O nrHevista.calitate> Xfoartecota O

    nrHevista.titlu>revista.titlu O nrHevista.autor>revista.autorrevista.nrDisponibil=pre>revista.nrDisponibil=post-1

    M retragere5 Carte cota

    Precondi ii :

    e : 5 emplarVe .cota>cota

    e .pierdut>true VV e .calitate> Xfoarte

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    52/54

    e .inHeparatie>false

    Postcondi ii :

    e : 5 emplarVe .cota>cota

    e .data(nularetodaN O nrHevista- anulare O

    revista : Hevista VnrHevista.cota>cota O nrHevista.titlu>revista.titlu OnrHevista.autor>revista.autor

    revista.nrDisponibil=pre>revista.nrDisponibil=post-1

    M retragereCarte ISB;

    Precondi ii :

    carte :Carte Vcarte.ISB;>ISB;

    carte.nr5 Disp>4Postcondi ii :

    carte : CarteVcarte.ISB;>ISB;

    carte.data(nularetodaN O carte- anulare

    M inregistrareCarte titlu,autor,ISB;

    Precondi ii :

    52

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    53/54

    not carte- cautareCarte titlu,autor,ISB;

    Postcondi ii :

    carte- e ists lV l.titlu>titlu V l.autor>autor V l.ISB;>ISB; V

    l.dataCreare>todaN Vl.data(nulare>null Vl.nr5 Disp>4

    M inregistrareHevista titlu,autor,ISB;

    Precondi ii :

    not revista- cautareHevista titlu,autor,ISB;

    Postcondi ii :

    revista- e ists r: HevistaV r.titlu>titlu V r.autor>autor V r.ISB;>ISB;

    V r.dataCreare>todaN V r.data(nulare>null V r.nrDisponibil>4

    M inregistrare5 Carte titlu,autor,ISB;,cota

    Precondi ii :

    carte : Carte Vcarte.titlu>titlu O carte.autor>autor O

    carte.ISB;>ISB; not5mptN

    Postcondi ii :e emplar- e ists e.titlu>titlu V e.autor>autor V e.ISB;>ISB;

    V e.dataCrearenull Ve.cota>cota

    Ve.inHeparatie>false Ve.stare>true Ve.imprumutabil>true

    V e.calitate> X nou Ve.pierdute>false O

    carte : CarteVcarte.titlu>titlu O carte.autor>autor O carte.ISB;>ISB;

    carte.nr5 Disp=pre>nr5 Disp=post?1#M inregistrare;umarHevista titlu,autor,ISB;,cota,nr

    Precondi ii :

    revista : Hevista Vrevista.titlu>titlu O revista.autor>autor not5mptN

    Postcondi ii :

    e emplar- e ists e.titlu>titlu V e.autor>autor V e.ISB;>ISB;

    53

  • 8/13/2019 Gestiunea Unei Biblioteci Universitare

    54/54

    V e.dataCrearenull Ve.cota>cota

    Ve.inHeparatie>false Ve.stare>true Ve.calitate> X nou

    Ve.pierdute>false Ve.numar>nr

    revista : Hevista Vrevista.titlu>titlu O revista.autor>autor O

    revista.nrDisponibil=pre>nrDisponibil=post?1

    M pierdere5 Carte cota

    Precondi ii :

    Postcondi ii :

    e Ve .cota>cota

    e .pierdut>true O carte : Carte V carte.ISB;>e emplar.ISB; O

    e emplar.cota>cota

    carte.nr5 Disp=pre>carte.nr5 Disp=post-1

    M verificareCalitate cota,nouaCalitate

    Precondi ii :

    Postcondi ii :m : !aterial Vm.cota>cota

    m.calitate>nouaCalitate