Databases Reference
In-Depth Information
Fig. 7.1 Screenshot of the Folksonomy-based version of B.A.R.T.
and so on), an automatic mechanism depends on a certain level of quality that the
artifact must have. For example, keyword-based search requires that the artifacts
contain a considerable amount of free text describing it, otherwise the engine
cannot perform the keyword match. In this sense, a qualitative analysis of the
artifacts must be performed, in order to eliminate low-quality artifacts that could
hinder search efficiency.
2. Repository selection. The developer must be able to manually include the list
of the repositories where to search for reusable artifacts. It must be possible, at
any moment, to perform a search on these repositories in order to find newer
versions of the artifacts already found, or new artifacts. For example, a developer
can include the repositories related to Project A , Project B and Project C .
3. Local storage. All artifacts that were found must be locally stored in a cache, in
order to improve performance (reusable components repository centralization).
In a real scenario, a software factory has several projects in the repository. Thus,
in order to avoid several accesses to the repository, a local cache is very useful.
4. Index update. Periodically, the repositories that are registered must be accessed
to verify the existence of new artifacts, or newer versions of already indexed
artifacts. In this case, the index must be rebuilt to include the changes.
5. Optimization. Performance is a critical issue, specially in scenarios where thou-
sands of artifacts are stored into several repositories. Thus, optimization tech-
niques should be adopted. A simple and practical example is to avoid analyzing
and indexing software artifacts that were already indexed by the mechanism.
6. Keyword search. The search can be based on keywords, like many web search
engines, thus avoiding the need for learning a new method. Thus, the search must
accept a string as the input, and must interpret logical operators such as “AND”
and “OR” .
Search WWH ::




Custom Search