![Page 1: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/1.jpg)
Application of Design Heuristics
in the Designing and Implementation
of Object Oriented Informational Systems
![Page 2: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/2.jpg)
Object Oriented Programming
Successful use Extensive use Difficult use
A lot of books, studies, discussions What is missing ;
![Page 3: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/3.jpg)
Tools
Already many existMetrics, Refactoring, Profilers, “Bug finders”
Limited applications in the field of OO ProgrammingThe problem solution is difficult to find
![Page 4: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/4.jpg)
Design Heuristics
Empiric rules Popularly acceptable
Simple and comprehensible Easy applicable
Powerful warning mechanisms
![Page 5: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/5.jpg)
Design Heuristics
They give spark for careful revision They do not give the solution, they find the dangerous points
Flexible rules They do not have strict formulation Different elasticity, depending on the system The user decides about how and when to use them
![Page 6: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/6.jpg)
Heuristic Example
All the fields of a class should be private
Classic rule of OO programming .
The ascertainment of violation of the rule is simpleHowever how easy is the control of a system that consists of hundreds of classes ;
![Page 7: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/7.jpg)
Specifications of the Tool
Most basic condition is to have practical value Have to support
Modern programming languagesModern environment of handling Right communication with the user Fast implementation, comprehensible results
Implementation of a satisfactory number of useful heuristics
![Page 8: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/8.jpg)
Heuristic Inspections Plug-in
Implementation for the JAVA programming languageImplementation as a plug-in in a modern IDE
100% incorporation in the users work environment Direct implementation, direct results Exploitation of the IDE forceEasy development , maintainance and expendability
![Page 9: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/9.jpg)
A Case Study
Testing a final semester project of a student of our department, with the
Design Heuristics Tool.
![Page 10: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/10.jpg)
This is the IntelliJ IDEA’s environment.
In the Analyze menu we choose Heuristic Inspections Settings
![Page 11: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/11.jpg)
We check the Enable Summary Report Output Mode
![Page 12: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/12.jpg)
Again in the Analyze menu we choose Inspect Code
![Page 13: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/13.jpg)
Selection of the desired Heuristics and a short description for each one
![Page 14: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/14.jpg)
The results window with a small description for each violation
![Page 15: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/15.jpg)
Finally we select the Output Type of the results and Write a Report.
![Page 16: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/16.jpg)
The results in Excel format
![Page 17: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/17.jpg)
Some of the Design Heuristics compared to other code metrics violations in the specific project
![Page 18: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/18.jpg)
Conclusions
Design Heuristics tests have been applied to a variety of applications . The outcomes of those tests ranged from a few hundreds for small systems, to a few thousands for larger ones.
We must emphasize in that point that finding a Heuristics violation doesn’t mean that there is a problem that must be solved. Besides that there are Heuristics that are conflicting. Heuristics violations only indicate potential problems and not errors in code.
![Page 19: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/19.jpg)
Future Improvements
Addition of more Heuristics
Minimize execution time
Finding a more “mathematical”
way to express the most
subjective among Heuristics
![Page 20: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems](https://reader030.vdocuments.site/reader030/viewer/2022013115/56649f4d5503460f94c6d533/html5/thumbnails/20.jpg)
Thank you for your attention