1 / 20

Application of Design Heuristics in the Designing and Implementation of Object Oriented Informati onal Systems

Application of Design Heuristics in the Designing and Implementation of Object Oriented Informati onal Systems . Object Oriented Programming. Successful use Extensive use Difficult use A lot of books, studies, discussions What is missing ;. Tools . Already many exist

ginata
Download Presentation

Application of Design Heuristics in the Designing and Implementation of Object Oriented Informati onal Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Application of Design Heuristics in the Designing and Implementationof Object OrientedInformational Systems

  2. Object Oriented Programming • Successful use • Extensive use • Difficult use • A lot of books, studies, discussions • What is missing;

  3. Tools • Already many exist • Metrics, Refactoring, Profilers, “Bug finders” • Limited applications in the field of OO Programming • The problem solution is difficult to find

  4. Design Heuristics • Empiric rules • Popularly acceptable • Simple and comprehensible • Easy applicable • Powerful warning mechanisms

  5. 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

  6. Heuristic Example • All the fields of a class should be private • Classic rule of OO programming. • The ascertainment of violation of the rule is simple • However how easy is the control of a system that consists of hundreds of classes;

  7. Specifications of the Tool • Most basic condition is to have practical value Have to support • Modern programming languages • Modern environment of handling • Right communication with the user • Fast implementation, comprehensible results • Implementation of a satisfactory number of useful heuristics

  8. Heuristic Inspections Plug-in • Implementationfor the JAVA programming language • Implementationas aplug-in in amodern IDE • 100% incorporation in the users work environment • Direct implementation, direct results • Exploitation of theIDE force • Easy development, maintainance and expendability

  9. A Case Study Testing a final semester project of a student of our department, with the Design Heuristics Tool.

  10. This is the IntelliJ IDEA’s environment.In the Analyze menu we choose Heuristic Inspections Settings

  11. We check the Enable Summary Report Output Mode

  12. Again in the Analyze menu we choose Inspect Code

  13. Selection of the desired Heuristics and a short description for each one

  14. The results window with a small description for each violation

  15. Finally we select the Output Type of the results and Write a Report.

  16. The results in Excel format

  17. Some of the Design Heuristics compared to other code metrics violations in the specific project

  18. 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.

  19. Future Improvements • Addition of more Heuristics • Minimize execution time • Finding a more “mathematical” way to express the most subjective among Heuristics

  20. Thank you for your attention

More Related