Understanding Object-oriented Frameworks -an Exploratory Case Study

In recent years object-oriented frameworks have been identified as having the potential to provide the benefits of large-scale software reuse. In this paper we describe an exploratory case study that investigates one of the main challenges in framework usage – effective understanding. The study gathered a mixture of quantitative and qualitative data as subjects learned to use a Java version of the HotDraw framework over a 12-week period. The main findings are that subjects had difficulty: understanding the dynamic structure of the framework, mapping their chosen solutions onto the framework architecture, and choosing between alternative solution strategies. A number of aids to understanding were found to be helpful, with practical exercise solutions and example applications being the most effective. We compare these findings to recent work by Schull , Lanubile and Basili , supporting their hypothesis that examples are well suited for framework learning by novices, but arguing that both hierarchical and dynamic models also seem critically important. The challenge is to identify the minimum contribution required from each of these approaches, how to integrate them, and how to provide effective tool support.