This paper provides a comprehensive overview and analysis of research work on how uncertainty is currently represented in software models. The survey presents the definitions and current research status of different proposals for addressing uncertainty modeling, and introduces a classification framework that allows to compare and classify existing proposals, analyse their current status and identify new trends. In addition, we discuss possible future research directions, opportunities and challenges.A fundamental characteristic of software models is their ability to represent the relevant characteristics of the system under study, at the appropriate level of abstraction. Software models were initially conceived to design and develop general Information Technology (IT) systems, such as financial applications, enterprise databases or component-based systems, and have proven to be excellent artefacts for representing the basic structure and