Synthesis Leveraged Domain Engineering 
PRODUCT DESCRIPTION
PROCESS DESCRIPTION
INTERACTIONS WITH OTHER ACTIVITIES
Domain Analysis is an activity of Domain Engineering for studying and 
formalizing a business area as a domain.  The purpose of formalizing a domain 
is to standardize and leverage knowledge of how recurring and varying 
customer requirements affect the form and content of a product.  
The scope of a domain is a business 
decision based on 
evaluations of available expertise and potential business opportunities.  
Domain Analysis specifies a standardized Application Engineering process and 
product family 
and verifies that a corresponding Domain Implementation meets that 
specification.  
The objectives of Domain Analysis are to: 
 
-  
Determine scope 
and to evaluate the economic viability of a domain 
 -  
Establish, manage, and evolve a repository of 
domain knowledge 
 -  
Specify 
an Application Engineering process and 
product family 
appropriate to the domain 
 
 
Domain Analysis requires the following information: 
 
-  
Business area knowledge 
 -  
Domain Plan: Domain Objectives 
 -  
Domain Implementation 
 
 
Domain Analysis requires domain and software knowledge and experience in: 
 
-  
The needs that motivate systems in the domain 
 -  
The environments in which these systems operate 
 -  
How these systems are built 
 
 
  
Domain Analysis creates two work products: Domain Definition and Domain 
Specification. 
 
-  
  
- Purpose:
 -  
A Domain Definition (see 
Section DE.2.1)
is an informal description of the systems 
in a business area that form a domain.  A Domain Definition characterizes how 
existing systems, 
systems being developed in ongoing projects in the domain, and potential future 
systems 
are similar and how they differ.  
  
- Verification Criteria:
 -  
The Domain Definition captures sufficient information to allow domain engineers 
to describe accurately any existing or potential system.  
 
 
-  
  
- Purpose:
 -  
A Domain Specification (see 
Section DE.2.2)
precisely characterizes 
a 
product 
family for the 
domain 
and an Application Engineering process for constructing members of 
that family.  
  
- Verification Criteria:
 -  
The Domain Specification precisely expresses the domain as captured in the 
Domain Definition. 
 
  
The Domain Analysis Activity consists of the three steps shown in 
Figure DE.2-1 Domain Analysis Process.
Follow these steps for the Domain Analysis Activity. 
 Activity: 
Domain Definition
 
-  
  
- Action:
 -  
Characterize the domain to satisfy domain objectives 
(see 
Section DE.2.1).
  
- Input:
 -  
Domain Plan 
  
- Result:
 -  
Domain Definition 
  
- Heuristics:
 -  
 
-  
Characterize the domain by defining its scope (i.e., classes of systems, 
characteristics, or functions included and excluded from the domain) and how 
included systems are distinguished from one another.  These definitions are a 
basis for judging the qualitative and economic characteristics of the domain to 
determine whether the domain as defined will be economically viable.  
 -  
Consider how 
a product for a 
system 
is 
similar and distinguishable from 
a product for 
existing systems.  
 -  
Use this definition as a basis for judging the qualitative and economic 
characteristics of the domain to determine whether the domain, as defined, will 
be economically viable.  
If analysis of the Domain Definition fails a test of economic viability, 
reevaluate the scope of the domain in terms of domain objectives.  
 
 
 
 Activity: 
Domain Specification
 
-  
  
- Action:
 -  
Specify Application Engineering Process Support (see 
Section DE.2.2).
  
- Input:
 -  
Domain Definition 
  
- Result:
 -  
Domain Specification 
  
- Heuristics:
 -  
 
-  
Create a standard Application Engineering process for the domain.  Ensure that 
all needs of projects are flexibly supported.  
 -  
Design an Application Modeling Notation for communication of system 
requirements and constraints among customers and application engineers.  
Identify 
the decisions that an application engineer must make to describe fully the 
variations in a system.  
This notation must 
accommodate aspects appropriate for the work product family (such as functional 
[e.g., behavioral] and nonfunctional aspects [e.g., size, timing, fault 
tolerance, hardware architecture, hardware/software configuration]) so that the 
application engineer can adequately express 
customer requirements.  This notation should be based on existing (formal or 
informal) notations used by domain experts.  
 -  
