Professional Documents
Culture Documents
CMU-SE 214 Requirements Engineering - 2022S - Lecture Slides-9
CMU-SE 214 Requirements Engineering - 2022S - Lecture Slides-9
1.1 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Contents
1.2 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Functional vs. Non-Functional
1.3 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Example Of Non-Functional
•
ƒ Interface requirements
• How will the new system interface with its environment?
• User interfaces and ‘user-friendliness’.
• Interfaces with other systems.
ƒ Performance requirements
• Time/space bounds.
• Workloads, response time, throughput and available storage
space, e.g., ‘the system must handle 1,000 transactions per
second’.
1.4 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Attributes
•
ƒ Quality attributes are non-functional requirements used to
evaluate the performance of a system. These are sometimes named
"ilities" after the suffix many of the words share
1.5 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
What Do You Mean Quality?
1.6 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Attributes
Availability Maintainability
Efficiency Portability
Flexibility Reusability
Integrity Testability
Reliability Performance
Interoperability
Security
1.7 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Attributes
1.8 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Defining Quality Attributes
1.9 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Attributes
1.10 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Driven Requirements
1.11 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Attributes
1.12 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Example
Scenario Number: Banking ATM system # 15
Scenario Description: When system detects a wrong password, it will not allow access and
prompts user to enter another password within 1 second.
Business Goals: Security.
Relevant Quality: Security.
Attributes: Security, performance.
Scenario Components: A wrong password is entered by user.
Stimulus: A wrong password is entered.
Stimulus Source: Bank user, external to the system.
Environment: The system is on, ready to accept password.
Artifact (If Known): Data key entry.
Response: The system stops access.
Measure: One second.
Questions: How many times can user enter password?
Issues: Could be intruder, hacker trying to enter system, not real user.
1.13 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Attribute: Performance
1.14 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Attribute: Performance
1.15 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Attribute: Security
1.16 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Attribute: Portability
ƒ Definition:
The degree to which software running on one platform can
easily be converted to run on another.
ƒ Considerations:
• Portability is hard to quantify.
• It is hard to predict all other platforms the software will be
required to run.
• Portability is strongly affected by design choices such as choice
of languages, operating systems and tools that are universally
available and standardized.
• Portability requirements should be given priority for systems
that may have to run on different platforms in the near future.
1.17 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Attribute: Modifiability
ƒ Definition:
Modifiability is about the cost of making changes.
ƒ Considerations:
• What may be changed: Function, Hardware, System,
Software.
• Who will make the change: Developer, System, User.
• When will the change be made: During development or
maintenance.
• Changes can be classified according to:
Probability – How likely it will occur.
Frequency – How often it will occur.
Dependence – How does it impact others.
1.18 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Attribute: Reliability
1.20 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Quality Attribute: Usability
1.21 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Measure Usability
1.22 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Costs of Un-Usability
1.23 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Using Trends To Quantify Attributes
ƒ Past history and future trends can help define words like
‘improve’ and ‘reduce’ in requirement specification.
ƒ For example:
• Past data: 30,000 Hours
• Industry Trend: 50,000 Hours
• Goal for our system can be set between 30,000 and 50,000 Hours
1.24 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Attribute Trade-Off
1.26 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Attributes Vs. Design Criteria
ƒ Quality Attributes:
• These are customer-related concerns such as efficiency,
integrity, reliability, correctness, security, usability, etc.
ƒ Design Criteria
• These are development-oriented concerns such as anomaly,
completeness, consistency, traceability, visibility.
ƒ Quality Attributes and Design Criteria are related:
• Each attribute depends on a number of associated criteria:
ƒ Correctness depends on completeness, consistency,
traceability.
ƒ Verifiability depends on modularity, self-descriptiveness and
simplicity.
1.27 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Translating To Technical Spec.
Quality Attributes Types Likely Technical Information
1.28 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
Class Discussion
1.29 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen
References
1.31 © by
© by CMU
CMU Dao
Dao Nguyen
Nguyen