Rationale, also known as Design Rationale, differs from other documentation because it captures not only the final product but also the reasons behind the decisions made including descriptions of all the alternatives considered and the reasons why they were or were not chosen. This information is invaluable when software systems are extended or re-used because it provides insight into the intent behind them. It also provides traceability to the requirements, both functional and non-functional, as well as assumptions made while building the system.
The SEURAT system supports rationale capture and use during software development and maintenance. SEURAT is an Eclipse plugin that captures the rationale in a database and inferences over it to look for inconsistencies in the rationale and the decisions documented in it. The alternatives captured in the rationale can be associated with the code that implements them.