In earlier chapters, I discussed the creation of a natural-language software requirements specification to contain the functional and nonfunctional requirements and the creation of documents that contain the business requirements and use-case descriptions. A document-based approach to storing requirements has numerous limitations, including the following:
It’s difficult to keep the documents current and synchronized.
Communicating changes to all affected team members is a manual process.
It’s not easy to store supplementary information (attributes) about each requirement.
It’s hard to define links between functional requirements and other system elements.
Tracking requirements status is cumbersome.