Page Content
to Navigation
Requirements Engineering
As an essential component of the development of systems based on the V model, the requirements for a system are determined and documented at an early stage. This creates system and component specifications, which are used in further process steps for test specification and implementation. In addition to requirements, these specifications also contain additional information like informative descriptions of functions, explanations of other requirements, examples and references to other documents.
Classification of Requirements
The precise separation of requirements and information is essential for subsequent work steps since only test requirements have to be created for requirements and only requirements have to be coordinated with suppliers.
Modern requirements management systems allow to add additional attributes to parts of requirement documents. This is used to explicitly mark each element of a request document as a request or information. However, this marking must be carried out manually by system developers. Field studies have shown that this is not done consistently.
At DCAITI, we develop tools to assist developers with this manual work step. As a core component, techniques from the area of machine learning (classification / regression with neural networks / support vector machines / ..., text clustering) are used to classify natural language sentences in requirement / no requirement.
Knowledge Extraction from Requirements Specifications
Due to the enormous scope of the specifications, it is difficult for individual developers to keep track of the entire overview, to recognize certain relationships between individual requirements and to find existing requirements. Within specifications, requirements are usually broken down into chapters; the specifications themselves are also hierarchically ordered according to the systems and components. In addition, it is possible to use links to link individual requirements within a single specification or across different specifications.
Nevertheless it is, e.g. due to missing links or ignorance of existing contexts, not possible to extract the knowledge within the requirements and make it available for further queries or insights. In particular, since the requirements are often documented in natural language, they can be difficult to capture and process by computer-aided systems.
In this context, we develop tools at the chair to create a knowledge base from natural language requirements in a fully automated way. In addition to the existing structuring according to systems, components and individual specifications, this also contains the technical terms and their semantic contexts.
Using the knowledge base and appropriate search algorithms, developers can better understand knowledge in the requirements and find previously undocumented relationships.