Facet Tables in Domain Analysis
Domain analysis is a method used in software development. Domains are a collection of software applications with common characteristics, or sets of problems with common characteristics that computer software can solve. By establishing the underlying principles of a particular domain, domain analysis develops guidelines for creating software applying to the domain. Facet tables are a domain analysis tool.
-
Domain Engineering
-
Software engineering focuses on the needs of individual projects; domain engineering searches for solutions to families of projects. Domain engineering begins with domain analysis to define the parameters of the domain, learn how it works and draw up general guidelines that capture the architecture of domain-related software. This helps developers decide what software and programming languages work best with a given domain and helps them design models for future software projects.
Conceptual Clustering
-
Conceptual clustering is a domain analysis tool. The developer studies software descriptions and program codes to produce a list of the domain's important concepts. Next, she creates a vocabulary list, clustering words related to each concept. Finally, she subdivides each cluster into smaller lists of words known as facets. The top row of the table identifies terms common throughout the domain, with optional words placed below them in columns.
-
Facet Table
-
If a developer studies the information-retrieval domain, the list of universal terms at the top of the table includes "Hardware," "File Structure" and "Conceptual Models," concepts common to all systems in the domain. The row under "Conceptual Models" runs through terms such as "Boolean," "Extended Boolean" and "String Search." This gives developers a visual reference showing which concepts are found throughout the domain and which are optional or mutually exclusive.
Example
-
A 2007 study by computer scientists at Virginia Tech applied domain analysis to conflation algorithms, tools that help databases match information requests with variant words, terms and spelling. As part of the analysis, the researchers created a facet table of several columns topped by terms such as "Operations" and "Word Parts." Under "Operations," the facets included "Longest Match," "Partial Match" and "Shortest Match"; the "Word Parts" column includes "Morpheme," "Phoneme," "Prefix," "Suffix" and "Vowel." This helped the researchers classify the ways in which an algorithm can hunt for words.
-