Cognitive psychology provides an understanding of the
difficulties people may have in describing their needs . For
example, problem domain experts often have large amounts of
tacit knowledge that is not amenable to introspection; hence
their answers to questions posed by requirements analysts may
not match their behaviour. Also, the requirements engineer may
need to model users ’ understanding of software user interfaces ,
rather than relying solely on implementers’ preferences.
· Anthropology provides a methodological approach to observing
human activities that helps to develop a richer understanding of
how computer systems may help or hinder those activities .
For example, the techniques of ethnomethodology  have
been applied in RE to develop observational techniques for
analysing collaborative work and team interaction.
· Sociology provides an understanding of the political and
cultural changes caused by computerisation. Introduction of a
new computer system changes the nature of the work carried
out within an organisation, may affect the structure and
communication paths within that organisation, and may even
change the original needs that it was built to satisfy . A
requirements gathering exercise can therefore become
politicised. Approaches to RE that address this issue include the
“Scandanavian” approach, which aims to involve in the
requirements definition process those most affected by the
· Linguistics is important because RE is largely about
communication. Linguistic analyses have changed the way in
which the English language is used in specifications, for
instance to avoid ambiguity and to improve understandability.
Tools from linguistics can also be used in requirements
elicitation, for instance to analyse communication patterns
within an organisation .
Replaced/Superseded by document(s)
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.