CompSci331: Lecture 13 Quality Attributes in Software Architecture

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Which of the following factors determines the choice of architecture for a system?

  • The programming language used
  • Quality attributes (correct)
  • The size of the development team
  • Available budget

Software quality is exclusively about meeting the explicitly stated requirements of a system.

False (B)

What is a quality attribute?

A key, testable property of a system that shows how well the system meets the needs of its stakeholders.

Achieving a certain level of the selected architecture provides the _______ of achieving quality attributes.

<p>possibility</p>
Signup and view all the answers

Match the following system quality attributes with their descriptions:

<p>Availability = The system is providing service when expected to. Modifiability = Changes can be made at reasonable cost. Performance = The system responds quickly. Security = Authorized people can access the system services.</p>
Signup and view all the answers

Which of the following is an example of a business quality attribute?

<p>Time to market (A)</p>
Signup and view all the answers

All quality attributes of a system are directly influenced by the system's architecture.

<p>False (B)</p>
Signup and view all the answers

In the context of system qualities, what does 'interoperability' refer to?

<p>The degree to which two or more systems can usefully exchange meaningful information.</p>
Signup and view all the answers

The quality attribute that describes how easy it is for a user to do what is desired with a system is known as ______.

<p>usability</p>
Signup and view all the answers

Match example quality attributes with how they can be expressed in terms of system qualities discussed:

<p>Portability = Modifiability Maintainability = Modifiability Scalability = Modifiability Reliability = Availability</p>
Signup and view all the answers

What is the purpose of Quality Attribute Scenarios (QAS)?

<p>To provide an operational description of requirements for quality attributes. (B)</p>
Signup and view all the answers

Quality Attribute Scenarios are only available in concrete forms and cannot be generalized.

<p>False (B)</p>
Signup and view all the answers

In a Quality Attribute Scenario, what does the 'stimulus' component represent?

<p>A condition or event that needs to be considered, which occurs at some part of the system.</p>
Signup and view all the answers

In the context of Quality Attribute Scenarios, the '__________' defines what the artifact should do upon arrival of the stimulus.

<p>response</p>
Signup and view all the answers

Match the components of a Quality Attribute Scenario with their descriptions:

<p>Stimulus = Condition or event. Source of stimulus = Entity that generates stimulus. Artifact = Thing that is stimulated. Response measure = How to measure the response.</p>
Signup and view all the answers

In the 'fast' Quality Attribute Scenario discussing form submission, what component is identified as the 'artifact'?

<p>The system (C)</p>
Signup and view all the answers

In the 'fast' scenario for a travel booking system, a response measure could be 'the database is updated successfully'.

<p>False (B)</p>
Signup and view all the answers

In the 'reliable' Quality Attribute Scenario involving a CPU failure, what would a suitable response measure be?

<p>No loss of service.</p>
Signup and view all the answers

In a 'scalable' Quality Attribute Scenario, the stimulus is generally focused to support many more requests, and the artifact is usually the __________.

<p>system</p>
Signup and view all the answers

Match each part of Quality Attribute Scenario for "fast" to their values

<p>Stimulus = form submission Source of Stimulus = the user Artifact = the server Response = verify and record purchase</p>
Signup and view all the answers

When considering the 'secure' quality attribute, which of the following could be a 'source of stimulus'?

<p>A disillusioned youth (C)</p>
Signup and view all the answers

In a 'modifiable' scenario, the only acceptable stimulus is a request for increased hardware resources.

<p>False (B)</p>
Signup and view all the answers

What key factor changes between example "fast(1)" and "fast(2)"

<p>The artifact changes - between &quot;the system&quot; and &quot;the server&quot;</p>
Signup and view all the answers

In the Quality Attribute Scenario for reliability, the system ______ must be adequate to provide the right quality attributes.

<p>architecture</p>
Signup and view all the answers

Match the parts of the secure QAS to their descriptions

<p>Stimulus = Attempts to change details on web server Source of Stimulus = Disillusioned Employee Artifact = Server Response = Record access</p>
Signup and view all the answers

