The findings of this study demonstrated different research topics including software architectural styles, patterns, and models to build IoT software. The study revealed the innovative work on IoT software architecture and trends that help in the creation and dynamic adaptation of IoT software for reusability, automation and human decision-making. The outputs of this SLR are