  The main goal of this article is to present the fundamental theoretical
concepts for the tutorial presented in IEEE NetSoft 2020. The article explores
the use of software in the 5G system composed of the Radio Access Network (RAN)
and the core components, following the standards defined by 3GPP, particularly
the Release 15. The article provides a brief overview of mobile cellular
networks, including basic concepts, operations, and evolution through the
called `generations' of mobile networks. From a software perspective, RAN is
presented in the context of 4G and 5G networks, which includes the
virtualization and disaggregation concepts. A significant part of the article
is dedicated to 5G networks and beyond, focusing on core, i.e., considering the
Service-Based Architecture (SBA), due to its relevance and totally softwarized
approach. Finally, the article briefly describes the demonstrations presented
in IEEE NetSoft 2020, providing the link for the repository that has all
material employed in the tutorial.
