Requirements Classification and Organization

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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.

False (B)

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.

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

Match the components of a feature description:

<p>Name of feature = A clear identifier for the feature, e.g., Spell check. Description and Priority = Details about what the feature does and its importance. Stimulus/Response Sequences = The interactions and reactions related to the feature. List of associated functional requirements = The detailed functionalities required to implement the feature.</p> Signup and view all the answers

In the context of the 'Order Meals' feature, what is an example of a stimulus?

<p>The patron requesting to change a meal order. (C)</p> Signup and view all the answers

The FURPS+ model is exclusively used for classifying functional requirements.

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

Name at least three categories covered by the FURPS+ model.

<p>Functionality, Usability, Reliability</p> Signup and view all the answers

In the FURPS+ model, 'P' stands for ______, which describes how the system must behave with respect to time and resources.

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

Match the FURPS+ categories with their descriptions:

<p>Functionality = Defines what the system must be able to do. Usability = Related to user interface and user-friendliness. Reliability = The ability of the system to perform under specified conditions. Performance = How the system behaves with respect to time and resources.</p> Signup and view all the answers

What does MTBF stand for within the Reliability category of the FURPS+ model?

<p>Mean Time Between Failures (B)</p> Signup and view all the answers

Non-functional requirements are primarily about what the system does, not how it does it.

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

Besides product requirements, what are two other types of non-functional classifications?

<p>Organizational, External</p> Signup and view all the answers

Requirements which specify that the delivered product must behave in a particular way e.g. execution speed, reliability, etc., are called ______ requirements.

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

Match the non-functional requirement classifications with their descriptions:

<p>Product requirements = Specify how the delivered product must behave. Organizational requirements = Consequence of organizational policies and procedures. External requirements = Arise from factors external to the system and development process.</p> Signup and view all the answers

What is the main goal of requirements prioritization and negotiation?

<p>To prioritize requirements and resolve conflicts through negotiation. (B)</p> Signup and view all the answers

During stakeholder negotiations, it is unnecessary to define a priority system.

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

Why is it important to include a summary of each negotiation meeting within the requirements documentation?

<p>Record Keeping</p> Signup and view all the answers

Requirements should be ______ based on their importance to the overall system.

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

Match the prioritization techniques with their description

<p>Cost-Value Approach = Sorting requirements by cost/value Sorting Requirements = Sorting Requirements by cost/value What If? = Visualizing differences in priority</p> Signup and view all the answers

When prioritizing requirements, what three questions should be asked for each requirement/feature

<p>How important is this to the customer,How much will it cost to implement, How risky will it be to attempt to build it (A)</p> Signup and view all the answers

With cumulative voting, it is common to give 100 imaginary credits to allow stakeholders to distribute between requirements

<p>True (A)</p> Signup and view all the answers

Explain what AHP process involves, in the context of requirments

<p>Comparing requirements</p> Signup and view all the answers

Requirements should be ______ based on cost and value to determine High/Med/Low priority

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

Match the approach with its description

<p>Absolute Scale = Requires much domain experience Relative Scale = Much easier to elicit</p> Signup and view all the answers

What complications might be experienced when dealing with requirements quantification

<p>Hard to quantify differences, Not all requirements comparable, Requirements may not be independent, Stakeholders may not be consistent, Stakeholders might not agree (A)</p> Signup and view all the answers

Political factors do not influence system requirements

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

When stakeholder requirements conflict, what should be documented?

<p>All conflicts and decisions</p> Signup and view all the answers

Stakeholders will ______ defend their own requirements and try to repress other conflicting requirements.

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

Match the conflict to its type

<p>Mutually Exclusive = Cannot exist together Interfering = Impacting other priorities non-interfering = Does not impact, or is independent</p> Signup and view all the answers

What are some causes of conflict?

<p>control over resources, preferences and nuisances , values, beliefs , the nature of the relationship between the parties (C)</p> Signup and view all the answers

More aggression leads to more co-operation between stakeholders

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

Negotiation requires what to find a settlement that satisfies all parties

<p>collaborative exploration</p> Signup and view all the answers

When participants appeal to outside sources, what is that called? ______

<p>third part resolution</p> Signup and view all the answers

Match the Third Party Resolution technique to the descriptor

<p>Judicial = cases presented, taken into account Extra-Judicial = decision is determined using other factors Arbitrary = Random choice</p> Signup and view all the answers

What is an advantage to identifying stakeholders' goals

<p>Reasonably intuitive, Explicit declaration of goals provides sound basis for conflict resolution (B)</p> Signup and view all the answers

Capturing a static snapshot of goals in a system is ideal

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

Are the following Goals? Safe transportation and The system will be implemented in C++

<p>Yes, no</p> Signup and view all the answers

______ goals can never be fully satisfied

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

Is credit card information accurate, a Goal or not a goal?

<p>Accurate = Goal</p> Signup and view all the answers

What is the primary purpose of classifying and organizing requirements in software engineering?

<p>To better understand and manage a large number of requirements (D)</p> Signup and view all the answers

Unstructured requirements should ideally be maintained in a single, flat list without any grouping to ensure maximum flexibility during development.

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

According to the functional requirements classification, what are the common categories to classify requirements?

