Object-Oriented Literate Programming - Zhao, Ming Y. (My University, 2007)
During the past decades, programming methodology has seen an improvement by structured programming and object-oriented programming (OOP), leading to software that is more reliable and easier to develop. However, software engineers are still dealing with problems in processing associated documentation. Literate programming was introduced by Donald Knuth in the early 80's as an approach to produce programs together with their documentation in a way that is aimed at consumption by humans rather than by compilers. However, dated and complex features, dependence on formatting and programming language, and a lack of methodology prevented the method from gaining in popularity.
In this thesis, we propose an approach to "integrate" OOP with literate programming in order to present and document the whole design in a consistent and maintainable way. In our approach, both program code and corresponding documentation are generated from the same source. The resulting documentation consists of code chunks with detailed explanations, as well as automatically generated class diagrams with varying levels of detail. A tool, Spark, has been developed and applied to the design of a Transit Information System from requirement analysis to testing. Spark was also used in its own development.
Title: Object-Oriented Literate Programming, Author: Ming Y. Zhao, Location: Thode