Sofware Architecture Quality Attributes of a Layered Sensor-Based IoT System Zeljko Stojanov 1 , Dalibor Dobrilovic 1 1 University of Novi Sad, Technical Faculty "Mihajlo Pupin", Zrenjanin, Serbia Abstract Quality of complex technical systems is highly dependent on the quality of integrated software systems. Software system quality is determined with their functionalities and quality attributes that describe how the functionalities are performed. Although there exists a large list of software architecture quality attributes that technical systems can satisfy, they do that to a greater or lesser extent. Internet of Things (IoT) systems are complex socio-technical systems that include a variety of software elements distributed on specifc hardware components and servers. Selecting and fulflling of the most suitable quality attributes during system design is a challenging task. In this paper, we present our subjective experience with scalability, maintainability, security, availability and portability quality attributes during design of a layered sensor-based IoT system for monitoring industrial environmental conditions. Further research directions are also presented. Keywords software architecture, system architecture, IoT system, quality attributes, layered architecture 1. Introduction Production of high quality software products is challenging demand for software industry in highly dynamic and competitive market [1]. This assumes continuous improvement software characteristics in order to satisfy users and market demands. Software architecture is essential for the design of efective and usable software systems, their integration into complex socio- technical systems, and their easy and controllable evolution to adapt to changing business needs. Since technical systems should respond to proposed business requirements and constraints, software architecture should help in mapping them to specifc design of a system [2]. From the technical point of view, software architecture refects fundamental organization of a software system, its components and their relationships, as well as relations of a software system with its environment. Creation of a loosely coupled architecture by minimizing dependencies between components is the key point in architecture design. With this approach with minimized dependencies, changes during software evolution are localized and do not propagate through the architecture, which signifcantly reduces costs and complexity of maintenance. Functionalities of software systems refect functional requirements and constraints derived from business objectives. However, nonfunctional requirements defne how identifed func- tionalities will be provided to system user, and should be considered together with functional Workshop Information Technologies: Algorithms, Models, Systems (ITAMS), September, 2021, Irkutsk, Russia zeljko.stojanov@uns.ac.rs (Z. Stojanov); dalibor.dobrilovic@uns.ac.rs (D. Dobrilovic) 0000-0001-6930-5337 (Z. Stojanov); 0000-0002-3083-5725 (D. Dobrilovic) © 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings http://ceur-ws.org ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org)