2003 · 87 citations · 22 references
ComputingDesignSoftware EngineeringSystems ArchitectureSystems DesignObject-oriented DesignSoftware ArchitectureSoftware DesignSoftware MaintenanceSoftware ModelingSoftware ReuseIterative DesignObject DecompositionObject-oriented Design ModelsObject-oriented ReuseRole-based Collaboration
Modeling object‑oriented applications with collaborations and roles is widely accepted, yet the design information is lost at implementation, making the extraction of collaborations essential for maintenance and evolution. The study proposes an iterative approach that uses dynamic information to recover and understand collaborations in object‑oriented applications. A tool implementing this approach was developed and applied to a case study to illustrate its effectiveness.
Modeling object-oriented applications using collaborations and roles is now well accepted. Collaboration-based or role-based designs decompose an application into tasks performed by a subset of the applications' classes. Collaborations provide a larger unit of understanding and reuse than classes, and are an important aid in the maintenance and evolution of the software. This kind of design information is lost, however, at the implementation level, making it hard to maintain and evolve an existing software application. The extraction of collaborations from code is therefore an important issue in design recovery. In this paper we propose an iterative approach which uses dynamic information to support the recovery and understanding of collaborations. We describe a tool we have developed to support our approach and demonstrate its use on a case study.
22
The unified Modeling Language User Guide
Geoff Glasson · Linux journal · 1999 · 3.3K citations
A laboratory for teaching object oriented thinking
K. Beck, Ward Cunningham · ACM SIGPLAN Notices · 1989 · 364 citations
The concept of dynamic analysis
Thoms Ball · ACM SIGSOFT Software Engineering Notes · 1999 · 264 citations · Full text
Using role components in implement collaboration-based designs
Michael VanHilst, David Notkin · 1996 · 258 citations · Full text
Computing, Computer Science, Design +17