
Writing the Requirements Document 79
something and that thing, the cover of Craig Larman’s book on UML and patterns
famously depicts a simple class diagram model of a sailboat with the caption “this
is not a sailboat” (Larman 2004).
Behavioral Specifications
In some cases the requirements engineer may be asked to reverse engineer require-
ments for an existing system when the requirements do not exist, are incomplete,
are out of date, or are incorrect. It may also be necessary to generate requirements
for open source software (software that is free for use and/or redistribution under
the terms of a license) for the purposes of generating te