RA²T offers a semi-automated approach to processing requirements. First, users are alerted to problematic passages in requirements which they can then manually reformulate. Afterwards, RA²T makes suggestions for decisions that need to be made during subsequent processing. These suggestions can be either confirmed or rejected interactively by the user.
For this purpose, a number of microservices were implemented and are employed within a closed tool. These microservices analyse the requirements, perform linguistic quality assurance and consolidate the requirements.
In the course of the analysis, the requirement is first broken down into its content and its linguistic components system word, process word, priority/modal verb, condition, type of system activity, object and adjuncts.
On that basis, RA²T can now perform a semantic search of the full list of requirements and the classification of each requirement according to its content, i.e. functional and non-functional. Moreover, requirements can be classified according to a range of criteria, such as whether they are »IT-relevant« or »non- IT-relevant«. It is also possible to create other classifications, for instance according to individually defined categories.
RA²T also offers extensive sorting and filtering options at the word and requirement level which allow exploration and processing of the requirements list according to user-specified criteria. This makes it possible to group a large list of requirements by content, for instance. Supported languages are German and English.
In the process of requirements consolidation, RA²T identifies duplicates or very similar requirements . Also, different spellings or abbreviations of the same word, as well as different terms with the same meanings (e.g. »provide« and »make available«) are identified in the body of requirements and can be standardized by the user. A project glossary can be created to help with this process.
Requirements quality assurance is at the heart of RA²T. It involves testing the requirements for linguistic rules that help users formulate unambiguous requirements. These rules include, for example, identifying passive constructions, incomplete conditions, or weak words in a requirement text, for instance »small« without further specifiers. RA²T identifies these potential rule violations, but it remains the responsibility of the project team members to evaluate and, if necessary, to correct these violations. RA²T does not make any corrections on its own.
RA²T is based on the latest Natural Language Processing (NLP) and Machine Learning techniques.