Domain analysis has been suggested by many in the reuse research community as an important process for achieving successful reuse. Reuse of products, processes and all kinds of knowledge has been identified as a goal in software engineering, in order to develop reliable and high quality software systems on schedule and within budget. In software reuse there are producers and consumers of reusable artifacts, which might not be the same people. This duality of issues calls for methods as Domain Analysis to systematically build reusable elements. In this report a detailed description of domain analysis including domain analysis approaches, domain analysis models and domain analysis methods is given. After studying many domain analysis methods some criteria has been found based on which we compared domain analysis methods. Report discusses the domain analysis methods that share the same objectives: analyzing the domain and developing domain models. However each technique defines a particular way of understanding the domain and capturing domain information as domain models. In general the process, the product and supporting tools, can characterize a domain analysis method.