Task: MAS Application Engineering Requirement Analysis |
| |
 |
SPL Task for Application Engineering |
|
Purpose
This task aims to investigate the needs of a specific customer as part of application engineering. In the simplest case, a customer’s requirements are mapped to a feature selection, based on the features identified during domain analysis. If novel requirements are discovered, they can be fed back into domain analysis, which may result in a modification of the feature model (and the reusable domain artifacts). |
Relationships
Roles | Primary Performer:
| Additional Performers:
|
Inputs | Mandatory:
| Optional:
|
Outputs |
|
Process Usage |
|
Main Description
Ideally, requirements analysis can be reduced to the selection of existing features, such that a product can be assembled using reusable implementations artifacts associated with these features.
If a customer’s requirement cannot be mapped to one or more existing features, several strategies are possible: 1) We can decide that the requirement is out of scope of the product line, so we simply cannot provide a corresponding feature or product. 2) We can assemble the next best product without this feature and manually extend the resulting product with custom extensions. This way, we invest additional implementation effort during application engineering, which is not integrated back into the product line. 3) We can decide to change the scope of our product line and include the additional requirement in the form of a new feature or changes to existing features, including domain artifacts. That is, we go back to domain engineering and implement a new feature or modify exiting ones. Subsequently, we can map the customer’s requirement to these features, of which also other customers can benefit.
Information provided in this task is strongly based on Feature Oriented Software Product Lines Reference. |
Steps
Specifying MAS Application´s requirements
Describe the requirements that should be covered by the MAS Final Product. |
Mapping MAS application´s requirements to MAS domain requirements
Analyze application´s requirements and identify one or more existing domain features that represent each one of these
requirements |
Generating a gap analysis of unmapped MAS application´s requirements
Generate a list of customer´s requirements that are not covered by existing domain features.
|
Selecting MAS mapped features
Produce a list of domain features previously mapped to application requirements. |
Handling MAS unmapped requirements based on business decisions
Analyse application´s requirement not mapped to existing features and, for each uncovered requirement, take the appropriate business decision :
1) Consider the requirement out of scope of the product line, so we simply cannot provide a corresponding feature or product. 2) Assemble the next best product without the uncovered requirement and manually extend the resulting product with custom extensions. This way, we invest additional implementation effort during application engineering, which is not integrated back into the product line. 3) Go back to Domain Engineering and implement a new feature or modify exiting ones. This strategy consists of changing the scope of the product line and including the additional requirement in the form of a new feature, or changes to existing features, including domain artifacts. Subsequently, we can map the customer’s requirement to these features, of which also other customers can benefit. |
|
Key Considerations
The strategy to be adopted during Requirement Analysis whenever a customer’s requirement cannot be mapped to existing features is a business decision that must be weighed. Additional development in application engineering to patch up a product is certainly cheaper in the short run than developing a new feature available for all products (which involves again domain scoping and modeling steps), but other products of the product line cannot benefit from that development. |
More Information
|