Podcast
Questions and Answers
Which of the following factors determines the choice of architecture for a system?
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.
Software quality is exclusively about meeting the explicitly stated requirements of a system.
False (B)
What is a quality attribute?
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.
Achieving a certain level of the selected architecture provides the _______ of achieving quality attributes.
Match the following system quality attributes with their descriptions:
Match the following system quality attributes with their descriptions:
Which of the following is an example of a business quality attribute?
Which of the following is an example of a business quality attribute?
All quality attributes of a system are directly influenced by the system's architecture.
All quality attributes of a system are directly influenced by the system's architecture.
In the context of system qualities, what does 'interoperability' refer to?
In the context of system qualities, what does 'interoperability' refer to?
The quality attribute that describes how easy it is for a user to do what is desired with a system is known as ______.
The quality attribute that describes how easy it is for a user to do what is desired with a system is known as ______.
Match example quality attributes with how they can be expressed in terms of system qualities discussed:
Match example quality attributes with how they can be expressed in terms of system qualities discussed:
What is the purpose of Quality Attribute Scenarios (QAS)?
What is the purpose of Quality Attribute Scenarios (QAS)?
Quality Attribute Scenarios are only available in concrete forms and cannot be generalized.
Quality Attribute Scenarios are only available in concrete forms and cannot be generalized.
In a Quality Attribute Scenario, what does the 'stimulus' component represent?
In a Quality Attribute Scenario, what does the 'stimulus' component represent?
In the context of Quality Attribute Scenarios, the '__________' defines what the artifact should do upon arrival of the stimulus.
In the context of Quality Attribute Scenarios, the '__________' defines what the artifact should do upon arrival of the stimulus.
Match the components of a Quality Attribute Scenario with their descriptions:
Match the components of a Quality Attribute Scenario with their descriptions:
In the 'fast' Quality Attribute Scenario discussing form submission, what component is identified as the 'artifact'?
In the 'fast' Quality Attribute Scenario discussing form submission, what component is identified as the 'artifact'?
In the 'fast' scenario for a travel booking system, a response measure could be 'the database is updated successfully'.
In the 'fast' scenario for a travel booking system, a response measure could be 'the database is updated successfully'.
In the 'reliable' Quality Attribute Scenario involving a CPU failure, what would a suitable response measure be?
In the 'reliable' Quality Attribute Scenario involving a CPU failure, what would a suitable response measure be?
In a 'scalable' Quality Attribute Scenario, the stimulus is generally focused to support many more requests, and the artifact is usually the __________.
In a 'scalable' Quality Attribute Scenario, the stimulus is generally focused to support many more requests, and the artifact is usually the __________.
Match each part of Quality Attribute Scenario for "fast" to their values
Match each part of Quality Attribute Scenario for "fast" to their values
When considering the 'secure' quality attribute, which of the following could be a 'source of stimulus'?
When considering the 'secure' quality attribute, which of the following could be a 'source of stimulus'?
In a 'modifiable' scenario, the only acceptable stimulus is a request for increased hardware resources.
In a 'modifiable' scenario, the only acceptable stimulus is a request for increased hardware resources.
What key factor changes between example "fast(1)" and "fast(2)"
What key factor changes between example "fast(1)" and "fast(2)"
In the Quality Attribute Scenario for reliability, the system ______ must be adequate to provide the right quality attributes.
In the Quality Attribute Scenario for reliability, the system ______ must be adequate to provide the right quality attributes.
Match the parts of the secure QAS to their descriptions
Match the parts of the secure QAS to their descriptions
What should a well-defined quality attribute scenario provide?
What should a well-defined quality attribute scenario provide?
Software quality is determined solely by whether or not the software functions as specified.
Software quality is determined solely by whether or not the software functions as specified.
What does 'modifiability' mean for a system's quality attributes?
What does 'modifiability' mean for a system's quality attributes?
The 'response ________' details how the response can be tested.
The 'response ________' details how the response can be tested.
Match main elements of a Quality Attribute Scenario to its description
Match main elements of a Quality Attribute Scenario to its description
Flashcards
Software Quality
Software Quality
How well the software meets requirements and user needs.
Quality Attribute
Quality Attribute
A measurable or testable property indicating how well a system meets stakeholder needs.
Availability
Availability
Ensuring the system provides its intended service when expected.
Modifiability
Modifiability
Signup and view all the flashcards
Performance
Performance
Signup and view all the flashcards
Security
Security
Signup and view all the flashcards
Testability
Testability
Signup and view all the flashcards
Usability
Usability
Signup and view all the flashcards
Interoperability
Interoperability
Signup and view all the flashcards
Time to Market
Time to Market
Signup and view all the flashcards
Cost and Benefit
Cost and Benefit
Signup and view all the flashcards
System Lifetime
System Lifetime
Signup and view all the flashcards
Market
Market
Signup and view all the flashcards
Roll-out Schedule
Roll-out Schedule
Signup and view all the flashcards
Integration with Legacy Systems
Integration with Legacy Systems
Signup and view all the flashcards
Stimulus
Stimulus
Signup and view all the flashcards
Source of Stimulus
Source of Stimulus
Signup and view all the flashcards
Environment
Environment
Signup and view all the flashcards
Artifact
Artifact
Signup and view all the flashcards
Response
Response
Signup and view all the flashcards
Response Measure
Response Measure
Signup and view all the flashcards
Quality Attribute Scenarios
Quality Attribute Scenarios
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.