<p>Features, Use cases, Mode of operation, User class, Responsible subsystem</p> Signup and view all the answers

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.

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

Which of the following elements should a feature description include?

<p>Name of feature, description and priority, stimulus/response sequences, and a list of associated functional requirements (B)</p> Signup and view all the answers

According to the FURPS+ model, legal requirements are considered a part of 'Usability'.

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

What does the acronym MTBF stand for regarding the 'Reliability' category in the FURPS+ model?

<p>Mean Time Between Failures</p> Signup and view all the answers

In FURPS+ model, 'Performance' describes how the system must behave with respect to time and ______.

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

Which non-functional classification focuses on requirements specifying how the delivered product must behave?

<p>Product requirements (D)</p> Signup and view all the answers

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.

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

Name three different examples of priorities when it comes to stakeholder negotiations on a project.

<p>Critical, High, Baseline, Low, Utility</p> Signup and view all the answers

During stakeholder negotiations, requirement conflicts need to be resolved through a process of ______.

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

What is the goal of 'Cost-Value Approach' in requirements prioritization?

<p>To analyze requirements based on cost/value (B)</p> Signup and view all the answers

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).

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

What is the first step to do when using the Analytic Hierarchy Process (AHP)?

<p>Create a matrix comparing requirements (D)</p> Signup and view all the answers

In stakeholder negotiations, it is essential to ignore the requirements of stakeholders who have limited knowledge of the system to streamline the process.

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

According to Karl Deutsch, what is a main source of conflict? (Select all that apply)

<p>control over resources (B), disagreement over belief (D)</p> Signup and view all the answers

Name two things that are considered a third party resolution

<p>the rule-book, a figure of authority, or the toss of a coin.</p> Signup and view all the answers

A stakeholder objective for the system is a also known as ______.

<p>a goal</p> Signup and view all the answers

Which of the following would be categorized as a goal? (Select all that apply)

<p>Highly reliability (A), Credit card information is accurate (B), Safe transportation (D)</p> Signup and view all the answers

Non-Functional requirements are soft or fuzzy and can be fully satisfied.

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

What is the primary purpose of using goal models in the early stages of requirements elicitation?

<p>To identify and define problems</p> Signup and view all the answers

Goal refinement involves expressing how a more abstract goal can be achieved by a set of more low-level ______.

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

Match the following terms with their definitions in the context of goal relationships:

<p>Helps (+) = Achievement of one goal contributes positively to the achievement of another goal. Hurts (-) = Achievement of one goal negatively impacts the achievement of another goal. Makes (++) = Achievement of one goal guarantees the achievement of another goal. Breaks (--) = Achievement of one goal prevents the achievement of another goal.</p> Signup and view all the answers

Flashcards

Requirements Classification

Organizing requirements in a software requirements document.

Multiple Levels of Requirements

Levels of related groups or clusters of unstructured requirements.

Feature

A set of logically related functional requirements providing a capability to the user.

Functional Requirements Classification

Classifying requirements by categories such as features, use cases, or modes of operation.

Signup and view all the flashcards

FURPS+ Model

A model for categorizing non-functional requirements.

Signup and view all the flashcards

Functionality

Defines what the system must be able to do.

Signup and view all the flashcards

Usability

Requirements related to the user interface.

Signup and view all the flashcards

Reliability

The ability of the system to perform under specified conditions.

Signup and view all the flashcards

Performance

Describes how the system must behave with respect to time and resources.

Signup and view all the flashcards

Supportability

Requirements related to the ability to monitor and maintain the system.

Signup and view all the flashcards

Product Requirements

Specify that the delivered product must behave in a particular way.

Signup and view all the flashcards

Organizational Requirements

Consequence of organizational policies and procedures.

Signup and view all the flashcards

External Requirements

Arise from factors external to the system and its development process.

Signup and view all the flashcards

Requirements Prioritization & Negotiation

Prioritizing requirements and resolving conflicts through negotiation.

Signup and view all the flashcards

Cost-Value Approach

Assessing each requirement's value and cost.

Signup and view all the flashcards

Stakeholder disagreement

Differences in cost/value assessment for different types of stakeholders.

Signup and view all the flashcards

Hierarchical Prioritization

Prioritizing by grouping requirements into a hierarchy.

Signup and view all the flashcards

Vague Knowledge

Conflicts between stakeholders might arise due to vague stakeholder knowledge.

Signup and view all the flashcards

Implicit Knowledge

Expressing ideas with implicit knowledge

Signup and view all the flashcards

Goal

Goal: A stakeholder objective for the system.

Signup and view all the flashcards

Stakeholders

Anyone who has an interest in the system.

Signup and view all the flashcards

Goal Model

Hierarchy relating high-level goals to low-level system requirements.

Signup and view all the flashcards

Functional Goals

Describe functions the system will perform with well defined criteria for satisfaction.

Signup and view all the flashcards

Non-functional Goals

Cannot really be fully satisfied that describe desired system qualities.

Signup and view all the flashcards

Goal Refinement

Expressing how a more abstract goal can be established.

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.

Quiz Team

Related Documents

More Like This

Requirements Engineering
16 questions
Requirements Modelling Steps
40 questions
Software Requirements Analysis Chapter 2
47 questions
Use Quizgecko on...
Browser
Browser