  In recent years, microservice architecture has become a popular architectural
style in software engineering, with its natural support for DevOps and
continuous delivery, as well as its scalability and extensibility, which drive
industry practitioners to migrate to microservice architecture. However, there
are many challenges in adopting a microservice architecture, the most important
of which is how to properly decomposition a monolithic system into
microservices. Currently, microservice decomposition decisions for monolithic
systems rely on subjective human experience, which is a costly, time-consuming
process with high uncertainty of results. To address this problem, this paper
proposes a method for microservice decomposition using Jackson Problem Frames.
In this method, requirements of the system are analysed, descriptions of the
interactions between the proposed software and its environment is obtained,
multiple problem diagrams are constructed, and then the problem diagrams are
merged by analyzing the correlation and similarity between them, resulting in a
microservice decomposition scheme. A case study is also conducted based on a
smart parking system. The results of the study show that the method can perform
microservice decomposition based on requirements and the software environment,
resulting in reducing the decisionmaking burden of developers, with reasonable
decomposition results.
