20
Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems

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

Embed Size (px)

Citation preview

Page 1: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems

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

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

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

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

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

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

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

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

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

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

We check the Enable Summary Report Output Mode

Page 12: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems

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

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

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

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

The results in Excel format

Page 17: Application of Design Heuristics in the Designing and Implementation of Object Oriented Informational Systems

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

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

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

Thank you for your attention