11. Main Contribution of the paper Employing Software Product Line principles (Feature Modeling) Adapting SPL lifecycle for method engineering Contribution Overview 5 Simon Fraser University ME 2011
12. Development Lifecycles Method Domain Engineering Method Application Engineering Development Strategies Proactive Extractive Reactive Developing Families of MOA 6 Simon Fraser University ME 2011
13. Feature Model 7 Agile Software Development Methods Design Code Requirements Specification Testing Project Management … … Test In the Large Unit Testing Detailed Requirements Specification High Level Requirement Specification … Planning Justify Define Infrastructure Review … Requirement Documentation Requirement Verification Requirement Modeling Capture Requirements CRC Modeling Refining Requirements Use-Case Modeling Requirements Prioritizing Defining Requirements Alternative Or Mandatory Optional And Simon Fraser University ME 2011
14. Method Services and Feature Modeling Case Based Strategy Actor Based Use-case and Actor Identification 1 Use Case Model * 1 Software Development Methods Feature Model 1..* Extends * Initialize Functional Strategy Extend-based Strategy UseCase Actor Stop Start -Name -Description -Name -Description Include-based Strategy 0..1 Free prose strategy Support Uses … Completeness 1 Template Based * * Exception-based Strategy Use-Case Modeling Workflow Model Use-case Write Use-case Includes -Description Manually Extend Flow Basic Flow Include flow Tool Support Process model Fragment (map-driven notation) Product Model Fragment Feature Model Method Chunk/Service adapted from [16] Simon Fraser University ME 2011
17. Qualifier tag e.g. CMMI-1, CMMI-2, CMMI-3, CMMI-4, CMMI 4Feature Model Extension 9 Simon Fraser University ME 2011
18. Feature Model Annotation 10 Project Management Planning Justify Define Infrastructure Review CMMI-3 Method Type: Agile Simon Fraser University ME 2011
19. Domain Engineering Process (1) 11 Feature Model Method Services Lists Method Family Project Definition Method Family Requirements Specification Product Road-map, Variability Table Method Family Requirements Model Refine Requirements Domain Scoping Feature Driven Method ServiceDiscovery Feature Model Development Modeling Requirements Create a standardized description of a method product line, technical domains systematizes the method product information, identifies the main features of the product line . Capture Family Requirements Method Portfolio Scoping Asset Analysis Validation and Verification Method Family Realization Method Family Requirements Analysis Method Family Scoping Phase Production/ Revision Artifact Stage Legend Control Flow Simon Fraser University ME 2011
20. Domain Engineering Process (2) 12 Feature Model Method Services Lists Method Family Project Definition Method Family Requirements Specification Product Road-map, Variability Table Method Family Requirements Model Refine Requirements Domain Scoping Feature Driven Method ServiceDiscovery Feature Model Development Modeling Requirements Identify and group the major functional areas in terms of technical domains which belong to the current method family The benefits and risks pertaining to the various domains are analyzed Capture Family Requirements Method Portfolio Scoping Asset Analysis Validation and Verification Method Family Realization Method Family Requirements Analysis Method Family Scoping Phase Production/ Revision Artifact Stage Legend Control Flow Simon Fraser University ME 2011
21. Domain Engineering Process (3) 13 Feature Model Method Services Lists Method Family Project Definition Method Family Requirements Specification Product Road-map, Variability Table Method Family Requirements Model Refine Requirements Domain Scoping Feature Driven Method ServiceDiscovery Feature Model Development Modeling Requirements Describe precise functionality of the method components determines which assets should be developed for reuse (commonality) and which ones as project-specific (variability). Capture Family Requirements Method Portfolio Scoping Asset Analysis Validation and Verification Method Family Realization Method Family Requirements Analysis Method Family Scoping Phase Production/ Revision Artifact Stage Legend Control Flow Simon Fraser University ME 2011
22. Domain Engineering Process (4) 14 Feature Model Method Services Lists Method Family Project Definition Method Family Requirements Specification Product Road-map, Variability Table Method Family Requirements Model Refine Requirements Domain Scoping Feature Driven Method ServiceDiscovery Feature Model Development Modeling Requirements elicitand document Requirements Refinedthrough decomposition, aggregation, and grouping Requirements verification and Validation Capture Family Requirements Method Portfolio Scoping Asset Analysis Validation and Verification Method Family Realization Method Family Requirements Analysis Method Family Scoping Phase Production/ Revision Artifact Stage Legend Control Flow Simon Fraser University ME 2011
23. Domain Engineering Process (5) 15 Feature Model Method Services Lists Method Family Project Definition Method Family Requirements Specification Product Road-map, Variability Table Method Family Requirements Model Refine Requirements Domain Scoping Feature Driven Method ServiceDiscovery Feature Model Development Modeling Requirements Common and variable functionalities of methods of the family are managed by representing them in a feature model Annotate the features with required information. Discover method services for features Capture Family Requirements Method Portfolio Scoping Asset Analysis Validation and Verification Method Family Realization Method Family Requirements Analysis Method Family Scoping Phase Production/ Revision Artifact Stage Legend Control Flow Simon Fraser University ME 2011
24. Method Application Engineering Process 16 Feature Configuration Application Method Project Definition Application Method Requirements Specification Target Method Application Method Requirements Model Method Deployment Refine Method Requirements Assemble Method Services Feature Model Configuration Modeling Method Requirements Capture Method Requirements Identify and define requirements of situated method Configure feature model Validation and Verification Application Method Development Application Method Requirements Analysis Simon Fraser University ME 2011
27. Applying Software product line engineering principles in method engineering Defining new approach for method engineering Developing tooling support Enrich the framework with semantic web for better discovery Perform real case-study and report the results Conclusion and Future Work 19 Simon Fraser University ME 2011