Page 237 - DCAP405_SOFTWARE_ENGINEERING
P. 237
Software Engineering
Notes Reuse
Domain analysis is not a one-shot affair. Product definitions evolve continuously. The
development of a particular system that exploits previously accumulated domain knowledge
can be the source for new insights about the domain that adds to or refines codified domain
knowledge. In analogy to the emergence of domain-specific code libraries, we foresee the
development of domain-specific analysis concept repositories, linked ultimately to code via
domain-specific design repositories. The following diagram explains the interactions:
Intial domain analysis
domain domain domain
concepts constructs code
Requirements Analysis Design Implementation
Generic Generic
constructs code
Functional model components are the primary outputs of a domain analysis. The feedback
loops explain/prescribe that the outputs of the different phases are to be abstracted and added to
the domain repositories. The “bird-feet” lines in the diagram that are attached to the repositories
express their interconnections. For example, a domain analysis concept can have multiple
realizations in the design repository. Similarly, a domain construct can have multiple realizations
in the corresponding code repository, where each realization satisfies different auxiliary
requirement trade-offs.
Domain analysis is the spearhead for disciplined reuse in software development. This is quite
obvious for the generator version of domain analysis, but applies as well to the two weaker
versions. An organization for system development will be complemented, when cost effective,
by an organization that maintains and manages domain-specific repositories. OO analysis has
much to offer to domain analysis from a technical perspective. However the sociological, cultural
and organizational problems of realizing a cost effective reuse program that underlies our
diagram extend beyond the technical dimension. This has led to the widespread adoption of
reuse-based strategies in OO design and programming efforts. However, these practices remain
incomplete without equally prevalent adoption of a reuse-based engineering discipline at the
requirements and analysis levels.
230 LOVELY PROFESSIONAL UNIVERSITY