Requirements Engineering Overview
48 Questions
0 Views

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

What is a requirement in the context of requirement engineering?

  • A function, constraint, or other property that the system must provide. (correct)
  • An irrelevant characteristic of the system.
  • A function or property that the system must avoid.
  • A suggestion for future improvements.

Which factor makes obtaining good requirements challenging?

  • Stakeholders always being aligned.
  • Changing organizational policies.
  • Stakeholders’ lack of knowledge about their needs. (correct)
  • Well-defined scope of the project.

Who can be considered an external stakeholder?

  • Software engineers.
  • Government agencies. (correct)
  • Internal customers.
  • Project team members.

What is a primary role of Requirements Engineering?

<p>To categorize stakeholder information systematically. (C)</p> Signup and view all the answers

What is the objective of a feasibility study?

<p>To create acceptable reasons for software development (B)</p> Signup and view all the answers

What concern might the marketing group have regarding system requirements?

<p>Features that will excite potential markets. (D)</p> Signup and view all the answers

Which type of feasibility evaluates the technologies needed to meet customer requirements?

<p>Technical Feasibility (C)</p> Signup and view all the answers

Which of the following is NOT a reason why system requirements might change during the RE process?

<p>Consistency in stakeholder input. (A)</p> Signup and view all the answers

What does requirement elicitation primarily involve?

<p>Gathering requirements from stakeholders and existing processes (B)</p> Signup and view all the answers

Which stakeholder is primarily concerned with maintainability of software?

<p>Support engineer. (A)</p> Signup and view all the answers

Which step follows requirement elicitation in the process?

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

What is the goal of collaborating in the Requirements Engineering process?

<p>To achieve areas of commonality and resolve conflicts. (D)</p> Signup and view all the answers

What do functional requirements specifically describe?

<p>The behavior of the system correlated to its functionality. (C)</p> Signup and view all the answers

Which of the following is an example of execution qualities in non-functional requirements?

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

What is analyzed during requirement elicitation?

<p>Inconsistencies, defects, and omissions in requirements (D)</p> Signup and view all the answers

Why is economic feasibility important in software projects?

<p>It determines if the software can generate financial profits (C)</p> Signup and view all the answers

What is the main purpose of requirement management?

<p>To manage changing requirements throughout the development process. (A)</p> Signup and view all the answers

What is one of the considerations in operational feasibility?

<p>The range of the software's performance for customer needs (B)</p> Signup and view all the answers

Which category of non-functional requirements is focused on qualities like maintainability and scalability?

<p>Evolution qualities (D)</p> Signup and view all the answers

Which source can provide valuable insights for gathering requirements?

<p>Talking with business analysts and developers. (D)</p> Signup and view all the answers

Which of the following aspects are essential for communication effectiveness during the requirement process?

<p>Relevance and clarity of the posed questions (B)</p> Signup and view all the answers

Which of the following activities is NOT part of the requirement analysis process?

<p>Conducting performance tests on the system. (B)</p> Signup and view all the answers

What should be done with all sources of requirements gathered?

<p>They must be documented and reviewed. (C)</p> Signup and view all the answers

Which of the following descriptions fits non-functional requirements?

<p>They specify performance standards and operational criteria. (C)</p> Signup and view all the answers

What is meant by an atomic requirement?

<p>It should be at a very low level of detail. (B)</p> Signup and view all the answers

Why is a requirement with the same ID problematic?

<p>It can cause confusion in referencing. (A)</p> Signup and view all the answers

Which of the following is NOT a type of requirement quality?

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

What does a complete requirement entail?

<p>It should provide adequate context and instructions. (C)</p> Signup and view all the answers

Which of the following describes the quality 'testable' for a requirement?

<p>It should be easily verifiable. (D)</p> Signup and view all the answers

In terms of requirement quality, what does 'prioritized' refer to?

<p>Some requirements are more critical than others. (D)</p> Signup and view all the answers

What is the consequence of having a requirement that is inconsistent and ambiguous?

<p>It leads to confusion in implementation. (A)</p> Signup and view all the answers

What does it mean for a requirement to be traceable?

<p>It can be linked to its origin and further design. (B)</p> Signup and view all the answers

What is a key characteristic that every requirement should possess?

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

What does traceability in requirements refer to?

<p>Mapping business requirements to corresponding design requirements (B)</p> Signup and view all the answers

Which of the following is an example of a bad requirement?

