Information Technology Reference
In-Depth Information
the scope, and then they study their variability. The architects
build a feature model or, more generally, a variability model.
This model is a structured set of variation points associated
with their variants , which can be either requirements, code,
architectures, testing plans, or any other elements of a full
software development process. Variation points are relevant
characteristics that can have different values, the so-called
“variants”, according to the variability of a product line. The
set of re-usable artifacts occurring in the products defines the
product line platform. In this topic, it shall be referred to as
the core asset .
The development of the product and core asset are fairly
complex processes, often presented with two phases: domain
engineering and application engineering. The former process
analyzes the domain, the commonalities, and the variability; it
elaborates a production plan for the product line development
and generates the assets to be re-used. The latter process is
in charge of building each product from its characteristics,
the core assets and the plan defined during the first phase.
This second phase can be a complete software lifecycle:
the most important activities are the product configuration
and the product derivation. The product configuration is a
representation of the product to be built expressed in terms
of the variability model. It is from such configuration, core
assets, and production plan that the effective product can be
generated.
1.2. Model-driven engineering
Model-driven engineering refers to a range of development
approaches based on the use of software modeling as primary
documents. These documents comprise requirements or other
artifacts such as feature models, use cases, Unified Modeling
Language (UML) diagrams, and architectures, among others.
Code is written by hand or generated in part or in whole
from the models. Whenever possible, code generation ranges
Search WWH ::




Custom Search