Software Requirements Document Overview
26 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 key characteristic of viable requirements?

  • They should be easily understood by all stakeholders.
  • They should include statistical data.
  • They must comply with the project’s constraints. (correct)
  • They need to be changed frequently.
  • Why is it important to provide rationale with requirements?

  • It enhances the aesthetic appeal of the documentation.
  • It reduces the overall project cost significantly.
  • It helps developers understand the application domain and the context of requirements. (correct)
  • It allows stakeholders to make unilateral decisions.
  • What is a common mistake when writing requirements in terms of verifiability?

  • Using specific metrics to quantify performance.
  • Describing all possible scenarios of software use.
  • Including vague terms such as 'errors shall be minimized.' (correct)
  • Employing clear and unambiguous language.
  • Which statement describes a successful training outcome as a requirement?

    <p>The average number of errors made by experienced users should not exceed two per day after training. (D)</p> Signup and view all the answers

    Which of the following is NOT a factor in determining the viability of a requirement?

    <p>The amount of emotional support stakeholders offer. (C)</p> Signup and view all the answers

    What is the primary purpose of requirements validation?

    <p>To confirm that requirements match the customer's needs (C)</p> Signup and view all the answers

    Which method is emphasized as an important technique for validating requirements?

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

    What does the completeness check in requirements checking signify?

    <p>Every function requested by the customer is documented (B)</p> Signup and view all the answers

    Why is it important to involve both client and contractor staff in requirements reviews?

    <p>To enhance communication and identify potential issues early (C)</p> Signup and view all the answers

    What can make changes to the requirements document easier?

    <p>Keeping document sections modular and electronic (A)</p> Signup and view all the answers

    What is a primary issue with ambiguous requirements?

    <p>They can be interpreted in multiple ways. (A)</p> Signup and view all the answers

    Why can natural language (NL) specifications be problematic?

    <p>Natural language is inherently ambiguous. (D)</p> Signup and view all the answers

    What is the benefit of using a glossary in requirements specification?

    <p>It helps clarify terms that may have multiple meanings. (A)</p> Signup and view all the answers

    What characterizes mathematical specifications?

    <p>They are unambiguous and based on mathematical concepts. (D)</p> Signup and view all the answers

    Which approach uses templates for expressing requirements specifications?

    <p>Structured natural language. (A)</p> Signup and view all the answers

    What is a limitation of NL structures in requirements specification?

    <p>They are inadequate to structure system requirements. (C)</p> Signup and view all the answers

    What is the primary function of fit criteria in requirements?

    <p>To quantify the requirement for testing. (D)</p> Signup and view all the answers

    What can be a major drawback of using formal specifications?

    <p>Most customers cannot understand them. (C)</p> Signup and view all the answers

    What is a key characteristic of a requirements document?

    <p>It should specify what the system should do rather than how it should do it. (C)</p> Signup and view all the answers

    In writing a requirements document, which verb should be used for mandatory requirements?

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

    What major problem might exist in a requirements document?

    <p>Requirements can be incomplete and inconsistent. (B)</p> Signup and view all the answers

    Which of the following is not included in the criteria for completeness of a requirements document?

    <p>Detailed instructions on system design (C)</p> Signup and view all the answers

    What is advised in the guidelines for writing requirements regarding technical language?

    <p>Avoid using computer jargon. (A)</p> Signup and view all the answers

    Which of the following contributes to the inconsistency of requirements?

    <p>Different stakeholders having varying requirements and priorities. (B)</p> Signup and view all the answers

    Which aspect should be focused on when validating a requirements document?

    <p>Alignment with IEEE requirements document standards. (C)</p> Signup and view all the answers

    What kind of behaviors should a requirements document specify?

    <p>External system behaviors and constraints. (C)</p> Signup and view all the answers

    Study Notes

    Software Requirements Document

    • A software requirements document is an official statement of what is required of system developers.
    • It should define and specify requirements.
    • It is not a design document, but should focus on what the system should do, not how.

    Key Points

    • Identify major components of the requirements document.
    • Identify potential problems in the requirements document.
    • Understand requirements document validation.
    • Learn IEEE requirements document standards.

    Guidelines for Writing Requirements

    • Create a standard format for all requirements.
    • Use consistent language, using "shall" for mandatory and "should" for desirable requirements.
    • Use text highlighting to identify key parts of requirements.
    • Avoid computer jargon.

    Requirements Document Requirements

    • Detail external system behaviour.
    • Specify implementation constraints.
    • Ensure requirements are easily modifiable.
    • Predict and document system lifecycle changes.
    • Characterise responses to unexpected events.

    Complex Problems

    • System complexity may make thorough understanding impossible during development.
    • Requirements can often be incomplete and inconsistent due to this complexity.

    Reasons for Inconsistency

    • Large software systems often have effects on the organization that are difficult to foresee.
    • Different users and organizations have different priorities and requirements.

    Requirements Completeness

    • A complete requirements document includes those relating to functionality, performance, design constraints, attributes, and external interfaces.
    • It should describe all required features. Gaps in specification lead to assumptions.

    Requirements Ambiguity

    • Ambiguous requirements lead to different interpretations by developers and users.
    • Examples include vagueness in statements about acceptable user numbers.

    Ambiguity

    • The natural language used in requirements is inherently ambiguous.
    • Each requirement should have only one interpretation.
    • Use clear and concise language, and use a glossary when necessary to avoid confusion.
    • Define "fit criteria" to test solutions against requirements.

    Problems with Natural Language Specifications

    • Ambiguity: Readers and writers of requirements may have different interpretations of the same words.
    • Over-flexibility: Multiple ways to express the same thing in the specification may confuse.
    • Lack of modularisation: Natural language is often poorly suited to structuring system requirements.

    Alternatives to Natural Language Specifications

    • Structured Natural Language: Uses standard forms and templates for requirements.
    • Design Description Languages: Uses programming language-like abstract features for defining an operational model.
    • Graphical Notations: Uses visual representations supplemented by text to specify functional requirements.
    • Mathematical Specifications: Uses concepts like finite-state machines to create precise and unambiguous requirements, but can be difficult for customers to understand.

    Correctness

    • Every requirement statement must accurately represent the functionality required.

    Viability

    • Requirements must be viable within the constraints of the project.
    • Technical skills, time, budget, and stakeholder acceptance are viability concerns.

    Requirements Rationale

    • Providing rationale for requirements helps developers understand the application domain and justifies current form.
    • Important for making changes to requirements without unforeseen effects

    Requirements Verifiability

    • Requirements should be precise and measurable, allowing objective verification.
    • Vague terms like "minimize errors" should be quantified.
    • Define metrics, such as an experienced user completing tasks within a set time and number of errors.

    Requirements Separation

    • Functional and non-functional requirements should be explicitly separated.
    • Non-functional requirements (e.g., safety) may involve the addition of functions to the system.

    Requirements Validation

    • Validating requirements ensures the system meets customer needs accurately.
    • Error costs associated with requirements errors typically high, making validation crucial.
    • Prototyping helps in requirements validation.

    Requirements Checking

    • Validate requirements by ensuring that they meet customer needs, checking for conflicts, and confirming if all relevant functionalities are included.
    • Requirements must be achievable given budget and technology.

    Requirements Reviews

    • Hold regular reviews to check requirements during their formulation.
    • Involve client and contractor staff to ensure everyone's input is captured.
    • Early communication to resolve issues quickly

    Requirements Document Changes

    • Organize the document to facilitate modifications without extensive rewriting.
    • Minimize external references and use modular sections.
    • Electronic documents facilitate changes.

    IEEE Requirements Standard

    • The IEEE standard document structure includes a general description, specific requirements, appendices, and an index.
    • It is a generic structure adapted to specific systems.

    IEEE Recommendations

    • The IEEE recommendations detail the structure of a software requirement document, specifying sections like Introduction, Overview and Specific Requirements.

    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 essentials of a Software Requirements Document (SRD). You will learn about the key components, validation processes, and the IEEE standards relevant to creating effective requirements. Test your understanding of how to specify what a system should do without delving into design details.

    More Like This

    Software Requirements Engineering Quiz
    1 questions
    Especificación de Requisitos de Software
    10 questions
    Parcial 1 Ingeniería de Requerimientos
    40 questions
    IEEE Software Requirements Specifications
    41 questions
    Use Quizgecko on...
    Browser
    Browser