What Makes a System Dependable? Core Properties and Goals

UPI Study › Courses › Software Engineering › Free lessons › Lesson 11.2 Free with a free account

What Makes a System Dependable? Core Properties and Goals

Software Engineering · Chapter 11: Requirements Validation, Dependability, and Formal MethodsSection 11.2 · lesson 73 of 1036 min · free with a free account

← Checking That Requirements Are Right: Validation TechniquesNext lesson: Applying Formal Methods to Software Development →

Earn 3 college credits for Software EngineeringRecommended for credit by NCCRS · Computer Science 301 · self-paced · one payment, lifetime access

In this lesson

5 attributes that together decide how far a system can be trusted.

  • Define dependability as a set of attributes
  • Define reliability, availability, safety, security, and maintainability
  • Distinguish the attributes that are easy to confuse
  • Explain how the attributes reinforce, and compete with, each other

Transcript

Everything said in the video, section by section (715 words). Read along, or search it.

Requirements Validation, Dependability, and Formal Methods

What Makes a System Dependable?

A well-designed interface determines whether people can use a system. It says nothing about whether that system can be trusted. This section introduces dependability, the umbrella property for that trust, and the five attributes that make it up.

Usable Isn't Trustworthy

Can the System Be Trusted?

Whether a system can be trusted depends on several things. Does it keep working correctly? Is it available when needed? Does it avoid causing harm? Does it resist misuse? And can it be kept in good repair? Dependability is the umbrella property covering all of this at once. It describes how far a system's users are justified in trusting the service it delivers. And a system earns that trust through several distinct qualities working together, not through any single measurement.

The 5 Attributes

5 Attributes Under 1 Umbrella

Dependability is made up of five core attributes. Reliability asks whether the system keeps producing correct results, like a calculation that returns the right answer every time. Availability asks whether it is up and ready when needed, like a website that rarely goes down. Safety asks whether it could cause harm, like a medical device that fails without injuring the patient. Security asks whether it can resist deliberate misuse. And maintainability asks whether it can be fixed and changed safely.

Easy to Confuse

Reliability vs. Availability

Two of these attributes are easy to confuse. Reliability, and availability. Reliability is the likelihood that a system keeps producing correct results over a period of use. Availability is the likelihood that it is up and ready to deliver service at any given moment. They are related, but distinct. A system can be reliable while running, yet be taken down for maintenance often. Or it can be available almost constantly, yet occasionally produce a wrong result.

Easy to Confuse

Safety vs. Security

Safety and security are also easy to confuse. Safety is a system's ability to operate without causing harm to people, property, or the environment. It is a special concern for medical devices, industrial control, and transportation. Security is a system's ability to protect itself and its data against deliberate, unauthorized access or misuse. So safety is about accidental harm, and security is about deliberate misuse. And maintainability, introduced earlier as keeping a system current, appears here as an attribute in its own right. How easily a system can be fixed shapes how dependable it stays.

Figure 11.2B

How the Attributes Pull on Each Other

The five attributes do not operate independently. They pull on one another. Maintainability reinforces three others. A system that is easy to fix gets its reliability problems, safety issues, and security vulnerabilities fixed faster. But security and availability can compete. Stronger security measures often add steps that slow down legitimate access, trading away some availability to gain protection.

Trade-offs

Compete or Reinforce

So some attributes genuinely compete, and others reinforce one another. Security measures can cost availability, by adding steps that slow legitimate users down. Maintainability strengthens several attributes at once, because problems get fixed faster once they are found. Dependable design means weighing these relationships deliberately, for the specific system in front of you. It does not mean assuming every attribute can simply be maximized together.

Apply It

A Strict New Login Step

Let's apply that. A team adds a strict new authentication step. Unauthorized access drops. But legitimate users are now locked out more often during peak hours. The team has traded some availability for stronger security. Whether that trade is acceptable depends on the system. Think of one where you would accept it, and one where you would not. What made the difference?

Key Terms

The Vocabulary of This Section

