Proiect Baze de Date 2

Cerințe proiect

  • 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.
  • Proiectul este obligatoriu pentru a susține examenul
  • Îndrumătorul de laborator va fi înștiințat de titlul proiectului pentru a-și da acordul
  • După acordul îndrumătorului, înscrierea titlului proiectului se va face de către aici

Proiectarea bazei de date

  • Sistemul de Gestiune a Bazei de Date (SGBD) va fi relațional sau NoSQL, la alegere.
    • Dacă SGBD-ul este relațional atunci trebuie să suporte un limbaj de programare procedurală. Ex.: Oracle (PL/SQL), MySQL, PostgreSQL, Microsoft SQL Server
    • Dacă este NoSQL atunci trebuie să suporte funcții definite de utilizator și să folosească MapReduce. Ex: MongoDB, CouchDB, Couchbase
  • Baza de date trebuie să conțină minim 5 tabele (sistem relațional) sau 5 colecții (Sistem NoSQL).
  • 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.

Proiectarea aplicației

  • Pentru a putea fi acceptată prezentarea proiectului, aplicația trebuie să conțină minim: 2 interfețe grafice, 2 rapoarte
  • Dacă se utilizează o bază de date relațională, aceasta trebuie să conțină minim: 1 procedură, 1 funcție, 1 trigger
  • Dacă se utilizează o bază de date NoSQL, aceasta trebuie să conțină minim: 3 funcții definite de utilizator dintre care minim una care folosește MapReduce
  • NU se acceptă proiecte care folosesc ORM-uri (ORM – object-relationship mapping, ex. JPA, Hibernate, Entity Framework, SQLAlchemy, etc)
  • NU se acceptă proiecte care folosesc comenzi SQL scrise direct în codul apelant

Documentație

Documentația trebuie să aibă aproximativ 10 pagini și 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 în format PDF, codul sursă, scripturile, etc. Arhiva va avea numele GrupaSeria_Nume_Prenume, ex. 341C3_Popescu_IonAndrei
  • DEADLINE: Arhiva se va încărca pe moodle până pe 24.01.2021 ora 23:59:59
  • În ultima săptămâna (25 - 29 Ianuarie 2021) - 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ă)

  • [4p] Minim 6 interfațe grafice din care
    • Minim 2 raport
      • Un raport este o interfață grafică care utilizează funții de agregare pentru a sumariza infomrația
      • Exemplu: dacă am un magazin virtual, un raport este coșul de cumpărături.
    • Interfețele grafice trebuie legate între ele programatic (nu se acceptă interfețe grafice individuale care nu au legături între ele)
  • [2p] Proiectarea corecta a bazei de date
  • [1p] Documentația scrisă conform specificațiilor
  • [3p] Subprograme
    • Pentru Oracle, MS SQL, MySQL:
      • Minim 2 funcții
      • Minim 2 proceduri
      • Minim 2 trigger
      • Cel puțin 2 subprograme să conțină un cursur
      • Subprogramele trebuie să trateze excepții
    • Pentru PostgreSQL
      • Minim 4 funcții
      • Minim 2 trigger
      • Cel puțin 2 subprograme să conțină un cursur
      • Subprogramele trebuie să trateze excepții
    • Pentru MongoDB:
      • Minim 6 funcții stocate din care cel puțin 2 care folosește MapReduce;
    • Pentru Cassandra
      • Minim 6 funcții stocate
      • Cel puțin 2 colecții vor fi utilizare
      • Cel puțin 2 tipuri definite de utilizator for fi utilizare

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/old/2019-2020/proiect/cerinta_proiect.txt · Last modified: 2020/10/07 14:53 (external edit)
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