Managing software requirements changes based on negotiation-style revision

For any proposed software project, when the software requirements specification has been established, requirements changes may result in not only a modification of the requirements specification but also a series of modifications of all existing artifacts during the development. Then it is necessary to provide effective and flexible requirements changes management. In this paper, we present an approach to managing requirements changes based on Booth's negotiation-style framework for belief revision. Informally, we consider the current requirements specification as a belief set about the system-to-be. The request of requirements change is viewed as new information about the same system-to-be. Then the process of executing the requirements change is a process of revising beliefs about the system-to-be. We design a family of belief negotiation models appropriate for different processes of requirements revision, including the setting of the request of requirements change being fully accepted, the setting of the current requirements specification being fully preserved, and that of the current specification and the request of requirements change reaching a compromise. In particular, the prioritization of requirements plays an important role in reaching an agreement in each belief negotiation model designed in this paper.

[1]  Judea Pearl,et al.  On the Logic of Iterated Belief Revision , 1994, Artif. Intell..

[2]  Bashar Nuseibeh,et al.  An analysis-revision cycle to evolve requirements specifications , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[3]  Didier Dubois,et al.  Inconsistency Management and Prioritized Syntax-Based Entailment , 1993, IJCAI.

[4]  R. Booth A negotiation-style framework for non-prioritised revision , 2001 .

[5]  S. Hansson A Survey of non-Prioritized Belief Revision , 1999 .

[6]  Didar Zowghi,et al.  On the interplay between consistency, completeness, and correctness in requirements evolution , 2003, Inf. Softw. Technol..

[7]  Alan M. Davis,et al.  Just Enough Requirements Management: Where Software Development Meets Marketing , 2005 .

[8]  C. E. Alchourrón,et al.  On the logic of theory change: Partial meet contraction and revision functions , 1985 .

[9]  Michael Thielscher,et al.  Iterated Belief Revision, Revised , 2005, IJCAI.

[10]  Bashar Nuseibeh,et al.  Managing inconsistent specifications: reasoning, analysis, and action , 1998, TSEM.

[11]  Antonis C. Kakas,et al.  The role of abduction in logic programming , 1998 .

[12]  Didar Zowghi,et al.  Reasoning about inconsistencies in natural language requirements , 2005, TSEM.

[13]  Luigi Portinale,et al.  On the role of abduction , 1995, CSUR.

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

[15]  Kedian Mu,et al.  Identifying Acceptable Common Proposals for Handling Inconsistent Software Requirements , 2007, FORTE.

[16]  Bashar Nuseibeh,et al.  Combining abductive reasoning and inductive learning to evolve requirements specifications , 2003, IEE Proc. Softw..

[17]  Daniel Lehmann,et al.  Another perspective on default reasoning , 1995, Annals of Mathematics and Artificial Intelligence.

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

[19]  Didar Zowghi A requirements engineering process model based on defaults and revisions , 2000, Proceedings 11th International Workshop on Database and Expert Systems Applications.

[20]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[21]  Ray Offen,et al.  A logical framework for modeling and reasoning about the evolution of requirements , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.