minimUML: A Minimalist Approach to UML Diagraming for Early Computer Science Education
Unified Modeling Language (UML) diagraming is commonly used in introductory Computer Science to teach basic object-oriented design, but there appears to be a lack of suitable software to support this task well. Many of the available programs focus on developing code and not on enhancing learning. Those that were designed for educational use sometimes have poor interfaces or are missing common and important features, such as multiple selection and undo/redo. There is a need for software that is tailored to an instructional environment and has all the useful and needed functionality for that specific task.
This is the purpose of minimUML. It provides a minimum amount of UML, just what is commonly used in beginning programming classes, while providing a simple, usable interface. In particular, minimUML was designed to support abstract design while supplying features for exploratory learning and error avoidance. Some of the functionality supported includes multiple selection, undo/redo, flexible printing, cut and paste, and drag and drop. In addition, it allows for the annotation of diagrams, through text or freeform drawings, so students can receive feedback on their work. To test minimUML's ease of use, it was run through a small usability study. While a number of issues were raised, the tool generally received positive evaluations that lead us to believe that we have reached our goal.