Former Labs
Calitate si Evolutie Software
Regulament Laborator 2020
- In cadrul laboratorului vor fi realizate diferite activitati care vor fi prezentate saptamanile viitoare.
- Vinerea laboratorul incepe la 8:10.
Saptamana 2
- Some tips every programmer should know
- No Such Thing As Plain Text
- JavaScript Programming - An online editor is available here
Saptamana 3
- Prezentarea suportului de testare in BTC EmbeddedPlatform
- Scenariu de utilizare
- Metode in C: myMax si mainFunction
Saptamana 4 - Predare Activitate A1 (Individuala)
- Pondere: 25% (2.5 puncte)
- Termen maxim de predare: Saptamana 4 (10, 13 Martie)
- Prezentarea unui instrument software (tool) din categoria Source Code Analyzer existent pe http://marketplace.eclipse.org. Va rog sa nu prezentati FindBugs!
- Se poate prezenta si un alt tool de analiza statica ce nu este disponibil pe http://marketplace.eclipse.org!
Saptamana 5+ - Activitate A2 (Individuala sau Echipa formata din 2 studenti) - teme/activitati din lista de mai jos sau altele asemanatoare (cele propuse de voi vor fi discutate cu mine) cel tarziu pana in 13 Martie. Rezultatele analizei/analizelor vor fi descrise intr-un document (e.g. MS Word). Sistemele ce vor fi analizate trebuie sa fie de dimensiuni mari (> 1000 de metode) si majoritatea (A1 - A5, A8) trebuie sa aiba o istorie ce poate fi extrasa dintr-un sistem de versionare. Daca sistemele analizate nu sunt corespunzatoare, punctajul aferent fiecarei activitati va fi micsorat cu un punct.
- Pondere: 75% (7.5 puncte)
- Termen de predare: Saptamana 7!
- Pot fi prezentate activitati ale caror punctaje insumeaza maxim 8 puncte.
Pentru fiecare activitate mentionati in document utilitatea ei!
Lista Activitati:
- A1 [1 punct] Pentru un sistem open-source disponibil pe git creati un tag cloud bazat pe mesajele de commit.
- A2 [1.5 puncte] Pentru fiecare entitate dintr-un proiect extrageti in aceeasi structura de date numarul de revizii si numarul de linii de cod.
- A3 [1.5 puncte] Pentru fiecare entitate dintr-un proiect extrageti in aceeasi structura de date numarul de revizii si numarul de autori.
- A4 [2 puncte] Pentru fiecare entitate dintr-un proiect extrageti autorul cu cele mai multe linii de cod introduse.
- A5 [3 puncte] Studiati cuplajul temporal dintre entitatile unui sistem si strict pe baza acestuia incercati sa identificati entitati care nu respecta principii de proiectare oo.
- A6 [3.5 puncte] Creati un raport despre duplicarile de cod existente intr-un sistem, si propuneti solutii de refactorizare la cel putin trei duplicari gasite. Puteti folositi pentru detectia duplicarilor de cod tool-ul Dude (parte din iPlasma). inDuDe.sh poate fi descarcat de aici - Extensia trebuie redenumita din .txt in .sh.
- A7 [3 puncte] Creati un raport despre carentele de proiectare (e.g. bad smells) existente intr-un sistem, si propuneti solutii de refactorizare la cel putin trei probleme distincte.
- A8 [3 puncte] Prezentati cum au evoluat anumite clase de tip GodClass in cel putin trei versiuni ale unui sistem (e.g. ArgoUML, FindBugs).
- A9 [2 puncte] Prezentati daca sunt sau nu probleme legate de tratarea exceptiilor intr-un sistem ales de voi.
- A10 [2 puncte] Inlocuiti intr-un proiect JavaScript/TypeScript cateva (cel putin 5) instructiuni for clasice folosind .map, .filter si .reduce.