What should a well-defined quality attribute scenario provide?

<p>Operational description of requirements for quality attributes (D)</p>
Signup and view all the answers

Software quality is determined solely by whether or not the software functions as specified.

<p>False (B)</p>
Signup and view all the answers

What does 'modifiability' mean for a system's quality attributes?

<p>How easy it is to make changes to the system.</p>
Signup and view all the answers

The 'response ________' details how the response can be tested.

<p>measure</p>
Signup and view all the answers

Match main elements of a Quality Attribute Scenario to its description

<p>Artifact = The source of impact from the stimulus Response Measure = How to test if response is satisfactory Environment = Context where stimulus occurs Stimulus = Condition that needs to be considered</p>
Signup and view all the answers

Flashcards

Software Quality

How well the software meets requirements and user needs.

Quality Attribute

A measurable or testable property indicating how well a system meets stakeholder needs.

Availability

Ensuring the system provides its intended service when expected.

Modifiability

The ability to reasonably make changes at reasonable cost.

Signup and view all the flashcards

Performance

The speed and efficiency with which a system responds.

Signup and view all the flashcards

Security

Protecting authorized access to system services while preventing unauthorized access.

Signup and view all the flashcards

Testability

The degree to which a system can be tested to ensure correctness.

Signup and view all the flashcards

Usability

How easy it is for users to accomplish desired tasks with the system.

Signup and view all the flashcards

Interoperability

The degree to which systems can exchange information meaningfully.

Signup and view all the flashcards

Time to Market

Pressure to deliver a product quickly.

Signup and view all the flashcards

Cost and Benefit

Budget constraints and cost-effectiveness considerations.

Signup and view all the flashcards

System Lifetime

How long the system must remain useful.

Signup and view all the flashcards

Market

What the market considers important for a product.

Signup and view all the flashcards

Roll-out Schedule

The manner in which the system will be made available.

Signup and view all the flashcards

Integration with Legacy Systems

The need for the system to work with existing systems.

Signup and view all the flashcards

Stimulus

Condition or event that triggers a system consideration.

Signup and view all the flashcards

Source of Stimulus

The entity that generates a stimulus.

Signup and view all the flashcards

Environment

Conditions under which the stimulus occurs.

Signup and view all the flashcards

Artifact

The element that is stimulated.

Signup and view all the flashcards

Response

The system's action upon stimulus arrival.

Signup and view all the flashcards

Response Measure

How to measure the response to ensure satisfaction.

Signup and view all the flashcards

Quality Attribute Scenarios

Operational description of quality requirements

Signup and view all the flashcards

Study Notes

  • Quality requirements must motivate a buildable, reliable, secure, and fast web-based travel booking system.
  • The choice of architecture is determined by quality attributes, not just the system's functionality.
  • It's essential to know which quality attributes are important to determine the best or at least acceptable architecture.
  • Changing important quality attributes can potentially change the architecture considered most acceptable.
  • Software quality reflects how well the software meets requirements and aligns with user needs.
  • A quality attribute is a measurable or testable property of a system indicating how well the system meets the needs of stakeholders.
  • Quality encompasses the notion of how "good" a product is, by satisfying stakeholder needs.
  • A quality attribute represents a specific aspect of quality, integrity, correctness, reliability, maintainability, flexibility, reusability, and modularity.
  • There are many architectures for any given set of functional requirements and they differ on non-functional quality attributes.
  • The choice of architecture is crucial for realizing quality attributes, the choice gives the possibility of achieving quality attributes.
  • The choice of architecture does not guarantee achieving quality attributes and not all quality attributes are affected by architecture.

System Quality Attributes

  • Bass, Clements, and Kazman advocated for a certain set of system quality attributes:
  • Availability: The system provides the service it is supposed to provide when it is expected to
  • Modifiability: Reasonable changes can be made at a reasonable cost.
  • Performance: The system responds quickly enough and without using too many resources.
  • Security: Authorized people can access the system services while unauthorized people cannot.
  • Testability: The system can be artificially exercised to a degree that ensures confidence in correctness.
  • Usability: How easy it is for the user to do what is desired.
  • Interoperability: The degree to which two or more systems can usefully exchange meaningful information.

