Representing and reasoning about preferences in requirements engineering

The priorities that stakeholders associate with requirements may vary from stakeholder to stakeholder and from one situation to the next. Differing priorities, in turn, imply different design decisions for the system to be. While elicitation of requirement priorities is a well-studied activity, modeling and reasoning with prioritization has not enjoyed equal attention. In this paper, we address this problem by extending a state-of-the-art goal modeling notation to support the representation of preference (“nice-to-have”) requirements. In our extension, preference goals are distinguished from mandatory ones. Then, quantitative prioritizations of the former are constructed and used as criteria for evaluating alternative ways to achieve the latter. To generate solutions, an existing preference-based planner is utilized to efficiently search for alternatives that best satisfy a given set of mandatory and preferred requirements. With such a planning tool, analysts can acquire a better understanding of the impact of high-level stakeholder preferences on low-level design decisions.

[1]  J. Atwood A Research Perspective , 1980, Nursing research.

[2]  Daniel Amyot,et al.  Modeling software product lines with AoURN , 2008 .

[3]  Shazia Wasim Sadiq,et al.  On managing business processes variants , 2009, Data Knowl. Eng..

[4]  Paul Johannesson,et al.  Beyond Goal Representation: Checking Goal-Satisfaction by Temporal Reasoning with Business Processes , 1999, CAiSE.

[5]  Yair Wand,et al.  On the notion of soft-goals in business process modeling , 2005, Bus. Process. Manag. J..

[6]  Stephen Shaoyi Liao,et al.  Exploring Alternatives during Requirements Analysis , 2001, IEEE Softw..

[7]  Birger Andersson,et al.  Aligning goals and services through goal and business modelling , 2009, Inf. Syst. E Bus. Manag..

[8]  Yijun Yu,et al.  Configuring features with stakeholder goals , 2008, SAC '08.

[9]  Shinpei Hayashi,et al.  Constructing Feature Models Using Goal-Oriented Analysis , 2009, 2009 Ninth International Conference on Quality Software.

[10]  Hector Muñoz-Avila,et al.  SHOP: Simple Hierarchical Ordered Planner , 1999, IJCAI.

[11]  Yijun Yu,et al.  Requirements-Driven Design and Configuration Management of Business Processes , 2007, BPM.

[12]  Donald Firesmith,et al.  Prioritizing Requirements , 2004, J. Object Technol..

[13]  Gerhard Lakemeyer,et al.  SNet: A Modeling and Simulation Environment for Agent Networks Based on i* and ConGolog , 2002, CAiSE.

[14]  Wil M. P. van der Aalst,et al.  Configurable Workflow Models , 2008, Int. J. Cooperative Inf. Syst..

[15]  Randy K. Smith,et al.  Value-Oriented Requirements Prioritization in a Small Development Organization , 2007, IEEE Software.

[16]  John Mylopoulos,et al.  Simple and Minimum-Cost Satisfiability for Goal Models , 2004, CAiSE.

[17]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[18]  S. Hansson Decision Theory a Brief Introduction Contents , 1994 .

[19]  Marin Litoiu,et al.  Goal-Based Behavioral Customization of Information Systems , 2011, CAiSE.

[20]  John Mylopoulos,et al.  Towards Augmenting Requirements Models with Preferences , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[21]  John Krogstie,et al.  Utilizing deontic operators in information systems specification , 1996, Requirements Engineering.

[22]  Derek Long,et al.  Plan Constraints and Preferences in PDDL3 , 2006 .

[23]  Shazia Wasim Sadiq,et al.  Process modelling: the deontic way , 2006, APCCM.

[24]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[25]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[26]  Hoh Peter In,et al.  Multi-criteria preference analysis for systematic requirements negotiation , 2002, Proceedings 26th Annual International Computer Software and Applications.

[27]  Neville A. Stanton,et al.  Book preview , 2003, INTR.

[28]  Klaus Pohl,et al.  Communicating the variability of a software-product family to customers , 2003, Software and Systems Modeling.

[29]  R. W. Saaty,et al.  The analytic hierarchy process—what it is and how it is used , 1987 .

[30]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[31]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[32]  Stan Jarzabek,et al.  Quality Prediction and Assessment for Product Lines , 2003, CAiSE.

[33]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[34]  Yijun Yu,et al.  Configuring common personal software: a requirements-driven approach , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[35]  John Mylopoulos,et al.  Integrating Preferences into Goal Models for Requirements Engineering , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[36]  John Mylopoulos,et al.  Reasoning with Goal Models , 2002, ER.

[37]  Karl E. Wiegers First Things First: Prioritizing Requirements , 1999 .

[38]  Eric S. K. Yu,et al.  Analyzing goal models: different approaches and how to choose among them , 2011, SAC.

[39]  Axel van Lamsweerde,et al.  Requirements engineering in the year 00: a research perspective , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[40]  Yair Wand,et al.  Goal-Driven Multi-Process Analysis , 2007, J. Assoc. Inf. Syst..

[41]  Maria E. Orlowska,et al.  Specification and validation of process constraints for flexible workflows , 2005, Inf. Syst..

[42]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[43]  James A. Hendler,et al.  Complexity results for HTN planning , 1994, Annals of Mathematics and Artificial Intelligence.

[44]  Carla Schuenemann,et al.  A Comparison of Goal-Oriented Approaches to Model Software Product Lines Variability , 2009, ER Workshops.

[45]  John Mylopoulos,et al.  Requirements analysis for customizable software: a goals-skills-preferences framework , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[46]  John Mylopoulos,et al.  From goal models to three-layer web-based systems: An exploratory study , 2010, 2010 First International Workshop on the Web and Requirements Engineering.

[47]  John Mylopoulos,et al.  Understanding "why" in software process modelling, analysis, and design , 1994, Proceedings of 16th International Conference on Software Engineering.

[48]  João Araújo,et al.  Adapting the i* Framework for Software Product Lines , 2009, ER Workshops.

[49]  Yijun Yu,et al.  On Goal-based Variability Acquisition and Analysis , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[50]  Yves Lespérance,et al.  Agent-Oriented Requirements Engineering Using ConGolog and i* , 2001 .

[51]  John Mylopoulos,et al.  Revisiting the Core Ontology and Problem in Requirements Engineering , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[52]  Neil A. Ernst,et al.  Techne: Towards a New Generation of Requirements Modeling Languages with Goals, Preferences, and Inconsistency Handling , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[53]  Lidiane Oliveira dos Santos,et al.  On the Role of Features and Goals Models in the Aspect-Oriented Development of Software Product Line ∗ , 2010 .

[54]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[55]  Sushil Kumar,et al.  Analytic hierarchy process: An overview of applications , 2006, Eur. J. Oper. Res..

[56]  Yijun Yu,et al.  An automated approach to monitoring and diagnosing requirements , 2007, ASE.

[57]  Shailey Minocha,et al.  Supporting Scenario-Based Requirements Engineering , 1998, IEEE Trans. Software Eng..

[58]  Jorge A. Baier,et al.  HTN Planning with Preferences , 2009, IJCAI.

[59]  Anna Perini,et al.  Facing scalability issues in requirements prioritization with machine learning techniques , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[60]  John Mylopoulos,et al.  Designing Cooperative IS: Exploring and Evaluating Alternatives , 2006, OTM Conferences.

[61]  John Mylopoulos,et al.  Cooperative Information Systems (CoopIS) 2006 International Conference-Collaborative Systems Design and Development-Designing Cooperative IS: Exploring and Evaluating Alternatives , 2006 .

[62]  John Mylopoulos,et al.  Specifying and analyzing early requirements in Tropos , 2004, Requirements Engineering.

[63]  Michael Wooldridge,et al.  Proceedings of the 21st International Joint Conference on Artificial Intelligence , 2009 .

[64]  Richard Barker,et al.  CASE method fast-track - a RAD approach , 1994 .

[65]  Haruhiko Kaiya,et al.  AGORA: attributed goal-oriented requirements analysis method , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.