scispace - formally typeset
Search or ask a question
Author

Pete Sawyer

Bio: Pete Sawyer is an academic researcher from Aston University. The author has contributed to research in topics: Requirements engineering & Requirement. The author has an hindex of 38, co-authored 165 publications receiving 6679 citations. Previous affiliations of Pete Sawyer include IEEE Computer Society & Lancaster University.


Papers
More filters
Book
05 May 1997
TL;DR: This book presents a set of guidelines which reflect the best practice in requirements engineering, and explains in an easy-to-understand way how you can improve your requirements engineering processes.
Abstract: From the Publisher: Requirements engineering is the process of discovering, documenting and managing the requirements for a computer-based system. The goal of requirements engineering is to produce a set of system requirements which, as far as possible, is complete, consistent, relevant and reflects what the customer actually wants. Although this ideal is probably unattainable, the use of a systematic approach based on engineering principles leads to better requirements than the informal approach which is still commonly used. This book presents a set of guidelines which reflect the best practice in requirements engineering. Based on the authors' experience in research and in software and systems development, these guidelines explain in an easy-to-understand way how you can improve your requirements engineering processes. The guidelines are applicable for any type of application and, in general, apply to both systems and software engineering.

1,048 citations

Proceedings ArticleDOI
01 Dec 1992
TL;DR: The ethnographic work undertaken studying air traffic control as a cooperative activity is discussed, some of the difficulties in collaboration between software developers and sociologists are described and how ethnographic studies have influenced the systems design process is described.
Abstract: This paper relates experiences of a project where an ethnographic study of air traffic controllers is being used to inform the design of the controllers’ interface to the flight data base. We outline the current UK air traffic control system, discuss the ethnographic work we have undertaken studying air traffic control as a cooperative activity, describe some of the difficulties in collaboration between software developers and sociologists and show how the ethnographic studies have influenced the systems design process. Our conclusions are that ethnographic studies are helpful in informing the systems design process and may produce insights which contradict conventional thinking in systems design.

458 citations

Proceedings ArticleDOI
31 Aug 2009
TL;DR: It is argued that a more rigorous treatment of requirements explicitly relating to self-adaptivity is needed and that, in particular, requirements languages for self- Adaptive systems should include explicit constructs for specifying and dealing with the uncertainty inherent in self- adaptive systems.
Abstract: Self-adaptive systems have the capability to autonomously modify their behaviour at run-time in response to changes in their environment. Self-adaptation is particularly necessary for applications that must run continuously, even under adverse conditions and changing requirements; sample domains include automotive systems, telecommunications, and environmental monitoring systems. While a few techniques have been developed to support the monitoring and analysis of requirements for adaptive systems, limited attention has been paid to the actual creation and specification of requirements of self-adaptive systems. As a result, self-adaptivity is often constructed in an ad-hoc manner. In this paper, we argue that a more rigorous treatment of requirements explicitly relating to self-adaptivity is needed and that, in particular, requirements languages for self-adaptive systems should include explicit constructs for specifying and dealing with the uncertainty inherent in self-adaptive systems. We present RELAX, a new requirements language for self-adaptive systems and illustrate it using examples from the smart home domain.

270 citations

Book ChapterDOI
01 Oct 2009
TL;DR: A variation of threat modeling to identify sources of uncertainty is introduced and it is demonstrated how the RELAX specification language can be used to specify more flexible requirements within a goal model to handle the uncertainty.
Abstract: Dynamically adaptive systems (DASs) are intended to monitor the execution environment and then dynamically adapt their behavior in response to changing environmental conditions. The uncertainty of the execution environment is a major motivation for dynamic adaptation; it is impossible to know at development time all of the possible combinations of environmental conditions that will be encountered. To date, the work performed in requirements engineering for a DAS includes requirements monitoring and reasoning about the correctness of adaptations, where the DAS requirements are assumed to exist. This paper introduces a goal-based modeling approach to develop the requirements for a DAS, while explicitly factoring uncertainty into the process and resulting requirements. We introduce a variation of threat modeling to identify sources of uncertainty and demonstrate how the RELAX specification language can be used to specify more flexible requirements within a goal model to handle the uncertainty.

251 citations

