SYST 301: Systems Methodology and Design I - Rose

Week 7 - Systems Engineering and Analysis –
Making it work together!
Buede
Chapter 10 – Interface Design
Chapter 11 – Integration and Qualification
(Side order of Rapid Development)
1
At some point in big system
building…
• Somebody has to tie it all together!
That would be
a systems
engineering
job!
We’ll revisit
this figure…
2
Both authors do talk a lot about
interfaces to users, vs systems
• E.g., in Wasson, “user” concerns are mentioned all
over:
• Ch 6 – System Acceptability
– Client is the “acquirer,” vs the real users
• Ch 10 – There is a “PERSONNEL System Element”
• Ch 11 – The operating environment depends on the
missions the User plans to accomplish.
• Ch 17 – all about use cases.
3
3
Interfaces to other “things”
• A connection for ‘hooking together’ system
components – external or internal.
• Have a logical and physical component
responsible for carrying information or
electromechanical energy from one
component to another.
•Must identify interfaces,
evaluate options, and
allocate inputs/outputs to
them.
4
Approaches to Interface
Considerations
• Buede’s Ch. 10 – somewhat limited in scope
to computer/software interfaces.
– (Good for us software types!)
• Wasson – detailed
• Schindel
– Some tips, added to these slides
• Rapid Prototyping
5
Wasson on Interfaces
•
Interfaces are all about how systems and
subsystems interact with each other and their
operating environment.
•
Interface Purposes
1.
Physically link or bind two or more system elements
2.
Adapt one or more incompatible system elements
3.
Buffer the effects of incompatible system elements
4.
Leverage human capabilities
5.
Restrain a system element and its usage
6
Broad View of Interfacing
• Wide variety of ‘interfaces’ in all systems and
products.
– Software
– Communication
– Electrical
– Mechanical
– Optical
– Acoustical
– Chemical
– Biological
– Etc…
7
Logical vs. Physical
• Logical
– Direct or indirect
association between two
entities
– Who communicates
• Physical
– How communication
happens
– ‘Specialized’
interfaces
– What scenarios
– When to communicate
8
Standardized vs Dedicated
• Standardized – standard, modular,
interchangeable interfaces – complying
with a ‘standard’ like RS-232, USB,
Ethernet, etc.
• Dedicated – Unique, dedicated interfaces –
often limiting compatibility with other
systems
9
Wasson Interface Thoughts
• Consider interactions between system and environment.
• Often focus on a few, not all interactions
• Environmental effects are natural, induced, and human-made.
10
Where are the Interfaces?
USED AT:
George Mason
University
AUTHOR: SYST 520 Student
PROJECT: Automatic Teller Machine
DATE: 09/28/99
REV:
x
NOTES: 1 2 3 4 5 6 7 8 9 10
Customer Needs
Main Menu
A-11
A-1
Activity Selection,
Account Type,
Deposit Type,
Deposit of Funds,
Trans Amount,
Source Account,
Dest Account,
Source of Payment,
Payment on Account,
Request to Cancel,
Choice to End
Request for Unique ID,
Request for Activity,
Request for Account Type,
Request for Deposit Type,
Physical Means for Insert,
Receipt, Request for Amount,
Request Denied, Cust Cash,
Request for Source Account,
Request for Dest Account
Customers
NODE:
Clim
Safety
Regulations
DATE CONTEXT:
READER
None
Banking
Policies
General ID,
Unique ID
Perform
Customer
Activities
Choice, ATM Reset,
No Input Device,
Request for ID #2,
Request for ID #3,
Customer Alert, Apology,
Request for Paymt Source
Americans with
Disabilities Act
WORKING
DRAFT
RECOMMENDED
PUBLICATION
Transaction,
Request for Fmax,
Request for Status Inf..,
Input Not Working,
Request for Funds,
Request for Receipts,
Break-in Attempted
At:
Inputs
Controls
Outputs
Employee
ID Code
Provide
ATM Services
Audible
Alarm,
Operation
Terminated
Provide Bank
Information to
ATM
A-0
Cust Status Inf..,
Fmax
A-12
Maintain ATM
A-13
Request to Open,
ATM Cash,
Blank Receipts,
Initialization,
Diagnostic Test,
ATM Fixes,
Request to Close
ATM System
TITLE: Operational Phase External Systems
Access Opportunity,
ATM Opened,
Cust Deposits,
Cust Payments,
Test Results,
Fixes Applied
ATM Closed
Bank
Computer
Rob
ATM
A-14
Break-in
Attempt
Bank
Employees
NUMBER:
Robber
P. 1
11
Where are the Interfaces ?
USED AT:
George Mason
University
AUTHOR: SYST 520 Student
PROJECT: Automatic Teller Machine
x
DATE: 08/07/00
REV:
NOTES: 1 2 3 4 5 6 7 8 9 10
Employee General ID,
ID Code Unique ID
Americans with
Disabilities Act
Safety
Regulations
Customer
Valid
Provide
Access to
ATM
Cust Activity,
Cust A/C Type,
Deposit Entered,
Cust Amount,
Trans Source,
Trans Dest,
Paymt Source,
Payment Entered,
Cancel Entered,
Choice Entered
Accept
Customer
Requests and
Provide
Feedback
ID Received
Request for
Unique ID
Choice, ATM Reset,
Apology, Request
for Paymt Source
Employee
Valid
ID Validation
A2
Need for Fmax,
Trans Complete,
Receipts<25
Determine
ATM
Responses
DATE CONTEXT:
READER
Request for Activity,
Request for Account Type,
Request for Deposit Type,
Physical Means for Insert,
Receipt, Request for Amount,
Request Denied, Cust Cash,
Request for Source Account,
Request for Dest Account
Banking
Policies
Calculations
for
Withdrawal
A1
Activity Selection,
Account Type,
Deposit Type,
Deposit of Funds,
Trans Amount,
Source Account,
Dest Account,
Source of Payment,
Payment on Account,
Request to Cancel,
Choice to End
Clim
WORKING
DRAFT
RECOMMENDED
PUBLICATION
No Input Device,
Request for ID #2,
Request for ID #3,
Customer Alert
Request for Unique ID,
Request for Activity,
Request for Account Type,
Request for Deposit Type,
Physical Means for Insert,
Receipt, Request for Amount,
Request Denied, Cust Cash,
Request for Source Account,
Request for Dest Account
At:
Inputs
Controls
Outputs
Choice, ATM Reset,
No Input Device,
Request for ID #2,
Request for ID #3,
Customer Alert, Apology,
Request for Paymt Source
Account
FMax
Main Menu
Input not
Available
Creq>Cleft
Account Balance
Request to Open,
ATM Cash,
Blank Receipts,
Initialization,
Diagnostic Test,
ATM Fixes,
Request to Close
Cust Status Inf..,
Fmax
A3
Transaction,
Request for Fmax,
Request for Status Inf..,
Input Not Working,
Request for Funds,
Request for Receipts,
Break-in Attempted
Communicate
with Bank
Computer
A4
Balance Inf.,
Paymt Source Entered,
Payment Received,
Ptrns>Fmax,
Cancel Received,
Choice Received
Break-in
Attempt
Activity Selected,
A/C Type Entered,
Deposit Type Entered
Deposit Received,
Amount Entered,
Source A/C Entered,
Dest A/C Entered,
Ftrns>Fmax
Access Opportunity,
ATM Opened,
Cust Deposits,
Cust Payments,
Test Results,
Fixes Applied
ATM Closed
Enable
Re-Supply and
Maintenance
Need to Open,
Paymts Inserted,
Deposits Inserted,
Diagnostics,
Fixes to ATM
Need to Close
A5
Respond to
Hostile
Situations
A6
Audible
Alarm,
Operation
Terminated
Attempted Break-in
NODE:
A0
TITLE:
Provide ATM Services
NUMBER:
P. 3
12
Interface
Design
Process
The same SE process !!
Figure 10.7
Define Interface Requirements
Identify the Items to Be Transported by the Interface
Define the Operational Concept
Bound the Problem with an External Systems Diagram
Define the Objectives Hierarchy
Write the Requirements
Select a High-Level Interface Architecture of Interface
Identify Several Candidate Architectures
Define Trial Interfaces for Each Candidate
Evaluate Alternatives against Requirements
Choose High-Level Interface Architecture
Develop Functional Architecture of Interface
Specify Functional Decomposition
Add Inputs and Outputs
Add Fault Detection and Recovery Functions
Develop Physical Architecture of Interface
Identify Candidates based upon High-Level Architecture
Eliminate Infeasible Candidates
Develop Operational Architecture of Interface
Allocate Functions to Components of the Interface
Analyze Behavior and Performance of Alternatives
Select Alternative
Document Design and Obtain Approval
Add Functions to Components Connected to Interface as Needed
14
Benefits of Standards
• Interchangeability - ability to interchange
components with different performance and cost
characteristics
• Interoperability - the system can now operate
with a wider variety of external systems, systems
that have also adopted the same conventions
• Portability - systems can be moved and operate on
other systems
• Reduced cost and risk for equivalent performance
• Increased life cycle is possible when long-lived
standards are adopted
16
(Bill) Schindel Interface Thoughts
• List of all I/O that pass through it
• List of functions or behaviors at the
interface
• Association with a system that owns the
interface
• SOA – technologies or systems that
support the interface
• An interface does not reside ‘between’
two systems.
17
Schindel Interface Thoughts, cntd
• List of all I/O that pass through it
• List of functions or behaviors at the interface
• Association with a system that owns the interface
• SOA – technologies or systems that support the interface
• An interface does not reside ‘between’ two systems.
Additional Thoughts:
All I-C-O to a function must be associated with an
interface.
In addition to the function/behavior, also list the
physical characteristics.
18
Interface Examples
19
Interface Template
Functional
or Physical
Element
Signals
Input
or
Output
Interface
Behavior
Key
Interface
Attributes
SOA
Physical
Description
Applicable
Standards
(Wasson 43.1)
20
Defining and Managing Interfaces
• IRS – Interface Requirements
Specification (not always necessary)
• ICWG – Interface Control Working Group
• ICD – Interface Control Document (Hdwe)
• IDD – Interface Design Description
(Sftwe)
30
Schindel Interface Thoughts - Reprise
• List of all I/O that pass through it
• List of functions or behaviors at the
interface
• Association with a system that owns the
interface
• SOA – technologies or systems that
support the interface
• An interface does not reside ‘between’
two systems.
31
Key
Interface
Attributes
32
Interface Definition and Control
Challenges – Pg 519
33
Oasis Example
Source
Building
Building
User
User
Support
Repair
Repair
Repair
Repair
Support
User
User
User
User
User
User
User
User
User
Repair
Home Office
Home Office
Interface
Electrical Energy
Network
Selection
Money
Soda
Repair
Materials
Diagnostic Tests
Place into Service
Temperature Setting
Out-of-Service
Money Received
Request Selection
Selection not Available
Soda Dispensing
Fill Status Indicator
Money
Change
Soda
Diagnosis Response
Soda Quantity Notification
Out-of-Service Notification
What is Good ?
In/Out
In
In/Out
In
In
In
In
In
In
In
In
Out
Out
Out
Out
Out
Out
Out
Out
Out
Out
Out
Out
Frequency
continuous
as needed
as needed
as needed
as needed
as needed
as needed
as needed
as needed
as needed
as needed
as needed
as needed
as needed
as needed
as needed
on command
as needed
as needed
on command
as needed
as needed
Owner
Building
Oasis
User
User
User
User
User
User
User
User
Oasis
Oasis
Oasis
Oasis
Oasis
Oasis
Oasis
Oasis
Oasis
Repair Tech
Oasis
Oasis
SOA
Electrical
Internet
Keypad
Cash System
Manual
Manual
Manual
Maint Keypad
Manual
Maint Keypad
Status Indicator
Status Indicator
Status Indicator
Status Indicator
Status Indicator
Status Indicator
Cash System
Cash System
Cash System
Status Indicator
Internet
Internet
What is Bad ?
34
Context of ‘Rapid Development’
• ‘For us – “Agile” and “Lean”
• Designing Products in Half the Time’,
Reinertsen
• Keys –
• Functional decomposition and allocation
– Modularity – more rapid development, but more
modules, more interfaces.
• Performance margin in each module.
– More margin, fewer changes, but higher cost.
35
‘Rapid Development’-2
• Keys –
• Interface Design
– Link modules and functions together.
– Stable, robust, standard, simple.
– Robust – performance, electrically,
mechanically, environmentally, etc.
– Standard – faster, cheaper.
36
‘Rapid Development’-3
• Goal –
• Design ‘Architectures’ fast, early.
• Modular design with known interfaces.
• Flow down requirements to interfaces.
• Then - Work on modules independently,
concurrently.
37
‘Rapid Development’-4
• Standard Interface– Need ‘interface’ to carry 110 VAC power from
a power source to electrical system under
development.
• Standard interface – buy at hardware store
(COTS) (commercial off the shelf).
• Custom interface – design, develop,
manufacture, safety/life testing, etc.
38
Interface Thoughts
• An interface is a property of a system
component, it does not reside between
two systems. – Bill Schindel
• The distinction between :
– The Interface,
– The Physical Component,
– The ‘Standard’ involved, if any.
A car battery is a standard interface to
provide electrical power to the car….(?)
39
A Car Battery
• What are the external
systems ?
• What are the inputs and
outputs ?
• An interface at each
one !
40
Interface Implications
• More interfaces – more modular,
upgradeable, testable, but more expense.
• But, systems tend to fail at an interface
– solder joint, connector, bolted joint, data
transfer between modules, etc.
• May ‘over-design’ each module
41
The ATM Functional Architecture
USED AT:
George Mason
University
AUTHOR: SYST 520 Student
PROJECT: Automatic Teller Machine
x
DATE: 08/07/00
REV:
NOTES: 1 2 3 4 5 6 7 8 9 10
Employee General ID,
ID Code Unique ID
Americans with
Disabilities Act
Safety
Regulations
Customer
Valid
Provide
Access to
ATM
Cust Activity,
Cust A/C Type,
Deposit Entered,
Cust Amount,
Trans Source,
Trans Dest,
Paymt Source,
Payment Entered,
Cancel Entered,
Choice Entered
Accept
Customer
Requests and
Provide
Feedback
ID Received
Request for
Unique ID
Choice, ATM Reset,
Apology, Request
for Paymt Source
Employee
Valid
ID Validation
A2
Need for Fmax,
Trans Complete,
Receipts<25
Determine
ATM
Responses
DATE CONTEXT:
READER
Request for Activity,
Request for Account Type,
Request for Deposit Type,
Physical Means for Insert,
Receipt, Request for Amount,
Request Denied, Cust Cash,
Request for Source Account,
Request for Dest Account
Banking
Policies
Calculations
for
Withdrawal
A1
Activity Selection,
Account Type,
Deposit Type,
Deposit of Funds,
Trans Amount,
Source Account,
Dest Account,
Source of Payment,
Payment on Account,
Request to Cancel,
Choice to End
Clim
WORKING
DRAFT
RECOMMENDED
PUBLICATION
No Input Device,
Request for ID #2,
Request for ID #3,
Customer Alert
Request for Unique ID,
Request for Activity,
Request for Account Type,
Request for Deposit Type,
Physical Means for Insert,
Receipt, Request for Amount,
Request Denied, Cust Cash,
Request for Source Account,
Request for Dest Account
Choice, ATM Reset,
No Input Device,
Request for ID #2,
Request for ID #3,
Customer Alert, Apology,
Request for Paymt Source
Account
FMax
Main Menu
Input not
Available
Creq>Cleft
Account Balance
Request to Open,
ATM Cash,
Blank Receipts,
Initialization,
Diagnostic Test,
ATM Fixes,
Request to Close
Cust Status Inf..,
Fmax
A3
Transaction,
Request for Fmax,
Request for Status Inf..,
Input Not Working,
Request for Funds,
Request for Receipts,
Break-in Attempted
Communicate
with Bank
Computer
A4
Balance Inf.,
Paymt Source Entered,
Payment Received,
Ptrns>Fmax,
Cancel Received,
Choice Received
Break-in
Attempt
Activity Selected,
A/C Type Entered,
Deposit Type Entered
Deposit Received,
Amount Entered,
Source A/C Entered,
Dest A/C Entered,
Ftrns>Fmax
Access Opportunity,
ATM Opened,
Cust Deposits,
Cust Payments,
Test Results,
Fixes Applied
ATM Closed
Enable
Re-Supply and
Maintenance
Need to Open,
Paymts Inserted,
Deposits Inserted,
Diagnostics,
Fixes to ATM
Need to Close
A5
Respond to
Hostile
Situations
A6
Audible
Alarm,
Operation
Terminated
Attempted Break-in
NODE:
A0
TITLE:
Provide ATM Services
NUMBER:
P. 3
• Define the Interface at each I-C-O.
• Define the logical/functional behavior.
• Define the physical and standard/custom instantiations.
42
Class Exercise – to think about
•
Consider the following systems. Further
consider the typical subsystems which make
them up and identify interfaces necessary to
support the system.
•
Use the Interface Template as a guide to
describe the interface behavior and
characteristics. Note that several signals may
pass through the same interface.
1.
2.
3.
4.
5.
6.
7.
Elevator System (*)
Desktop PC
Machine Tool
This Classroom
Digital Camera
Your Car
Your Project System …..
43
Interface Template
Functional
or Physical
Element
Signals
Input
or
Output
Interface
Behavior
Key
Interface
Attributes
SOA
Physical
Description
Applicable
Standards
(Wasson 43.1)
44
Week 7 - Systems Engineering
and Analysis, cntd
Buede Chapter 11 –
Verification/Validation,
Integration and Qualification
45
Definitions
• Integration is the process of assembling the
system from its components, which must be
assembled from their configuration items (CIs)
• Qualification is the process of verifying and
validating the system design and then obtaining
the stakeholders’ acceptance of the design.
• Qualification = ‘Testing’.
– Verification is the determination that the system was
built right (more of a process focus)
– Validation determines that the right system was built
(more of a product focus)
46
1
Verification, 2
Conceptual
Validation Requirements Validity
Validity
and
Operational Concept
Acceptance
Originating Requirements
Stakeholders’
Needs
6
Acceptability
5
Operational
Validity
System Delivered
System Requirements
3
Design
Validity
Element Specs
Developmental
Verification
Elements Delivered
4
Segment Specs
Component Specs
Verification = Built Right
Validation = Right System
Acceptance = Stakeholder OK
CI Specs
Segments Delivered
Components Delivered
CIs Delivered
Systems Engineering
SE Vee
Design
Engineering
Time
Figure 11.1
47
Verification/Validation/Acceptance
• Do not happen sequentially
• Do not only happen late in the SE process
50
PUBLICATION
Derived &
Originating
Requirements
Qualification Procedures,
Activities, & Models
Major
Integration
Functions for
Component
Integration
Component Level
Design Documents
"Built-to"
CIs
Perform
Component
Integration &
Verification
Originating
& System
Requirements
Documents
Subsystem Level
Design Documents
Component
Verification
Changes
"Built-to"
Components
A221
Perform
Subsystem
Integration &
Verification
SubsystemGenerated
Component
Regression
Qualification
Perform
System
Integration &
Verification
NODE:
SystemGenerated
Subsystem
Regression
Qualification
AUTHOR: Dennis Buede
PROJECT: Engineering of a System
System
Verification
Document
Verification
Data
A223
Subsystem
Test
Results
DATE: 11/04/98
REV:
NOTES: 1 2 3 4 5 6 7 8 9 10
TITLE:
A22 Component Level
Subsystem
Verification
Changes
Component
Test
Results
"Built-to"
Subsystems
SystemGenerated
Component
Regression
Qualification
CI Test
Results
Subsystem
Verification
Documents
Component
Verification
Documents
Verification
Document
A222
USED AT:
GMU Systems
Engineering
Program
Verification
Changes
CI Verification
Changes
x
Conduct Integration & Verification
WORKING
DRAFT
RECOMMENDED
PUBLICATION
NUMBER:
Qualification Procedures,
Activities, & Models
Design Documents
DATE CONTEXT:
READER
System-Level
Reqression
Qualification
P. 16
"Built-to"
CIs
SubsystemGenerated
Component
Regression
Qualification
SystemGenerated
Component
Regression
Qualification
Inspect
&
Verify CI
CI Test
Results
Deficient
CI
A2211
Discrepancy
Reports
Identify & Fix
Correctable
CI
Deficiencies
A2212
Uncorrected CI
Corrected CI
Impact
Statement
Acceptable
Impact
Assess
Impact of
Uncorrectable
CI
Deficiencies
CI
Engineering
Changes
A2213
Unacceptable
Impact
Cleared
CI
Redesign
CI
Redesigned CI
CI Verification
Changes
Baseline
Changes
A2214
Modify CI
Baseline
Approval to
Continue
Integration
Component
Verification
Documents
A2215
Cleared CI
Integrate
with
Next CI
"Built-to"
Components
A2216
NODE:
Figure 11.4
TITLE:
The Textbook Approach is ‘Bottom Up’
A221
Perform Component Integration & Verification
NUMBER:
P. 17
51
Approaches to Integration
1. Top Down
2. Bottom Up (*)
3. Big Bang
54
Top Down Integration
Integration begins with a major or top-level module.
All modules called from the top-level module are simulated by “stubs”
(shell or model replica).
Once the top-level module is qualified, actual modules replace the stubs
until the entire system has been qualified.
This is most useful for systems using large amounts of COTS components.
Phase Integration: Integration is done from the top down to the lowest level; one peel of the onion at a
time.
Incremental Integration: Integration is done for a specific module from top to bottom; one slice of the
system at a time.
Advantage
•
Early demonstration of the system is allowed.
•
Representation of the test cases is easier.
•
More productive if major flaws occur toward the top of system.
Disadvantage
•
Stubs have to be developed.
•
Representation of test cases in the stubs may be difficult.
•
Observation of test output may be artificial and difficult.
•
This requires a hierarchical system architecture.
Table 11.1
55
Bottom-up Integration
Integration begins with the elementary pieces (or CIs) of the system.
After each CI is tested, components comprising multiple CIs are tested.
This process continues until the entire system is assembled and tested.
This is the traditional systems engineering integration approach.
Phase Integration: At any point in the integration, all of the subsystems are at the same
stage of integration testing.
Incremental Integration: proceeds one slice of the system at a time.
Advantage
•
It is easier to detect flaws in the tiniest pieces of the system.
•
Test conditions are easier to create.
•
Observation of the test results is easier.
Disadvantage
•
“Scaffold” systems must be produced to support pieces as they are integrated.
•
System’s control structure cannot be tested until the end.
•
Major errors in the system design are typically not caught until the end.
•
System does not exist until the last integration test is completed.
•
This requires a hierarchical system architecture.
Table 11.1
56
Big Bang Integration
Untested CIs are assembled and the combination is tested.
This is a commonly used and unsuccessful approach.
Advantage
• Immediate feedback on the status of system elements is
provided.
• Little or no pretest planning is required.
• Little or no training is required.
Disadvantage
• Source of errors is difficult to trace.
• Many errors are never detected.
• Test it until it ‘works’ then stop.
• Errors found by customers
Table 11.1
57
Bottom-Up
Integration of
RC Car
Controller
Directional Interface
Interface Module
Motion Interface
Structural Design
Controller Processor
Processor Logic (Software)
CPU Module
Integrated Controller
Subsystem
Signal Transmission
Structural Design
Power Control
Power Confirmation
Power Module
Battery Interface
Fully Integrated
Car/Controller
System
Car
Signal Receiver
Signal Processor
CPU Module
Processor Logic (Software)
Steering
Alignment
Motion Module
Locomotion
Structural Design
Integrated Car
Subsystem
Structural Design
Power Control
Power Confirmation
Power Module
Battery Interface
Phase 1
Phase 2
Phase 3
Phase 4
58
Exercise
1.
: Discussion of Examples
How did they do integration on the Denver
Airport project.
2. Even when large amounts of time/money are
spent on integration/qualification, how are
mistakes still made – Genesis and other space
vehicle failures ?
3. Why is the Big Bang approach so popular or often
used?
4. What integration approach would you recommend
for your project ?
59
Qualification Planning During Design
• The design of the qualification
system is not only important in terms
of finding and defining faults and
errors but also in guiding designers to
preclude them from introducing
faults in the first place. Buede
60
Qualification –
The ‘Readers Digest’ Edition
1. If you can't test it, don't build it.
2. If you don't test it, rip it out.
•
Boris Beizer, Second edition, chapter 13, section 3.2.5. ,
"Software testing techniques" by Boris Beizer , ISBN:
0442206720
61
One Way to Look at it
USED AT:
George Mason
University
AUTHOR: SYST 520 Student
PROJECT: Automatic Teller Machine
DATE: 09/28/99
REV:
x
NOTES: 1 2 3 4 5 6 7 8 9 10
Customer Needs
Main Menu
A-11
Activity Selection,
Account Type,
Deposit Type,
Deposit of Funds,
Trans Amount,
Source Account,
Dest Account,
Source of Payment,
Payment on Account,
Request to Cancel,
Choice to End
Request for Unique ID,
Request for Activity,
Request for Account Type,
Request for Deposit Type,
Physical Means for Insert,
Receipt, Request for Amount,
Request Denied, Cust Cash,
Request for Source Account,
Request for Dest Account
Customers
A-1
None
Banking
Policies
Transaction,
Request for Fmax,
Request for Status Inf..,
Input Not Working,
Request for Funds,
Request for Receipts,
Break-in Attempted
Audible
Alarm,
Operation
Terminated
Provide Bank
Information to
ATM
A-0
Cust Status Inf..,
Fmax
A-12
Maintain ATM
A-13
Rob
ATM
Qualify ATM
Access Opportunity,
ATM Opened,
Machine
Request to Open,
ATM Cash,
Blank Receipts,
Initialization,
Diagnostic Test,
ATM Fixes,
Request to Close
ATM System
TITLE:
Employee
ID Code
Provide
ATM Services
Develop a Systems
Model for this
Function
NODE:
Clim
Safety
Regulations
DATE CONTEXT:
READER
General ID,
Unique ID
Perform
Customer
Activities
Choice, ATM Reset,
No Input Device,
Request for ID #2,
Request for ID #3,
Customer Alert, Apology,
Request for Paymt Source
Americans with
Disabilities Act
WORKING
DRAFT
RECOMMENDED
PUBLICATION
Operational Phase External Systems
Cust Deposits,
Cust Payments,
Test Results,
Fixes Applied
ATM Closed
Bank
Computer
A-14
Break-in
Attempt
Bank
Employees
NUMBER:
Robber
P. 1
62
Circuit
Board
Testing
Qualification an Afterthought
63
Circuit
Board
Testing
Qualification planned and designed
64
Failure Definitions
• Failure: deviation in behavior between the system and its
requirements. Since the system does not maintain a copy of
its requirements, a failure is not observable by the system.
• Error: a subset of the system state, which may lead to a
failure. The system can monitor its own state, so errors are
observable in principle. Failures are inferred when errors
are observed. Since a system is usually not able to monitor
its entire state continuously, not all errors are observable.
As a result, not all failures are going to be detected
(inferred).
• Fault: defects (bugs) in the system that can cause an error.
Faults can be permanent (e.g., a failure of system component
that requires replacement) or temporary due to either an
internal malfunction or external transient. Temporary faults
may not cause a sufficiently noticeable error or may cause a
permanent fault in addition to a temporary error.
65
Levels of Bug/Fault
Severity and Consequences
• Mild
• Moderate
• Annoying
• Disturbing
• Serious
• Very Serious
Levels of coming up
“Martin Short”
• Extreme
• Intolerable
• Catastrophic
• Infectious
66
Boris Beizer’s 3 Laws of Software Testing
• First Law: The Pesticide Paradox – Every method you use to
prevent or find bugs leaves a residue of subtler bugs against
which those methods are ineffective.
• Second Law: The Complexity Barrier – Software complexity
(and therefore that of bugs) grows to the limits of our
ability to manage that complexity.
– Test developers are no ‘smarter’ than code developers. Errors on both
sides.
• Third Law – Code migrates to data.
– More and more of the control and processing functions are stored in
tables. Control tables having hidden programming languages,
generalized packages with parametric data to the code, etc.
– Because of this law there is increasing awareness that bugs in code are
only half the battle and that data problems should be given equal
attention.
67
Rate of Finding Bugs
100% Bugs
Found
Harder to Find
Very Difficult to Find,
Intermittent / Infrequent
Time or Configuration Based
Easy to Find,
Obvious,
Frequent
Time – Months and Years
68
Qualification Planning Functions
• Plan the qualification process
– Acceptance test
– Validation test (Built right system ? – Product)
– Verification test (System built right? – Process)
• Plan the qualification approaches
• Plan qualification activities
• Plan specific tests
Table 11.2
70
What do we need to Qualify ?
• Remember we defined ‘qualification’
requirements. (The ‘what’ to qualify)
• All Input and Output requirements ?
• All Technology and Systemwide
requirements ?
71
Plan the qualification process
· Review system objectives
· Identify qualification system objectives
· Identify pass/fail thresholds
· Define qualification operational concepts
· Define qualification requirements
· Define qualification functional architecture
· Define qualification generic physical architecture
· Generate qualification coverage matrices (allocate
requirements to functional architecture and functions to the
generic physical architecture)
· Identify risks and mitigation strategies
· Create master qualification plan
Table 11.2
72
Plan the qualification approaches
· Define qualification resources and
organizations (instantiated physical
architecture)
· Assign qualification activities to
organizations
· Allocate qualification activities to
resources
· Develop qualification schedules consistent
with development schedule
Table 11.2
73
Plan qualification activities
· Develop detailed derived qualification
requirements
· Develop functional architectures for qualification
components
· Generate coverage matrices (allocate derived
requirements to functional architectures and
functions to physical architectures)
· Write activity-level qualification plans for each
qualification component
· Assign qualification responsibilities
Table 11.2
74
Plan specific tests
· Identify required stimulation data for each
activity
· Create test scenarios
· Write test procedures
· Write analysis procedures
· Define test and analysis schedules
Table 11.2
75
Qualification Methods
Method
Inspection
(static test)
Description
Compare system
attributes to requirements.
Analysis and
simulation
Use models that represent
some aspect of the
system. Examples of
models might address
system’s environment,
system process, system
failures.
Use calibrated
instruments to measure
system’s outputs.
Examples of calibrated
instruments are
oscilloscope, voltmeter,
LAN analyzer.
Exercise system in front of
unbiased reviewers in
expected system
environment.
Instrumented
test
Demonstratio
n or field test
Table 11.3
Used During:
During all segments of
verification, validation, and
acceptance testing for
requirements that can be
addressed by human
examination.
Used throughout
qualification, but emphasis
is early in verification and
during acceptance.
Often used in conjunction
with demonstration.
Verification testing.
Primarily used for
validation and acceptance
testing.
Most Effective When:
Success or failure can be judged by
humans; examples include inspection of
physical attributes, code walkthroughs, and
evaluation of user’s manuals.
Physical elements are not yet available.
Expense prohibits instrumented test, and
demonstration is not sufficient.
Issue involves all or most of the system’s
life span.
Issue cannot be tested (e.g., survive
nuclear blast).
Engineering test models through system
elements are available.
Detailed information is required to
understand and trace failures.
Life and reliability data is needed for
analysis and simulation.
Complete instrumented test is too
expensive.
High-level data/information is needed to
corroborate results from analysis and
simulation or instrumented test.
76
Testing Methods
Functional testing Test conditions are set up to ensure that the correct outputs are
produced, based upon the inputs of the test conditions. Focus is on
whether the outputs are correct given the inputs (also called black box
testing).
Structural testing
Examines the structure of the system and its proper functioning.
Includes such elements as performance, recovery, stress, security,
safety, availability. Some of the key elements are described below.
Performance
Examination of the system performance under a range of nominal
conditions, ensures system is operational as well.
Recovery
Various failure modes are created and the system’s ability to return to
an operational mode is determined.
Interface
Examination of all interface conditions associated with the system’s
reception of inputs and sending of outputs.
Stress testing
Above-normal loads are placed on the system to ensure that the
system can handle them; these above-normal loads are increased to
determine the system’s breaking point; these tests may proceed for a
long period of time in an environment as close to real as possible.
Table 11.4
77
Black & White Box Testing
Black box Outputs are determined correct or incorrect based upon inputs; inner
workings of the module are ignored. Both positive and negative testing
testing
have to be employed. This approach is scalable to system-level testing.
 Positive testing pulls the test data and sequences from the