<p>Maintain student information – mapped to BRD req ID? (C)</p> Signup and view all the answers

What is an important aspect when specifying courses for students?

<p>Courses must have clear distinctions between levels (A)</p> Signup and view all the answers

What would be a better phrasing for a requirement stating that students cannot take both undergraduate and postgraduate courses?

<p>Students will take undergraduate or postgraduate courses, but not both (B)</p> Signup and view all the answers

What should accompany every requirement to enhance clarity and usability?

<p>Requirement identifiers (C)</p> Signup and view all the answers

Why is having a requirement that states some courses are open to both undergraduate and postgraduate students problematic?

<p>It contradicts other established requirements (C)</p> Signup and view all the answers

Which phrase best describes a good requirement?

<p>It is clear and specific with defined outcomes (D)</p> Signup and view all the answers

What is an important aspect of mapping requirements in a project?

<p>Mapping establishes traceability among various project components. (D)</p> Signup and view all the answers

How should requirements be prioritized according to project needs?

<p>Requirements must be prioritized to determine the order of implementation. (D)</p> Signup and view all the answers

Why is the requirement 'each page of the system will load in an acceptable time frame' considered bad?

<p>It is vague and lacks measurable criteria. (C)</p> Signup and view all the answers

What characterizes a good requirement compared to a bad requirement?

<p>Good requirements are testable and specific. (C)</p> Signup and view all the answers

What is an example of a prioritized requirement from the provided content?

<p>Enroll courses. (D)</p> Signup and view all the answers

What does the term 'traceability' imply in requirements analysis?

<p>Connection between requirements, implementation, and testing. (D)</p> Signup and view all the answers

Which of the following is a critical benefit of making requirements testable?

<p>Testable requirements provide clear criteria for validation. (B)</p> Signup and view all the answers

What should be avoided when defining system performance requirements?

<p>Defining requirements that allow subjective interpretation. (D)</p> Signup and view all the answers

Flashcards

Requirement

A function, constraint, or other property a system must provide to meet user needs.

Requirement Engineering (RE)

The process of defining, managing, and testing requirements for a product.

Stakeholder

Anyone who benefits from a system, directly or indirectly.

Internal Stakeholder

Individuals within the organization developing the system.

Signup and view all the flashcards

External Stakeholder

Individuals outside the organization who are impacted by the system.

Signup and view all the flashcards

Multiple points of view

Understanding different perspectives on a system from various stakeholders (marketing, business, end-users, etc.).

Signup and view all the flashcards

Identifying Stakeholders

A critical first step in RE, it is essential to understand user needs, technical specifications, and business objectives.

Signup and view all the flashcards

Collaboration in RE

Reconciling conflicting stakeholder opinions to create consistent requirements.

Signup and view all the flashcards

Feasibility Study

A preliminary investigation to determine if a software solution is viable based on technical, operational, and economic factors.

Signup and view all the flashcards

Technical Feasibility

Evaluates if the needed technology exists, and if so, if it can be used within a budget and timeline to complete software.

Signup and view all the flashcards

Operational Feasibility

Assesses how well a proposed solution performs and fulfills business needs and customer requirements.

Signup and view all the flashcards

Economic Feasibility

Determines if a software solution will generate financial returns based on costs and benefits.

Signup and view all the flashcards

Requirement Elicitation and Analysis

The process of identifying, understanding, and documenting software requirements.

Signup and view all the flashcards

Software Requirement Specification

A formal document detailing the functional and non-functional requirements of the software.

Signup and view all the flashcards

Software Requirement Validation

The process of verifying that the software requirements meet the business needs.

Signup and view all the flashcards

Software Requirement Management

The process of managing software requirements throughout the software development lifecycle.

Signup and view all the flashcards

Functional Requirements

Describe how a system behaves related to its functionality.

Signup and view all the flashcards

Non-functional Requirements

Specify criteria for system operation, not specific behaviors.

Signup and view all the flashcards

Execution Qualities

Non-functional requirements observable during system runtime.

Signup and view all the flashcards

Evolution Qualities

Non-functional requirements related to the system's structure and future development.

Signup and view all the flashcards

Requirement Management

Managing changing requirements throughout system development.

Signup and view all the flashcards

Requirement Sources

Methods for gathering requirements, including knowledge transfer, analysis of previous systems, and bug reports.

Signup and view all the flashcards

Requirement Analysis

