Podcast
Questions and Answers
Which of the following is a primary reason for organizing requirements into logical clusters?
Which of the following is a primary reason for organizing requirements into logical clusters?
- To better understand and manage the requirements. (correct)
- To simplify the process of writing test cases.
- To assign each requirement to a specific developer.
- To reduce the total number of requirements.
Classifying requirements by the source of the data is not an effective classification method.
Classifying requirements by the source of the data is not an effective classification method.
False (B)
What are Diagram Models used for in Requirements?
What are Diagram Models used for in Requirements?
Categorizing requirements
A Feature is a set of logically related requirements that provides a capability to the user and enables the satisfaction of a ______ objective.
A Feature is a set of logically related requirements that provides a capability to the user and enables the satisfaction of a ______ objective.
Match the components of a feature description:
Match the components of a feature description:
In the context of the 'Order Meals' feature, what is an example of a stimulus?
In the context of the 'Order Meals' feature, what is an example of a stimulus?
The FURPS+ model is exclusively used for classifying functional requirements.
The FURPS+ model is exclusively used for classifying functional requirements.
Name at least three categories covered by the FURPS+ model.
Name at least three categories covered by the FURPS+ model.
In the FURPS+ model, 'P' stands for ______, which describes how the system must behave with respect to time and resources.
In the FURPS+ model, 'P' stands for ______, which describes how the system must behave with respect to time and resources.
Match the FURPS+ categories with their descriptions:
Match the FURPS+ categories with their descriptions:
What does MTBF stand for within the Reliability category of the FURPS+ model?
What does MTBF stand for within the Reliability category of the FURPS+ model?
Non-functional requirements are primarily about what the system does, not how it does it.
Non-functional requirements are primarily about what the system does, not how it does it.
Besides product requirements, what are two other types of non-functional classifications?
Besides product requirements, what are two other types of non-functional classifications?
Requirements which specify that the delivered product must behave in a particular way e.g. execution speed, reliability, etc., are called ______ requirements.
Requirements which specify that the delivered product must behave in a particular way e.g. execution speed, reliability, etc., are called ______ requirements.
Match the non-functional requirement classifications with their descriptions:
Match the non-functional requirement classifications with their descriptions:
What is the main goal of requirements prioritization and negotiation?
What is the main goal of requirements prioritization and negotiation?
During stakeholder negotiations, it is unnecessary to define a priority system.
During stakeholder negotiations, it is unnecessary to define a priority system.
Why is it important to include a summary of each negotiation meeting within the requirements documentation?
Why is it important to include a summary of each negotiation meeting within the requirements documentation?
Requirements should be ______ based on their importance to the overall system.
Requirements should be ______ based on their importance to the overall system.
Match the prioritization techniques with their description
Match the prioritization techniques with their description
When prioritizing requirements, what three questions should be asked for each requirement/feature
When prioritizing requirements, what three questions should be asked for each requirement/feature
With cumulative voting, it is common to give 100 imaginary credits to allow stakeholders to distribute between requirements
With cumulative voting, it is common to give 100 imaginary credits to allow stakeholders to distribute between requirements
Explain what AHP process involves, in the context of requirments
Explain what AHP process involves, in the context of requirments
Requirements should be ______ based on cost and value to determine High/Med/Low priority
Requirements should be ______ based on cost and value to determine High/Med/Low priority
Match the approach with its description
Match the approach with its description
What complications might be experienced when dealing with requirements quantification
What complications might be experienced when dealing with requirements quantification
Political factors do not influence system requirements
Political factors do not influence system requirements
When stakeholder requirements conflict, what should be documented?
When stakeholder requirements conflict, what should be documented?
Stakeholders will ______ defend their own requirements and try to repress other conflicting requirements.
Stakeholders will ______ defend their own requirements and try to repress other conflicting requirements.
Match the conflict to its type
Match the conflict to its type
What are some causes of conflict?
What are some causes of conflict?
More aggression leads to more co-operation between stakeholders
More aggression leads to more co-operation between stakeholders
Negotiation requires what to find a settlement that satisfies all parties
Negotiation requires what to find a settlement that satisfies all parties
When participants appeal to outside sources, what is that called? ______
When participants appeal to outside sources, what is that called? ______
Match the Third Party Resolution technique to the descriptor
Match the Third Party Resolution technique to the descriptor
What is an advantage to identifying stakeholders' goals
What is an advantage to identifying stakeholders' goals
Capturing a static snapshot of goals in a system is ideal
Capturing a static snapshot of goals in a system is ideal
Are the following Goals?
Safe transportation and The system will be implemented in C++
Are the following Goals? Safe transportation and The system will be implemented in C++
______ goals can never be fully satisfied
______ goals can never be fully satisfied
Is credit card information accurate, a Goal or not a goal?
Is credit card information accurate, a Goal or not a goal?
What is the primary purpose of classifying and organizing requirements in software engineering?
What is the primary purpose of classifying and organizing requirements in software engineering?
Unstructured requirements should ideally be maintained in a single, flat list without any grouping to ensure maximum flexibility during development.
Unstructured requirements should ideally be maintained in a single, flat list without any grouping to ensure maximum flexibility during development.
According to the functional requirements classification, what are the common categories to classify requirements?
According to the functional requirements classification, what are the common categories to classify requirements?
In the context of requirements classification, a feature is defined as a set of logically related requirements that provides a capability to the user and enables the ______ of a business objective.
In the context of requirements classification, a feature is defined as a set of logically related requirements that provides a capability to the user and enables the ______ of a business objective.
Which of the following elements should a feature description include?
Which of the following elements should a feature description include?
According to the FURPS+ model, legal requirements are considered a part of 'Usability'.
According to the FURPS+ model, legal requirements are considered a part of 'Usability'.
What does the acronym MTBF stand for regarding the 'Reliability' category in the FURPS+ model?
What does the acronym MTBF stand for regarding the 'Reliability' category in the FURPS+ model?
In FURPS+ model, 'Performance' describes how the system must behave with respect to time and ______.
In FURPS+ model, 'Performance' describes how the system must behave with respect to time and ______.
Which non-functional classification focuses on requirements specifying how the delivered product must behave?
Which non-functional classification focuses on requirements specifying how the delivered product must behave?
During requirements prioritization, it is not essential to consider the importance of requirements to the overall system, as long as individual stakeholder needs are met.
During requirements prioritization, it is not essential to consider the importance of requirements to the overall system, as long as individual stakeholder needs are met.
Name three different examples of priorities when it comes to stakeholder negotiations on a project.
Name three different examples of priorities when it comes to stakeholder negotiations on a project.
During stakeholder negotiations, requirement conflicts need to be resolved through a process of ______.
During stakeholder negotiations, requirement conflicts need to be resolved through a process of ______.
What is the goal of 'Cost-Value Approach' in requirements prioritization?
What is the goal of 'Cost-Value Approach' in requirements prioritization?
When assessing the cost and value of requirements, using an absolute scale (e.g., dollar values) is typically easier to elicit than using relative values (e.g., less/more).
When assessing the cost and value of requirements, using an absolute scale (e.g., dollar values) is typically easier to elicit than using relative values (e.g., less/more).
What is the first step to do when using the Analytic Hierarchy Process (AHP)?
What is the first step to do when using the Analytic Hierarchy Process (AHP)?
In stakeholder negotiations, it is essential to ignore the requirements of stakeholders who have limited knowledge of the system to streamline the process.
In stakeholder negotiations, it is essential to ignore the requirements of stakeholders who have limited knowledge of the system to streamline the process.
According to Karl Deutsch, what is a main source of conflict? (Select all that apply)
According to Karl Deutsch, what is a main source of conflict? (Select all that apply)
Name two things that are considered a third party resolution
Name two things that are considered a third party resolution
A stakeholder objective for the system is a also known as ______.
A stakeholder objective for the system is a also known as ______.
Which of the following would be categorized as a goal? (Select all that apply)
Which of the following would be categorized as a goal? (Select all that apply)
Non-Functional requirements are soft or fuzzy and can be fully satisfied.
Non-Functional requirements are soft or fuzzy and can be fully satisfied.
What is the primary purpose of using goal models in the early stages of requirements elicitation?
What is the primary purpose of using goal models in the early stages of requirements elicitation?
Goal refinement involves expressing how a more abstract goal can be achieved by a set of more low-level ______.
Goal refinement involves expressing how a more abstract goal can be achieved by a set of more low-level ______.
Match the following terms with their definitions in the context of goal relationships:
Match the following terms with their definitions in the context of goal relationships:
Flashcards
Requirements Classification
Requirements Classification
Organizing requirements in a software requirements document.
Multiple Levels of Requirements
Multiple Levels of Requirements
Levels of related groups or clusters of unstructured requirements.
Feature
Feature
A set of logically related functional requirements providing a capability to the user.
Functional Requirements Classification
Functional Requirements Classification
Signup and view all the flashcards
FURPS+ Model
FURPS+ Model
Signup and view all the flashcards
Functionality
Functionality
Signup and view all the flashcards
Usability
Usability
Signup and view all the flashcards
Reliability
Reliability
Signup and view all the flashcards
Performance
Performance
Signup and view all the flashcards
Supportability
Supportability
Signup and view all the flashcards
Product Requirements
Product Requirements
Signup and view all the flashcards
Organizational Requirements
Organizational Requirements
Signup and view all the flashcards
External Requirements
External Requirements
Signup and view all the flashcards
Requirements Prioritization & Negotiation
Requirements Prioritization & Negotiation
Signup and view all the flashcards
Cost-Value Approach
Cost-Value Approach
Signup and view all the flashcards
Stakeholder disagreement
Stakeholder disagreement
Signup and view all the flashcards
Hierarchical Prioritization
Hierarchical Prioritization
Signup and view all the flashcards
Vague Knowledge
Vague Knowledge
Signup and view all the flashcards
Implicit Knowledge
Implicit Knowledge
Signup and view all the flashcards
Goal
Goal
Signup and view all the flashcards
Stakeholders
Stakeholders
Signup and view all the flashcards
Goal Model
Goal Model
Signup and view all the flashcards
Functional Goals
Functional Goals
Signup and view all the flashcards
Non-functional Goals
Non-functional Goals
Signup and view all the flashcards
Goal Refinement
Goal Refinement
Signup and view all the flashcards
Study Notes
- Week 5 discusses requirements classification, organisation, prioritization, negotiation, and stakeholder goals.
Requirements Classification and Organization
- Objective is defined as understanding how requirements are organized in a software requirements document.
- Unstructured requirements are organized into multiple levels of related groups or clusters.
- Functional and Non-Functional Requirements need to be linked and defined thoroughly.
- Diagram models are a visually appealing way of viewing all requirements to categorize.
- One way to classify is by subject or system area.
- System Architecture Model helps to identify sub-systems and associated requirements.
- Can also classify by source of data.
- It can also be by the type of requirements such as functional/non-functional.
Functional Requirements Classification
- An important step is organizing the requirements into logical clusters to understand and manage the large number of requirements.
- Requirements can be classified by categories that appear convenient.
- This includes the features, use cases, mode of operation, user class, responsible subsystem
- This makes understanding the product's intended capabilities easier.
- Effective to manage and prioritize large groups rather than single requirements.
Requirements Classification - Features
- Features are logically related (functional) requirements.
- This provides a capability to the user that satisfies a business objective.
- Description of a feature includes the name, its description and its priority
- Description also includes stimulus/response sequences and a list of associated functional requirements.
- Features include the name, description and priority, stimulus/response sequences, and a list of associated functional requirements.
- Order Meals is one example of a feature.
- As a feature, Order Meals involves the user to order meals.
- A cafeteria Patron who is verified can order meals to be delivered to a company location, or picked up in the cafeteria.
- A Patron can change a meal order until it has been prepared.
- Priority is High.
- The Stimulus example is, Patron requests to place an order for one or more meals.
- Response example is, System queries Patron for meal details, payment, and delivery instructions.
- Functional Requirements example is, to let a Patron, logged into the Cafeteria System, place an order for one or more meals.
- Should also confirm that Patron is registered for payroll deduction.
Non-Functional Requirements: FURPS+ Model
- A possible model to categorize the requirements is the FURPS+ Model.
- FURPS+ consists of: Functional, Usability, Reliability, Performance, Supportability.
- Supportability also includes: Implementation, Interface, Operations, Packaging, and Legal aspects.
FURPS+ Checklist
- This checklist is used as an aid when planning requirements elicitation events. Structured walkthroughs are held to verify that the requirements analysis and documentation covered all types of requirements.
- Requirements should cover all the FURPS+ categories.
FURPS+ Categories
- Functionality: Defines what the system must be able to do.
- Functionality includes features, security, and user requirements.
- Usability: Deals with requirements related to the user interface.
- Usability Includes user-friendliness, accessibility, online help, and visual design guidelines.
- Reliability: System's ability to perform specified routine and non-routine conditions for a specified period of time.
- MTBF (Mean Time Between Failures): Mean time between service failures of the same service.
- MTBSI (Mean Time Between System/Service Incidents): Mean time between failures (of any service).
- MTTR (Mean Time To Repair): Mean elapsed time to fix and restore a service from the time an incident occurs.
- Performance: Describes how the system must behave with respect to time and resources.
- Performance includes measures of speed, efficiency, availability, and accuracy.
- Metrics include response time, recovery time, start-up time, throughput, and resource use.
- Supportability: Requirements to monitor and maintain the system.
- Supportability Includes abilities to test, configure, install, and upgrade the system.
- Plus (+): Additional constraints on the system.
- It includes design, implementation, interface, and physical requirements.
- It also covers legal, compliance, regulatory, and copyright requirements and constraints.
Non-Functional Classifications
- Product requirements: Specifications for how the delivered product must behave.
- Organizational requirements: Consequences of organizational policies and procedures.
- It can include process standards, implementation requirements, etc.
- External requirements: Factors external to the system and its development process.
- It can include legislative and interoperability requirements.
Requirements Prioritization and Negotiation
- Prioritization is used to find requirements and resolve conflicts through negotiation.
- The two main stages involve prioritizing and finding and resolving conflicts using negotiation.
- Stakeholders usually meet to resolve differences and compromised
Requirements Prioritization and Negotiation Details
- Importance to the overall system is key when prioritizing requirements.
- An appropriate priority system is needed to classify requirements and specifications during stakeholder negotiations.
- Requirement conflicts need to be resolved through compromise.
- A summary of each negotiation meeting should be included within the requirements documentation.
Requirements Prioritization Notes
- Prioritization is needed select what to implement.
- Customers usually ask beyond reason and it's necessary balance time-to-market with functionality.
- To decide which features go into the release, for each requirement/feature, analyze
- Prioritization asks about how important is product to customer, costs, and risks involved.
- Prioritization has requirements to include or exclude.
- Some requirements must be included, and some should definitely be excluded.
- "Nice-to-haves", are the left over features that must be selected from.
Prioritization Techniques
- Analytical Hierarchy Process (AHP): N X (n-1)/2 at each hierarchy level.
- Cumulative Voting: the 1-Dollar test.
- Given 100 imaginary units ($, hrs, etc.) for distributing between requirements.
- Numerical Assignments: Assign requirements into groupings like critical, standard, and optional.
- Ranking can assign the most important requirements from 1 to n.
- An example of a prioritization technique is top-ten requirements.
Cost-Value Approach in Prioritization
- Calculate return on investment for what to implement.
- Measure the importance of the requirement for the project.
- Measure the relative cost of implementing an individual requirement.
- Balance Cost Value Tradeoff
Estimating Cost & Value
- Two approaches: Absolute Scale and Relative Values
- Absolute Scale provides dollar values, but requires much domain experience.
- Relative Values relies on ratings, but much easier to elicit
- This turns the entire process into a sorting problem.
Some Complications
- Quantifying is hard, as it's easier to compare, but hard to truly determine value amounts
- Requirements comparability is unlikely.
- e.g. are at different level of abstraction, different functionality for the customer, etc.
- Requirements are not independent and can depend on each other
- Stakeholders often are not consistent.
- Stakeholders also may not agree on direction assessments.
Hierarchical Prioritization
- Requirements can be grouped into a hierarchy such a goal tree or a NFR tree.
- Only comparisons between branches of a single node.
Analytical Hierarchy Process (AHP)
- AHP's equation: n x n matrix (for n requirements).
- Estimate the eigenvalues for each requirement using "averaging over normalized columns"
Plot ROI Graph
- Complete AHP process twice by estimating cost and estimated value.
- Use results to calculate ROI ratio:
Selection Criteria Notes
Return of Investment Ratio is not the only way to prioritize
Requirements Negotiation
- Interacting with stakeholders can be difficult due to vague or implicit knowledge
- Stakeholders may also have unrealistic demands or expectations.
- Inconsistent stakeholder input can also lead to ambiguity.
- This could lead to conflicting or redundant requirements.
- Political and Economic factors also influence.
- Business stakeholders, the economy, being bought out, and company restructuring do impact.
Requirement and Stakeholder Conflicts
- Stakeholders may request conflicting requirements and may not realize they are requesting conflicting requirements.
- Functional v non-functional Requirements are bound conflict.
- A stakeholder will be adamant about their requests, and try to suppress conflicting ones.
- Regular negotiations are held to come to a compromise.
- Stakeholders that are voted down may harm the process out of spite..
- Documentation of these incidents needs to be in a secure place for archiving purposes.
Conflicting Requirements
- Requirements are in conflict if you cannot reasonably implement them side by side.
- HR requesting age, but Data Privacy not wanting age to be captured can be in conflict.
Severity of Conflicts
- Severity of conflict occurs through mutually exclusive or interfering ideas.
Causes of Conflict
- Can be caused by competition of resources, differing preference and nuisances.
- Could come down to disagreeing on values, beliefs, differing opinions,
- Some examples are communication, structural, and personal conflicts.
Interesting Results about Conflicts
.
- Deviant behaviour and conflict in small group decision making is commonly found
- Increased aggression is more present when people are not able to communicate effectively
Basic Approaches in Conflict Resolutions
- Negotiation: Participants collaboratively explore to find the best settlement for both parties.
- This can be done through integrative behaviour and constructive negotiation.
- This is opposed to distributive/competitive negotiation.
- Competition is about maximizing gain regardless of impact on others.
Conflict Resolutions - Third Party
.
- Appeal to outside source: occurs with rule-book, authority figure, toss of a coin, etc.
- In third-party resolution, breakdown of either negotiation or competition as resolution methods.
- Judicial is a type, as cases are presented by each participant are taken into consideration.
- Extra-judicial is a resolution by factors other than cases presented.
- Arbitrary is a resolution such as tossing a coin.
Conflict Resolution - Bidding and Bargaining
.
- Bidding requires stating all desired terms.
- Bargaining requires searching for a satisfactory integration of bids.
Goals Analysis and Modeling
- The goal is the stakeholder objective for the system.
- Takes into consideration all aspects of the software, and it's environment.
- Stakeholders have interest and involvement in the system
- Customers, end users, system developers, system maintainers are stakeholders
- Goal model consists of a goal hierarchy and relates high-level goals and low-level system requirements.
- Goals derive from interactions with the stakeholders. Also, is disclosed in requirements, and analyzing similar / current systems.
Stakholder Goals
.
- Advantage of identifying this method requires high level intuitive reasoning.
- Explicit reasons for conflict is established.
- Disadvantage captures a static picture - what if goals change over time?
- Also can regress forever up (or down) the goal hierarchy
Example of goals
- Goal examples: Credit card information is kept private & is accurate, safe transportation.
- Non-example: System will be implemented in C++.
Goal Exercise
- An exercise to order list of goals from high to low of concern.
- An example is from timetable from a system
Types of Goals
- Functional (Hard) describes the system functionality
- Functional provides system functions and well defined criteria.
- Non-Functional include quality of life requirements (Soft/ Fuzzy).
- For a system, to describe desired system qualities
- This consists quality, reliability, accuracy, performance, security.
- This can be hard to define and satisfy fully.
Goal (Requirements) Categories
- It is broken up into what provides satisfaction, information or a stimulus/response.
Why Goal Models?
- Used for when requiring early elicitations for system.
- Good for understanding the "Why" and identify problems.
- Explores system solutions and done before Uml Modeling
- Goal models provide rationale for each set of given requirements.
- Also identifies stable information and guides requirement elaboration.
Stakeholders' Goals
- Focus on why a system is required to express the why is expressed as a set of stakeholder goals.
- Provides a way to refine the goals to reach specific requirements for the system.
- Involves to document, organize, and classify goals for evolution with elaboration and refinements/ alternatives.
Goal Analysis - Softgoals and Refining
- It's important to model softgoals using refinements for contributing factors
Goal Refinement
- Expresses how an abstract goal can be established by more low-level goals.
- Two types of Goal Refinement: AND and OR refinement.
Conflicts Conclusion
- Basic Approaches in Conflict Resolutions involves in collaborative exploration.
- This is resolved by Participants by attempting to find the best compromise that satisfies most parties.
- Bidding is commonly practice and is resolved in Bidding process.
Summary
- Topics discuss cover Requirements Classification and Prioritization, which leads to Conflicts and leads to Requirements Negotiation.
- At the final round stakeholders are considered by analyzing and developing goals.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.