Biomedical Engineering Reference
In-Depth Information
5.4
Chapter 5.4
Medical device software
development
Richard C. Fries and Andre E. Bloesch
Many kinds of medical devices are rapidly becoming
software-intensive. Software controls their operation,
collects and analyzes information to help make treatment
decisions, and provides a way for users to interface with
the medical device. In these devices, the software trans-
forms a general purpose computer into a special-purpose
medical device component. As in hardware design, spec-
ifying the software requirements, creating a sound
software design and correctly implementing it are difficult
intellectual challenges. Good software development is
based on a combination of creativity and discipline.
Creativity provides resolution to new technical hurdles
and the challenges of new market and user needs. Disci-
pline provides quality and reliability to the final product.
Software design and implementation is a multi-staged
process in which system and software requirements are
translated into a functional program that addresses each
requirement. Software design begins with the work
products of the Software Requirements Specification
(SRS). The design itself is the system architecture,
which addresses each of the requirements of the speci-
fication and any appropriate software standards or regu-
lations. The design begins with the analysis of software-
design alternatives and their trade-offs. The overall
software architecture is then established, along with the
design methodology to be used and the programming
language to be implemented. A risk analysis is performed
and then refined to ensure that malfunction of any soft-
ware component will not cause harm to the patient, the
user, or the system. Metrics are established to check for
program effectiveness and reliability. The Requirements
Traceability Matrix (RTM) is reviewed to ensure that all
requirements have been addressed. Peers The review the
software design for completeness.
The design continues with modularizing the software
architecture, assigning specific functionality to each
component and ensuring that internal and external
interfaces are well defined. Coding style and techniques
are chosen based on their proven value and the intended
function and environment of the system. Peer reviews
ensure the completeness and effectiveness of the design.
The detailed design also establishes the basis for sub-
sequent verification and validation activity. The use of
automated tools throughout the development program is
an effective method for streamlining the design and
development process and assists in developing the nec-
essary documentation.
The key to success in verification and validation is
planning. Verification and validation planning encom-
passes the entire development life cycle, from req-
uirements generation to product release. The initial
planning of verification and validation is documented
in a Software Verification and Validation Plan (SVVP).
The SVVP describes the verification and validation life
cycle, gives an overview of verification and validation,
describes the verification and validation life cycle
activities, defines the verification and validation docu-
mentation, and discusses the verification and validation
administrative procedures. An excellent guideline for
verification and validation planning can be found in IEEE
Std 1012, with an explication of Std 1012 found in
IEEE Std 1059.
Software standards and regulations
There are a myriad of software standards to assist the
developer in designing and documenting a software
program. IEEE standards cover documentation through
all phases of design. Military standards describe the way
that software is to be designed and developed for military
use. There are also standards on software quality and
Search WWH ::




Custom Search