Download presentation
Presentation is loading. Please wait.
Published byDarcy Juniper Pope Modified over 9 years ago
1
1 1 Software Documentation David Geldreich (DREAM)
2
2 2 Software Documentation Requirements Global architecture Local architecture Implementation Compilation Link Tests Debug Profiling Install Distribution Time UML Editor Compiler Linker Debugger Profiler Build IDE Tools
3
3 3 Outline What ? Why ? Who ? When ? How ? Where ?
4
4 4 What ? Various types of documentation Specification/Planning Architecture/Design Overview of software Includes relations to an environment and construction principles to be used in the design of software components Technical Documentation of code, algorithms, interfaces, and APIs End User Manuals for the end-user, system administrators, and support staff Marketing/Commercial Product briefs and promotional materials
5
5 5 Why ? Documentation isn't the primary issue, communication is Define the target audience of the documentation Comprehensive documentation does not ensure project success Development planning : Time spent documenting is time not spent writing code Different needs during and after the development
6
6 6 Who ? When ? Who ? Everybody must document his code –Nobody will do it for you –Comments and a reference manual have different goals When ? Document just-in-time : when you need it Document something only when it has stabilized Out of sync documentation is almost useless Benefit of having documentation must be greater than the cost of creating and maintaining it
7
7 7 How ? Where ? Text editors : emacs, Latex, Word, … Specific tools : Planning : MS Project, … Spec, Architecture/Design : UML Tools (MagicDraw, dia, …), … Technical : document extractor (doxygen, javadoc, …), … Marketing : Illustrator, Dreamweaver, … Must be versioned with the rest of the software
8
8 8 Demonstration Ogre3D : http://www.ogre3d.org/http://www.ogre3d.org/ Wiki : http://www.ogre3d.org/wiki/index.php/Main_Pagehttp://www.ogre3d.org/wiki/index.php/Main_Page User Manual : http://www.ogre3d.org/docs/manual/http://www.ogre3d.org/docs/manual/ API Reference built with doxygen : http://www.ogre3d.org/docs/api/html/http://www.ogre3d.org/docs/api/html/ –http://www.ogre3d.org/docs/api/html/classOgre_1_1Frustum.htmlhttp://www.ogre3d.org/docs/api/html/classOgre_1_1Frustum.html –http://ogre.cvs.sourceforge.net/ogre/ogrenew/OgreMain/include/Ogr eFrustum.h?revision=1.30&view=markuphttp://ogre.cvs.sourceforge.net/ogre/ogrenew/OgreMain/include/Ogr eFrustum.h?revision=1.30&view=markup
9
9 9 Conclusion What ?Various types of documentation Why ?Define the audience of the documentation Who ?Everybody When ?Document something when it has stabilized How ?Text editors and specific tools Where ?Close to the code and versioned
10
10 Useful Links Recommendations for software development at INRIA : http://devel.inria.fr/recom/ Software documentation : Agile Documentation : http://www.agilemodeling.com/essays/agileDocumentation.htm http://www.agilemodeling.com/essays/agileDocumentation.htm Agile Documentation Strategies : http://www.ddj.com/dept/architect/197003363?pgno=2 http://www.ddj.com/dept/architect/197003363?pgno=2 Wikipedia : http://en.wikipedia.org/wiki/Software_documentationhttp://en.wikipedia.org/wiki/Software_documentation Tools : Mail-list, wiki, web : http://gforge.inria.frhttp://gforge.inria.fr UML : http://en.wikipedia.org/wiki/Unified_Modeling_Languagehttp://en.wikipedia.org/wiki/Unified_Modeling_Language Javadoc : http://java.sun.com/j2se/javadoc/http://java.sun.com/j2se/javadoc/ Doxygen : http://www.doxygen.org/http://www.doxygen.org/ List of development software at INRIA Sophia http://www-sop.inria.fr/dream/logiciels.html
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.