Knowledge Reuse
• Goal: Speed up elicitation by reuse of knowledge
from experience with related systems
• General reuse process:
[Link] relevant knowledge from other systems
[Link] it to the target system
[Link] the result, ADAPT it if necessary &
INTEGRATE it with the system knowledge already
acquired
• Transposition mechanisms:
• instantiation (memberOf)
• specialization (subClassOf) + feature inheritance
• reformulation in vocabulary of target system
Requirements Taxonomies:
Domain-Independent Knowledge
Reuse of domain-independent knowledge:
Requirements Taxonomies
• For each leaf node in
available req
taxonomies:
• “Is there any system-
specific req instance
from this class?”
• More specific
taxonomy => more
focused search
Reuse of domain-independent knowledge:
Requirements Document Meta-Model
• RD meta-model = concepts & relationships in terms
of which RD items are captured
• Elicitation by meta-model traversal
• RD items are acquired as instantiations of meta-
model items
Reuse of domain-specific knowledge
• Abstract domain = concepts, tasks, actors, objectives, reqs, dom props
abstracting from a class of domains
• RD items acquired as specializations of abstract items to target system (feature
inheritance + system-specific renaming)
Spec Inheritance: “A user may not use more than X resource units at a time.”
Reuse of domain-specific knowledge
• One-to-many: abstract domain -> specializations
• One-to-many: concrete domain -> abstract domains
• e.g. library management system
• More adequate RD items elicited by reuse of more structured,
more accurate abstract domains
• e.g. resource management: returnable vs. consumable resource
or sharable vs. non-sharable resource
• => “A book copy can be borrowed by one patron at a time”
• (dom prop for non-sharable, returnable resource)