Requirements Engineering

The goal of requirements engineering (RE) is to systematically develop and manage a set of evolving requirements to specify the properties of a software system that addresses a real-world problem or opportunity. The discovery, representation and verification of requirements are inherently complex processes but are critical aspects of successful software design and development.

We offer opportunities for RE research projects related to understanding practitioners’ problems, improving processes and their adoption, and providing tool support. The research may relate to RE activities such as requirements elicitation, modelling, analysis, tracing, prioritisation, verification and validation, reuse, and change management. RE is a multi-faceted area and there are possible intersections with research in broad domains such as cognitive science, organisational theory, social theory and communications. This group is particularly interested in a cognitive view of RE and cognitive support of RE activities.

Investigation of the implications of a number of emerging themes related to RE practice is of particular interest to the research group:

· The increasingly distributed nature of requirements engineering

· The increasing trend towards COTS-based development

· The growing importance of software integration in software development projects

· The rising emphasis on product-driven and model-driven approaches to software development

Contact Jim Buchan for more information on work in this theme.

Example Projects

Sharing Domain Knowledge
In his Masters thesis, Christian Ekadharmawan investigated aspects of sharing domain understanding between clients and software developers, as a critical aspect of requirements discovery. He undertook an empirical study in ten SMEs in the software development domain and investigated questions such as: what are the main barriers to sharing domain understanding? What are the main techniques, practices and tools used in practice? Is sharing domain understanding seen as important by practitioners?

Download the thesis

Related publication: 
Buchan, J., Ekadharmawan, C.H., & MacDonell, S.G. (2009) Insights into domain knowledge sharing in software development practice in SMEs, in Proceedings of the 16th Asia-Pacific Software Engineering Conference (APSEC2009). Penang, Malaysia, IEEE CS Press, pp.93-100.

Requirements Prioritisation Techniques for Large Requirements Sets
In this research project Qiao Ma, an MCIS student, investigated what evidence there is for the efficacy of current techniques for prioritising large sets of requirements. Using current literature of empirical studies as her data, she employed a Systematic Literature Review research methodology to identify possible gaps in research and practice.

Projects Available

Ontology-based support of RE

Understanding practitioners’ use of RE artefacts such as Software Requirements Specification documents

Investigating vendor-led requirements

Domain driven requirements tool development

Sharing domain and project knowledge

Investigating a client perspective of requirements management

Theme Papers

MacDonell, S.G., Min, K., & Connor, A.M. (2005) Autonomous requirements specification processing using natural language processing, in Proceedings of the ISCA 14th International Conference on Intelligent and Adaptive Systems and Software Engineering (IASSE-05). Toronto, Canada, ISCA, pp.266-270.