Q
Problem solve Get help with specific problems with your technologies, process and projects.

How to overcome challenges with eliciting requirements for embedded systems

In this response, expert Sue Burk describes the importance of the relationship between hardware and software in embedded systems, and how they must be able to communicate and collaborate with each other.

What are the biggest challenges for eliciting requirements for embedded systems, and how would you overcome th...

em?

In a recent response, I discussed two challenges and solutions for getting requirements right:

  • You have to involve all the necessary decision makers and subject matter experts during requirements development (elicitation, analysis, specification, and validation).
  • You have to be able to organize the same requirements in multiple ways so as to meet the needs of all audiences who use or review the requirements.

An additional challenge -- and one that is especially important for embedded software -- is closely related to requirements: you have to ensure that the embedded software and the hardware in which it resides can communicate and collaborate with each other as needed. It’s crucial to understand the interfaces and messages.

For example, suppose that monitoring sensors in the hardware trigger responses by the embedded system; in that case, you have to be sure that the response is actually triggered. The problem? Software usually can be cranked out much faster than new hardware can be built, so coordinating the development can be a huge challenge. If you’re late in discovering hardware constraints on the embedded software or if there are gaps in the requirements, it often leads to costly remediation for the hardware, the embedded software, or both. To decrease this risk, you need to define user acceptance tests early in the process, helping you elicit as well as verify the requirements.

Prototypes are another useful way to elicit and verify requirements for embedded software (just as they are for business application software). Prototypes are critical for ensuring interoperability between hardware and embedded software. When you’re building a prototype, keep in mind that even though you don’t have to have all the functionality in place, it’s crucial to conduct early testing of concrete examples of mission-critical functionality.

This was last published in May 2011

Dig Deeper on Software Requirements Gathering Techniques

PRO+

Content

Find more PRO+ content and other member only offers, here.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

-ADS BY GOOGLE

SearchMicroservices

TheServerSide.com

SearchCloudApplications

SearchAWS

SearchBusinessAnalytics

SearchFinancialApplications

SearchHealthIT

DevOpsAgenda

Close