Abstract
The Cand. Scient. thesis explores the idea of combining languages for specification and experimentation in mixed approaches of software development. Extending on the idea that a mixed approach of analytical and experimental behaviour countermeasures the weaknesses of the sole use of one approach, the thesis concentrates on how to combine two languages typically used for each approach.
The main goal of the thesis has been to explore the idea of mixing two languages, one typically used for specification and object-oriented modelling, the Unified Modelling Language (UML), and one for rapid development of prototypes, Ruby. The goal has been to elaborate on the possibility and implications of such a mixed language approach in the early stages of software development. The motivation for the idea has been the fact that a mixed approach of specifying and prototyping has proven to be better than a pure evolutionary or analytical approach.
The approach to answer this question was to develop a functional (one-to-one) mapping between UML class diagrams and Ruby, a translation model. This translation model was then used in a real life setting to develop the design of a component supporting client independent hour and absence registration. By following this approach, it was possible to examine the feasibility of such a mixed language approach, and draw conclusions based on experiences from using it in practice.