Software systems usually consist of multiple artefacts, such as requirements, class diagrams, or source code. Documents, such as specifications and documentation, can also be viewed as artefacts. In practice, however, writing and updating documents is often neglected because it is expensive and brings no immediate benefit. Consequently, documents are often outdated and communicate wrong information about the software. The price is paid later when a software system must be maintained and much implicit knowledge that existed at the time of the original development has been lost.
A simple way to keep documents up to date is generation. However, not all documents can be fully generated. Usually, at least some content must be written by a human author. This handwritten content is lost if the documents must be regenerated.
In this thesis, Elucidative Development is introduced. It is an approach to create documents by partial generation. Partial generation means that some parts of the document are generated whereas others are handwritten. Elucidative Development retains manually written content when the document is regenerated. An integral part of Elucidative Development is a guidance system, which informs the author about changes in the generated content and helps him update the handwritten content.:1 Introduction
1.1 Contributions
1.2 Scope of the Thesis
1.3 Organisation
2 Problem Analysis and Solution Outline
2.1 Redundancy and Inconsistency
2.2 Improving Consistency with Partial Generation
2.3 Conclusion
3 Background
3.1 Grammar-Based Modularisation
3.2 Model-Driven Software Development
3.3 Round-Trip Engineering
3.4 Conclusion
4 Elucidative Development
4.1 General Idea and Running Example
4.2 Requirements of Elucidative Development
4.3 Structure and Basic Concepts of Elucidative Documents
4.4 Presentation Layer
4.5 Guidance
4.6 Conclusion
5 Model-Driven Elucidative Development
5.1 General Idea and Running Example
5.2 Requirements of Model-Driven Elucidative Development
5.3 Structure and Basic Concepts of Elucidative Documents in Model-Driven Elucidative Development
5.4 Guidance
5.5 Conclusion
6 Extensions of Elucidative Development
6.1 Validating XML-based Elucidative Documents
6.2 Backpropagation-Based Round-Trip Engineering for Computed Text Document Fragments
6.3 Conclusion
7 Tool Support for an Elucidative Development Environment
7.1 Managing Active References
7.2 Inserting Computed Document Fragments
7.3 Caching the Computed Document Fragments
7.4 Elucidative Document Validation with Schemas
7.5 Conclusion
8 Related Work
8.1 Related Documentation Approaches
8.2 Consistency Approaches
8.3 Compound Documents
8.4 Conclusion
9 Evaluation
9.1 Creating and Maintaining the Cool Component Specification
9.2 Creating and Maintaining the UML Specification
9.3 Feasibility Studies
9.4 Conclusion
10 Conclusion / Softwaresysteme setzen sich üblicherweise aus vielen verschiedenen Artefakten zusammen, zum Beispiel Anforderungen, Klassendiagrammen oder Quellcode. Dokumente, wie zum Beispiel Spezifikationen oder Dokumentation, können auch als Artefakte betrachtet werden. In der Praxis wird aber das Schreiben und Aktualisieren von Dokumenten oft vernachlässigt, weil es zum einen teuer ist und zum anderen keinen unmittelbaren Vorteil bringt. Dokumente sind darum häufig veraltet und vermitteln falsche Informationen über die Software. Den Preis muss man später zahlen, wenn die Software gepflegt wird, weil viel von dem impliziten Wissen, das zur Zeit der Entwicklung existierte, verloren ist.
Eine einfache Möglichkeit, Dokumente aktuell zu halten, ist Generierung. Allerdings können nicht alle Dokumente generiert werden. Meist muss wenigstens ein Teil von einem Menschen geschrieben werden. Dieser handgeschriebene Inhalt geht verloren, wenn das Dokument neu generiert werden muss.
In dieser Arbeit wird das Elucidative Development vorgestellt. Dabei handelt es sich um einen Ansatz zur Dokumenterzeugung mittels partieller Generierung. Das bedeutet, dass Teile eines Dokuments generiert werden und der Rest von Hand ergänzt wird. Beim Elucidative Development bleibt der handgeschriebene Inhalt bestehen, wenn das restliche Dokument neu generiert wird. Ein integraler Bestandteil von Elucidative Development ist darüber hinaus ein Hilfesystem, das den Autor über Änderungen an generiertem Inhalt informiert und ihm hilft, den handgeschriebenen Inhalt zu aktualisieren.:1 Introduction
1.1 Contributions
1.2 Scope of the Thesis
1.3 Organisation
2 Problem Analysis and Solution Outline
2.1 Redundancy and Inconsistency
2.2 Improving Consistency with Partial Generation
2.3 Conclusion
3 Background
3.1 Grammar-Based Modularisation
3.2 Model-Driven Software Development
3.3 Round-Trip Engineering
3.4 Conclusion
4 Elucidative Development
4.1 General Idea and Running Example
4.2 Requirements of Elucidative Development
4.3 Structure and Basic Concepts of Elucidative Documents
4.4 Presentation Layer
4.5 Guidance
4.6 Conclusion
5 Model-Driven Elucidative Development
5.1 General Idea and Running Example
5.2 Requirements of Model-Driven Elucidative Development
5.3 Structure and Basic Concepts of Elucidative Documents in Model-Driven Elucidative Development
5.4 Guidance
5.5 Conclusion
6 Extensions of Elucidative Development
6.1 Validating XML-based Elucidative Documents
6.2 Backpropagation-Based Round-Trip Engineering for Computed Text Document Fragments
6.3 Conclusion
7 Tool Support for an Elucidative Development Environment
7.1 Managing Active References
7.2 Inserting Computed Document Fragments
7.3 Caching the Computed Document Fragments
7.4 Elucidative Document Validation with Schemas
7.5 Conclusion
8 Related Work
8.1 Related Documentation Approaches
8.2 Consistency Approaches
8.3 Compound Documents
8.4 Conclusion
9 Evaluation
9.1 Creating and Maintaining the Cool Component Specification
9.2 Creating and Maintaining the UML Specification
9.3 Feasibility Studies
9.4 Conclusion
10 Conclusion
Identifer | oai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:29696 |
Date | 27 May 2014 |
Creators | Bartho, Andreas |
Contributors | Aßmann, Uwe, Nørmark, Kurt, TU Dresden, Jörg Vogt Verlag |
Source Sets | Hochschulschriftenserver (HSSS) der SLUB Dresden |
Language | English |
Detected Language | English |
Type | doc-type:doctoralThesis, info:eu-repo/semantics/doctoralThesis, doc-type:Text |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0015 seconds