Domain analysis

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. Some of them are as follows:

  • DARE: Domain Analysis and Reuse Environment [1], [2]
  • Feature-Oriented Domain Analysis (FODA)[3]
  • IDEF0 for Domain Analysis [4]

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 of Software Engineering, SE-10(5), September 1984.
  3. ^ Dennis de Champeaux, Douglas Lea, and Penelope Faure (1993). Domain Analysis, chapter 13, Object-Oriented System Development. Addison Wesley. 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

See also



Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Problem domain analysis — is the process of creating a model describing the problem to be solved.DescriptionProblem domain analysis is completely independent of solution domain constructs, and is therefore eminently reusable. Once the problem domain analysis is performed… …   Wikipedia

  • Domain engineering — Domain engineering, also called product line engineering, is the entire process of reusing domain knowledge in the production of new software systems. It is a key concept in systematic software reuse. A key idea in systematic software reuse is… …   Wikipedia

  • Domain — may refer to: General Territory (administrative division), a non sovereign geographic area which has come under the authority of another government Public domain, a body of works and knowledge without proprietary interest Eminent domain, the… …   Wikipedia

  • Domain knowledge — is that valid knowledge used to refer to an area of human endeavour, an autonomous computer activity, or other specialized discipline. Specialists and experts use and develop their own domain knowledge. If the concept domain knowledge or domain… …   Wikipedia

  • Domain-specific language — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Domain tasting — is the practice of a domain name registrant using the five day grace period (the Add Grace Period or AGP) at the beginning of the registration of an ICANN regulated second level domain to test the marketability of the domain. During this period,… …   Wikipedia

  • Domain decomposition methods — Domain dec …   Wikipedia

  • Domain coloring — plot of the function ƒ(x) =(x2 − 1)(x − 2 − i)2/(x2 + 2 + 2i). The hue represents the function argument, while the saturation represents the magnitude. Domain coloring is a technique for… …   Wikipedia

  • Domain-driven design — (DDD) is an approach to developing software for complex needs by deeply connecting the implementation to an evolving model of the core business concepts.[1] The premise of domain driven design is the following: Placing the project s primary focus …   Wikipedia

  • Domain theory — is a branch of mathematics that studies special kinds of partially ordered sets (posets) commonly called domains. Consequently, domain theory can be considered as a branch of order theory. The field has major applications in computer science,… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”