RAT offers a semi-automated approach to processing requirements. First, users are alerted to problematic passages in requirements which they can then manually reformulate. Afterwards, RAT makes suggestions for decisions that need to be made during subsequent processing. These suggestions can b 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, RAT can now performa 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.
RAT 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, RAT 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.
Requirements quality assurance is at the heart of RAT. 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. RAT identifies these potential rule violations, but it remains the responsibility of the project team members to evaluate and, if necessary, to correct these violations. RAT does not make any corrections on its own.
RAT is based on the latest Natural Language Processing (NLP) and Machine Learning techniques.