UPI Study › Courses › Software Engineering › Free lessons › Lesson 12.1 Free with a free account
Reliability Engineering: Definitions, Goals, and Getting Started
Software Engineering · Chapter 12: Reliability Engineering and SecuritySection 12.1 · lesson 75 of 1036 min · free with a free account
Free preview
Create a free account to keep watching
It takes a minute and costs nothing. Your free account unlocks all of Chapter 1 and 3 more lessons of Software Engineering.
Lesson complete
Earn the 3 college credits for Software Engineering
Enrolling adds a quiz after each lesson, the graded work and the official transcript. Recommended for credit by NCCRS.
Next lesson: Writing Code That Holds Up: Reliable Programming Practices →← Applying Formal Methods to Software DevelopmentNext lesson: Writing Code That Holds Up: Reliable Programming Practices →
In this lesson
Being exact about what can go wrong - and how much of it a team can stop.
- Define reliability precisely, as a probability
- Distinguish a fault, an error, and a failure
- Explain why reliability targets depend on the cost of failure
- Describe the orientation reliability engineering brings to a system
Transcript
Everything said in the video, section by section (796 words). Read along, or search it.
Reliability Engineering and Security
Reliability Engineering: Definitions, Goals, and Getting Started
Saying a system is reliable sounds simple, until you try to define it precisely. Reliability engineering starts by being exact about what can go wrong, in what order, and how much of that chain a team can interrupt. This section covers the definitions, the goals, and the way this discipline approaches a system.
Precise, Not Binary
What Reliability Actually Means
Reliability is the probability that a system performs its intended function correctly, over a specified period of time, under specified conditions. That definition is deliberately precise. Reliability is not a label that a system either has, or does not have. It is always relative to a stretch of time and a set of operating conditions. And it is expressed as a likelihood, not a guarantee. It is also narrower than dependability, the broader umbrella that includes availability, safety, and related qualities. Reliability specifically concerns continuity of correct service, over time.
3 Different Things
Fault, Error, and Failure
When something goes wrong, it typically follows a chain described by three terms. Keeping them distinct matters. A fault is an underlying defect, like a mistake in the code or a flaw in the design. It may sit dormant, entirely unexercised, for a long time. An error is what happens when a fault actually gets triggered during execution. It is an incorrect internal state. But an error can still be entirely invisible from outside the system. A failure is what happens when an error propagates all the way to the system's external behavior. That is the point where a user, or another system, can see something has gone wrong.
Figure 1
The Chain Isn't Automatic
The important thing about this chain is that it is not automatic, at either step. A fault can stay dormant, and never be triggered at all. And an error can be caught or corrected internally, so it never reaches the output. Neither branch ever becomes a failure. Most reliability engineering effort goes into these two branches.
Table 1
Who Can See It?
Here are the three terms side by side, sorted by who can see them. A fault is an underlying defect. It is not visible from outside, and may sit dormant indefinitely. An error is an incorrect internal state. It is not visible from outside either, and may be caught before it spreads. A failure is a deviation in the system's output. That is the one an observer actually sees. So not every fault becomes an error, and not every error becomes a failure. That gap is where most of the real work happens.
Reliability Goals
What "Good Enough" Looks Like
So how reliable does a system need to be? There is no universal target. What counts as good enough depends entirely on the real consequences of failure. A note-taking app failing occasionally is an inconvenience. A flight control system failing is a different order of problem altogether. Domains where failure is catastrophic justify a level of rigor that would be excessive anywhere else. And targets are usually concrete, measurable figures, like an expected time between failures, or a target rate of successful operations over a defined period.
Getting Started
The Reliability Orientation
Reliability engineering brings a few recurring habits to any system. First, anticipate where faults are likely to originate, before they cause any trouble. Second, build in ways to detect problems early in the chain, ideally before a fault becomes an error, or an error becomes a failure. Third, plan deliberately for what happens when something fails anyway, because perfect prevention is never actually achievable. The concrete techniques are their own topic. What matters here is the orientation they are built on.
Apply It
"The System Should Be Reliable"
Let's apply that. A requirements document for a payment service says only this. The system should be reliable. What is wrong with that as a reliability goal? A vague aspiration cannot be verified. Setting a specific, measurable target is itself part of the discipline. And that figure should be chosen deliberately, from what failure would actually cost for this system, not by default or habit.
Key Terms
The Vocabulary of This Section
Let's lock in the key terms. Reliability is the probability that a system performs its intended function correctly, over a specified period, under specified conditions. A fault is an underlying defect or flaw, which may remain dormant until triggered. An error is the incorrect internal state produced when it is triggered. A failure is a deviation from expected behavior that becomes visible in the system's actual output. And dependability is the broader concept, covering reliability alongside availability, safety, and related qualities.
Key Takeaways
What to Carry Forward
To pull this together. Reliability is a probability, tied to a period of time and a set of operating conditions. A fault is triggered into an error, and an error can propagate into a failure. That chain is not automatic, and interrupting it is where most of the effort goes. Reliability targets depend on the real cost of failure, and they have to be measurable. And the discipline's orientation is simple. Anticipate faults, detect problems early, and plan for failure anyway.
About Software Engineering at UPI Study
Software Engineering (Computer Science 301) is a self-paced online course of 103 video lessons in 15 chapters, from process models and agile to requirements, design, user interfaces, reliability, security and project management. It carries a NCCRS credit recommendation for 3 semester credits.
Every lesson transcript is free on pages like this one, and the videos are free with a free UPI Study account. Enrolling adds a practice quiz after each lesson, the graded work and final exam that earn the credit, lifetime access, and an official transcript on completion. UPI Study has helped over 130,000 students with college credits. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
Enroll now → Course details Download the syllabus All Computer Science courses Every course with PRO →
Why take it here
Why students take Software Engineering with UPI Study
Where the credit goes
Universities that work with NCCRS
Software Engineering carries a NCCRS credit recommendation. These universities work with NCCRS; some are UPI Study's signed partners. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
Thomas Edison State UniversitySigned partner
University of the PeopleSigned partner
Charter Oak State CollegeSigned partner
Strayer UniversitySigned partner
Columbia Southern UniversitySigned partner
Indiana TechSigned partner
Penn StateWorks with NCCRS
Southern New Hampshire UniversityWorks with NCCRS
SUNYWorks with NCCRS
+many more cooperating universitiesFind my college →Find my college → Not listed? Ask Athena in the corner of this page, or book a 15-minute call.
FAQ
Questions students ask us
About Reliability Engineering: Definitions, Goals, and Getting Started
What is the definition of software reliability?
What is the difference between a fault, an error, and a failure?
How do you set a reliability target for a software system?
What is the main approach of reliability engineering?
About the Software Engineering course
How many college credits is Software Engineering?
How much does Software Engineering cost and what is included?
Which universities accept UPI Study credits?
How long does Software Engineering take?
How are the exams done?
How do my credits reach my college?
Ready for the full course? Earn 3 credits in Software Engineering.
103 video lessons, a quiz after each one, and the graded work that earns the credit. Recommended for credit by NCCRS.
3 credits · NCCRSEnroll →