0% found this document useful (0 votes)
44 views

System Design Techniques: - Quality Assurance

The document discusses techniques for system design and quality assurance, including ISO 9000 standards, the Capability Maturity Model, verification methods like requirements prototyping and design reviews, and the importance of measurements in software development.

Uploaded by

Ashok Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

System Design Techniques: - Quality Assurance

The document discusses techniques for system design and quality assurance, including ISO 9000 standards, the Capability Maturity Model, verification methods like requirements prototyping and design reviews, and the importance of measurements in software development.

Uploaded by

Ashok Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 21

System design techniques

• Quality assurance.

Overheads for Computers as


© 2008 Wayne Wolf Components 2nd ed.
Quality assurance
• Quality judged by how well product
satisfies its intended function.
– May be measured in different ways for
different kinds of products.
• Quality assurance (QA) makes sure
that all stages of the design process
help to deliver a quality product.

Overheads for Computers as


© 2008 Wayne Wolf Components 2nd ed.
Therac-25 Medical Imager
(Leveson and Turner)
• Most serious computer related accident
• Six known accidents: radiation overdoses
leading to death and serious injury.
• Radiation gun controlled by PDP-11
minicomputer.
• Computer was responsible for controlling a
radiation gun that delivered a dose of
radiation to the patient, also runs a
terminal that presents the main user
interface
Overheads for Computers as
© 2008 Wayne Wolf Components 2nd ed.
Software components
• Four major software components:
– stored data;
– scheduler;
– set of tasks;
– interrupt services.
Therac-25 tasks
• Treatment monitor controlled and
monitored setup and delivery of
treatment in eight phases.
• Servo task controlled radiation gun.
• Housekeeper task took care of status
interlocks and limit
checks(determines whether some
system parameter has gone beyond
preset limits).
Overheads for Computers as
© 2008 Wayne Wolf Components 2nd ed.
Therac-25 tasks
• Code was relatively crude
• Software allowed several processes
access to shared memory
• No synchronization mechanism for
shared variables
• Test and set for shared variables
were not indivisible operations
Treatment monitor task
• Treat was main monitor task.
– Eight subroutines.
– Treat rescheduled itself after every
subroutine.

Overheads for Computers as


© 2008 Wayne Wolf Components 2nd ed.
Software timing race
• Timing-dependent use of mode and
energy:
– if keyboard handler sets completion
behavior before operator changes
mode/energy data, Datent task will not
detect the change, but Hand task will.

Overheads for Computers as


© 2008 Wayne Wolf Components 2nd ed.
Software timing errors
• Changes to parameters made by
operator may show on screen but not
be sensed by Datent task.
• One accident caused by entering
mode/energy, changing mode/energy,
returning to command line in 8
seconds.
• Skilled operators typed faster, more
likely to exercise bug.
Overheads for Computers as
© 2008 Wayne Wolf Components 2nd ed.
Leveson and Turner
observations
• Performed limited safety analysis:
guessed at error probabilities, etc.
• Did not use mechanical backups to
check machine operation.
• Used overly complex programs
written in unreliable styles.

Overheads for Computers as


© 2008 Wayne Wolf Components 2nd ed.
ISO 9000
• Developed by International Standards
organization.
• Applies to a broad range of industries.
• Concentrates on process-steps to
create a high quality product.
• Validation based on extensive
documentation of organization’s
process.
• Communication
Overheads for Computers as
© 2008 Wayne Wolf Components 2nd ed.
CMU Capability Maturity Model
• Five levels of organizational maturity:
– Initial: poorly organized process, depends
on individuals.
– Repeatable: basic tracking mechanisms.
– Defined: processes documented and
standardized.
– Managed: makes detailed measurements.
– Optimizing: measurements used for
improvement.
Overheads for Computers as
© 2008 Wayne Wolf Components 2nd ed.
Verification
• Verification and testing are important
throughout the design flow.
• Early bugs are more expensive to fix:
cost to fix

requirements
bug
coding bug

Overheads for Computers as


time
© 2008 Wayne Wolf Components 2nd ed.
Verifying requirements and
specification
• Requirements:
– prototypes;
– prototyping languages;
– pre-existing systems.
• Specifications:
– usage scenarios;
– formal techniques.

Overheads for Computers as


© 2008 Wayne Wolf Components 2nd ed.
Design review
• Uses meetings to catch design flaws.
– Simple, low-cost.
– Proven by experiments to be effective.
• Use other people in the
project/company to help spot design
problems.

Overheads for Computers as


© 2008 Wayne Wolf Components 2nd ed.
Design review players
• Designers: present design to rest of
team, make changes.
• Review leader: coordinates process.
• Review scribe: takes notes of
meetings.
• Review audience: looks for bugs.

Overheads for Computers as


© 2008 Wayne Wolf Components 2nd ed.
Before the design review
• Design team prepares documents
used to describe the design.
• Leader recruits audience, coordinates
meetings, distributes handouts, etc.
• Audience members familiarize
themselves with the documents
before they go to the meeting.

Overheads for Computers as


© 2008 Wayne Wolf Components 2nd ed.
Design review meeting
• Leader keeps meeting moving; scribe
takes notes.
• Designers present the design:
– use handouts;
– explain what is going on;
– go through details.

Overheads for Computers as


© 2008 Wayne Wolf Components 2nd ed.
Design review audience
• Look for any problems:
– Is the design consistent with the
specification?
– Is the interface correct?
– How well is the component’s internal
architecture designed?
– Did they use good design/coding
practices?
– Is the testing strategy adequate?
Overheads for Computers as
© 2008 Wayne Wolf Components 2nd ed.
Follow-up
• Designers make suggested changes.
– Document changes.
• Leader checks on results of changes,
may distribute to audience for
further review or additional reviews.

Overheads for Computers as


© 2008 Wayne Wolf Components 2nd ed.
Measurements
• Measurements help ground our beliefs:
– Do our practices really work?
– Do they work where we think they work?
• Types of measurements:
– bugs found at different stages of design;
– bugs as a function of time;
– bugs in different types of components;
– how bugs are found.

Overheads for Computers as


© 2008 Wayne Wolf Components 2nd ed.

You might also like