Abstract
Internet of Things (IoT) has been tremendously involved in the development of smart infrastructure. Software solutions in IoT have to consider lack of abstractions, heterogeneity, multiple stakeholders, scalability, and interoperability among the devices. The developers need to implement application logic on multiple hardware platforms to satisfy the fundamental business goals. Moreover, long-term maintenance issues due to the frequent introduction of new requirements and hardware platforms pose a vital challenge in IoT solution development.
Numerous techniques have been devised to satisfy the issues mentioned above for ubiquitous and smart infrastructure. However, these techniques lack in providing a comprehensive approach in dealing with the above challenges. In this paper, we argue that fundamentally, there is no difference between the architecturally significant requirements and the architectural design decisions in IoT solution development. The architecture revolves around the requirements gathered by the analyst at the requirements gathering phase. We stress that the requirements elicitation process must consider the software architectural assessment for maintainable software development. By adopting this perspective, we identify areas where both requirements and architecture communities collaborate to effectively increase the user acceptability, maintainability, and fulfill the heterogeneous needs of IoT solutions.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Salman, O., Elhajji, I., Chehab, A., Kayssi, A.: Iot survey: an SDN and fog computing perspective. Comput. Netw. (2018)
Zanella, A., Bui, N., Castellani, A., Vangelista, L., Zorzi, M.: Internet of things for smart cities. IEEE Internet Things J. 1(1), 22–32 (2014)
Sosa-Reyna, C.M., Tello-Leal, E., Lara-Alabazares, D.: Methodology for the model-driven development of service oriented iot applications. J. Syst. Architect. 90, 15–22 (2018)
Swaminathan, J.M.: Big data analytics for rapid, impactful, sustained, and efficient (RISE) humanitarian operations. Prod. Oper. Manag. 27(9), 1696–1700 (2018)
Venters, C.C., et al.: Software sustainability: research and practice from a software architecture viewpoint. J. Syst. Softw. 138, 174–188 (2018)
Uikey, N., Suman, U.: A lifecycle model for web-based application development: incorporating agile and plan-driven methodology. Int. J. Comput. Appl. 117(19), 28–36 (2015)
Sarker, I.H., Faruque, F., Hossen, U., Rahman, A.: A survey of software development process models in software engineering. Int. J. Softw. Eng. Appl. 9(11), 55–70 (2015)
Özdemir, V., Hekim, N.: Birth of industry 5.0: making sense of big data with artificial intelligence “the internet of things” and next-generation technology policy. OMICS J. Integr. Biol. 22(1), 65–76 (2018)
Jackson, M.: Problem frames and software engineering. Inf. Softw. Technol. 47(14), 903–912 (2005)
Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: Proceedings of 5th Working IEEE/IFIP Conference on Software Architecture(WICSA), Pittsburgh, Pennsylvania, pp. 109–120 (2005)
Márquez, G., Astudillo, H.: Selecting components assemblies from non-functional requirements through tactics and scenarios. In: Proceedings IEEE 35th International Conference of the Chilean Computer Science Society (SCCC), Valparaíso, Chile, pp. 1–11 (2016)
Marquez, G., Astudillo, H.: Selection of software components from business objectives scenarios through architectural tactics. In: Proceedings 39th IEEE/ACM International Conference on Software Engineering Companion (ICSE-C), Buenos Aires, Argentina, pp. 441–444 (2017)
Capilla, R., Nava, F., Pérez, S., Dueñas, J.C.: A web-based tool for managing architectural design decisions. ACM SIGSOFT Softw. Eng. Notes 31(5), 4 (2006)
Cai, H., Gu, Y., Vasilakos, A.V., Xu, B., Zhou, J.: Model-driven development patterns for mobile services in cloud of things. IEEE Trans. Cloud Comput. 6(3), 771–784 (2018)
Nguyen, X.T., Tran, H.T., Baraki, H., Geihs, K.: FRASAD: a framework for model-driven IoT application development. In: Proceedings IEEE 2nd World Forum on Internet of Things (WF-IoT), pp. 387–392 (2015)
Kwan, I., Cataldo, M., Damian, D.: Conway’s law revisited: the evidence for a task-based perspective. IEEE Softw. 29(1), 90–93 (2012)
France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: Proceedings Future of Software Engineering, pp. 37–54. IEEE Computer Society (2007)
Grunbacher, P., Egyed, A., Medvidovic, N.: Reconciling software requirements and architectures: the CBSP approach. In: Proceedings 5th IEEE International Symposium on Requirements Engineering, pp. 202–211 (2001)
Mohammadi, N.G., Heisel, M.: A framework for systematic analysis and modeling of trustworthiness requirements using i* and BPMN. In: Katsikas, S., Lambrinoudakis, C., Furnell, S. (eds.) TrustBus 2016. LNCS, vol. 9830, pp. 3–18. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-44341-6_1
Rosa, W., Madachy, R., Clark, B., Boehm, B.: Agile software development cost modeling for the US DoD. In: SEI Software and Cyber Solutions Symposium, pp. 1–29. Software Engineering Institute (2018)
Beck, K., Boehm, B.: Agility through discipline: a debate. Computer 36(6), 44–46 (2003)
Shahbazian, A., Lee, Y.K., Le, D., Brun, Y., Medvidovic, N.: Recovering architectural design decisions. In: Proceedings IEEE International Conference on Software Architecture (ICSA), pp. 95–9509 (2018)
De Boer, R.C., Van Vliet, H.: On the similarity between requirements and architecture. J. Syst. Softw. 82(3), 544–550 (2009)
Fitzgerald, B., Stol, K.-J.: Continuous software engineering: a roadmap and agenda. J. Syst. Softw. 123, 176–189 (2017)
Barnes, J.M., Garlan, D., Schmerl, B.: Evolution styles: foundations and models for software architecture evolution. Softw. Syst. Model. 13(2), 649–678 (2014)
Acknowledgment
This research is supported by the National Science Foundation of China under Grant No. 61672276 and 61702277 and the Collaborative Innovation Center of Novel Software Technology and Industrialization, Nanjing University.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering
About this paper
Cite this paper
Rafique, W., Khan, M., Dou, W. (2019). Maintainable Software Solution Development Using Collaboration Between Architecture and Requirements in Heterogeneous IoT Paradigm (Short Paper). In: Wang, X., Gao, H., Iqbal, M., Min, G. (eds) Collaborative Computing: Networking, Applications and Worksharing. CollaborateCom 2019. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 292. Springer, Cham. https://doi.org/10.1007/978-3-030-30146-0_34
Download citation
DOI: https://doi.org/10.1007/978-3-030-30146-0_34
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-30145-3
Online ISBN: 978-3-030-30146-0
eBook Packages: Computer ScienceComputer Science (R0)