1 |
Introduction |
Module I: Introduction to Basics of Software Reliability Engineering
|
DAY
1 |
1.2 |
Learning Objectives |
1.3 |
Reliability Definition |
1.4 |
Software Reliability Definition |
1.5 |
Software Reliability Engineering |
1.6 |
Why Reliability Consideration? |
1.6.1 |
Benefits to the Business |
1.6.2 |
Mission Critical Applications |
1.6.3 |
Cost of Defect in SDLC |
1.6.4 |
Software Development Costs |
1.6.5 |
Predicability in Design |
1.7 |
Applications of Software Reliability Engineering |
1.8 |
Software Vs Hardware Reliability |
1.9 |
Reliability Terminology |
1.9.1 |
Failure, Fault, Defect |
1.9.2 |
Failure Rate / Failure Intensity |
1.9.3 |
Instantaneous Failure Rate |
1.9.4 |
Mean Life, MTBF, MTTF, MTTR, BX Life |
1.9.5 |
Failure Severity Classes |
1.9.6 |
Reliability Function |
1.9.7 |
Failure Intensity Vs Reliability |
1.9.8 |
Failure Intensity Vs MTTF |
1.9.9 |
Availability |
1.9.10 |
Availability Vs Failure Intensity |
1.9.11 |
Reliability Formulas |
1.10 |
The Classical Bathtub Curve |
1.11 |
Bathtub Curve for Software |
1.12 |
Software Design for Reliability Process |
1.13 |
Summary of Module I |
1.14 |
Additional Sources of Information |
2 |
Reliability Goals |
Module II: How to Define Reliability Goals |
2.1 |
Learning Objectives |
2.2 |
Define Failures |
2.3 |
Select the Right Metric |
2.4 |
Techniques to Define Reliability Goals |
2.5 |
Derive from Overall System |
2.6 |
Good Reliability Goal |
2.7 |
Reliability Baseline Analysis |
2.8 |
Summary of Module II |
3 |
Operational Profiles |
Module III: How to Develop Product Operational Profiles |
DAY 2 |
3.1 |
Learning Objectives |
3.2 |
Product Operational Profiles: Definition |
3.3 |
Developing Product Operational Profile: Step by Step |
3.3.1 |
Product Operational Profiles: Example |
3.3.2 |
Product Operational Profile: Mini-Case |
3.4 |
Summary of Module III |
4 |
Reliability Allocation |
Module IV: Reliability Allocation |
4.1 |
Learning Objectives |
4.2 |
System Reliability Block Diagram |
4.2.1 |
System Reliability Block Diagram: Definition |
4.2.2 |
Series Systems |
4.2.3 |
Parallel Systems |
4.3 |
Reliability Allocation to Subsystems |
4.3.1 |
Reliability Allocation: Definition |
4.3.2 |
Reliability Allocation: Example (Basic Allocation Method)
|
4.3.3 |
Reliability Allocation: Advanced Method |
4.3.3.1 |
Effect of one factor |
4.3.3.2 |
Effect of two factors |
4.4 |
Summary of Module IV |
5 |
Design Techniques |
Module V: Software Reliability Design Techniques |
5.1 |
Learning Objectives |
5.2 |
Dependability of Software Systems |
5.3 |
Traditional Approach for Defect Resolution |
5.4 |
Failure Mode & Effect Analysis |
5.4.1 |
FMEA: Definition |
5.4.2 |
Inputs and Outputs of FMEA |
5.4.3 |
Failure Mode & Effect Analysis: Step-by-Step |
5.4.4 |
Further Notes on FMEA |
5.5 |
Fault Tree Analysis |
5.5.1 |
Fault Tree Analysis: Definition |
5.5.2 |
Fault Tree Analysis: Step-by-Step |
5.5.3 |
Fault Tree Analysis: Example |
5.6 |
Summary of Module V |
6 |
Risk Mitigation |
Module VI: Risk Mitigation |
6.1 |
Learning Objectives |
6.2 |
Retire Risks & Update FMEA |
6.3 |
Introducing Mean Cost of Failure |
6.3.1 |
Mean Cost of Failure: Definition |
6.3.2 |
Mean Cost of Failure: Method |
6.3.3 |
System Mean Cost of Failure |
6.4 |
Reliability Vs Availability |
6.4.1 |
Availability Examples |
6.5 |
Summary of Module VI |
7 |
Reliability Testing |
Module VII: Software Reliability Testing Techniques |
DAY 3 |
7.1 |
Learning Objectives |
7.2 |
Introduction to Reliability Testing |
7.2.1 |
Reliability Testing: Definition |
7.2.2 |
Types of Reliability Testing |
7.2.3 |
Common Types of Software Testing |
7.3 |
Developing Reliability Testing Protocol |
7.3.1 |
Inputs to Software Testing |
7.3.2 |
Test Case: Definition |
7.3.3 |
How to Develop Test Cases: Orthogonal Arrays |
7.4 |
Reliability Growth Testing: Definition |
7.5 |
Reliability Growth Testing: Estimating Test Effort |
7.5.1 |
Reliability Growth Testing: Example 1 |
7.5.2 |
Reliability Growth Testing: Example 2 |
7.6 |
Using Product Operational Profile for Reliability Testing
|
7.7 |
Accelerated Life Testing: Definition |
7.8 |
Accelerated Life Testing: Method |
7.9 |
Reliability Demonstration Testing: Definition |
7.10 |
Summary of Module VII |
8 |
Making Decisions |
Module VIII: Applying Failure Data to Make Decisions |
8.1 |
Learning Objectives |
8.2 |
Data Gathering - Types of Data |
8.2.1 |
Software Reliability Measurement |
8.2.2 |
Calendar Time Vs Execution Time |
8.2.3 |
Types of Data to Collect |
8.2.4 |
Failure Data Trend Analysis |
8.2.5 |
Data Collection: Examples |
8.2.6 |
Sources of Fault |
8.2.7 |
Sources of Failure Data |
8.3 |
Getting Familiarized with Reliability Analysis Tool |
8.3.1 |
About the Analysis Tool |
8.3.2 |
Data Entry into the Tool |
8.3.3 |
Model Applicability Analysis: Selection of Model |
8.3.3.1 |
Model Applicability Analysis: Results |
8.3.3.2 |
Model Applicability Analysis: Plots |
8.3.4 |
Reliability Predictions Using the Model |
8.3.5 |
Other ways of Data Entry (For Reference) |
8.4 |
Other Software Reliability Analysis Tools |
8.5 |
Making Decisions Based on Data |
8.5.1 |
Types of Decisions to be Made |
8.5.2 |
Reliability Demonstration Chart |
8.5.3 |
When is Testing Enough |
8.6 |
Summary of Module VIII |