Information Technology Reference
In-Depth Information
3. A chance to uncover these challenges early when the product is still open for
design changes, which means that testability must be included in every phase
of the software design cycle.
Design for testability for a system design has many advantages including the follow-
ing:
1. Makes the design easier to develop,
2. Allows the application of manufacturing tests for the design, which are used to
validate that the product hardware contains no defects,
3. Facilitate for usability, so that a testable component of a testable design may
be reused in another system design,
4. Possible cost reduction of the product,
5. Allows the manufacturer to use efficiently its design engineers, and
6. Reduces time-to-market for the product
Tests are applied at several steps in the hardware manufacturing flow and, for
certain products, also may be used for hardware maintenance in the customer's
environment (Design for Test, 2009). A software product is testable if it supports
acceptable criteria and evaluation of performance. For a software product to have this
software quality, the design must not be complex.
µ Testability can be used to measure the testability of a system design as was presented
in Chapter 1.
µ Testability can be interpreted as follows:
µ Testability =
0 and that the system design is not testable at all,
1 and that the system design is fully testable; otherwise the system is
partially testable with a membership (confident value) equal to
µ Testability =
µ Testability .
14.5
DESIGN FOR REUSABILITY
In any system design, reusability can be defined as the likelihood of using a segment
of source code or a hardware module again to a new system design with slight or no
modification. Reusable modules and classes or hardware units reduce implementation
time (Reusability, 2010), increase the likelihood that prior testing and use has elim-
inated bugs, and localizes code modifications when a change in implementation is
required. Hardware description languages (HDLs) commonly are used to build com-
plex designs using simple designs. The HDLs allow the creation of reusable models,
but the reusability of a design does not come with language features alone. It requires
design disciplines to reach an efficient reusable design (Chang & Agun, 2000).
For software systems, subroutines or functions are the simplest form of reuse. A
chunk of code is organized regularly using modules or namespaces layers. Proponents
claim that objects and software components offer a more advanced form of reusability,
although it has been tough to measure objectively and to define levels or scores of
reusability (Reusability, 2010). The ability to reuse software modules or hardware
Search WWH ::




Custom Search