Quality Attributes Flashcards

1
Q

What is a Quality Attribute

A

A quality attribute is a dimension of quality used to evaluate a software system.
✦   A.k.a., non-functional qualities

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quality Scenario Parts

A
Source of stimulus
Stimulus
Environment
Artifact
Response
Response measure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Source of stimulus

A

This is some entity (a human, a computer system, or any other actuator) that generated the stimulus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Stimulus

A

The stimulus is a condition that needs to be considered when it arrives at a system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Environment

A

The stimulus occurs within certain conditions. The system may be in an overload condition or may be running when the stimulus occurs, or some other condition may be true.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Artifact

A

Some artifact is stimulated. This may be the whole system or some pieces of it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Response

A

The response is the activity undertaken after the arrival of the stimulus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Response measure

A

When the response occurs, it should be measurable in some fashion so that the requirement can be tested.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Availability

A

· Availability is concerned with system failure and its associated consequences.
· A system failure occurs when the system no longer delivers a service consistent with its specification.
· Such a failure is observable by the system’s users—either humans or other systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Performance

A

· Performance is about timing. Events (interrupts, messages, requests from users, or the passage of time) occur, and the system must respond to them.
· One of the things that make performance complicated is the number of event sources and arrival patterns.
· A performance scenario begins with a request for some service arriving at the system. Satisfying the request requires resources to be consumed. While this is happening the system may be simultaneously servicing other requests.
· An arrival pattern for events may be characterized as either periodic or stochastic.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Security

A

· Security is a measure of the system’s ability to resist unauthorized usage while still providing its services to legitimate users.
· Security can be characterized as a system providing nonrepudiation, confidentiality, integrity, assurance, availability, and auditing.
1. Nonrepudiation is the property that a transaction (access to or modification of data or services) cannot be denied by any of the parties to it.
2. Confidentiality is the property that data or services are protected from unauthorized access.
3. Integrity is the property that data or services are being delivered as intended.
4. Assurance is the property that the parties to a transaction are who they purport to be.
5. Availability is the property that the system will be available for legitimate use.
6. Auditing is the property that the system tracks activities within it at levels sufficient to reconstruct them.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Modifiability

A

Modifiability is about the cost of change.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Testability

A

· Software testability refers to the ease with which software can be made to demonstrate its faults through testing.
· Testability refers to the probability that it will fail on its next test execution.
· For a system to be properly testable, it must be possible to control each component’s internal state and inputs and then to observe its outputs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Usability

A

Usability is concerned with how easy it is for the user to accomplish a desired task and the kind of user support the system provides. It can be broken down into the following areas:
· Learning system features. If the user is unfamiliar with a particular system or a particular aspect of it, what can the system do to make the task of learning easier?
· Using a system efficiently. What can the system do to make the user more efficient in its operation?
· Minimizing the impact of errors. What can the system do so that a user error has minimal impact?
· Adapting the system to user needs. How can the user (or the system itself) adapt to make the user’s task easier?
· Increasing confidence and satisfaction. What does the system do to give the user confidence that the correct action is being taken?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Integrability

A

Concerned about making separately developed components cooperate; and the costs and technical risks of anticipated and (to varying degrees) unanticipated future integration tasks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Availability Tactics

A
  • Fault Detection
    • Failover
    • Heartbeat
  • Fault Recovery
    • Preparation & Repair
    • Reintroduction
  • Fault Prevention
17
Q

Performance Tactics

A
  • Control Resource Demand

- Manage Resources

18
Q

Modifiability Tactics

A
  • Increase Cohesion
  • Reduce Coupling
  • Defer Binding
19
Q

Security Tactics

A
  • Detect Attacks
  • Resist Attacks
    • Identify, Authorize, & Authenticate Actors
  • React to Attacks
    • Revoke Access & Restrict Login
  • Recover from Attacks
20
Q

Testability Tactics

A
  • Control and Observe System State

- Limit Complexity

21
Q

Usability Tactics

A
  • Support User Initiative
    • Cancel, Undo, Pause/Resume
  • Support System Initiative
    • Task, User, & System Models
22
Q

Integrability Tactics

A
  • Limit Dependencies
  • Adapt
  • Coordinate