Proceedings ArticleDOI
09 Sep 2002
TL;DR: In this paper, the authors propose a general model for aspect oriented requirements engineering (AORE), which supports separation of crosscutting functional and non-functional properties at the requirements level, and argue that early separation of such crosscutting properties supports effective determination of their mapping and influence on artefacts at later development stages.
Abstract: Effective RE must reconcile the need to achieve separation of concerns with the need to satisfy broadly scoped requirements and constraints. Techniques such as use cases and viewpoints help achieve separation of stakeholders' concerns but ensuring their consistency with global requirements and constraints is largely unsupported. We build on recent work that has emerged from the aspect-oriented programming (AOP) community to propose a general model for aspect oriented requirements engineering (AORE). The model supports separation of crosscutting functional and non-functional properties at the requirements level. We argue that early separation of such crosscutting properties supports effective determination of their mapping and influence on artefacts at later development stages. A realisation of the model based on a case study of a toll collection system is presented.

244 citations


Cited by
More filters
01 Jan 2009

7,241 citations

Journal ArticleDOI
TL;DR: A set of principles for the conduct and evaluation of interpretive field research in information systems is proposed, along with their philosophical rationale, and the usefulness of the principles is illustrated by evaluating three publishedinterpretive field studies drawn from the IS research literature.
Abstract: This article discusses the conduct and evaluatoin of interpretive research in information systems. While the conventions for evaluating information systems case studies conducted according to the natural science model of social science are now widely accepted, this is not the case for interpretive field studies. A set of principles for the conduct and evaluation of interpretive field research in information systems is proposed, along with their philosophical rationale. The usefulness of the principles is illustrated by evaluating three published interpretive field studies drawn from the IS research literature. The intention of the paper is to further reflect and debate on the important subject of grounding interpretive research methodology.

5,588 citations

Journal Article
TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
Abstract: Aspect] is a simple and practical aspect-oriented extension to Java With just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns. In AspectJ's dynamic join point model, join points are well-defined points in the execution of the program; pointcuts are collections of join points; advice are special method-like constructs that can be attached to pointcuts; and aspects are modular units of crosscutting implementation, comprising pointcuts, advice, and ordinary Java member declarations. AspectJ code is compiled into standard Java bytecode. Simple extensions to existing Java development environments make it possible to browse the crosscutting structure of aspects in the same kind of way as one browses the inheritance structure of classes. Several examples show that AspectJ is powerful, and that programs written using it are easy to understand.

2,947 citations

Book
01 Jul 1997
TL;DR: This book introduces a customer-centered approach to business by showing how data gathered from people while they work can drive the definition of a product or process while supporting the needs of teams and their organizations.
Abstract: This book introduces a customer-centered approach to business by showing how data gathered from people while they work can drive the definition of a product or process while supporting the needs of teams and their organizations. This is a practical, hands-on guide for anyone trying to design systems that reflect the way customers want to do their work. The authors developed Contextual Design, the method discussed here, through their work with teams struggling to design products and internal systems. In this book, you'll find the underlying principles of the method and how to apply them to different problems, constraints, and organizational situations. Contextual Design enables you to + gather detailed data about how people work and use systems + develop a coherent picture of a whole customer population + generate systems designs from a knowledge of customer work + diagram a set of existing systems, showing their relationships, inconsistencies, redundancies, and omissions Table of Contents Chapter 1 Introduction Chapter 2 Gathering Customer Data Chapter 3 Principles of Contextual Inquiry Chapter 4 Contextual Inquiry in Practice Chapter 5 A Language of Work Chapter 6 Work Models Chapter 7 The Interpretation Session Chapter 8 Consolidation Chapter 9 Creating One View of the Customer Chapter 10 Communicating to the Organization Chapter 11 Work Redesign Chapter 12 Using Data to Drive Design Chapter 13 Design from Data Chapter 14 System Design Chapter 15 The User Environment Design Chapter 16 Project Planning and Strategy Chapter 17 Prototyping as a Design Tool Chapter 18 From Structure to User Interface Chapter 19 Iterating with a Prototype Chapter 20 Putting It into Practice

2,945 citations

Proceedings ArticleDOI
01 May 2000
TL;DR: An overview of the field of software systems requirements engineering (RE) is presented, describing the main areas of RE practice, and highlights some key open research issues for the future.
Abstract: This paper presents an overview of the field of software systems requirements engineering (RE). It describes the main areas of RE practice, and highlights some key open research issues for the future.

2,114 citations