  To be able to measure relevant data for transport infrastructure monitoring
and to obtain maintenance indicators in a crowd sensing-based fashion, a set of
requirements (both from hardware and software points of view) needs to be
satisfied. Heterogeneity of smartphones and various uncertainties associated
with the mainstream \textit{off-the-shelf} hardware combined with the fact that
inexperienced participants will take an active part in the data collection
process necessitates that the system accounts for dynamicity, uncertainty,
unreliability, and heterogeneity of the environment, participants, and
technology. Modern Software Development Kits (SDK) and Application Programming
Interfaces (API) provided by the mobile Operating Systems allow us to build
applications for the smartphones ecosystem and to interact with components,
services, and applications. They also provide specifications for hardware
components and modules (e.g. sensors, location, and networking modules). Being
a system implemented on a heterogeneous and dynamic smartphone platform, our
crowd sensing-based transport infrastructure monitoring system satisfies a
number of hardware and software requirements. Hence, we propose a detailed and
rigorous methodology to research the requirements and describe the overall
system architecture including its functionalities and services.
