This shows you the differences between two versions of the page.
bd2:proiect:cerinta_proiect [2019/09/25 09:54] ciprian.truica |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Proiect Baze de Date 2 ====== | ||
- | **Cerințe proiect** | ||
- | |||
- | * Tema aplicației va fi aleasă de către student <color red>(până în săptămâna a 3-a)</color> | ||
- | * Limbajul de programare pentru dezvoltarea aplicației este la alegere (ex. Python, Java, .Net, C/C++, etc.) | ||
- | * Proiectul este individual | ||
- | * <color red>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.</color> | ||
- | * <color red>Proiectul este obligatoriu pentru a susține examenul</color> | ||
- | * Î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 [[https://docs.google.com/spreadsheets/d/1rLPFNrY9_xG-bH72NBhnkTZyb_gHnEiOc7wCEUXMQxc/edit?usp=sharing|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 | ||
- | * Întârzierea predării proiectului este penalizată cu 0.5p/zi întârziere | ||
- | * Trebuie adusă 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 | ||
- | * Arhiva se va preda înaintea prezentării proiectului | ||
- | |||
- | ** Punctarea Proiectului <color red>(maxim 10p si are o pondere de 20% din nota finală) </color>** | ||
- | |||
- | * O interfață grafică se punctează cu 1p (punctajul maxim care se poate obține este 2p); | ||
- | * Un raport se punctează cu 1p (punctajul maxim care se poate obține este 2p) | ||
- | * Proiectarea corecta a bazei de date se punctează cu 2p | ||
- | * Documentația scrisă conform specificațiilor se punctează cu 1p | ||
- | * Pentru relațional: | ||
- | * O procedură/funcție se punctează cu 1p (punctajul maxim care se poate obține este 2p) | ||
- | * Un trigger se punctează cu 1p (punctajul maxim care se poate obține este 1p) | ||
- | * Pentru NoSQL: | ||
- | * O funcție se punctează cu 1p (punctajul maxim care se poate obține este 3p); | ||
- | |||
- | ** 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 |