Abstract
The advance of Ubiquitous Computing (UbiComp) and Internet of Things (IoT) brought a new set of Non-Functional Requirements (NFRs), especially related to Human-Computer Interaction (HCI). Invisibility is one of these NFRs and refers to either the merging of technology in the user environment or the decrease in the interaction workload. This new NFR may impact traditional ones (e.g., Usability), revealing positive correlations, when one NFR helps another, and negative correlations, when a procedure favors an NFR but creates difficulty for another one. Correlations between NFRs are usually stored in catalogs, which is a well-defined body of knowledge gathered from previous experience. Although Invisibility has been recently cataloged with development strategies, the literature still lacks catalogs with correlations for this NFR. Therefore, this work aims at capturing and cataloging invisibility correlations for UbiComp and IoT systems. To do that, we also propose to systematize the definition of correlations using the following well-defined research methods: Interview, Content Analysis and Questionnaire. As a result, we defined a catalog with 110 positive and negative correlations with 9 NFRs. We evaluated this correlation catalog using a controlled experiment to verify if it helps developers when they are making decisions about NFRs in UbiComp and IoT systems. Results indicated that the catalog improved the decisions made by the participants. Therefore, this well-defined body of knowledge is useful for supporting software engineers to select appropriate strategies that satisfy Invisibility and other NFRs related to user interaction.
Similar content being viewed by others
Notes
Detailed description of this SIG can be found in our previous study [11].
GREatBus is a system in development as part of the project called Smart Bus Stop, accepted by the Institutional Program of Innovation Scholarships at Federal University of Ceará in Brazil.
All materials used in the operation of this experiment can be seen at encurtador.com.br/hPVZ0.
References
Andrade R, Carvalho R, de Araújo I, Oliveira K, Maia M (2017) What changes from ubiquitous computing to internet of things in interaction evaluation? In: International conference on distributed, ambient, and pervasive interactions. https://doi.org/10.1007/978-3-319-58697-7_1
Andreopoulos B (2004) Satisficing the conflicting software qualities of maintainability and performance at the source code level. In: Workshop de Engenharia de Requisitos, pp 176–188. Citeseer
Bardln L (2011) Análise de conteúdo. Almedina, 1st edn. ISBN: 978-8562938047
Berander P, et al (2005) Software quality attributes and trade-offs. Blekinge Institute of Technology
Bernardi L, Kamps J, Kiseleva J, Müller MJI (2015) The continuous cold start problem in e-commerce recommender systems. CoRR abs/1508.01177. URL http://arxiv.org/abs/1508.01177
Boehm B (2015) Architecture-based quality attribute synergies and conflicts. In: Proceedings of the second international workshop on software architecture and metrics, pp 29–34. IEEE Press. https://doi.org/10.1109/SAM.2015.18
Bornstein MH, Jager J, Putnick DL (2013) Sampling in developmental science: situations, shortcomings, solutions, and standards. Dev Rev 33(4):357–370. https://doi.org/10.1016/j.dr.2013.08.003
Carvalho R, et al (2017) Evaluating an IoT application using software measures. In: International conference on distributed, ambient, and pervasive interactions. https://doi.org/10.1007/978-3-319-58697-7_2
Carvalho RM, Andrade RM, Oliveira KM (2020) How developers believe invisibility impacts nfrs related to user interaction. In: 2020 IEEE 28th international requirements engineering conference (RE), pp 102–112. IEEE. https://doi.org/10.1109/RE48521.2020.00022
Carvalho RM, Andrade RMC, Oliveira KM (2018) Towards a catalog of conflicts for HCI quality characteristics in UbiComp and IoT applications: process and first results. In: IEEE international conference on research challenges in information science. https://doi.org/10.1109/RCIS.2018.8406651
Carvalho RM, Andrade RMC, Oliveira KM, Kolski C (2018) Catalog of invisibility requirements for ubicomp and IoT applications. In: International requirements engineering conference - RE, pp 88–99. IEEE. https://doi.org/10.1109/RE.2018.00019
Carvalho RM, Andrade RMdC, de Oliveira KM (2018) AQUArIUM - A suite of software measures for HCI quality evaluation of ubiquitous mobile applications. J Syst Softw 136:101–136. https://doi.org/10.1016/j.jss.2017.11.022
Charmaz K (2006) Constructing grounded theory: a practical guide through qualitative analysis. SAGE Publications Ltd. ISBN = 978-0761973539
Cho JY, Lee EH (2014) Reducing confusion about grounded theory and qualitative content analysis: similarities and differences. Qualit Rep 19(32):1–20
Chung L, Nixon BA, Yu E, Mylopoulos J (2000) Non-functional requirements in software engineering, vol 5. Springer Science and Business Media, New York
Costa CA, Yamin AC, Geyer CFR (2008) Toward a general software infrastructure for ubiquitous computing. IEEE Pervasive Comput 7(1):64–73. https://doi.org/10.1109/MPRV.2008.21
Cysneiros LM (2007) Evaluating the effectiveness of using catalogues to elicit non-functional requirements. Workshop in Requirements Engineering
Cysneiros LM, Werneck VM, Kushniruk A (2005) Reusable knowledge for satisficing usability requirements. https://doi.org/10.1109/RE.2005.60
Egyed A, Grunbacher P (2004) Identifying requirements conflicts and cooperation: How quality attributes and automated traceability can help. IEEE Software. https://doi.org/10.1109/MS.2004.40
Ghazi P, Glinz M (2018) An experimental comparison of two navigation techniques for requirements modeling tools. In: 2018 IEEE 26th international requirements engineering conference (RE), pp 240–250. IEEE. https://doi.org/10.1109/RE.2018.00032
Gliem JA, Gliem RR (2003) Calculating, interpreting, and reporting cronbach’s alpha reliability coefficient for likert-type scales. Midwest research-to-practice conference in adult, continuing, and community ..
Godau R et al (2004) Qualitative data analysis software: Maxqda and maxdictio. Qual Res J 4(1):66
Hsieh HF, Shannon SE (2005) Three approaches to qualitative content analysis. Qual Health Res 15(9):1277–1288
Hu H, Zhang T, Tan Y, Xiang H, Fu C, Feng Y (2015) Semantic modelling and automated reasoning of non-functional requirement conflicts in the context of softgoal interdependencies 9:145–156. https://doi.org/10.1049/iet-sen.2014.0153
ISO/IEC 25010 (2011) ISO/IEC 25010. Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models
Jamieson S (2004) Likert scales: how to (ab) use them. Med Educ 38(12):1217–1218. https://doi.org/10.1111/j.1365-2929.2004.02012.x
Karvonen H, Kujala T (2014) Designing and evaluating ubicomp characteristics of intelligent in-car systems. In: 5 International conference on applied human factors and ergonomics, July, pp 1726–1737
Leite JCSdP, Cappelli C (2010) Software transparency. Bus Inf Syst Eng 2(3):127–139
Maia MEF, Fonteles A, Neto B, Gadelha R, Viana W, Andrade RMC (2013) LOCCAM - loosely coupled context acquisition middleware. In: Proceedings of the 28 annual ACM symposium on applied computing, pp 534–541. https://doi.org/10.1145/2480362.2480465
Mairiza D, Zowghi D (2011) Constructing a catalogue of conflicts among non-functional requirements. Commun Comput Inf Sci. https://doi.org/10.1007/978-3-642-23391-33
Mairiza D, Zowghi D, Gervasi V (2013) Conflict characterization and analysis of non-functional requirements: an experimental approach. In: International conference on intelligent software methodologies, tools and techniques. IEEE. https://doi.org/10.1109/SoMeT.2013.6645645
Mairiza D, Zowghi D, Nurmuliani N (2009) Managing conflicts among non-functional requirements. In: Australian workshop on requirements engineering. University of Technology, Sydney
Mairiza D, Zowghi D, Nurmuliani N (2010) Towards a catalogue of conflicts among non-functional requirements. In: International conference on evaluation of novel approaches to software engineering. SciTePress
Mehta R, Wang H, Chung L (2012) Dealing with NFRs for smart-phone applications: a goal-oriented approach. In: Software engineering research, management and applications. https://doi.org/10.1007/978-3-642-30460-6_8
Oates BJ (2005) Researching information systems and computing. Sage
Oh J, Lee U, Lee K (2019) Usability evaluation model for biometric system considering privacy concern based on mcdm model. Security and Communication Networks 2019. https://doi.org/10.1155/2019/8715264
Peixoto MM, Silva C (2018) Specifying privacy requirements with goal-oriented modeling languages. In: Proceedings of the XXXII Brazilian symposium on software engineering, pp 112–121. ACM. https://doi.org/10.1145/3266237.3266270
Sadana V, Liu XF (2007) Analysis of conflicts among non-functional requirements using integrated analysis of functional and non-functional requirements (Compsac), 0–3
Saha D, Mukherjee A (2003) Pervasive computing: a paradigm for the 21 century. IEEE Comput Soc 36(3):25–31. https://doi.org/10.1109/MC.2003.1185214
Santos IS, Andrade RM, Neto PAS (2015) Templates for textual use cases of software product lines: results from a systematic mapping study and a controlled experiment. J Softw Eng Res Dev
Satyanarayanan M (2001) Pervasive computing: vision and challenges. IEEE Personal Communications. https://doi.org/10.1109/98.943998
Scholtz J, Consolvo S (2004) Toward a framework for evaluating ubiquitous computing applications. IEEE Pervasive Comput 3(2):82–88. https://doi.org/10.1109/MPRV.2004.1316826
Sokolova M, Lapalme G (2009) A systematic analysis of performance measures for classification tasks. Inf Process Manage 45(4):427–437
Torres RC, Martins LEG (2014) NFR catalogues for RFID middleware. J Comput Sci Technol 14(2):102–108
Vasseur JP, Dunkels A (2010) Interconnecting smart objects with IP. Morgan Kaufmann. https://doi.org/10.1016/B978-0-12-375165-2.00001-6
Veleda R, Cysneiros LM (2019) Towards an ontology-based approach for eliciting possible solutions to non-functional requirements. In: International conference on advanced information systems engineering, pp 145–161. Springer
Weiser M (1991) The Computer for the 21th Century. Scientific America special issue on communications, computers and networks, pp 94–104. https://doi.org/10.1145/329124.329126
Whitmore A, Agarwal A, Da Xu L (2015) The internet of things–a survey of topics and trends. Inf Syst Front 17(2):261–274
Wiegers K, Beatty J (2013) Software requirements. Pearson Education
Wijayarathna C, Arachchilage NA (2019) An empirical usability analysis of the google authentication API. In: Proceedings of the evaluation and assessment on software engineering, pp 268–274. ACM. https://doi.org/10.1145/3319008.3319350
Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2012) Experimentation in software engineering. Springer Science and Business Media, New York
Zinovatna O, Cysneiros LM (2015) Reusing knowledge on delivering privacy and transparency together. In: 2015 IEEE fifth international workshop on requirements patterns (RePa), pp 17–24. IEEE. https://doi.org/10.1109/RePa.2015.7407733
Acknowledgements
We thank CNPQ for the Productivity Scholarship of Rossana Maria de Castro Andrade DT-2 (No. 315543/2018—3).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendices
A Interview to define the catalog: profile of the developers
Figure 11 presents the years of experience of each developer regarding each domain area of expertise. We consider their experience in the development of applications for ubiquitous computing, Internet of Things (IoT), wireless sensor networks (WSN), and embedded systems.
B Results of the analysis to define the correlations
Table 15 presents all quantitative results from developers. Table 16 shows the distribution of the codifications among the NFR or its subcharacteristic.Table 17 presents softgoals of each NFR.
C Tasks and objects of the experiment
1.1 C.1 Object 1: AutomaGREat
AutomaGREat proposes an intelligent environment for the Seminar Room of the GREat lab. In the seminar room, lectures, weekly meetings, defenses and other activities happen. Several objects in this room are handled by the group employees who are using the room, such as air conditioners and lights. In this scenario, a development team proposed the AutomaGreat project, in which the goal is to create an application to facilitate the use of room devices: air conditioners and lamps. Thus, users can manipulate these objects remotely through a mobile application. In addition, the system can automate tasks commonly performed in this environment.
1.1.1 C.1.1 Functional requirements
The functional requirements of this application are:
-
1.
The system must allow user authentication
-
2.
The system should allow the user to set their preferences regarding air conditioning and lights
-
3.
The system must allow the user to configure the system operation mode: manual or automatic
-
4.
Manual mode should allow air and light control directly by the user.
-
(a)
The system must allow the user to turn on the seminar room air conditioner
-
(b)
The system must allow the user to turn off the seminar room air conditioner
-
(c)
The system must allow the user to change the seminar room air conditioner temperature
-
(d)
The system must allow the user to turn on the seminar room lights
-
(e)
The system shall allow the user to turn off seminar room lights
-
(f)
The system shall allow the brightness of the seminar room to be manipulated
-
(g)
The system must allow the color of the seminar room lights to be changed
-
(a)
-
5.
Automatic mode should allow air conditioners and lamps to be triggered from room presence detection and user preferences
1.1.2 C.1.2 Non-functional requirements
The non-functional requirements of this application are:
-
1.
Invisibility: refers to merging technology into the user’s physical environment or decreasing the interaction workload;
-
2.
Security: degree to which a product or system protects information and data so that people or other products or systems have the degree of access to data appropriate to their types and levels of authorization;
-
3.
Performance: performance against the amount of resources used under established conditions;
-
4.
Interaction efficiency: resources spent on the accuracy and completeness with which users reach goals; and
-
5.
Reliability: degree to which a system, product or component performs specified functions under specified conditions for a specified period of time.
1.1.3 C.1.3 Softgoal interdependency graph (SIG) for AutomaGREat system
Figure 12 presents the SIG model for AutomaGREat System, received by the participants.
The description of the operationalizing softgoals in the last level of the AutomaGREat SIG is presented as follows.
-
1.
Google Sign-in API: API that allows authentication with Google data;
-
2.
Facial Recognition: Technique to identify the user based on their face;
-
3.
Iris Recognition: Technique to identify the user based on their iris;
-
4.
LoCCAM: Middleware for managing and acquiring context information. It can run on a single device or can be distributed across devices;
-
5.
OpenIoT: A natural extension for cloud computing implementations, allowing access to IoT-based features, and functions as sensor middleware;
-
6.
If-then-else: Modeling and implementation of adaptation decisions;
-
7.
Ontology: Generic, formal and explicit way to capture and specify domain knowledge with its intrinsic semantics through consensual terminology and formal axioms and constraints. Provide a formal way of representing sensor data, context, and situations in well-structured terminology;
-
8.
SVM algorithm: Supervised learning model that analyzes data used for classification and regression analysis.
-
9.
Action: Execution of the decision
-
10.
Embedded hardware: Acting and sensing-specific embedded hardware on objects;
-
11.
Arduino: Open source electronic platform based on hardware and software;
-
12.
Raspberry: Small-size single card that plugs into a computer monitor or TV and uses a standard keyboard and mouse; and
-
13.
Beaglebone: Low-power open source single board computer.
1.1.4 C.1.4 Tasks
Tasks performed by the participants in AutomaGREat:
-
Task 1: Given the set of operationalizations in the last level of the Invisibility SIG, analyze if they have positive and negative impacts with Security, Performance, Efficiency and Reliability.
-
Task 2: Choose and describe the operationalizations that maximize the positive impact and minimize the negative impact to the required NFRs.
1.2 C.2 Object 2: GREatBus
GREatBus proposes an intelligent system for passengers and bus drivers. Overall, the project aims to facilitate bus-related tasks. For the driver, it is important for example to know if the people who are at the stop will take the bus. For the passenger it is important to know estimates, bus capacity, among others.
1.2.1 C.21. Functional requirements
The functional requirements of this application are:
-
1.
The system must be able to receive or request information about the number of bus requests per stop;
-
2.
The system shall be able to calculate the estimated bus arrival time based on the distance from the bus to the user and the speed of the vehicle;
-
3.
The system must be able to inform the capacity of the bus; and
-
4.
The system must be able to indicate that at that location there is a passenger requesting the bus.
1.2.2 C.2.2 Non-functional requirements
The non-functional requirements of this application are:
-
1.
Invisibility: refers to merging technology into the user’s physical environment or decreasing the interaction workload.
-
2.
Privacy: the state or condition of being free to be observed or disturbed.
-
3.
Accessibility: the degree to which a product or system can be used by people with the widest range of features and capabilities to achieve a specified goal in a specified context of use.
1.2.3 C.2.3. Softgoal interdependency graph for GREatBus system
Figure 13 presents the SIG model for AutomaGREat System, received by the participants.
The description of the operationalizing softgoals in the last level of the GREatBus SIG is presented as follows.
-
1.
Facebook Log-in API: API that allows authentication with Facebook data;
-
2.
Facial Recognition: Technique to identify the user based on their face;
-
3.
Iris Recognition: Technique to identify the user based on their iris;
-
4.
IoTivity: Open source framework that enables device to device connectivity to meet emerging IoT needs;
-
5.
First order logic: Mathematical logic used to specify system states and operators/functions to apply to those states. They provide reasoning support to identify complex contexts and situations;
-
6.
Neural Network: Technique that presents a mathematical model inspired by the neural structure of intelligent organisms that gain knowledge through experience;
-
7.
MQTT: Machine-to-machine (M2M) / “IoT” connectivity protocol. Designed as a publish/subscribe message transport.
-
8.
Embedded hardware: Acting and sensing specific embedded hardware on objects;
-
9.
Arduino: Open source electronic platform based on hardware and software;
-
10.
Place objects discreetly: If hardware devices cannot be fully hidden, they must be discreetly placed in the physical area. Therefore, places where the user does not need to perform actions such as wall and roof corners are ideal.
1.2.4 C.2.4 Tasks
Tasks performed by the participants in GREatBus:
-
Task 1: Given the set of operationalizations in the last level of the Invisibility SIG, analyze if they have positive and negative impact with Privacy and Accessibility.
-
Task 2: Choose and describe the operationalizations that maximize the positive impact and minimize the negative impact to the required NFRs.
D Raw data of the experiment
Rights and permissions
About this article
Cite this article
Carvalho, R.M., Andrade, R.M.d. & de Oliveira, K.M. Catalog of invisibility correlations for UbiComp and IoT applications. Requirements Eng 27, 317–350 (2022). https://doi.org/10.1007/s00766-021-00364-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-021-00364-2