A view-based approach for improving software documentation practices

Documentation is an integral part of a software system. It contains the information that is necessary to effectively and successfully develop, use, and maintain a system. In practice, however, the creation of appropriate documentation is largely neglected. This paper investigates the reasons for this neglect, presents view-based software documentation, our approach to improve the current situation, and reports on empirical evidence in support of the presented approach. Because the quality of documentation depends on its usage, view-based software documentation exploits existing software modeling techniques to provide all users of documentation with the documentation they require for performing their tasks. View-based software documentation has been empirically validated in a series of experiments and case studies that showed that the approach improves the completeness, correctness, and usefulness of produced and maintained documentation. One of the experiments is described here in more detail

[1]  Harold Ossher,et al.  Subject-oriented programming: a critique of pure objects , 1993, OOPSLA '93.

[2]  Alan M. Davis,et al.  Software Requirements: Objects, Functions and States , 1993 .

[3]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[4]  Bashar Nuseibeh,et al.  Viewpoints: A Framework for Integrating Multiple Perspectives in System Development , 1992, Int. J. Softw. Eng. Knowl. Eng..

[5]  P. Van Remoortere Software Engineering : K. Gewald, G. Haake and W. Pfadler: Published by R. Oldenburg, München, 1977, 318 pages, 70 figures, 20 tables, DM. 48,00 ISBN 3-486-31491-8 , 1979 .

[6]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[7]  Hans van Vliet Software Engineering: Principles and Practice, 2nd Edition , 2000 .

[8]  Hans van Vliet,et al.  Software engineering - principles and practice , 1993 .

[9]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[10]  Joachim Bayer,et al.  View based software documentation , 2004 .

[11]  Joachim Bayer,et al.  Introducing Traceability to Product Lines , 2001, PFE.

[12]  Victor R. Basili,et al.  The TAME Project: Towards Improvement-Oriented Software Environments , 1988, IEEE Trans. Software Eng..

[13]  Khaled El Emam,et al.  The State of the Practice , 2005 .

[14]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[15]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[16]  Lindsay Groves,et al.  A survey of software development practices in the New Zealand software industry , 2000, Proceedings 2000 Australian Software Engineering Conference.

[17]  Andreas Rüping,et al.  Agile Documentation: A Pattern Guide to Producing Lightweight Documents for Software Projects , 2003 .

[18]  Per Runeson,et al.  Document use in software development: a qualitative survey , 2002 .

[19]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[20]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.