1 NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS Mahdi Noorian m.noorian@unb.ca May 2014 Content 2 Background Motivation Research Objectives Approach Overviews Conclusion Mercedes-Benz Product Line Background 3 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 Background 4 Software product line based on FORM method. Background 5 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. Background 6 Background 7 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). Background 8 Content 9 Background Motivation Research Objectives Approach Overviews Conclusion Mercedes-Benz Product Line Motivation 10 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. Motivation 11 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. Content 12 Background Motivation Research Objectives Approach Overviews Conclusion Mercedes-Benz Product Line Research Objectives 13 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. Content 14 Background Motivation Research Objectives Approach Overviews Conclusion Mercedes-Benz Product Line Approach Overview Application Engineering Domain Engineering 15 Integration Process Domain Requirement Engineering (Goal Modeling) Domain Analysis (Feature Modeling) Quality-centric Feature Modeling Feature Selection User Requirement Analysis Mapping User’s Objectives and Preferences Optimized Product Configuration Quality-centric Feature Modeling 16 1 FM & GM Domain Textual Assets Control flow Input Model Element Enrichment Extended FM & GM with Textual Snippets External Ontologies Output 2 Semantic Annotation Annotated FM & GM with Ontological Concepts 3 Mapping Recommendation 4 Mapping Links Building Quality-centric Feature Model QcFM 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 24 Background Motivation Research Objectives Approach Overviews Conclusion Mercedes-Benz Product Line Conclusion 25 A semi-automatic approach to systematically integrate feature models, which represent functional aspects of a domain, and goal models, which represent nonfunctional 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. 26 Thank you 27