Whole Thesis
Total Page:16
File Type:pdf, Size:1020Kb
Elicitation of Requirements from Multiple Perspectives Steve Easterbrook June 1991 Department of Computing, Imperial College of Science, Technology and Medicine, University of London, London SW7 2BZ. A thesis submitted for the degree of Doctor of Philosophy of the University of London - 1 - Abstract The success of large software engineering projects depends critically on the specification, which must represent the requirements of a large number of people with widely differing perspectives. Conventional approaches to software engineering do not address the process of identifying and integrating these perspectives, but instead concentrate on the maintenance of a single consistent description. This results in a specification which represents only one point of view, often the analyst’s, excluding suggestions which do not fit with this view. The processes which led to the adoption of this point of view will go unrecorded, making any rationale attached to such a specification incomplete. Other participants will not be able to validate it properly, as it does not relate to their requirements. This thesis integrates ideas drawn from the study of knowledge acquisition, computer-supported co-operative work and negotiation into a model of the specification activity which allows the capture of multiple perspectives, and resolution of conflicts between them. Perspectives are elicited separately, and each develops as an independent description of the requirements. If a description becomes inconsistent, it is split into separate perspectives which represent each side of the argument. Comparisons between perspectives can be made, and when conflicts are discovered, a process of computer-supported negotiation is invoked. This allows participants to teach each other about their perspectives, and elicit the issues on which those perspectives are based. Where resolution is required, new suggestions are evaluated using these issues. A set of tools has been developed to support the model, and the thesis illustrates how they might be used. Example analyses of case studies drawn from the software engineering literature are used to show how the tools can reconcile differing requirements descriptions. The model and associated tools form an environment in which a collection of perspectives can be maintained, and relationships between them explored. This environment facilitates the communication needed to resolve conflicts. Validation is supported by allowing items to be traced back, through the resolution process, to their originators. - 2 - Statement of Contribution This thesis describes a model for requirements elicitation from many sources. The model itself is the major research contribution of the thesis: it represents a novel approach to requirements engineering. There are two important innovations. The first of these is the idea of separately describing different perspectives. The second is the resolution of conflicts via a process of computer-supported negotiation. Parts of the model are drawn from other fields, including knowledge acquisition, computer-supported co-operative Work, organisational psychology, management science and decision theory. The way in which these fields are drawn together is novel, as is their application in the area of requirements engineering. Various aspects of the model have been described in papers published elsewhere. The model was first outlined at the third European workshop on knowledge acquisition [Easterbrook 1989]. Chapter 6 will appear in a forthcoming issue of the journal Knowledge Acquisition [Easterbrook 1991]. This thesis should be regarded as the definitive treatment of the model. - 3 - Acknowledgements This thesis wouldn’t have happened if various people hadn’t kept me going. First and foremost, Anthony Finkelstein supervised the whole thing, providing inspiration and guidance whenever it was needed. I owe a great deal to him. Various colleagues helped out along the way with feedback, discussion and/or distraction. Jeff Kramer, Jeff Magee, Tom Maibaum, Martin Sadler, and Manny Lehman all gave me good advice. Bharat Patel, Sati Sian, Stuart Kent, and many others at Imperial shared their ideas with me. Bill Robinson at Oregon helped me shape up my thoughts on conflict resolution. Mike Sharples and others at Sussex read and commented on various drafts. I am very grateful to Brian Gaines for making a stay at the University of Calgary possible. I also owe many thanks to Maurice and Lois Sharp, Debbie and Richard Leishman, Dan Freedman, Rosanna Heise, Mildred Shaw, Ian Witten, Brian Woodward, Bruce MacDonald, John Boose, and all the others at KSI who looked after me and entertained me. I was funded throughout by the SERC, under studentship number 87311891. The department at Imperial and the AISB provided me with various travel funds. Most importantly, my mum loaned me the money to buy a Macintosh, which proved vital (thanks mum!). Finally, there is one person who was there all the time, to understand and support me. This thesis is dedicated to my wife, Sarah. - 4 - Contents Abstract 2 Statement of Contribution 3 Acknowledgements 4 1 Introduction 8 1.1 Requirements Engineering.................................................................... 8 1.2 Multiple Perspectives.......................................................................... 9 1.3 Conflict and Negotiation ......................................................................9 1.4 Preview ........................................................................................10 2 Requirements Engineering 1 2 2.1 The Role of Requirements Engineering ....................................................12 2.1.1 Specifications........................................................................... 12 2.1.2 Constructing Specifications........................................................... 13 2.1.3 Validating Specifications ..............................................................14 2.1.4 Design Capture and Rationale ........................................................14 2.1.5 Exploration and Replay ...............................................................15 2.2 Difficulties.... .................................................................................15 2.2.1 Requirements Formulation............................................................ 16 2.2.2 Nature of the Knowledge Sources ...................................................16 2.2.3 Nature of the Knowledge Involved ..................................................17 2.2.4 Negotiation .............................................................................18 2.2.5 Conflict.................................................................................. 19 2.2.6 Uncertainty .............................................................................19 2.3 Objectives...................................................................................... 20 2.3.1 Framework .............................................................................20 2.3.2 Support Environment.................................................................. 21 2.3.3 Tools ....................................................................................22 2.4 Summary ......................................................................................22 3 Analytical Review 2 4 3.1 Requirements Engineering................................................................... 24 3.1.1 Software Life-Cycle ...................................................................24 3.1.2 Specification Languages ..............................................................25 3.1.3 Specification Processes ...............................................................26 3.2 Knowledge Acquisition ......................................................................31 3.2.1 Building Knowledge-Based Systems ...............................................31 3.2.2 Machine Learning ......................................................................32 3.2.3 Eliciting Conceptual Models.... ......................................................32 3.2.4 Specification as Knowledge Acquisition ............................................33 3.3 Critical Analysis ..............................................................................34 3.3.1 The Single Viewpoint Bias ...........................................................34 3.3.2 Conflict between Experts .............................................................35 3.3.3 Many viewpoints....................................................................... 36 3.4 Conflict Resolution ...........................................................................38 3.4.1 Terminology ............................................................................38 3.4.2 Mathematical and Economic Models................................................. 39 3.4.3 Behavioural Models ...................................................................44 3.4.4 Computational Models ................................................................48 - 5 - 3.5 Summary ........................................................................................51 4 Specification from Multiple Perspectives 5 3 4.1 Key Concepts .................................................................................53 4.1.1 Perspectives and Viewpoints .........................................................53 4.1.2 Conversation ...........................................................................55 4.1.3 Representations ........................................................................56