Ensure that the Application Modeling Notation is precise enough to be used as a 
source for mapping into exact system solutions.  Create standardized 
requirements for the domain.  This description must establish both the common 
and variable aspects of the behavior and constraints of product family 
members.  An unambiguous specification of requirements is needed so that domain 
implementors can determine what impact a decision has on a system.  This also 
provides a basis for explaining the notation to application engineers.  
 -  
Create a 
standardized design 
for the 
product 
family.  
The design 
must satisfy both the common and variable aspects of the 
product family.  
A standardized design includes both design structures that define various views 
of the 
product structure and components from which a 
product is constructed 
to 
satisfy customer requirements.  
 
 
 
 Activity: 
Domain Verification
 
-  
  
- Action:
 -  
Verify the correctness, consistency, and completeness of domain engineering 
work products (see 
Section DE.2.3 for motivation).
  
- Input:
 -  
 
-  
Domain Definition 
 -  
Domain Specification 
 -  
Domain Implementation 
 
 
  
- Result:
 -  
None 
  
- Heuristics:
 -  
 
-  
Verify the consistency and completeness of the Domain Definition. 
 -  
Verify that the representation of the Application Engineering process in the 
Domain Specification is consistent and complete with respect to its 
representation in the Domain Definition. 
 -  
Verify that the representation of the application engineering product in the 
Domain Specification is consistent and complete with respect to its 
representation in the Domain Definition. 
 -  
Verify that the Product Implementation is consistent and complete with respect 
to the Domain Specification. 
 -  
Verify that the representation of the Application Engineering process in the 
Process Support is consistent and complete with respect to its representation 
in the Domain Specification. 
 
 
 
 
-  
  
- Risk:
 -  
The cost of an increment of Domain Analysis is projected to exceed the budget.  
  
- Implication:
 -  
Insufficient resources exist to complete a planned iteration of Domain 
Engineering. 
  
- Mitigation:
 -  
 
-  
Reduce the current scope.  
 -  
Seek a change in domain objectives or an increase in the budget for the 
increment from Domain Management. 
 
 
 
  
 
-  
  
- Contingency:
 -  
The Domain Plan cannot be satisfied with available technical capabilities.  
  
- Source:
 -  
Domain Management Activity 
  
- Response:
 -  
Propose (alternative) revisions to the Domain Plan that better match available 
capabilities.  Complete a Domain Definition and a Domain Specification that 
satisfy the Domain Plan as closely as possible.  
  
- Contingency:
 -  
The Domain Implementation does not satisfy the Domain Specification. 
  
- Source:
 -  
Domain Implementation Activity 
  
- Response:
 -  
Clarify the intent of the Domain Specification. 
  
- Contingency:
 -  
The practices and procedures specified in the Domain Plan are either 
ineffective or inefficient.  
  
- Source:
 -  
Domain Management Activity 
  
- Response:
 -  
Describe the ways in which the practices and procedures are either ineffective 
or inefficient.  Propose revisions to the practices and procedures to make them 
more effective.  
 
 
-  
  
- Contingency:
 -  
Suggestions are made for Domain Specification changes to exploit unforeseen 
opportunities.  For example, a situation where substantial software is made 
available for use in the Domain Implementation that was not available when the 
Domain Specification was completed.  
  
- Source:
 -  
Domain Implementation Activity 
  
- Response:
 -  
 
-  
Revise the Domain Specification. 
 -  
Refer to Domain Management for future planning.  
 -  
Reject the changes due to conflicts with the Domain Definition. 
 
 
  
- Contingency:
 -  
The Domain Definition and/or Domain Specification fails to provide the 
capabilities required by the Domain Plan. 
  
- Source:
 -  
Domain Management Activity 
  
- Response:
 -  
Evolve the Domain Definition and the Domain Specification to be consistent with 
the Domain Plan. 
  
- Contingency:
 -  
The Domain Specification is incomplete, ambiguous, or inconsistent.  
  
- Source:
 -  
Domain Implementation Activity 
  
- Response:
 -  
Revise the Domain Specification to correct the inadequacies.  
  
- Contingency:
 -  
The standardized Application Engineering 
process is 
inefficient or leads 
to less-than-ideal results for 
a particular project.  
  
- Source:
 -  
Project Support Activity 
  
- Response:
 -  
 
-  
Determine that the benefits of 
process 
standardization outweigh the interests of the particular project.  
 -  
Evolve the definition of the Application Engineering 
process 
to reflect the project's experience or to be adapted to the particular 
conditions of concern.