requirements documents.
 Negative testing attempts to find input sequences missed in the
requirements documents and then determine how the module reacts.
Crash testing is an example.
White box Inner workings of the module are examined as part of the testing to
ensure proper functioning. Usually used at the CI level of testing; this
testing
method becomes impractical at the system level.
 Path testing addresses each possible simple functionality and is
based upon a prescribed set of inputs.
 Path domain testing partitions the input space and then examines the
outputs for each partition of the input space.
 Mutation analysis injects predefined errors and tests the error
detection and recovery functionalities.
Table 11.6
78
Acceptance Testing
• Final step in qualification
• Acceptance testing is conducted by
Stakeholders.
• Acceptance criteria must be defined early.
• Outcome : accept, accept with changes, not
accept.
• Key issue - How much to test
and what assumptions.
79
Another Way to Look at it
USED AT:
George Mason
University
AUTHOR: SYST 520 Student
PROJECT: Automatic Teller Machine
DATE: 09/28/99
REV:
x
NOTES: 1 2 3 4 5 6 7 8 9 10
Customer Needs
Main Menu
Clim
Safety
Regulations
A-11
None
Banking
Policies
Activity Selection,
Account Type,
Deposit Type,
Deposit of Funds,
Trans Amount,
Source Account,
Dest Account,
Source of Payment,
Payment on Account,
Request to Cancel,
Choice to End
Request for Unique ID,
Request for Activity,
Request for Account Type,
Request for Deposit Type,
Physical Means for Insert,
Receipt, Request for Amount,
Request Denied, Cust Cash,
Request for Source Account,
Request for Dest Account
Transaction,
Request for Fmax,
Request for Status Inf..,
Input Not Working,
Request for Funds,
Request for Receipts,
Break-in Attempted
Employee
ID Code
Provide
ATM Services
Audible
Alarm,
Operation
Terminated
Provide Bank
Information to
ATM
A-0
Cust Status Inf..,
Fmax
A-12
Maintain ATM
Qualify ATM
Machine
Request to Open,
ATM Cash,
Blank Receipts,
Initialization,
Diagnostic Test,
ATM Fixes,
Request to Close
•This becomes our new ‘system of interest’
•Its external systems are the ATM, Customer, etc.
•We have some requirements from the ATM itself
Customers
ATM System
•Build a new SE
model for it
•Places
needs and requirements
back on the ATM
NODE:
TITLE:
A-1
DATE CONTEXT:
READER
General ID,
Unique ID
Perform
Customer
Activities
Choice, ATM Reset,
No Input Device,
Request for ID #2,
Request for ID #3,
Customer Alert, Apology,
Request for Paymt Source
Americans with
Disabilities Act
WORKING
DRAFT
RECOMMENDED
PUBLICATION
Operational Phase External Systems
A-13
Access Opportunity,
ATM Opened,
Cust Deposits,
Cust Payments,
Test Results,
Fixes Applied
ATM Closed
Bank
Computer
Rob
ATM
A-14
Break-in
Attempt
Bank
Employees
NUMBER:
Robber
P. 1
81
The Qualification System as an
External System
• I/C/O from ATM function to Qualification
function.
• Can model and decompose the Qualification
function.
82
RC Car
Example
83
Test Equipment and Resources
Requirement ID
[ORG-SW: 2.6.3.006]
Requirement Description
The speed of the car shall be 15mph or more. The
design goal is 20mph.
Equipment
Controller
Car
Speed Radar
o
Controller
Car
o Fully Charged
Battery
o
Controller
Car
o Speed Radar
o Stop Watch
o
Car Springs
Certified Test
instrument for
measuring force
o Test fixture for
springs
o
o
o
[ORG-SW: 2.6.3.007]
[DER: 2.12.001]
[ORG-SW: 2.6.3.008]
Resources
Tester
Open Track
o 30 minutes of
testing
Test completed
By 11/10/07
Tester
20 minutes of
testing at full
throttle condition
Test completed
By 10/28/07
Tester
20 minutes of
testing at full
throttle condition
Test completed
By 11/10/07
Tester
Statistical
Sampling of 30
Piece capability
Test completed
By 10/15/07
o
The battery life of the car under constant full throttle
shall be 10 minutes or more. The design goal is 15
minutes.
o
The R/C car shall accelerate to maximum speed within
2 sec of engaging full throttle position.
o
The suspension of the car shall have a spring constant k
between 50lb/in and 60lb/in.
o
o
o
o
o
o
Timetable
o
o
84
Discussion
• What would a qualification plan look like
for an ATM system?
• What would a qualification plan look like
for an ATM manufacturing system?
• What would a qualification plan look like
for an elevator?
85
Discussion
• What qualification approach and plan is
needed for your project ?
• Do most engineers view qualification as a
key part of the development process ?
• What are some of the reasons that make
qualification process difficult to do well ?
86