This is an old revision of the document!
Proiect Baze de Date 2
Proiect 2021-2022
Link-ul pentru alegerea proiectului se găsește pe Microsoft Sharepoint 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
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 în spreadsheet
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 orientat document, atunci trebuie să suporte funcții definite de utilizator și să folosească MapReduce. Ex: MongoDB, CouchDB, Couchbase
Dacă este NoSQL orientat coloană, atunci trebuie să suporte tipuri colecții și funcții definite de utilizator. Ex. Cassandra
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
Se acceptă proiecte care folosesc ORM-uri (ORM – object-relationship mapping, ex. JPA, Hibernate, Entity Framework, SQLAlchemy, etc) dacă complexitatea tuturor liniilor de cod care se folosesc de entități din baza de date este O(1). Mai exact se permite maparea entităților și utilizarea conexiunii în mod facil dar logica trebuie să fie în baza de date.
NU se acceptă proiecte care folosesc comenzi SQL scrise direct în codul apelant
Documentație
Documentația:
Se va scrie în MS WORD/LibreOffice
Va avea 8 pagini (inclusive screenshots aplicație și diagrama bazei de date)
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:
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
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ă)
[4p] Minim 6 interfațe grafice din care
[2p] Proiectarea corecta a bazei de date
[1p] Documentația scrisă conform specificațiilor
[3p] Subprograme
Pentru Oracle, MS SQL, MySQL:
Pentru PostgreSQL
Pentru MongoDB/CouchDB/Couchbase:
Pentru Cassandra
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