Lab
Calitate si Evolutie Software
Notele de la Laborator
30.03.2011 - Notele Finale de la Laborator pot fi vizualizate aici
Temele de proiect
15.03.2011 - Temele de proiect sunt prezentate mai jos. Proiectele pot fi realizate in echipa de cate doi sau individual. Ele vor fi sustinute sub forma unei prezentari in saptamanile 6-7 ale semestrului. Sistemele ce vor fi analizate trebuie sa contina intre 5.000 - 8.000 de metode. Cei care nu au prezentat plugin-ul Eclipse, il vor prezenta obligatoriu in saptamana 6, impreuna cu proiectul!
- P1 Creati un raport despre duplicarile de cod existente intr-un sistem, si propuneti solutii de refactorizare la cel putin trei duplicari gasite. Folositi pentru aceasta tool-ul Dude (parte din iPlasma).
- P2 Creati un raport despre problemele de proiectare existente intr-un sistem, si propuneti solutii de refactorizare la cel putin trei probleme distincte. Folositi pentru asta tool-ul inFusion.
- P3 Creati un raport despre problemele de proiectare existente intr-un sistem, si propuneti solutii de refactorizare la cel putin trei probleme distincte. Folositi pentru asta plugin-ul inCode.
- P4 Prezentati cum au evoluat anumite clase de tip GodClass in cel putin trei versiuni ale unui sistem (\eg ArgoUML, JHotDraw).
- P5 Prezentati cum au evoluat anumite clase de tip Refused Parent Bequest in cel putin trei versiuni ale unui sistem (\eg ArgoUML, JHotDraw).
- P6 Prezentati cum au evoluat anumite clase de tip Tradition Breaker in cel putin trei versiuni ale unui sistem (\eg ArgoUML, JHotDraw).
- P7 Prezentati daca sunt sau nu probleme legate de tratarea exceptiilor intr-un sistem ales de voi.
Saptamana 1
- inCode. inFusion - pot fi descarcate de aici iar un sistem de test (jhotdraw) poate fi descarcat de aici
- Some tips every programmer should know
Saptamana 2
- Prezentarea unui instrument software(tool) din categoria Markets/Tools/Source Code Analyzer existent pe http://marketplace.eclipse.org
Saptamana 3
- Evaluarea calitatii sistemului open-source ArgoUML folosind inFusion.
- Cuantifica similar informatii despre ierarhiile de clasa Overview Pyramid si System Complexity View?
- Gasiti pachetele intre care exista dependente ciclice.
- Studiati cauzele ce au dus la detectia de God Classes.
- Analizati metodele lungi si scurte. Considerati necesare comentariile in cod?
Saptamana 4
- Ce abordare folositi pentru a intelege exceptiile dintr-o aplicatie?
- Cat de des acordati atentie functionalitatii ce implica tratarea exceptiilor atunci cand scrieti, testati, intelegeti si refactorizati codul-sursa?
- Cand incepeti sa va ganditi la situatiile exceptionale care pot sa apara? S-a schimbat in timp aceasta strategie? Daca da, ce a schimbat-o?
- Dati un exemplu de situatie in care tratarea exceptiilor in codul sursa a fost foarte importanta.
- Dati un exemplu de situatie in care tratarea exceptiilor in codul sursa a putut fi ignorata.
- Ce ziceti de rolul Exception Engineer - un programator ce raspunde pentru comportamentul exceptional al sistemelor?
- How Effective Is Modularization? (Chapter 21 from Making Software)
- What Does 10x Mean? Measuring Variations in Programmer Productivity Chapter 30 from Making Software)
Saptamana 5
- Presenting is storytelling, by Tudor Girba
- Some principles from Stephen Few's Show Me the Numbers
- Some refactorings upon atm
Announcements
21.02.2011 - Pentru o buna organizare a laboratorului, toti studentii sunt rugati sa se inscrie utilizand acest formular. Lista celor inscrisi si repartizarea lor se poate consulta aici Pentru a viualiza inscrierea facuta trebuie sa asteptati cam 5 minute. Repartizarea se va face in ordinea inscrierilor!