Role oriented programming for software evolution
VanHilst, Michael, 1953-
MetadataShow full item record
This thesis addresses the problem of changing requirements in software evolution. It presents a method of development and change based on roles, where a role, in object oriented development, is a part of an object that addresses a particular concern or requirement. The concept of a role was originally used in design analysis by Trygve Reenskaug. In this research, we extend it's use into implementation.The contributions of the research include a development process that takes a set of use case requirements and produces an implementation composed of role components, a set of implementation idioms that separate functional concerns from structural and compositional concerns, and several diagrams to bridge the gap between abstract design and concrete implementation. The feasability of the approach is demonstrated with an efficient method of implementation using C++ templates.