Business Quality Attributes

  • These can also affect the choice of architecture, though they are more difficult to operationalize:
  • Time to market: Is there pressure to deliver quickly?
  • Cost and benefit: What does the budget allow?
  • System lifetime: How long must the system be useful?
  • Market: What does the market consider important?
  • Roll-out schedule: In what manner will the system be made available?
  • Integration with legacy systems: Must the system have to fit with existing systems?
  • Most other system qualities can be expressed in terms of system quality attributes.
  • Portability can be expressed as modifiability and the system must be changed to run on different hardware/operating system.
  • Maintainability can be expressed as modifiability and the system must be changed to remove the invalid behavior.
  • Scaleability can be expressed as modifiability and the system must be changed to have more capacity
  • Operability can be expressed as usability and the system must be easy to use by being easy to learn.
  • Reliability can be expressed as availability and the system must not fail "too often".
  • Integrity can be expressed as security and the Data presented by the system must not be able to be changed in an unauthorized or unexpected manner.
  • Describing quality requirements needs to be operational.

Quality Attribute Scenarios

  • Quality Attribute Scenarios provide an operational description of the requirements for quality attributes.
  • These scenarios identify and categorize the necessary information for making such requirements operational.
  • Quality Attribute Scenarios are available in concrete and general forms.
  • Determine relevant general QAS and then refine into concrete QAS when using Quality Attribute Scenarios.
  • Stimulus: A condition or event that needs to be considered; it occurs at some part of the system.
  • Source of stimulus: Some entity generates a stimulus.
  • Environment: Conditions under which the stimulus occurs.
  • Artifact: The thing that is stimulated.
  • Response: What the artifact should do on arrival of the stimulus.
  • Response measure: How to measure the response to determine that it is satisfactory.

Fast (Example)

  • The stimulus is a form submission which comes from the user within normal working conditions.
  • The system loads and displays a page indicating a successful purchase.
  • The page should load in less than 2 seconds 95% of the time.
  • As another example, the stimulus can be a "form submission" from "the user".
  • In this case the environment is that the server is not overloaded and there is no network congestion.
  • The system loads and displays a page indicating a successful purchase.
  • The page is loaded in less than 2 seconds 95% of the time.
  • As yet one more example, the "stimulus" is a "form submission" and comes from "the server" within normal working conditions.
  • The server verifies and records the purchase and must process 1000 transactions per second.

Reliable (Example)

  • In one specific case, the stimulus is a single CPU failure from a random event within normal working conditions.
  • The server notifies the operator with no loss of service .
  • In another specific case, the stimulus is requests to a a certain service and comes from the user.
  • The artifact is the system which is receiving more than 1000 requests per second.
  • The system rejects the request, and reports to operator; and the operator must be notified within 5 minutes.

Secure (Example)

  • In one specific case, the stimulus is attempts to change details on the web server from a disillusioned youth.
  • The server is the artifact, exists in normal working conditions.
  • The response is to notify the operator with details, with no loss of service.
  • In another specific case, the stimulus is attempts to change details on the web server from a disillusioned employee.
  • The artifact is also the server, and they are in normal working conditions.
  • The system must record the access with the identity of person making change available.

Modifiable (Example)

  • In one specific case, the stimulus is a request for 100GB extra storage capacity from the system administrator.
  • The artifact is also the system, and they are in normal working conditions.
  • The system provides extra storage, with no loss of service.
  • In another case, the stimulus is a request for a new site made active with 10-100 users, the owner.
  • The artifact is "the system" in normal working conditions.
  • The new site is activated with the downtime taking no more than 48 hours.
  • System quality requirements can be expressed in terms of system quality attributes.
  • Quality requirements need to be presented in an operational manner to assess the quality of an architecture.
  • Quality Attribute Scenarios provide a means to specify quality requirements operationally.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser