The documentation of a piece of software can be a separate document alongside the source code or included into the code itself. The documentation is a description of the software, how it works, how it was implemented and how it should be used. Foe a software developer, the documentation should tell at least:
Documentation always has a target audience. Documentation can be targeted to people inside the project of to external people. A good documentation take sthe target audience into account and at the same time is regardless of the target audience:
In agile software development agile manifestosta the emphasis is on the importance of the software over documentation. This does not indicate that documentation is futile. The emphasis is, however, that the documentation covers on ly things that are relevant to the different stakeholders. No documentation is done for documentation's sake.
Software documentation comprises several data sources. For example:
are considered as a part of the documentation.
The target audience for the class project documentation is the team itself, the course personnel grading the project and the group conducting the peer review. Each project needs to contain under version control a directory Documentation containing an up to date documentation of the project. As a whole the documentation contains:
The PDF-document decribes:
Note especially that the documentation should help the peer review team to get an overall picture of the project in order to make comparing the implementations possible.
The PDF-document should not exceed five (5) pages.