Category: 2. Building Products
-

Design pattern density and design maturity
JUnit is a widely-adopted unit testing framework for Java, developed by Kent Beck and Erich Gamma. In their discussion of JUnit 3.8’s design, the authors state: Notice how TestCase, the central abstraction in the framework, is involved in four patterns. Pictures of mature object designs show this same ‘pattern density’. The star of the design…
-

Object-oriented software design documentation
Software researchers need case studies to validate new tools and methods of object-oriented software design. A good thing to do is to standardize on a set of open source frameworks and libraries that are known and available to everyone. Basically, a benchmark set for new tools and methods in object-oriented software design. JUnit and JHotDraw…
-
![JUnit 3.8 documented using collaborations [Technical Report]](https://dirkriehle.com/wp-content/uploads/2025/06/10656-penang-hotel-view-at-dusk-300x150.png)
JUnit 3.8 documented using collaborations [Technical Report]
Author: Dirk Riehle Abstract: This paper describes the design of the unit testing framework JUnit v3.8. The documentation technique employed is an enhanced version of collaboration-based design, also known as role modeling. In collaboration-based design, objects are viewed as playing multiple roles in different contexts, and different contexts are viewed as task specific collaborations. The…
-
![Towards end-user programming with wikis [WEUSE 2008]](https://dirkriehle.com/wp-content/uploads/2025/06/10665-berlin-viktoria-luise-platz-summer-people-300x150.jpg)
Towards end-user programming with wikis [WEUSE 2008]
Abstract: When business software fails to provide the desired functionality, users typically turn to spreadsheets to perform simple but general computational tasks. However, spreadsheets enforce a view of the world that consists mostly of tables and numbers rather than the domain concepts users have in mind. We are using wikis as a platform for empowering…



