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.</p> Signup and view all the answers

    What is the objective of a feasibility study?

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

    What concern might the marketing group have regarding system requirements?

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

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

    <p>Technical Feasibility</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.</p> Signup and view all the answers

    What does requirement elicitation primarily involve?

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

    Which stakeholder is primarily concerned with maintainability of software?

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

    Which step follows requirement elicitation in the process?

    <p>Requirement Specification</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.</p> Signup and view all the answers

    What do functional requirements specifically describe?

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

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

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

    What is analyzed during requirement elicitation?

    <p>Inconsistencies, defects, and omissions in requirements</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</p> Signup and view all the answers

    What is the main purpose of requirement management?

    <p>To manage changing requirements throughout the development process.</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</p> Signup and view all the answers

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

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

    Which source can provide valuable insights for gathering requirements?

    <p>Talking with business analysts and developers.</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</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.</p> Signup and view all the answers

    What should be done with all sources of requirements gathered?

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

    Which of the following descriptions fits non-functional requirements?

    <p>They specify performance standards and operational criteria.</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.</p> Signup and view all the answers

    Why is a requirement with the same ID problematic?

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

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

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

    What does a complete requirement entail?

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

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

    <p>It should be easily verifiable.</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.</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.</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.</p> Signup and view all the answers

    What is a key characteristic that every requirement should possess?

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

    What does traceability in requirements refer to?

    <p>Mapping business requirements to corresponding design requirements</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?</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</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</p> Signup and view all the answers

    What should accompany every requirement to enhance clarity and usability?

    <p>Requirement identifiers</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</p> Signup and view all the answers

    Which phrase best describes a good requirement?

    <p>It is clear and specific with defined outcomes</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.</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.</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.</p> Signup and view all the answers

    What characterizes a good requirement compared to a bad requirement?

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

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

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

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

    <p>Connection between requirements, implementation, and testing.</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.</p> Signup and view all the answers

    What should be avoided when defining system performance requirements?

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

    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

    IREB Kapitel 4
    80 questions
    Requirements Engineering Quiz
    40 questions
    Use Quizgecko on...
    Browser
    Browser