dc.description.abstract |
Requirements Engineering is a critical phase in the software development life cycle,
encompassing both Functional Requirements (FR) and Non-Functional Requirements (NFR).
NFR defines the quality attributes of the system, including performance, security, availability,
look and feel, fault tolerance, legal and operational, essential for meeting user needs and
imposing additional constraints on software quality. Prioritizing NFR from user requirements
is challenging, requiring specialized skills and domain knowledge. Manual categorization is
time-consuming and mentally taxing for developers, making automated or semi-automated
classification of NFR from requirements documents valuable. This approach reduces manual
effort and time in identifying specific NFR among numerous requirements. This thesis
introduces a novel semi-automated categorization approach for Arabic non-functional user
requirements using CAMeL Tools, a natural language processing tool. We propose a set of
heuristics based on fundamental Arabic sentence constructions to extract information and
categorize requirements into seven NFR classes. Tokens, PoS tags, and lemmas of parsed user
requirements are generated using CAMeL tools. The closest class for each statement is
determined by applying heuristic criteria to CAMeL outputs. The implementation of our
approach using CAMeL Tools 1.3.1 and Python code in a Windows 10 environment
demonstrates its practical applicability and efficiency in classifying Arabic non-functional user
requirements |
en_US |