Requirements Engineering: Overview & Elements

Instructor: David Gloag

David has over 40 years of industry experience in software development and information technology and a bachelor of computer science

In this lesson, we'll define Requirements Engineering, collaboration, use cases, the elements of the requirements model, and negotiation and validation. At the end, you should have a good understanding of this important engineering concept.

Managing Capabilities

The gizmos we use in our daily lives get more complex with each passing day. Consider your cell phone for a moment. They started as devices that could only make phone calls. Today, they perform many operations ranging from the original phone calls to surfing the Internet. Software systems are much the same. In fact, many of the operations today's cell phones can perform are due to the software systems that run on them. But with this increase in capability also comes the associated increase in the problems experienced during development. So, how do we combat this? How do we ensure that we aren't overwhelmed as these capabilities increase in number and complexity? One way is to make planning an integral part of the project and to consider carefully the requirements for these software systems.

What is Requirements Engineering?

Requirements Engineering, or Requirements Analysis as it's commonly known, is the process of enumerating and documenting the capabilities or behaviors that a software system will incorporate. As you might imagine, this process is important. If the requirements are enumerated correctly, then the project is well on its way to successful completion. If they aren't, then problems are likely to ensue. In the worst possible case, you could wind up with something that doesn't resemble what the stakeholders wanted or needed.

The Role of Collaboration

Collaboration plays an important role in Requirements Engineering. If you think about it, it couldn't be any other way. After all, the software system is meant for a particular customer or customers (internal or external). And as such, it should be built for their specific needs. That's where collaboration comes in. The software team discusses the particulars with the customer and designs the system so that it incorporates everything discussed. This is of paramount importance. If they don't, how will they ever create a system that satisfies the customer?

Use Cases

A Use Case is an interaction or a group of interactions between a user or users with a software system that is related to a specific outcome. As an example, consider a simple Instant Messaging application, and the user that initiates an exchange of messages (sender). The use cases for sender might be as follows:

  • sender initiates a connection
  • sender types a message
  • sender sends a message
  • sender waits for a response
  • sender reads a response

Notice that each use case has the same form, <user><action>. This is by design. Use cases indicate who is performing the action, and what the action is.

Elements of the Requirements Model

There are several elements to the Requirements Model. They are as follows:

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account