Skip to main content
jCoderZ.org / Java tooling collective
  1. Home
  2. fawkeZ
  3. Wiki
  4. Documentation tools

fawkeZ wiki / last edited 26 November 2006

Documentation tools

Requirements, architecture and coding guidelines, generated from structured input and rendered with DocBook.

The documentation tools come from the area of software lifecycle documentation. They share one backing technology: DocBook. Each tool writes DocBook XML, which can then be rendered as PDF or HTML with the usual DocBook tool chain.

Software Requirements Specification

The SRS generator uses an XML file as input, where requirements are defined in a formal structure. Because the requirements are structured data rather than prose, the same input can produce a printable document, an HTML page, or a machine readable requirements list.

The generated document covers the requirement identifiers, their descriptions and their relationships. The formal input format keeps identifiers stable across revisions, which makes traceability possible in later stages of a project.

Software Architecture Document

The SAD generator combines XML fragments with Javadoc input to generate DocBook XML. The Javadoc part supplies the package and type descriptions that already exist in the source, while the XML fragments supply the architecture narrative, the component overview and the deployment view.

A page from a generated Software Architecture Document, rendered as a PDF with a table of contents
A generated architecture document, rendered as PDF from the DocBook output.

Coding guidelines

Two guideline documents ship with the project. Both are written as templates, so a team can adopt them and adjust the rules to its own conventions.

  • Java coding guidelines. The conventions used across the fawkeZ codebase, covering naming, formatting, exception handling and logging.
  • SQL coding guidelines. The equivalent conventions for database schema and query code.

The Java guidelines are also referenced by the contribution guide, because patches are expected to follow them.

Related reading

The wiki start page gives the short overview of all four document types in context. The 2.0.0 notes explain which parts of the tool chain moved into the Maven build.

References