Correlate & lead: process and catalog of non-functional requirements correlations in ubicomp and iot systems - Carvalho, Rainara Maia (2019)
Ubiquitous Computing (UbiComp) and Internet of Things (IoT) have environments full of smart and interconnected things, which can be accessed and controlled by several systems running on different devices. These systems bring a new set of Non-Functional Requirements (NFRs), especially those that are quality characteristics related to Human-Computer Interaction (HCI), such as Context-Awareness, Mobility and Invisibility. Such NFRs may interact with traditional ones (e.g., Usability, Security), revealing positive correlations, when one NFR helps another, and negative correlations, when a procedure favors an NFR but creates difficulty for another one. As software engineers gain knowledge about these correlations, they can avoid conflicting NFRs and select strategies to better satisfy different NFRs. A common solution in the literature that can help software engineers in this scenario is to use correlation catalogs, which is a body of knowledge about NFRs produced from previous experiences. The literature has several catalogs that generally focus on requirements, strategies and correlations that are generic to any system, but it lacks catalogs with the previously mentioned NFRs for the domain of UbiComp and IoT systems. Moreover, the literature does not present a systematic and reusable process that organizes how to build these catalogs with well-defined inputs, outputs, and approaches. Therefore, the present work proposes first a process called CORRELATE to capture, analyze, and catalog the correlations between NFRs of UbiComp and IoT systems and then build a catalog named LEAD for the Invisibility characteristic, providing a proof of concept of the process. In the CORRELATE process, NFRs must first be specified in the Softgoal Interdependency Graph (SIG) notation; then, correlations can be identified and evaluated. For example, LEAD, the first catalog based on CORRELATE, contains 2 subcharacteristics of Invisibility, 12 sub subcharacteristics, 66 development strategies and 110 correlations with 9 NFRs. Also, a controlled experiment was conducted in this work to evaluate whether the proposed catalog improves software engineers’ decisions regarding NFRs in the UbiComp and IoT systems. The results provide evidence that negative interactions between the considered NFRs are minimized and positive interactions are maximized, when LEAD is used.