Software engineering is a significant domain of computer science that deals with all the activities associated with the software development. Basically, software is developed in a number of phases and each phase is closely linked to all other phases. The success and failure of a phase can heavily affect the other phases. Both requirements analysis and software design are significant phases of the software development process. In fact, the successful completion of a software development task heavily depends on the successful completion of these two phases. This paper is a comparative study of requirements engineering and design phases of different software development approaches.