Using Software-Based Engineering Tools
Using Software-Based Engineering Tools
Ontario
Contributors: Eric Brown, P.Eng. / Colin Cantlie, P.Eng., / Norm Fisher, P.Eng., /
Jeremy Jackson, P.Eng. / Tibor Palinko, P.Eng. / Daniel Tung, P.Eng. (Chair)
Notice:The Professional Standards Committee has a policy of reviewing guidelines every five years to deter-
mine if the guideline is still viable and adequate. However, practice bulletins may be issued from time to time
to clarify statements made herein or to add information useful to those professional engineers engaged in
this area of practice. Users of this guideline who have questions, comments or suggestions for future amend-
ments and revisions are invited to submit these to PEO using the form provided in Appendix 2.
April 2011
Contents
1. PEO Mandate and Criteria for Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
6. Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Appendix 1. Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2. Preface
The Professional Standards Committee formed a engineers depending on software as an aid in providing
subcommittee of practitioners from a variety of prac- engineering services.
tice areas who had experience providing professional
The subcommittee met for the first time on May
engineering services with the assistance of software.
26, 2006, and submitted a completed draft of this
This group was asked to address questions regarding
guideline to the Professional Standards Committee for
the proper role for and responsibilities incurred by
approval on May 14, 2009.
professional engineers using commercial, free source
and software developed by other practitioners. The Following practitioner consultations and review by
subcommittee was also instructed to prepare a guide- PEO legal counsel, the final draft was approved by
line providing recommendations to all professional the Professional Standards Committee on March 15,
2011 and by Council at its meeting on April 8, 2011.
P r o f e ssi o n a l E n g i n e e r s O nt ar i o 3
3. Purpose and Scope of Guideline
Most professional engineers rely on software to undertake procedures and controls presented here must be tailored
such tasks as calculations, modeling, and optimization to each project’s specific requirements. They are strongly
analysis as part of their engineering services or to provide recommended, but are not considered mandatory by the
information used as the basis for their decisions, judg- association.
ments and opinions.
This guideline does not deal with development of soft-
This guideline suggests considerations for the use of ware by the practitioner. Situations involving software as
computer programs in engineering work that are rea- the output of an engineering design process are the sub-
sonably necessary to protect the public. The practices, ject of a separate guideline.
4. Introduction
The practice of professional engineering has become Due diligence is the effort expected to be made by an
increasingly reliant on computers and engineers use ordinarily prudent or reasonable party to avoid harm to
many computer programs that incorporate engineering another party. A practitioner’s due diligence is best dem-
principles as aids in carrying out their assignments. This onstrated by taking an organized approach to ensuring all
software generally provides numerical or graphical output potential sources of error and omission are assessed and,
that the engineer uses as the basis of decisions. In many if necessary, corrected before any action is taken. The
cases, software provides complete design information, procedures and processes described in this guideline are
such as pipe or wire sizing, truss layouts or equipment an example of best practices for due diligence in situa-
selection, that engineers can use directly in their work. tions where practitioners rely on software tools.
Parametric design software, such as that available for
All practitioners must have an acceptable knowledge of
ductwork and piping design, can produce complete
and experience in the engineering principles involved in
drawings with no operator interaction beyond inputting
all the work they undertake. Article 72(2)(h), O. Reg.
initial conditions.
941 under the Professional Engineers Act identifies one
Professional engineers are responsible for all aspects of criterion of professional misconduct as “undertaking
the design or analysis they incorporate into their work, work the practitioner is not competent to perform by vir-
whether it is done by an engineering intern, a technolo- tue of the practitioner’s training and experience”. Using
gist or a computer program. Therefore, practitioners are software to automate part of the work does not relieve
advised always to use the data obtained from engineering practitioners of the obligation to provide services only in
software judiciously and only after submitting results to a their areas of competence.
vigorous checking process. This guideline explains at least
Note: References in this guideline to professional
some of the steps needed to fulfill the practitioner’s due
engineers apply equally to temporary licence holders,
diligence obligations.
provisional licence holders and limited licence holders.
P r o f e ssi o n a l E n g i n e e r s O nt ar i o 5
provide manuals, or white papers, containing detailed The practitioner should test all problematic situations
explanations of the software’s underlying structure. Prac- that arose in the past. This will require the keeping of
titioners should acquire and review these documents. logs reporting software performance and user observa-
tions of problems experienced and limitations.
5.3 Training and support for the In larger organizations, software choice, testing and
software user verification might be undertaken by other qualified
Practitioners should also consider taking courses avail- people rather than by every practitioner. In these orga-
able through the supplier or a third party trainer. nizations, a practitioner need only assure themselves
When the developer does not supply a user manual or that such corporate practices exist and are responsibly
the manual is not comprehensive the engineer should executed and documented. The practitioner need
obtain third-party texts, if these are available. only review that record rather than be individually
responsible for each of the QA tasks described in this
Make use of informal sources of expert advice. For
section.
example, users of many common software applications
have established support networks, such as forums
and user groups, that share experiences and informa- 5.5 Configuration management for
tion regarding the software. These groups, while not software
a substitute for the exercise of professional judgment, Configuration management is record-keeping related to
can provide warnings about software bugs, help with the maintenance, upgrading, alteration and problems
resolving application problems, and offer suggestions experienced with the hardware and software used by an
for improving the software and its use. organization. Configuration management comprises four
tasks.
5.4 User’s responsibility for quality • Identification–this is the selecting, specifying and
assurance of software output identifying of all components and their inter-relation-
Quality assurance is a process meant to ensure that (a) ships and making provision to record and retain this
software is installed and configured correctly; and (b) information.
that all users are using the software correctly. The pro- • Control–this is the management of each identified
cess will involve checking configuration management configuration item, specifying who is authorized to
records and testing based on standardized input. “change” it, and ensuring only authorized and iden-
tifiable configuration items are accepted.
The quality assurance procedure should be performed
• Status–this task is the recording of the status of all
every time software or relevant hardware is updated
configuration items in the database, and the mainte-
or reconfigured. This is done by qualifying each new
nance of this information.
version of the software against the standard set of data
• Verification–this task involves reviews and audits to
and observing any deviations from output generated
ensure the recorded configuration information is
by previous versions. To substantiate results, practi-
accurate.
tioners should keep records of input data, preferably a
record supplied by the software either as an electronic Keeping these records will ensure the practitioner
data file or as a printout, and check output from knows the version currently being used and whether
newer software versions with that obtained from ear- everyone in the organization or project team is using
lier, verified versions. the same version. The records will confirm whether
this version has been verified for use.
When verifying updated versions of previously used
software, testing may concentrate on those features
changed or added in the new version. However, prac-
titioners should not assume that previously existing
features continue to function correctly.
6. Verification
Professional engineers are responsible for the accuracy, a specific run is reliable and can be used for design
completeness and acceptability of all aspects of the purposes. This process assumes the software operates
services they provide, including information obtained correctly and, therefore, problematic output is caused
using software. Given the increasing reliance on by incorrect use, faulty input data, or a design that
computer software, engineers should ensure a compre- falls outside the bounds of the software’s reliability.
hensive verification of the software’s performance exists.
Verification, on the other hand, is an evaluation, con-
Widely used, industry standard software undergoes ducted outside the process of design and analysis for
ongoing verification by regular users, who routinely specific projects, to determine, prior to use, whether
apply results obtained from the software to their engi- the software, when used within its stated limitations,
neering work. Each completed project based on the consistently provides correct output. Software is veri-
software is a testament to its applicability. In all cases, fied by comparing the output, for well defined input
engineers should establish and conduct suitable tests conditions, against data known to be correct, based
to determine whether the software performs as it is on either actual results from real-life situations or
required to do. thoroughly checked manual calculations.
Software verification is not the same as checking the The verification process can also be used to ensure
output of a run to see if it is reasonable. Checking of that every person using the software does so correctly
output after each run is necessary to ensure the data or to compare various software products to determine
was entered correctly for the particular engineering which is the most reliable.
project underway. The checking process is a quality
assurance measure employed to ensure the output of
P r o f e ssi o n a l E n g i n e e r s O nt ar i o 7
7. Issues Related to Software-Derived Information
Output from computer programs, like all working notes ner, the data should be distributed either as hard copies
and calculations, are usually the property of the engineer or electronic files bearing the seal and signature of the
(or his or her employer) and generally do not need to be professional engineers who prepared or supervised the
provided to the client or submitted as part of regulatory preparation of the input data and checked the output
approval processes unless required by law or contract. data. See the PEO guideline Use of the Professional Engi-
neer’s Seal for further information regarding the proper
In those cases where output data must be supplied to
use of the seal.
people outside the organization employing the practitio-
Appendix 1. Definitions
For the purposes of this guideline: Quality assurance
Configuration Item A managerial function involving all the planned and sys-
A computer element treated as a self-contained unit for tematic activities within the quality management system
the purposes of identification and change control. All to provide confidence the project will satisfy the relevant
configuration items (CIs) should be uniquely identified quality standards.
by codes and version numbers. CIs might be a single
Quality control
software or hardware module, such as a compiler, sub-
An inspection function using quality control tools,
routine, monitor or tape drive, or more complex items,
involving monitoring specific project results to determine
such as a complete system.
if they comply with relevant quality standards and iden-
Configuration management tifying ways to eliminate causes of unsatisfactory results.
Process and procedures for maintaining a database con- It is focused on the deliverables and involves procedures
taining details of the computer elements that are used in that determine if specified quality is attained.
providing an organization’s services. More than just an
Validation
“asset register”, it will contain information that relates to
The process of determining the correctness of a deliver-
the maintenance, movement, and problems experienced
able with respect to the user’s needs.
with the elements in the database.
Verification
Engineering activities
The process of reviewing, inspecting and testing a soft-
Activities included in the definition of the practice of
ware tool under standardized conditions to determine
professional engineering given in Section 1 of the Profes-
whether there is adequate assurance the output of the
sional Engineers Act. The listed activities are planning,
tool will conform to the specified requirements.
designing, composing, evaluating, advising, reporting,
directing or supervising.
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Reason:
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––