ReqCluster4IoT: a clustering method for functional requirements in Internet of Things applications
摘要
Requirements engineering is crucial for software development. Analyzing large sets of requirements in natural language is difficult and time-consuming, especially in Internet of Things (IoT) projects, where heterogeneous devices, services, communication infrastructures, and environmental constraints increase the complexity of the requirements. In this context, clustering can support requirements analysis by organizing functional requirements into semantically coherent groups that represent the same functional aspect or subsystem. This helps analysts reduce manual effort, identify relationships and dependencies between requirements, structure large sets of requirements, and better understand system responsibilities and specific IoT concerns. For these reasons, we propose ReqCluster4IoT, a method for clustering functional requirements in IoT applications. The method builds on a focused exploration of the literature to identify IoT characteristics, along with experiments on requirement classification and text semantic similarity. We evaluated the method’s acceptance and usefulness through an online questionnaire and a focus group. The online questionnaire collected feedback from 10 IoT software developers, whereas the focus group provided more in-depth insights into the method’s results. Findings suggest that ReqCluster4IoT can capture meaningful relationships among requirements and generate clusters that practitioners perceive as useful. Additionally, the method helps practitioners identify how related functionalities are organized into clusters, reveal relationships among requirements, and associate each cluster with IoT-specific characteristics, thereby supporting requirements analysis, implementation planning, and requirements management. Overall, participants reported positive acceptance of the method regarding its usefulness, its potential to reduce effort, and their intention to use it.