NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May Mahdi Noorian
Content Background Motivation Research Objectives Approach Overviews Conclusion 2 Mercedes-Benz Product Line
Background Software Product Line Systematic reuse based development approach. Commonalities and variabilities. Developing families of software systems. Consists of two main lifecycles: Domain engineering Application engineering 3
Background 4 Software product line based on FORM method.
Background Feature Models The main artefact of domain analysis. Variability model. Features are organized through a set of constraints. Structural constraints (Mandatory, Optional, Alternative, OR) Integrity constraints (Include, Exclude) Feature Model Configuration In application engineering, the process of selecting the desirable set of features from the feature model is called configuration process. Configuration process depend on: feature model constraints, and users’ requirements. 5
Background 6
Goal Models Provide a framework for capturing and managing early stage system requirements. Intentional variability. It generally built over three important concepts: Goals (a desired result for system under development that stakeholders plan to achieve), Softgoals (refer to non-functional properties of system), Tasks (tasks are the methods that can operationalize goals). 7
Background 8
Content Background Motivation Research Objectives Approach Overviews Conclusion 9 Mercedes-Benz Product Line
Motivation Feature models are widely accepted as one of the important tools for domain modeling. Mostly capture functional and operational variability of a system. Non-functional properties of the system alongside with functional properties need to be captured and managed from the early stage of development process. There is a lack of systematic approaches to deal with non-functional properties within feature models. 10
Motivation Software product line configuration is an important step in application engineering. selection of desirable set of features is very difficult task for the users and product designers. Complexity of the variabilities represented by feature models. Size of feature model configuration space. The feature selection depends on the restrictions placed by users’ requirements (functional and non-functional), preferences and feature model constraints. There is a lack of methods or processes that can help to identify the set of desirable features to fulfill the users’ needs. 11
Content Background Motivation Research Objectives Approach Overviews Conclusion 12 Mercedes-Benz Product Line
Research Objectives Quality-centric Feature Modeling Addressing non-functional properties from the early stage of software product lines. Connecting intentional variability models such as goal models with feature variability models in a target domain. Quality-centric Feature Model Configuration Developing optimized software products with respect to users’ objectives (functional and non-functional) and preferences. 13
Content Background Motivation Research Objectives Approach Overviews Conclusion 14 Mercedes-Benz Product Line
Approach Overview 15 Optimized Product User’s Objectives and Preferences Feature Selection User Requirement Analysis Domain Requirement Engineering (Goal Modeling) Application Engineering Domain Analysis (Feature Modeling) Integration Process Configuration Mapping Domain Engineering Quality-centric Feature Modeling
16 Model Element Enrichment FM & GM Semantic Annotation Mapping Recommendation Building Quality-centric Feature Model Domain Textual Assets Extended FM & GM with Textual Snippets Annotated FM & GM with Ontological Concepts External Ontologies Mapping Links QcFM Control flow Input Output
Quality-centric Feature Modeling 17
Quality-centric Feature Modeling 18
Quality-centric Feature Modeling 19
Quality-centric Feature Modeling 20
Quality-centric Feature Modeling 21
Quality-centric Feature Modeling 22
Quality-centric Feature Modeling 23
Content Background Motivation Research Objectives Approach Overviews Conclusion 24 Mercedes-Benz Product Line
Conclusion A semi-automatic approach to systematically integrate feature models, which represent functional aspects of a domain, and goal models, which represent non- functional properties. Through this integration, the quality aspects of the domain can be captured from the early stage of SPL development. An automated configuration process for developing optimized software product with respect to users’ functional properties, non-functional properties, and preferences. 25
Thank you 26
27