Software Requirements Engineering
40 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 defines functional requirements in software development?

  • They outline non-functional attributes such as usability and reliability.
  • They detail the features and functions the system must provide. (correct)
  • They specify the monetary costs associated with the project.
  • They describe how well the system performs under load.
  • Which of the following best describes non-functional requirements?

  • They define how a system performs and behaves rather than what it does. (correct)
  • They are requirements that are not related to user experience.
  • They can be considered as part of the system's functional requirements.
  • They are measurable characteristics of a system's functionality.
  • What is one of the potential risks mentioned in managing software requirements?

  • Misunderstanding the business context of the software. (correct)
  • Overly specific functional requirements.
  • Too many technical specifications.
  • Clarity in communication with customers.
  • What does the 'moving target problem' refer to in software development?

    <p>Changes in requirements during the development process.</p> Signup and view all the answers

    Why is requirement elicitation considered a difficult stage?

    <p>Customers often have vague ideas of what they need.</p> Signup and view all the answers

    What is meant by 'requirement iterations' in software development?

    <p>An iterative process of elicitation, specification, and validation.</p> Signup and view all the answers

    How can changes in requirements affect software projects?

    <p>They can uncover new risks or opportunities.</p> Signup and view all the answers

    What role does communication play during the requirement elicitation process?

    <p>Continuous communication with customers is crucial.</p> Signup and view all the answers

    What do functional requirements primarily describe?

    <p>Intended behaviors of a system</p> Signup and view all the answers

    Why are non-functional requirements essential for a software system?

    <p>They specify quality attributes that ensure usability.</p> Signup and view all the answers

    Which of the following is a characteristic of functional requirements?

    <p>They can be tested at different levels of testing.</p> Signup and view all the answers

    What is one potential issue with imprecise non-functional requirements?

    <p>They may be difficult to verify.</p> Signup and view all the answers

    How do functional requirements relate to the interactions between a system and its environment?

    <p>They detail the interactions and specific inputs.</p> Signup and view all the answers

    Which of the following statements correctly describes the purpose of non-functional requirements?

    <p>They are quantifiable measures of product performance.</p> Signup and view all the answers

    In a Patient Management System, what does a functional requirement entail regarding appointment lists?

    <p>Searching through the appointment lists of clinics.</p> Signup and view all the answers

    What is a key distinction between functional and non-functional requirements?

    <p>Functional requirements indicate what actions a system must perform.</p> Signup and view all the answers

    Which aspect does usability primarily relate to in the context of non-functional requirements?

    <p>System's ease of use for individuals</p> Signup and view all the answers

    What characteristic distinguishes functional requirements from non-functional requirements?

    <p>Functional requirements describe system functionality, while non-functional requirements describe system properties.</p> Signup and view all the answers

    Why is it important to quantify non-functional requirements?

    <p>To avoid subjective descriptions and facilitate measurement</p> Signup and view all the answers

    At what stage of system testing are non-functional requirements typically assessed?

    <p>At the final system testing stage</p> Signup and view all the answers

    Which type of constraints does the term 'design constraints' refer to?

    <p>Technical limitations imposed by the development environment</p> Signup and view all the answers

    What is a critical factor in measuring non-functional requirements?

    <p>The operating conditions under which requirements must be satisfied</p> Signup and view all the answers

    When quantifying a non-functional requirement regarding ease of use, what must be specified?

    <p>The maximum number of training hours required</p> Signup and view all the answers

    Which of the following is considered a non-functional requirement?

    <p>The system shall process transactions in less than 2 seconds</p> Signup and view all the answers

    What does the term 'Mean time to failure (MTTF)' refer to in software reliability testing?

    <p>Average time between failures of a system</p> Signup and view all the answers

    Which of the following is NOT a measure of software reliability testing?

    <p>Average response time for user input</p> Signup and view all the answers

    What is meant by 'down time' in the context of reliability testing?

    <p>The duration of operational failures within a year</p> Signup and view all the answers

    In security testing, which ability is primarily tested?

    <p>Resistance to unauthorized access</p> Signup and view all the answers

    Which metric reflects the success of security testing?

    <p>Successful penetrations per year</p> Signup and view all the answers

    What is a critical reliability factor indicated by the precision of calculations metric?

    <p>Acceptable margin of error in calculations</p> Signup and view all the answers

    Which of the following is a key aspect of security testing in hostile environments?

    <p>Continuity of service during denial of service attacks</p> Signup and view all the answers

    What does 'attack surface exposure' measure in security testing metrics?

    <p>Potential entry points for attackers</p> Signup and view all the answers

    What is the primary goal of vulnerability testing?

    <p>To identify and mitigate security weaknesses</p> Signup and view all the answers

    Which of the following is not a method of vulnerability testing?

    <p>Load balancing testing</p> Signup and view all the answers

    What does throughput measure in performance testing?

    <p>Amount of transactions processed in a given time</p> Signup and view all the answers

    Which performance testing metric indicates the maximum time to respond to a transaction request?

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

    What is the purpose of stress testing?

    <p>To check system performance under extreme conditions</p> Signup and view all the answers

    Which of the following requirements illustrates an example of performance testing?

    <p>System shall process 100 payment transactions per second</p> Signup and view all the answers

    What is the purpose of fuzz testing?

    <p>To provide malformed inputs and test system behavior</p> Signup and view all the answers

    Which statement is an example of a performance metric?

    <p>CPU usage shall be less than 50%</p> Signup and view all the answers

    Study Notes

    Evolving Requirements

    • Requirements can change during development due to changing business priorities, evolving customer understanding, or new risks or opportunities
    • This is known as the “Moving Target Problem”
    • Requirement engineering is an iterative process of elicitation, specification, and validation, to accommodate changing requirements

    Functional and Non-functional Requirements

    • Functional requirements specify “what” the software must do, from the user's perspective, describing the intended behaviors of a system
    • Non-functional requirements (NFR) specify the “quality attributes” of the software, defining constraints or performance requirements
    • NFR are important to ensure the system's usability and effectiveness, but imprecise NFR can be difficult to verify

    Examples of Functional Requirements

    • Functions the software must perform
    • How the system should react to particular inputs
    • What inputs the system should accept
    • What outputs the system should produce
    • What data the system should store
    • What computations the system performs

    Examples of Non-functional Requirements

    • Quality Attributes: Reliability, Robustness, Security, Usability, Performance
    • Design Constraints: Platform constraints, Response times

    Measures of Non-functional Requirements

    • NFR describe emergent properties of the system that must be measured and satisfied
    • NFR are typically not checked in unit tests or static analysis, but require system-level testing with prototypes or the final system
    • NFR quantification needs measurable metrics, avoid subjective terms, and require understanding of trade-offs between different requirements

    Reliability Testing

    • Measures of reliability include probability of no failure in a specified time, probability of failure on demand, mean time to failure (MTTF), and downtime

    Security Testing

    • Security testing focuses on resisting unauthorized usage, continuing to provide service to legitimate users under attack, and resisting denial of service (DoS) attacks

    Performance Testing

    • Performance testing focuses on requirements related to throughput, response time, memory utilization, I/O rates, latency, etc.
    • Statistical testing based on an operational profile is often used, with probabilities and confidence levels

    Performance Testing Metrics

    • Throughput: amount of transactions processed in a given time
    • Response time: average or maximum time to respond to a request
    • Threshold: system behavior within required limits
    • Stress: system behavior under extreme conditions

    Studying That Suits You

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

    Quiz Team

    Description

    Explore the intricacies of software requirements engineering, focusing on both functional and non-functional aspects. Learn about the iterative process of elicitation, specification, and validation to adapt to changing business needs. Delve into real-world examples to understand the significance of precise requirements.

    More Like This

    Use Quizgecko on...
    Browser
    Browser