Professional Documents
Culture Documents
Pertemuan 3 Adv SWE 2021
Pertemuan 3 Adv SWE 2021
Pertemuan 3 Adv SWE 2021
Lecture 3
Principles of Variability
Variability
can be defined either as an integral part of
development artefacts or in a separate variability
model.
• Existing Research:
• Feature Models to represent variability
• Variability in use case models
• Variability in implementation structures
Orthogonal Variability Definition
• Shortcomings:
• Variability information is spread across
different models, inconsistent.
• It is hard to determine which variability
influence design, realization or test artefacts.
• Overload the software development models.
• Different concepts of variability for software
development models.
Orthogonal Variability Model
An orthogonal variability model is a model that
defines the variability of a software product line. It
relates the variability defined to other software
development models such as feature models, use case
models, design models, component models, and test
models.
• Example:
A home automation system offers different key lengths for
encrypted remote communication (128 bits to 1024 bits). The
software product line engineer wants to state that 128 bit
encryption is required for minimal data protection and that it
must be available in each application that offers remote
access. Therefore, the engineer defines the 128 bit encryption
as a mandatory variant and 256 bit, 512 bit, and 1024 bit
encryption as optional variants. The 128 bit encryption is,
however, only part of applications which include remote
communication.
Orthogonal Variability Model
• Alternative choice
– groups a set of variants that are related through an
optional variability dependency to the same variation
point and defines the range for the amount of optional
variants to be selected for this group.
Orthogonal Variability Model
Alternative Choice, an example:
• By declaring the optional variants ‘keypad’,
‘magnetic card’, and ‘fingerprint scanner’ as
alternative choices with ‘min’ taking the value
“1” and ‘max’ taking the value “2”, the
variability model states that at least one and at
most two of the variants can be selected.
Variability Constraints
• The variability meta model does not support the
documentation of relationships between variants that
belong to different variation points.
• Such restrictions are required for the following cases:
– The modeler wants to state that a variant V requires a
1