![Show Menu](styles/mobile-menu.png)
![Page Background](./../common/page-substrates/page0038.jpg)
ngineers never lose sight of
the need to deliver projects
that hit the quality, schedule and
budget targets. You can apply the
lessons learned by the community of
embedded system developers over
the years to ensure that your next
embedded system project achieves
those goals. Let’s explore some
important lessons that have led to best
practices for embedded development.
THINK SYSTEMATICALLY
Systems engineering is a broad
discipline covering development
of everything from aircraft carriers
and satellites, for example, to the
embedded systems that enable their
performance. We can apply a systems
engineering approach to manage
the embedded systems engineering
life cycle from concept to end-of-life
disposal. The first stage in a systems
engineering approach is not, as one
might think, to establish the system
requirements, but to create a systems
engineering management plan. This
plan defines the engineering life cycle
for the system and the design reviews
that the development team will
perform, along with expected inputs
and outputs from those reviews. The
plan sets a clear definition for the
project management, engineering
and customer communities as to the
sequence of engineering events and
the prerequisites at each stage. In
short, it lays out the expectations
and deliverables. With a clear
understanding of the engineering
life cycle, the next step of thinking
systematically is to establish the
requirements for the embedded
system under development. A good
requirement set will address three
areas. Functional requirements define
how the embedded system performs.
Nonfunctional requirements define
such aspects as regulatory compliance
and
reliability.
Environmental
requirements define such aspects
as the operational temperature and
shock and vibration requirements,
along with the electrical environment
(for example, EMI and EMC). Within
a larger development effort, those
requirements will be flowed down
and traceable from a higher-level
specification, such as a system or sub-
system specification (Figure 1). If there
is no higher- level specification, we
must engage with stakeholders in the
development to establish a clear set
of stakeholder requirements and then
use those to establish the embedded
system requirements.
Generating a good requirement set
requires that we put considerable
thought into each requirement to
ensure that it meets these standards:
1. It is necessary.
Our project
cannot achieve success without the
requirement.
2. It is verifiable.
We must
ensure that the requirement can be
implemented via inspection, test,
analysis or demonstration.
E
A Recipe for
Embedded Systems
Adam Taylor, e2v
38 l New-Tech Magazine Europe