In practice, requirements or information for different attributes are normally documented with one tool: MS Excel. There, you can create a table and define individual columns as requirement attributes. But requirements engineering comes to its limits pretty quickly with this tool: references to other elements like templates for requirements have to be maintained manually, for example, as soon as a new folder structure is created or a file moved. That’s a lot of work in large and complex projects that sometimes have thousands of requirements.
It is more efficient to work with a special requirements engineering tool where it’s easier to create attributes for requirements of different types (functional vs. non-functional, etc.) and later fill them in with information. At the same time, such a tool ensures traceability of requirements and can, for example, quickly list changes of attribute information between different versions of a requirement. Here, you can see a comparison:
A comparison of two versions of a requirement
In such a requirements engineering tool, you often use forms that provide the definied attributes to capture requirements. They are similar to views on the requirements that only display specific attributes, for example. You can even create relationships to other project results such as goals or test cases in these forms:
View on a requirement through forms