270 likes | 506 Views
Non-Functional Properties in Software Product Lines: A Framework for Developing Quality-centric Software Products. Mahdi Noorian. m.noorian@unb.ca. May 2014. Content. Background Motivation Research Objectives Approach Overviews Conclusion. M ercedes-Benz Product Line. Background.
E N D
Non-Functional Properties in Software Product Lines:A Framework for Developing Quality-centric Software Products Mahdi Noorian m.noorian@unb.ca May 2014
Content • Background • Motivation • Research Objectives • Approach Overviews • Conclusion 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
Background 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.
Background • 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 propertiesof system), • Tasks (tasks are the methods that can operationalize goals).
Content • Background • Motivation • Research Objectives • Approach Overviews • Conclusion 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.
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.
Content • Background • Motivation • Research Objectives • Approach Overviews • Conclusion 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.
Content • Background • Motivation • Research Objectives • Approach Overviews • Conclusion Mercedes-Benz Product Line
Approach Overview Integration Process Domain Analysis (Feature Modeling) Domain Requirement Engineering (Goal Modeling) Domain Engineering Quality-centric Feature Modeling User Requirement Analysis Feature Selection Mapping Application Engineering û ü ü OptimizedProduct • User’s • Objectives and • Preferences Configuration
Quality-centric Feature Modeling 1 Control flow Model Element Enrichment FM & GM Input Output 2 Domain Textual Assets Extended FM & GM with Textual Snippets Semantic Annotation 3 Annotated FM & GM with Ontological Concepts Mapping Recommendation External Ontologies 4 Building Quality-centric Feature Model Mapping Links QcFM
Content • Background • Motivation • Research Objectives • Approach Overviews • Conclusion 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.