Abstract: A lightweight UML-based software development method for building reliable software systems is proposed. It attempts to combine the coding emphasis of Extreme Programming with the utility of modelling, while offering a counterpoint to Extreme Modelling. The method is built atop of a subset of UML, making use of contracts for documentation and for run-time (and potentially static) checking. Rules are given to establish consistency of views of a system, and a proposal for a tool prototype that implements the diagrams and which helps to establish their consistency is outlined. The key elements of a process, which emphasizes rapid production of code and test drivers, are also outlined.
Richard F. Paige, Jonathan S. Ostroff