Domain analysis has its basis in software engineering. It is considered to be the process of analyzing a given domain. The domain might be a group of software programs analyzed to determine which parts such programs share and which are different. The domain might also be a Web site or domain name.
Studying a group of software programs to learn which parts of the programs are roughly equivalent and which parts are unique make one form of domain analysis. Software engineers study these domains in order to learn from them. Such analysis allows them to see how the programs are used and to follow patterns within the domain. This type of analysis has led to the creation of new or improved operating systems and programming languages.
After completing a basic domain definition as part of domain analysis, the software engineer might be able to reuse certain pieces of software in a different application. This allows the engineer to reduce the time period and cost of creating the next application. Domain analysis allows the engineer to determine the parts of a program that are more generic. Generic program parts may be reused and serve as the basis of future applications.
Domain models are the graphical representation of the domain analysis. These models describe graphically how the software programs within a given domain are used as well as which portions of the programs are used by multiple processes within a software application. Software engineers use these tools to help them document the results of a given domain’s analysis.
Web site domains are also analyzed in a similar manner. This analysis might focus on search engine optimization or on the same type of domain analysis as off-line domains. There are online tools that rapidly complete basic analysis of a given domain. These tools are available free on the Internet or as part of a software package used by Web site managers.
Normally, the Web site domain analysis includes checking the age of a Web site, the size of its archive, and the site’s page ranking with a variety of search engines. These tools help collect information for analysis; however, the information itself must be analyzed to determine the meaning behind the information. The information may provide patterns for the engineer that show who reviews the Web site on a regular basis or which portions of the site see the most traffic. This information may in turn be used to improve the site's functionality.