The process of studying requirements to understand the system needs.

Signup and view all the flashcards

Dynamic Requirements

Requirements that may change during the development process.

Signup and view all the flashcards

Atomic Requirement

A requirement that cannot be broken down into smaller, independent parts. Each requirement should focus on a single, specific functionality or constraint.

Signup and view all the flashcards

Uniquely Identified Requirement

Each requirement should have a unique identifier, such as a number or code, to easily reference and differentiate it from other requirements.

Signup and view all the flashcards

Complete Requirement

A requirement that provides all necessary information to understand its purpose, scope, and expected outcome. It should be clear, concise, and unambiguous.

Signup and view all the flashcards

Good Requirement: Example 2

Requirements with unique identifiers. "ID #1.1: Students can enroll in undergraduate courses." and "ID #1.2: Students can enroll in postgraduate courses." are uniquely identified and easily referenced.

Signup and view all the flashcards

Traceability in Software

The ability to track the relationship between different artifacts in a software project, such as requirements, code, and test cases.

Signup and view all the flashcards

Requirement Prioritization

Assigning a level of importance to requirements, indicating which ones are most crucial to implement first.

Signup and view all the flashcards

Bad Requirement Example

A requirement that is not well-defined, making it difficult to test or implement effectively.

Signup and view all the flashcards

Testable Requirement

A requirement that can be objectively verified through testing, providing clear criteria for success.

Signup and view all the flashcards

Why Testable Requirements Matter

Testable requirements help ensure the software meets the intended functionality and quality standards.

Signup and view all the flashcards

Converting Non-Testable Requirements

Reframing an unclear requirement into a specific, measurable, and testable statement.

Signup and view all the flashcards

Requirement Prioritization Example

Assigning different levels of priority to requirements based on their impact and urgency.

Signup and view all the flashcards

Requirement Analysis: The Goal

Analyzing requirements to understand the system's functionality, ensuring the software meets the intended needs.

Signup and view all the flashcards

What makes a good requirement?

A good requirement is clear, unambiguous, consistent, and traceable. It should leave no room for interpretation and be easy to connect to other requirements.

Signup and view all the flashcards

Requirement Consistency

Ensuring that different requirements don't contradict each other. For example, a student can't have both undergraduate and postgraduate courses if another requirement states some courses are open to both.

Signup and view all the flashcards

Requirement Ambiguity

A requirement is ambiguous if its meaning is unclear or open to multiple interpretations. This can lead to confusion and errors during development.

Signup and view all the flashcards

Requirement Traceability

Connecting requirements across different levels (e.g., business, architectural, design). This ensures that each requirement is linked to its origin and purpose.

Signup and view all the flashcards

Why is traceability important?

Traceability helps ensure that all requirements are addressed during the software development process. It also makes it easier to understand the impact of changes on the system.

Signup and view all the flashcards

Bad vs. Good Requirements

A bad requirement lacks clarity, consistency, or traceability. A good requirement is specific, unambiguous, and well-connected to other requirements.

Signup and view all the flashcards

What is requirement ID?

Requirement ID is a unique identifier assigned to each requirement. It helps track and reference specific requirements throughout the development process.

Signup and view all the flashcards

How to improve a bad requirement?

Rewrite the requirement to make it clear, consistent, and traceable. Add details, remove ambiguity, and connect it to other related requirements.

Signup and view all the flashcards

Study Notes

Requirement Engineering

  • Requirements are functions, constraints, or other properties a system must have to meet its intended user(s)' needs.
  • Requirement engineering is the systematic process of defining, managing, and testing requirements for a product.
  • Stakeholders don't always know what they want, express needs differently, have conflicting needs, and requirements can change throughout the development process.

Why Getting Good Requirements Is Hard

  • Stakeholders may not know their exact needs.
  • Stakeholders express requirements using their own terms.
  • Different stakeholders may have conflicting requirements.
  • Organizational and political factors may influence the system's requirements.
  • Requirements change during the requirement engineering (RE) process. Stakeholders may emerge, or business environments change.

Initiating Requirements Engineering Process

  • Identify stakeholders - anyone benefiting directly or indirectly from the system.
  • Internal stakeholders include top management, project team members, managers, peers, resource managers, and internal customers.
  • External stakeholders include external customers, government, contractors, subcontractors, and suppliers.
  • Examples include business managers, project managers, marketing, software engineers, support engineers, end-users, and consultants.

