In software systems, the continuous changing of requirements, known as requirements evolution, is considered one of the significant issues. Requirements' evolution denotes the postـdeployment changes in the requirements. This article reviews the most related requirements evolution approaches. Different approaches have been presented in modelling requirements evolution, managing requirements evolution, and relevant analysis techniques, like inconsistency detection and change impact analysis. The relevant approaches of requirements evolution can be generally classified into the impact of evolution and reaction on evolution. The article also has given a comparison among those approaches. The approaches that have been surveyed in this article exhibited many limitations. These limitations need to be addressed and coped with for the approaches to be more effective in managing the evolution of software requirements. One of the solutions to these limitations is to develop an approach that addresses the reasoning behind software requirements evolution.