Non-Functional Requirements Overview
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 is a primary challenge when obtaining domain knowledge through interviews?

  • Inability to document interview responses
  • Omission of fundamental knowledge by stakeholders (correct)
  • Lack of technical terminology in discussions
  • Over-simplifying technical requirements
  • Which technique involves directly observing stakeholders in their work environment?

  • Storyboarding
  • Closed interviews
  • Requirement prioritization
  • Observation or Ethnography (correct)
  • What does requirements classification and organization involve?

  • Documenting requirements in detail
  • Creating scenarios for system usage
  • Identifying stakeholders
  • Grouping related requirements into coherent clusters (correct)
  • What is the purpose of stories in requirements elicitation?

    <p>To facilitate discussion about system use</p> Signup and view all the answers

    Which of the following describes a closed interview?

    <p>An interview that follows predefined questions</p> Signup and view all the answers

    What is one function of requirements prioritization and negotiation?

    <p>Resolving conflicts between conflicting requirements</p> Signup and view all the answers

    What is NOT a technique of requirements elicitation?

    <p>Domain analysis</p> Signup and view all the answers

    What type of information do scenarios typically collect?

    <p>Specific information including inputs and outputs</p> Signup and view all the answers

    What is the primary focus of the class project?

    <p>The fishing industry in the area</p> Signup and view all the answers

    Which resource is specifically mentioned for accessing newspaper archives?

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

    What functionality does KidsTakePics provide to users?

    <p>Uploading and commenting on each other’s photos</p> Signup and view all the answers

    What was Jack's method for reaching out for recommendations for the photo-sharing site?

    <p>Emailing a primary school teachers' group</p> Signup and view all the answers

    What is a requirement for users wanting to upload photos to KidsTakePics?

    <p>They must have successfully logged into KidsTakePics</p> Signup and view all the answers

    What is an example of a product requirement in a system?

    <p>The system shall be available during normal working hours.</p> Signup and view all the answers

    Which of the following is a characteristic of non-functional requirements?

    <p>They constrain the system's overall characteristics.</p> Signup and view all the answers

    What option do users have when uploading photos to KidsTakePics?

    <p>Selecting a project name for photo storage</p> Signup and view all the answers

    What technical limitation did Jack face with KidsTakePics?

    <p>It is not integrated with the iLearn authentication service</p> Signup and view all the answers

    What is a typical example of an organizational requirement?

    <p>The programming language used must comply with specific standards.</p> Signup and view all the answers

    What problem commonly arises with non-functional requirements?

    <p>They are often stated as vague goals.</p> Signup and view all the answers

    Which of the following activities is included in the class project?

    <p>Gathering reminiscences from relatives</p> Signup and view all the answers

    Which of the following represents an external requirement?

    <p>The system shall implement patient privacy provisions.</p> Signup and view all the answers

    Why are non-functional requirements considered critical for system usability?

    <p>Failing to meet them can render the entire system unusable.</p> Signup and view all the answers

    Which of the following is not a type of non-functional requirement?

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

    What is an example of a non-testable non-functional requirement?

    <p>The system should minimize user errors.</p> Signup and view all the answers

    What aspect of requirements validation ensures that the document reflects the true needs of system users?

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

    Which requirement characteristic indicates that all necessary functions and constraints are included in the document?

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

    What could lead to extensive rework costs if issues are discovered after deployment of the system?

    <p>Requirements validation</p> Signup and view all the answers

    Which validation technique involves creating examples to explore the functionality of the system?

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

    What does the index of a requirements document typically include?

    <p>Diagrams and functions</p> Signup and view all the answers

    Which of the following characteristics ensures that requirements can be tested for their implementation?

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

    What is a significant driver for changes in software requirements?

    <p>Introduction of new legislation</p> Signup and view all the answers

    What type of requirement check ensures that no requirements conflict with each other?

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

    What is a primary benefit of using a tabular specification?

    <p>It is useful when there are multiple alternative situations.</p> Signup and view all the answers

    What does a requirements specification document primarily outline?

    <p>An official statement of what system developers should implement.</p> Signup and view all the answers

    Which of the following does NOT represent a typical user of a requirements document?

    <p>Environmental analysts</p> Signup and view all the answers

    What information is typically included in the preface of a requirements document?

    <p>Version history and rationale for updates.</p> Signup and view all the answers

    In the context of use cases, what does the term 'actor' refer to?

    <p>An entity, either human or system, that interacts with the system.</p> Signup and view all the answers

    What is the purpose of the glossary in a requirements document?

    <p>To define technical terms and avoid assumptions about the reader's knowledge.</p> Signup and view all the answers

    Which section of a requirements document outlines how the system aligns with strategic objectives?

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

    What is a significant aspect of the software requirements specification (SRS)?

    <p>It encompasses both user and system requirements.</p> Signup and view all the answers

    Study Notes

    Functional and Non-Functional Requirements

    • Non-functional requirements constrain the characteristics of the system as a whole. These include aspects like response time, memory usage, and reliability.
    • Non-functional requirements are more significant than individual functional requirements because failing to meet them renders the entire system unusable.
    • Non-functional requirements arise from user needs, such as budget constraints, organizational policies, safety regulations, and privacy legislation.

    Types of Non-Functional Requirements

    • Product requirements: Define the runtime behavior of the software, including execution speed, memory usage, and acceptable failure rates.
    • Organizational requirements: Stem from policies within the customer’s and developer's organizations. Examples include programming language and process standards to be used.
    • External requirements: Derived from external factors, such as nuclear safety authorities and legislative requirements.

    Examples of Non-Functional Requirements (Mentcare System)

    • Product requirement: The Mentcare system should be available to all clinics during regular working hours (Monday-Friday, 8:30 AM-5:30 PM). Downtime within normal working hours should not exceed five seconds daily.
    • Organizational requirement: Users of the Mentcare system must authenticate themselves using their health authority identification card.
    • External requirement: The system must implement patient privacy provisions as outlined in HStan-03-2006-priv.

    Problems in Non-Functional Requirements

    • Stakeholders often propose requirements as general goals, like "ease of use" or "rapid user response." These statements need to be translated into specific, measurable, testable, and objective criteria.
    • Requirements can dynamically change during the analysis process, posing a challenge for consistent and stable system development.

    Requirements Elicitation and Analysis

    • The process includes four key steps:
      • Requirements discovery and understanding: Interacting with stakeholders to discover their requirements.
      • Requirements classification and organization: Grouping related requirements and organizing them into coherent clusters.
      • Requirements prioritization and negotiation: Prioritizing requirements and resolving conflicts.
      • Requirements documentation: Documenting requirements in formats such as early drafts, whiteboards, and wikis.

    Requirements Elicitation Techniques

    • Interviewing: Engaging with stakeholders to gather information. This can be done through closed interviews (predefined questions) or open interviews (no predefined agenda).
    • Observation or Ethnography: Observing people performing their tasks to understand their usage of artifacts, workflows, and other aspects of their work.

    Challenges in Eliciting Domain Knowledge Through Interviews

    • Use of domain-specific terminologies can make it difficult for stakeholders to understand the requirements.
    • Stakeholders might struggle explaining familiar domain knowledge clearly.
    • Stakeholders may omit essential knowledge or fail to mention fundamental concepts.

    Stories and Scenarios

    • Stories: High-level narrative descriptions of how the system can be used for a specific task.
    • Scenarios: Specific details about a system's use, including inputs, outputs, and expected behavior.

    The Purpose of Stories

    • Facilitate discussions about how the system might be used.
    • Serve as a starting point for eliciting system requirements.

    The Scenario for Uploading Photos to KidsTakePics

    • Initial Assumption: A user or group has one or more digital photographs to upload to a picture-sharing site, stored on a tablet or laptop. They have successfully logged in to KidsTakePics.
    • Normal: The user selects the upload option, is prompted to select photos on their device, and chooses a project name for storage. They can also add keywords associated with each photo.

    Tabular Specification

    • A useful method for specifying requirements when there are multiple alternative situations or complex computations.

    Use Cases

    • A way to describe interactions between users and a system. They involve Actors (human or other systems) and different classes of user interactions with the system.

    The Software Requirements Document

    • An official statement outlining what system developers should implement. Also known as the Software Requirements Specification (SRS).
    • It includes user and system requirements.
    • Intended for a diverse audience, including customers, managers, engineers, and test engineers.

    Users of a Requirements Document

    • The document's users and their specific applications should be clearly defined.

    The Structure of a Requirements Document

    • Preface: Defines the document's intended audience and outlines its version history.
    • Introduction: Describes the system's purpose, key functions, and its integration with other systems.
    • Glossary: Defines technical terms used in the document, avoiding assumptions about reader expertise.
    • Appendices: This section provides detailed, system-specific information, including hardware requirements, database descriptions, logical organization of data, and data relationships.
    • Index: Includes various indexes to the document – alphabetic, diagram indexes, function indexes, etc.

    Requirements Validation

    • The process of checking if requirements accurately reflect the customer's needs and expectations.
    • A crucial process for ensuring a functional system. Errors in requirements validation can lead to significant rework costs when discovered late in the development cycle.
    • Key techniques include:
      • Requirements reviews: Thorough evaluations of the requirements document by stakeholders and developers.
      • Prototyping: Creating working prototypes of the system to demonstrate functionality and elicit feedback.
      • Test-case generation: Writing test cases to verify that the system meets the specified requirements.

    Different Types of Checks in Requirements Validation

    • Validity: Requirements must align with the real needs of system users.
    • Consistency: Requirements within the document should not contradict each other.
    • Completeness: The requirements should cover all functions and constraints of the system.
    • Realism: Requirements should be feasible to implement within the available budget and time.
    • Verifiability: Requirements should be formulated in a way that allows for verification through testing. This usually involves the creation of testable specifications and test scenarios.

    Requirements Change

    • Requirements for large software systems are consistently evolving. This can be attributed to factors like:
      • Integration with other systems.
      • Introduction of new regulations and legislation.
      • Discrepancies between the stakeholders who fund the system and the users who interact with it.
    • The continual adaptation of requirements is often referred to as "requirements evolution."

    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 significance of non-functional requirements in software development. It covers various types of non-functional requirements, such as product, organizational, and external requirements, emphasizing their impact on system usability and compliance with external standards.

    More Like This

    Use Quizgecko on...
    Browser
    Browser