Software engineering (SE) is the study of the application of organized scientific approach used for designing, developing, integrating and maintaining software. This engineering study explains the methods, procedures and tools used for professional software development. The origin of this engineering term dates back to NATO Software Engineering Conference which was held in 1968, aiming to deal with the potential software crisis. This was the first step towards the development of modern world which eventually led to huge benefits to mankind. Indeed Software Engineering practices have done wonders in our lives and today, we are enjoying this fruit of technology by just one click, every minute every second. Software engineering is prone to many challenges; issues and threats. But to deal with these issues we must also realize the importance of Software Engineering. Being a dominant factor with regards to cost and a driving force for a project’s success, software engineering practice...