Domain analysis

In software engineering, domain analysis, or product line analysis, is the process of analyzing related software systems in a domain to find their common and variable parts. It is a model of wider business context for the system. The term was coined in the early 1980s by James Neighbors.[1][2] Domain analysis is the first phase of domain engineering. It is a key method for realizing systematic software reuse.[3]

Domain analysis produces domain models using methodologies such as domain specific languages, feature tables, facet tables, facet templates, and generic architectures, which describe all of the systems in a domain. Several methodologies for domain analysis have been proposed.[4]

The products, or "artifacts", of a domain analysis are sometimes object-oriented models (e.g. represented with the Unified Modeling Language (UML)) or data models represented with entity-relationship diagrams (ERD). Software developers can use these models as a basis for the implementation of software architectures and applications. This approach to domain analysis is sometimes called model-driven engineering.

In information science, the term "domain analysis" was suggested in 1995 by Birger Hjørland and H. Albrechtsen.[5][6]

Domain analysis techniques

Several domain analysis techniques have been identified, proposed and developed due to the diversity of goals, domains, and involved processes.

  • DARE: Domain Analysis and Reuse Environment ,
  • Feature-Oriented Domain Analysis (FODA)
  • IDEF0 for Domain Analysis
  • Model Oriented Domain Analysis and Engineering
gollark: Oh no. This could have substantial effects on my IndexedDB-based website achievement system.
gollark: I doubt anyone actually uses native C# types for this so who knows really.
gollark: It doesn't really need high precision, but does need many, many numbers in as little memory as possible.
gollark: I did say why you might want that.
gollark: You have been greeted.

References

  1. Neighbors, J.M. Software Construction using Components. Technical Report 160, Department of Information and Computer Sciences, University of California, Irvine, 1980.
  2. Neighbors, J.M. "The Draco Approach to Constructing Software from Reusable Components". IEEE Transactions on Software Engineering, SE-10(5), September 1984.
  3. Dennis de Champeaux, Douglas Lea, and Penelope Faure (1993). Domain Analysis Archived 2016-03-03 at the Wayback Machine, chapter 13, Object-Oriented System Development. Rahul Wis. ISBN 0-201-56355-X.
  4. Frakes, W.B. and Kyo Kang, (2005), "Software Reuse Research: Status and Future", IEEE Transactions on Software Engineering, 31(7), July, pp. 529-536.
  5. B. Hjørland, H. Albrechtsen, "Toward a New Horizon in Information Science: Domain-Analysis", Journal of the American Society for Information Science, No. 6, vol. 46 (1995), pp. 400-425
  6. Birger Hjørland's definition of domain analysis Archived 2011-11-05 at the Wayback Machine

See also


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.