Let's lock in the key terms. Dependability is the degree to which a system's users are justified in trusting the service it delivers. It is made up of several related attributes. Reliability is the likelihood of correct results over a period of use. Availability is the likelihood the system is up and ready at a given moment. Safety is operating without causing harm to people, property, or the environment. Security is protection against deliberate, unauthorized access or misuse. And maintainability is how easily a system can be fixed, adapted, or improved over its lifetime.

Key Takeaways

What to Carry Forward

To pull this together. Dependability is an umbrella property covering five related attributes, not a single measurable quality. Reliability, meaning correct results, and availability, meaning being up and ready, are related but distinct. Safety concerns accidental harm, while security concerns deliberate misuse. Maintainability keeps a system dependable over its whole lifetime. And the attributes can compete or reinforce each other, so they have to be weighed deliberately.

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.

Compare: Software Engineering vs Systems Analysis

Why take it here

Why students take Software Engineering with UPI Study

How professional software gets builtSoftware Engineering covers how teams turn requirements into working, maintainable software: process models, agile, requirements, design, testing, reliability and project management. It is a core course in computer science and software degrees.
Credit at a fraction of the priceThe same 3 credits can cost $750 or more at a US college. Here it is one payment, self-paced, with lifetime access.
Finish your degree soonerTransfer credits reduce the courses you still owe, so you can graduate earlier or lighten a heavy semester.
Strengthen an applicationA completed college-level course on an official transcript shows admissions and scholarship committees you can do the work.
Study on your own scheduleNo start dates, no deadlines. Watch the lessons, practice, and take the final when you are ready.
130,000+students helped with college creditsACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.

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.

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 What Makes a System Dependable? Core Properties and Goals

What are the attributes of system dependability?
Dependability is the degree to which a system's users are justified in trusting the service it delivers, and it is made up of five core attributes. Reliability means producing correct results over a period of use. Availability means being up and ready when needed. Safety means operating without causing harm. Security means resisting deliberate misuse. Maintainability means the system can be fixed and changed safely. No single measurement captures dependability.
What is the difference between reliability and availability?
Reliability is the likelihood that a system keeps producing correct results over a period of use, while availability is the likelihood that it is up and ready to deliver service at a given moment. They are related but distinct. A system can be reliable while running yet often be taken down for maintenance, or it can be available almost constantly yet occasionally produce a wrong result.
What is the difference between safety and security in software systems?
Safety is a system's ability to operate without causing harm to people, property, or the environment, while security is its ability to protect itself and its data against deliberate, unauthorized access or misuse. Safety concerns accidental harm and is a special focus for medical devices, industrial control, and transportation. Security concerns deliberate attacks, such as someone trying to break in or misuse the system.
Can dependability attributes conflict with each other?
Yes, some attributes compete while others reinforce each other. Stronger security measures, such as a strict new login step, can reduce availability by slowing or locking out legitimate users. Maintainability, by contrast, strengthens reliability, safety, and security, because a system that is easy to fix gets its problems corrected faster. Dependable design means weighing these trade-offs deliberately for the specific system rather than assuming every attribute can be maximized.

About the Software Engineering course

How many college credits is Software Engineering?
Software Engineering (Computer Science 301) carries a NCCRS credit recommendation for 3 semester credits. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
How much does Software Engineering cost and what is included?
$250, paid once, with lifetime access: all 103 video lessons, a practice quiz after each, the graded work and final exam, and an official transcript when you finish. Students who want several courses choose UPI Study PRO instead.
Which universities accept UPI Study credits?
UPI Study has signed partner agreements with universities such as Thomas Edison State University, University of the People and Charter Oak State College, and works with universities such as Penn State, SNHU and SUNY. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities. Use "Find my college" on this page to check yours.
How long does Software Engineering take?
It is self-paced with no deadlines. The 103 lessons total about 11 hours of video; most students add reading and practice time and finish in a few weeks to a few months, on their own schedule.
How are the exams done?
Quizzes and assignments are online in the course. The final exam is taken online with proctoring; a person on the UPI Study team checks assignments, usually within two days.
How do my credits reach my college?
When the course shows 100% complete, request the official transcript from your dashboard. It is sent to the college you name, and you can send it to more than one. Check your college first with "Find my college" on this page, or ask Athena.

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.

Software Engineering
3 credits · NCCRS
Enroll →