This shows you the differences between two versions of the page.
bd2:proiect:cerinta_proiect [2020/10/08 16:30] 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/1aFpJhhgNPzFFgQXqWojY3D2EjBE5I9H4ogLDSReJ7m0/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 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 | ||
- | * 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: | ||
- | * 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: | ||
- | * 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 | ||
- | * Scripturile necesare creării bazei de date și populării acesteia | ||
- | * Scripturile pentru funcții/proiceduri | ||
- | * README.txt pentru a face deploy local | ||
- | * Arhiva va avea numele GrupaSeria_Nume_Prenume, ex. 341C3_Popescu_IonAndrei | ||
- | * <color red> **DEADLINE: Arhiva se va încărca pe moodle până pe 24.01.2021 ora 23:59:59** </color> | ||
- | * <color red> În ultima săptămâna (25 - 29 Ianuarie 2021) - Se va prezenta proiecul îndrumătorului de laborator unde sunteți repartizați.</color> | ||
- | |||
- | |||
- | ** Punctarea Proiectului <color red>(maxim 10p si are o pondere de 20% din nota finală) </color>** | ||
- | |||
- | * [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 informaț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/CouchDB/Couchbase: | ||
- | * 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 |