Proiect Baze de Date 2

Proiect 2023-2024 Link-ul pentru alegerea proiectului se găsește pe TBA sau pe Teams > General > Files. (pentru a păstra modificările vă rugăm să editați direct și nu să descărcați o copie)

Cerințe proiect

  • Proiectul consta in proiectarea corecta a unei baze de date, popularea ei cu date si afisarea datelor via unei aplicatii/unor rapoarte.
  • Tema aplicației va fi aleasă de către student (până în săptămâna a 3-a)
  • Limbajul de programare pentru dezvoltarea aplicației este la alegere (ex. Python, Java, .Net, C/C++, etc.)
  • Proiectul este individual
  • NU se acceptă 2 proiect la fel. De exemplu, nu se vor accepta 2 proiecte pentru magazin virtual cu piese auto, dar se acceptă ca fiind proiecte diferite un magazin virtual de piese auto și un magazin virtual de automobile.
  • Îndrumătorul de laborator va valida proiectele pentru a se asigura că nu există duplicate

Proiectarea bazei de date

  • Sistemul de Gestiune a Bazei de Date (SGBD) va fi relațional, la alegere dintre Oracle SQL și Microsft SQL.
  • Baza de date trebuie să conțină minim 5 tabele (sistem relațional).
  • Baza de date trebuie să fie proiectată astfel încât să respecte modelul tipului de baza de date ales.
  • Se vor defini constrângeri de integritate pe structurile tabelare/colecții.
  • Pentru popularea cu date se vor crea scripturi de SQL.
  • Pentru rapoarte se vor crea proceduri (stocate) care vor genera aceste rapoarte.
  • Se consideră raport orice clauză SQL care are minim complexitate 4 și oferă o informație utilă pentru proiectul vostru. Se adaugă un punct de complexitate unei clauze simple, care are complexitate 0, (SELECT…FROM…) pentru fiecare clauză de JOIN, condiție de WHERE, clauză GROUP BY sau condiție HAVING. Exemplu: Voi face o aplicație de HR pe baza de date din laborator. Un raport îmi poate spune ce angajați pot fi promovați (au minim 6 luni în firmă și sunt ai unui manager care are buget și există suficient buget). NU este considerat raport aducerea tuturor angajaților cu managerii lor.

Proiectarea elementetor de afișare

  • Pentru rapoarte puteți folosi orice tool grafic doriți, în lab vi se va prezenta cum via Python / Microsoft PowerBI.
  • Pentru aplicații puteți să folosiți orice framework doriți, în lab vi se va prezenta via script Python .
  • În cazul amândurora nu aveți voie să chemați cod SQL sau procesa via ORM, doar chema proceduri stocate sau mapa structuri existente via ORM. Orice proiect care NU respectă această cerință primește 0 puncte.

Documentație

Documentația:

  • Se va scrie în ce doriți atâta timp cât se livrează un PDF
  • Va avea MAXIM 8 pagini (inclusive screenshots aplicație și diagrama bazei de date)
  • Exmplu formatare lizibilă: Font ARIAL de 10p, Textul va fi Justify, Nu se va folosi spațiere între linii,Identarea paragrafelor se va face cu un tab (4 spații)

Documentația va fi structurată astfel:

  • Descrierea temei
    • Descrierea bazei de date:
      • Diagrama bazei de date
      • Structura tabelelor
      • Descrierea constrângerilor de integritate
      • Descrierea procedurilor și funcțiilor
    • Descrierea aplicației:
      • Diagrama de clase
      • Structura claselor
      • Diagrama de stări și fluxul de lucru (workflow) pentru aplicație
      • Prezentarea modului în care se face conexiunea cu baza de date
    • Capturi de ecran pentru interfețe și rapoarte
    • Concluzii;
    • Bibliografie

Prezentarea Proiectului

  • Proiectul va fi prezentat îndrumătorului de laborator unde este înscris studentul
  • Trebuie încărcată pe moodle o arhivă care să conțină:
    • Documentația
    • Codul sursă aplicație/rapoartelor
    • Scripturile necesare creării bazei de date și populării acesteia
    • Scripturile pentru funcții/proiceduri
    • README.txt pentru a face deploy local
    • Un video comentat cu un usecase al aplicatiei.
  • Arhiva va avea numele GrupaSeria_Nume_Prenume, ex. 341C3_Popescu_IonAndrei
  • DEADLINE: Arhiva se va încărca în duminica din penultima săptămână.
  • În ultima săptămână - Se va prezenta proiecul îndrumătorului de laborator unde sunteți repartizați.

Punctarea Proiectului (maxim 10p si are o pondere de 20% din nota finală)

  • [2p] Proiectarea corecta a bazei de date
  • [2p] Integritatea datelor introduse (constrângeri de integritate, trigger-e, scripturi de populare a datelor)
  • [1p] Documentația scrisă conform specificațiilor
  • [3p] Rapoartele
    • [1p] Un raport de complexitate minim 4
    • [1p] Un raport de complexitate minim 6
    • [1p] Un raport de complexitate minim 7
  • [2p] Utilizarea de rapoarte grafice/aplicații care afișază acele rapoarte

Alte Observații

  • Nu vor fi punctate interfețele, procedurile, funcțiile, triggerele sau rapoartele simple (de ex. o procedura care afișează userul și data pe ecran)
  • Se depunctează nefuncționarea corecta a aplicației
bd2/proiect/cerinta_proiect.txt · Last modified: 2023/10/30 09:13 by alex.petrescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0