We are independent & ad-supported. We may earn a commission for purchases made through our links.
Advertiser Disclosure
Our website is an independent, advertising-supported platform. We provide our content free of charge to our readers, and to keep it that way, we rely on revenue generated through advertisements and affiliate partnerships. This means that when you click on certain links on our site and make a purchase, we may earn a commission. Learn more.
How We Make Money
We sustain our operations through affiliate commissions and advertising. If you click on an affiliate link and make a purchase, we may receive a commission from the merchant at no additional cost to you. We also display advertisements on our website, which help generate revenue to support our work and keep our content free for readers. Our editorial team operates independently of our advertising and affiliate partnerships to ensure that our content remains unbiased and focused on providing you with the best information and recommendations based on thorough research and honest evaluations. To remain transparent, we’ve provided a list of our current affiliate partners here.
Software

Our Promise to you

Founded in 2002, our company has been a trusted resource for readers seeking informative and engaging content. Our dedication to quality remains unwavering—and will never change. We follow a strict editorial policy, ensuring that our content is authored by highly qualified professionals and edited by subject matter experts. This guarantees that everything we publish is objective, accurate, and trustworthy.

Over the years, we've refined our approach to cover a wide range of topics, providing readers with reliable and practical advice to enhance their knowledge and skills. That's why millions of readers turn to us each year. Join us in celebrating the joy of learning, guided by standards you can trust.

What is Requirements Engineering?

By Archana Khambekar
Updated: May 17, 2024
Views: 9,732
Share

Big hardware or software systems, such as a spacecraft, have complex requirements. Requirements are a specification of what should be built, how the system should behave, or constraints on the process of building the system. Requirements engineering is the use of good engineering practices to understand the requirements before a system is built. It assumes importance because the stakeholders of the system are themselves not clear about their needs, and have divergent needs.

A complex system can have many stakeholders such as the people who commission the system, users who use one or more aspect of the system, and people who benefit from the system. It is also possible that stakeholders include members of the public who are affected by certain peculiarities of the system. Stakeholders have their own special needs. On the other hand, people who develop the system may be technically capable, but may not fully understand the viewpoint of the stakeholders. Requirements engineering is the essential capability that connects these sides.

Formally, the requirements engineering activity is divided into requirements development and requirements management. Requirements development is composed of elicitation, analysis, specification, and verification. Requirements management is the control of the whole requirements process, especially, handling any change in requirements. Some practitioners, contrastingly, just call the whole activity as requirements analysis.

Elicitation of requirements from stakeholders becomes necessary because stakeholders often do not completely specify their needs, and do not understand the implications of the new system. Stakeholders may not open up, as they could fear the impact on their current jobs. Elicitation, thus, is a careful and, possibly, a long process where empathy and subtle psychology is needed. One has to be careful that cultural differences between different stakeholders as well as the developers are bridged.

Several techniques are used to elicit requirements. Requirements could be elicited through individual interviews, group meetings, and observing people at their tasks. Techniques that can bring forth requirements include focus groups, creating prioritized lists, prototyping and comparison with other systems in operation. The requirements to elicit include the business needs of the system, the business processes of the users as they use the system, and the functional features of the system. In addition, the non-functional requirements such as response time, system availability, and ease of use need to be elicited.

The analysis step in requirements engineering forms low-level requirements that will satisfy the original high-level requirements. This includes creating conceptual models and prototypes to ascertain the completeness of the requirements. Conflicts in the needs of different stakeholders are more often found by models and prototypes than from a mere list of requirements. Desirable system characteristics such as security, flexibility, and maintainability need to be added to the requirements by the analysts.

The requirements are specified in a document for ease of understanding of all the stakeholders. In the software field, the document is called the SRS, which stands for Software Requirements Specification. The requirements are verified by key stakeholders. This is mainly via presentations and the specification document, but also sometimes with test cases that correspond to the requirements.

Requirements engineering is primarily a communication, activity rather than a technical one. It needs multi-disciplinary skills. Requirements engineering helps stakeholders and developers resolve conflicts and unites them in their goals; This leads to a robust system.

Share
WiseGeek is dedicated to providing accurate and trustworthy information. We carefully select reputable sources and employ a rigorous fact-checking process to maintain the highest standards. To learn more about our commitment to accuracy, read our editorial process.

Editors' Picks

Discussion Comments
Share
https://www.wisegeek.net/what-is-requirements-engineering.htm
Copy this link
WiseGeek, in your inbox

Our latest articles, guides, and more, delivered daily.

WiseGeek, in your inbox

Our latest articles, guides, and more, delivered daily.