-
- The Prototype
-
-
- Research
Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
step | description | what to look for |
---|---|---|
1. | initialize environment | |
1.1. | downloads | |
1.1.1. | download java runtime environment (1.4.2_09) | |
1.1.2. | download eclipse (R3.1.2) | |
1.1.3. | download GEF-ALL (3.1.1) | |
1.1.4. | download SWI-Prolog | |
1.1.5. | download Cultivate (n20060304) | |
1.2. | setup | |
1.2.1. | unzip eclipse | |
1.2.2. | unzip GEF to eclipse folder | |
1.2.3. | unzip Cultivate to eclipse folder | |
1.2.4. | install JRE in jre subdirectory of eclipse folder | |
1.2.5. | install prolog | Windows: plwin must be accessible from command line (in PATH), try cmd.exe /c start /min plwin from command line |
1.2.6. | run eclipse | |
2. | initialize project, classes and settings | |
2.1. | create new java project named “test” | |
2.2. | add the jtransformer nature to the project “test” | |
2.3. | test prolog availability | |
2.3.1. | open the prolog console view | |
2.3.2. | select “test: ” in the prolog console as interface | “Welcome to the SWI-Prolog server on thread client@localhost” appears in the console |
2.4. | activate the cultivate nature for the project “test” | |
2.5. | create classes | |
2.5.1. | create class a.A | |
2.5.2. | create class a.A2 extends A | |
2.5.3. | create class b.B extends A | |
2.5.4. | create class c.C extends B | |
2.5.5. | create class d.D extends A | |
2.6. | add method public void x() { ;; new C(); } to class a.A | |
2.7. | open the cultivate perspective | |
3. | test diagrams | |
3.1. | select the project “test” in the package explorer | |
3.2. | select package dependency diagram | cycle with red arrows between packages a,b,c - dependency from d to a - d green, b,c yellow, a orange |
3.3. | select modfied package dependency diagram | |
3.4. | select inheritance diagram | |
3.4. | add legend | |
3.4. | remove legend | |
3.5. | select package dependency diagram | |
3.6. | remove cycle by removing the new C(); from a.A.x() | cycle removal and color changes |
4. | result view | |
4.1. | add nop smell | 2 results, yellow background, selection in view menu |
4.2. | double-click result | class opened with nop selected |
4.3. | add dit metric | |
4.4. | remove nops | update |
5. | check markers | |
5.1. | add ; to a.A.x() | |
5.2. | select nop smell marker on WARNING | marker is visible in problem view and in the editor on warning level |
5.3. | add ; to a.A.x() | update of editor and problem view |
5.4. | switch nop smell marker to ERROR | markers are visible in problem view and in the editor on error level |
5.5. | switch nop smell marker to OFF | markers not visible any more |
6. | check user defined metrics | |
6.1. | create file test/conventions.pl with content: :- multifile detector_/4. :- multifile detector_description/4. detector_description(meinErsterDetektor, 'ein kurzer Hilfetext',statement,unrated). detector_(meinErsterDetektor, occurrence, [(statement, CallID)], []) :- nopT(CallID, _, _). | |
6.2. | refresh detector definitions (right click on project, refresh detector definitions) | |
6.3. | do the nop smell tests for meinErsterDetector as in 3 and 4 |