Software requirements refer to the description of the desired services that the system should provide, which reflect the needs of stakeholders. These requirements could be classified in different ways depending on the software itself and the domain in which the system will actually work. Moreover, the task of requirements classification has became extremely difficult because stakeholders have different perspectives on an expectation on a system. Besides, the time to obtain the final product is limited. To overcome this situation, we provided a review on the current software requirements classifications, which helps to create a better understanding and a clear defined requirements for the desired system and we proposed a framework for software requirements classification. Moreover, we have suggested possible improvements for future research on this line. Considering that, this paper has two goals: the first one is to present a classification framework for software requirements and the second one is to suggest an automation to the process of classifying and validating the software requirements using Natural Language Processing (NLP) models and techniques.