Recognizing Multiple Points of View

  • Marketing focuses on features and functions to excite the market.
  • Business managers prioritize features within the budget and meeting market needs.
  • End-users need a user-friendly system.
  • Software engineers consider infrastructure support.
  • Support engineers focus on software maintainability.

Working Towards Collaboration

  • Requirement engineers identify commonalities and conflicts in stakeholder needs.
  • Business managers or senior technologists may make final decisions.

Asking the First Questions

  • Who initiated the request?
  • Who will use the solution?
  • What is the economic benefit of a successful solution?
  • Are there other possible solutions?

Asking the Next Set of Questions

  • What business problems will the solution address?
  • What is the business environment where the solution will be used?
  • Will performance or productivity issues affect the solution?

Asking the Final Set of Questions

  • Are the questions relevant?
  • Are there too many questions?
  • Can anyone else provide additional information?
  • Are there questions that should be asked?

Requirement Engineering Process

  • Feasibility Study
  • Requirement Elicitation and Analysis
  • Software Requirement Specification
  • Software Requirement Validation
  • Software Requirement Management

Feasibility Study

  • The goal is to determine the reasons for developing the software and if it is acceptable, flexible to changing needs, and conforms to established standards.
  • Types of Feasibility:
    • Technical feasibility: evaluates the current technologies needed to accomplish customer requirements within the time and budget.
    • Operational feasibility: assesses how well the required software meets the needs of its users in solving business problems and satisfying customer requirements.
    • Economic feasibility: determines whether the software will generate a sufficient return on investment for the organization.

Requirement Elicitation and Analysis

  • Gathering requirements from the customers and existing systems.
  • Identify inconsistencies, defects, and omissions in requirements.
  • Resolve conflicts in requirements.

Software Requirement Specification

  • A document created by software analysts based on requirements gathered from various sources.
  • Written in technical language for understanding by the development team.
  • Include modeling techniques like ER diagrams, DFDs, function decomposition diagrams, and data dictionaries.

Software Requirement Validation

  • After requirement specifications are developed, the requirements are validated.
  • The user(s) might request illegal or impossible solutions.
  • Experts might misinterpret user needs.
  • Validate that Requirements can be implemented practically.
  • Validate that requirements align with software functionality and design.
  • Identify and resolve any ambiguous requirements.
  • Ensure requirements are complete.

Requirements Validation Techniques

  • Requirements reviews/inspections: systematic manual analysis of requirements.
  • Prototyping: using an executable model of the system to check requirements.
  • Test-case generation: developing tests to check testability of requirements.
  • Automated consistency analysis: checking for consistency in structured requirements descriptions.

Classification of Requirements

  • Business Requirements: high-level statements of goals, objectives, project needs.
  • User Requirements: expectations associated with the solution.
  • System Requirements: characteristics of the solution that will satisfy business needs.
    • Functional requirements
    • Nonfunctional requirements
  • Software Requirements:
    • Functional requirements, what system does
    • Nonfunctional requirements, system qualities

Other Sources of Requirements

  • Knowledge transfer from colleagues/employees working on the project
  • Project discussions with business analysts, product managers, project leads, and developers
  • Analyze previous system versions
  • Analyze past bug reports
  • Study installation guides
  • Leverage domain/industry knowledge.
  • Document, review, and share requirements with stakeholders.

Software Requirement Management

  • Managing changing requirements during the requirements engineering process.
  • New requirements emerge as business needs change.
  • Priorities of requirements may change.
  • The system's business/technical environment may change.

How to Analyze Requirements

  • Atomic: requirements are expressed in the smallest possible detail.
  • Uniquely identified: each requirement has a unique identifier.
  • Complete: requirements include all necessary information.
  • Consistent and unambiguous: requirements are free from contradictions and clearly defined.
  • Prioritized: requirements are ordered by importance.
  • Traceable: requirements can be linked to other products, specifications, and test cases.
  • Testable: requirements can be verified through testing.

Studying That Suits You

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

Quiz Team

Related Documents

Description

This quiz explores the concept of requirements engineering, a critical process in software development that involves defining, managing, and testing system requirements. It highlights challenges faced in gathering effective requirements from various stakeholders and the impact of changing organizational needs.

More Like This

Requirements Engineering Quiz
40 questions
Requirements Engineering Overview
5 questions
Requirements Engineering Overview
24 questions
Use Quizgecko on...
Browser
Browser