A Review on Requirement Engineering for Software Product Lines Danuza F. S. Neiva

Slides:



Advertisements
Similar presentations
Introduction to Product Family Engineering. 11 Oct 2002 Ver 2.0 ©Copyright 2002 Vortex System Concepts 2 Product Family Engineering Overview Project Engineering.
Advertisements

Systems Development Environment
Chapter 22 Product Line Engineering Week 1 CIS 673.
Frank van der Linden, Björn Lundell, Jesús Bermejo April 2, 2008, Dagstuhl-Seminar 08142/1 1 Product Lines – Tools and Architecture – Session 1.
May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
Model-Based Product Line Architecture and Analysis
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
Azad Madni Professor Director, SAE Program Viterbi School of Engineering Platform-based Engineering: Rapid, Risk-mitigated Development.
©2011 Rolls-Royce plc The information in this document is the property of Rolls-Royce plc and may not be copied or communicated to a third party, or used.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Requirements Analysis Concepts & Principles
RiSE Project: Towards a Robust Framework for Software Reuse Student: Eduardo Santana de Almeida Advisor: Silvio Romero de Lemos Meira Federal University.
Software Product Lines
Eduardo Santana de Almeida, Silvio Lemos Meira {esa2, Towards an Effective Software Reuse Process.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Requirement Engineering – A Roadmap
Requirements Engineering Processes
1 درس مهندسي نيازمندي استاد دكتر عبداله زاده دانشجو خيرالنسا مرچانت RE in The Year 00: A Research Perspective.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Requirements Engineering Process – 1
A Survey of Software Architecture Viewpoint Models Nicholas May
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Software Product Lines Krishna Anusha, Eturi. Introduction: A software product line is a set of software systems developed by a company that share a common.
Software Product Line Architectures (SPLA) Nipun Shah
Computer Systems & Architecture Lesson Software Product Lines.
Methods and Models for Evaluating Software Product Line Architecture Hyotaeg Jung Computer Science Department Univ. of Texas at Dallas Software Architecture.
SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002.
Lucas Santos de Oliveira: NPDI-UESB Marco Aurélio Gerosa: IME-USP Paraty 04/10/2011.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
The Software Product Line Architectures
© Yilmaz “Agent-Directed Simulation – Course Outline” 1 Course Outline Dr. Levent Yilmaz M&SNet: Auburn M&S Laboratory Computer Science &
Quality Model for Requirements Eng. Copyright, 2002 © Jerzy R. Nawrocki Quality.
Loc-based Variability for Mobile Information Systems Raian Ali, Fabiano Dalpiaz, Paolo Giorgini CAiSE’ June 2008.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Lecture 7: Requirements Engineering
Introducing Software Product Lines (SPL) Silvio Romero de Lemos Meira Eduardo Santana de Almeida
Requirements Elicitation and Validation with Real World Scenes Peter Haumer, Klaus Pohl and Klaus Weidenhaupt Rens van Erk
Raian Ali, Fabiano Dalpiaz, Paolo Giorgini Location-based Software Modeling and Analysis: Tropos-based Approach.
Department of Computer Science Borislava I. Simidchieva, Leon J. Osterweil Laboratory for Advanced Software Engineering Research University of Massachusetts,
Requirement Handling
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Method Engineering Fiona Gelink Group 3.  The method  Advantages of the method  Related literature  PDD  Steps of the method  References.
On the design and development of program families Presented by: M. Deng and J. Zhang 4/15/2002 CSE870 Advanced Software Engineering, Spring 2002.
Requirements Analysis
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Software Engineering Lecture 10: System Engineering.
A Use Case Based Approach to Feature Models’ Construction Jeroen Eissens
Toward product architecture oriented requirements analysis for product line development in systems engineering Kei Kurakawa Nara Institute of Science and.
SE Seminar – IS Department Mazor Maya & Yuval Efrat December 2010 Griss, M.L.; Favaro, J.; d'Alessandro, M.;
1 Requirements Elicitation – 2 Lecture # Requirements Engineering Process Requirements Elicitation Requirements Analysis and Negotiation Requirements.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
1 Requirements Analysis Lecture # Recap of Requirements Elicitation - 1 Requirements elicitation deals with discovering requirements for a software.
1 Processes and Process Models Lecture # 5. 2 Process - 1 A process is an organized set of activities, which transforms inputs to outputs We can use synonyms.
Product Line Architecture. Systems Systems often come in families: basic, regular, professional, enterprise,… Can we share components? Is architecture.
Processes and Process Models
Enhancing the scope of CSCI577ab with Software Product Line Engineering Kevin Ha April 27, 2011.
Requirements Elicitation – 1
How does a Requirements Package Vary from Project to Project?
Requirements Engineering for Product Lines
Requirements Engineering Process – 1
Requirements Document
Processes and Process Models
Presentation transcript:

A Review on Requirement Engineering for Software Product Lines Danuza F. S. Neiva

Agenda Software Product Line Requirement Engineering SPL Approaches RE Methods for SPL Conclusion

Software Product Line (SPL)‏ A SPL is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way. (Clements & Northrop, 2001)‏

Software Product Line (SPL)‏ Essential Activities for Software Product Lines (Clements & Northrop, 2001)‏

Software Product Line (SPL)‏ Sub-processes for Software Product Lines (Pohl et al., 2005)‏ Core Asset Development Product Development

Software Product Line (SPL)‏ Motivation Reduction of Costs Enhancement of Quality Reduction of Time to Market (Pohl et al., 2005)‏

Requirement Engineering (RE)‏ It requires significant effort in a project. “Software requirements have been repeatedly recognized during the past 25 years to be a real problem.” (Lamsweerde, 2000)‏ “Incomplete and inconsistent requirements are some of the great factors for deficiency and cancellation of software projects.” (Chaos Report, 1994)‏

Requirement Engineering (RE)‏ In SPL is more complex: several stakeholders more products requiring attentions to variability and reuse platform Practices Risks scope includes the wrong products essential stakeholders don't participate. wrong or inappropriate requirements inadequate domain undestanding (Clements & Northrop, 2001; Birk et al., 2003 )‏

Requirement Engineering (RE)‏ Essential Activities Elicitation Analysis and Negotiation Specification Validation Management (Kotonya & Sommerville, 1998)‏ How are these activities in SPL?

Requirement Engineering (RE)‏ Elicitation focus in scoping; must capture anticipated variations explicitly over the foreseeable lifetime of the SPL; involve more stakeholders. (Clements & Northrop, 2001; Durán et al., 2003; Pohl et al., 2005)‏

Requirement Engineering (RE)‏ Analysis and Negotiation find variations and commonalities; analyze impact of new requirements in product line architecture; identify opportunity for reuse; conflicts must be solved not only from a logical view point, but also taking into consideration economical and market issues. (Clements & Northrop, 2001; Durán et al., 2003; Pohl et al., 2005)‏

Requirement Engineering (RE)‏ Specification must document a product-line-wide set of requirements and product-specific requirements (Clements & Northrop, 2001; Pohl et al., 2005)‏

Requirement Engineering (RE)‏ Validation must check the consistency, completeness and accuracy of the common and variable requirements. (Clements & Northrop, 2001; Pohl et al., 2005)‏

Requirement Engineering (RE)‏ Management support the systematic assessment of how the proposed changes will impact the product line; traceability links between requirements and their associated core assets. (Clements & Northrop, 2001)‏

Requirement Engineering (RE)‏ Different SPL situations that influence the RE: Starting situations Market orientation Product type Domain maturity Domain stability SPL Architecture Organizational size (Birk et al, 2003)‏

SPL Approaches Review - Research questions Q1.What activities, techniques and methods of requirement engineering are adopted in each software product line approach? Q2. Does the approach have a technology and/or socio-organizational viewpoint?

SPL Approaches Review - Selected approaches: FODA (1990) [Kang et al., 1990] FAST (1997) [Gupta et al., 1997; Weiss, 1997] FORM (1998) [Kang et al., 1998] PULSE (1999) [Bayer et al., 1999; Bayer et al., 2000; John et al., 2006] SEI’s Framework (1999) [Clements & Northrop, 2001; ODYSSEY (1999) [Braga et al., 1999] COPAM (2000) [America et al., 2000] Kobra (2002) [Atkinson et al., 2000] PLUS (2005) [Gomma, 2005] SPLE Framework (2005) [Pohl et al., 2005] RiDE (2007) [Almeida, 2007]

SPL Approaches Elicitation

SPL Approaches Analysis and Negotiation

SPL Approaches Specification

SPL Approaches Validation and Management

SPL Approaches RE essential activities summary

SPL Approaches Approaches viewpoints

RE Methods for SPL Viewpoint-based Goal-based Scenario and goal-based Feature-oriented Use case-based Orthogonal variability

RE Methods for SPL Viewpoint-based Viewpoints are an explicit mechanism which takes into account the different system and problem perspectives of different stakeholders. (Kotonya & Sommerville, 1998)‏

RE Methods for SPL Viewpoint-based Product Line Stakeholder Viewpoint Approach Stakeholders views Management View Reuse Team View Products developers View Viewpoints' Development Process Viewpoint Identtfication Viewpoint Structuring Viewpoints Documentation (Jaber et al., 2000)‏

RE Methods for SPL Viewpoint-based Viewpoint-Oriented Domain Requirements Definition (VODRD)‏ (Mannion et al., 1998)‏ (Jaber et al., 2000)‏

RE Methods for SPL Goal-based The goal means the direction, purpose, and objective of the organization. (Kim et al., 2006)‏

RE Methods for SPL Goal-based Goal-based Variability Acquisition and Analysis (Liaskos et al., 2006)‏

RE Methods for SPL Goal-based Goal-based Variability Acquisition and Analysis (Liaskos et al., 2006)‏ Variability example

RE Methods for SPL Scenario and goal-based Scenarios show the behavior of system. (Kim et al., 2006)‏ (Liaskos et al., 2006)‏

RE Methods for SPL Goal and Scenario Modeling (Kim et al., 2006)‏ Scenario and goal-based

RE Methods for SPL Goal and Scenario Modeling (Kim et al., 2006)‏ The relationship between goal, scenario and use case. Scenario and goal-based The structure of goal and scenario modeling process.

RE Methods for SPL Features are the attributes of a system that directly affect end-users. (Kang et al., 1990)‏ Feature-oriented

RE Methods for SPL Feature-oriented Feature-Oriented Domain Analysis (FODA) (Kang et al., 1990)‏

RE Methods for SPL Feature-oriented Feature-Oriented Reuse Method (FORM) (Kang et al., 1990)‏

RE Methods for SPL Use case-based Product Line UML-Based Software Engineering (PLUS)‏ Reuse Category: optional, mandatory (kernel), alternative Variation point (small variation)‏ Name Type of functionality (optional, mandatory alternative, optional alternative)‏ Line number(s) Description of functionality. Extend and Include Relationship (several variability)‏ (Gomma, 2005)‏

RE Methods for SPL Use case-based Product Line UML-Based Software Engineering (PLUS)‏ (Gomma, 2005)‏

RE Methods for SPL Use case-based PuLSE CaVE (Commonality and Variability Elicitation)‏ (Fantechi et al, 2003)‏

RE Methods for SPL Use case-based PuLSE CaVE (Commonality and Variability Elicitation)‏ (Fantechi et al, 2003)‏

RE Methods for SPL Orthogonal variability (Pohl et al., 2005)‏

RE Methods for SPL Orthogonal variability (Pohl et al., 2005)‏

Conclusion The RE process is not well defined in the found approaches Requirements analysis was the activity best defined in these studies. Several gaps in definition of guidelines for capturing of requirements. Requirement management is the more critical. Multiple viewpoints is, in general, overlooked. Due to the complex and evolutionary nature of SPL development, it is essential to have a systematic requirements engineering process.

Conclusion Methods with abstraction high-level feature-oriented and goal-based Integration of methods to represent different viewpoints. Selection of methods depends of the SPL context

References Clements, P. & Northrop, L., 2001, Software Product Lines: Practices and Patterns, Addison-Wesley. Pohl, K.; Böckle, G. & van der Linden, 2005, Software Product Line Engineering: Foundations, Principles, and Techniques, Springer. van Lamsweerde, A., 2000, Requirements engineering in the year 00: a research perspective, in 'International Conference on Software Engineering', pp Chaos Report Software Development Report, The Standish Group, West Yarmouth, MA, access in Birk, A.; Heller, G.; John, I.; Joos, S.; Müller, K.; Schmid, K. & Maßen, T. v. d., 2003,'Report of the GI Work Group "Requirements Engineering for Product Lines"', Technical report, Fraunhofer EPrints [ (Germany). Kitchenham, B., 2004, "Procedures for Performing Systematic Reviews," Joint Technical Report, Keele University TR/SE-0401 and ICTA T.1. Kang, K. C.; Cohen, S. G.; Hess, J. A.; Novak, W. E. & Peterson, A. S. (1990),'Feature-Oriented Domain Analysis (FODA) Feasibility Study', Technical report, Carnegie-Mellon University Software Engineering Institute. Gupta, N. K.; Jagadeesan, L. J.; Koutsofios, E. E. & Weiss, D. M. (1997),Auditdraw: Generating Audits the FAST Way, in 'RE '97: Proceedings of the 3rd IEEE International Symposium on Requirements Engineering (RE'97)', IEEE Computer Society, Washington, DC, USA, pp Weiss, D. (1997),'Defining Families: The Commonality Analysis', submitted to IEEE Transactions on Software Engineering. Kang, K. C.; Kim, S.; Lee, J.; Kim, K.; Shin, E. & Huh, M. (1998),FORM: A feature-oriented reuse method with domain-specific reference architectures, in, J. C. Baltzer AG, Science Publishers, Red Bank, NJ, USA, pp

References Bayer, J.; Flege, O.; Knauber, P.; Laqua, R.; Muthig, D.; Schmid, K.; Widen, T. & DeBaud, J. (1999),PuLSE: A Methodology to Develop Software Product Lines, in 'ACM SIGSOFT Symposium o Software Reusability (SSR'99)', pp Bayer, J.; Muthig, D. & Widen, T. (2000),Customizable Domain Analysis, in 'Proceedings of the First International Symposium on Generative and Component-Based Software Engineering (GCSE '99)', Springer-Verlag, London, UK, pp Fantechi, A.; Gnesi, S.; John, I.; Lami, G. & Dörr, J. (2003),Elicitation of Use Cases for Product Lines, in 'Software Product-Family Engineering, 5th International Workshop, PFE 2003, Siena, Italy', pp John, I.; Knodel, J.; Lehner, T. & Muthig., D. (2006),A Practical Guide to Product Line Scoping, in, pp Braga, R. M. M.; Werner, C. M. L. & Mattoso, M. (1999),Odyssey: A Reuse Environment based on Domain Models, in 'ASSET '99: Proceedings of the 1999 IEEE Symposium on Application - Specific Systems and Software Engineering and Technology', IEEE Computer Society, Washington, DC, USA, pp. 50. America, P.; Obbink, J. H.; van Ommering, R. C. & van der Linden, F. (2000),CoPAM: A component- oriented platform architecting method family for product family engineering, in 'SPLC', pp Atkinson, C.; Bayer, J.; Bunse, C.; Kamsties, E.; Laitenberger, O.; Laqua, R.; Muthig, D.; Paech, B.; Wüst, J. & Zettel, J., Component-based product line engineering with UML, Addison-Wesley, Boston, MA, USA, Gomaa, H., Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures, Addison-Wesley, Almeida, E. S. RiDE: The RiSE Process for Domain Engineering, Ph.D. Thesis, Federal University of Pernambuco, Recife, Pernambuco, Brazil, May, 2007.

References Kotonya, G. & Sommerville, I. (1998), Requirements Engineering: Processes and Techniques, John Wiley & Sons, Inc. New York, NY, USA. Durán, A.; Benavides, D. & Bermejo, J. (2003), Applying System Families Concepts to Requirements Engineering Process Definition, in 'PFE', pp Jaber, K.; Nada, N. & Rine, D. (2000), Product line stakeholder viewpoint approach and validation model, in 'SAC '00: Proceedings of the 2000 ACM symposium on Applied computing', ACM, New York, NY, USA, pp Mannion, M.; Keepence, B. & Harper, D. (1998),Using Viewpoints to Define Domain Requirements, IEEE Computer Society Press, Los Alamitos, CA, USA, pp Liaskos, S.; Lapouchnian, A.; Yu, Y.; Yu, E. & Mylopoulos, J. (2006),On Goal-based Variability Acquisition and Analysis, in 'RE '06: Proceedings of the 14th IEEE International Requirements Engineering Conference (RE'06)', IEEE Computer Society, Washington, DC, USA, pp Kim, J.; Kim, M. & Park, S. (2006),Goal and scenario based domain requirements analysis environment, Elsevier Science Inc., New York, NY, USA, pp