Software Engineering: Requirements Analysis
18 Questions
4 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 the main goal of Requirements Validation?

  • To ensure the system meets customer needs (correct)
  • To design a software system
  • To gather requirements from customers
  • To implement software requirements
  • What is the primary reason for conducting Requirements Validation?

  • To reduce the cost of fixing requirements errors (correct)
  • To increase customer satisfaction
  • To reduce implementation errors
  • To improve software design
  • What is one of the key aspects of Requirements Reviews?

  • Conducting reviews only after requirements definition is complete
  • Using automated tools to analyze requirements
  • Involving both client and contractor staff (correct)
  • Involving only contractor staff
  • What is the primary objective of Problem Reorganization in Requirements Analysis?

    <p>To reorganize system problems</p> Signup and view all the answers

    What is one of the criteria for evaluating the completeness of software requirements?

    <p>Whether all functions required by the customer are included</p> Signup and view all the answers

    What is one of the techniques used in Requirements Validation?

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

    What is the primary goal of a meeting controlled by a facilitator during the preparation and participation stage?

    <p>To identify problem and propose elements of solution</p> Signup and view all the answers

    What is the main objective of Quality Function Deployment (QFD)?

    <p>To translate customer needs into technical software requirements</p> Signup and view all the answers

    What type of requirement is expected to be present in a product without being explicitly requested by the customer?

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

    What is the purpose of function deployment during customer meetings?

    <p>To determine the value of each function required for the system</p> Signup and view all the answers

    What is the process of understanding customer needs and expectations from a proposed system or application?

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

    What is the stage in the SDLC model where requirement analysis is performed?

    <p>Well defined stage</p> Signup and view all the answers

    What is the primary goal of the requirement's engineering process?

    <p>To create and maintain a system requirements document</p> Signup and view all the answers

    What is the purpose of the feasibility study?

    <p>To assess whether the system is useful to the business</p> Signup and view all the answers

    What is the process of discovering requirements through various techniques?

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

    What is the process of checking that the requirements actually define the system that the customer wants?

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

    What is the term for managing the changes in the requirements?

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

    What is the primary focus of non-functional requirements?

    <p>System properties and constraints</p> Signup and view all the answers

    Study Notes

    Requirements Analysis

    • A software engineering task that bridges the gap between system engineering and software design
    • Divided into 5 areas of effort: problem reorganization, evolution and synthesis, modeling, specification, and review

    Requirements Validation

    • Concerned with demonstrating that the requirements define the system that the customer really wants
    • Importance: fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error
    • Requirements checking includes:
      • Validity: Does the system provide the functions that best support the customer’s needs?
      • Consistency: Are there any requirements conflicts?
      • Completeness: Are all functions required by the customer included?
      • Realism: Can the requirements be implemented given available budget and technology?
      • Verifiability: Can the requirements be checked?

    Requirements Validation Techniques

    • Requirements reviews: systematic manual analysis of the requirements
    • Prototyping: using an executable model of the system to check requirements
    • Test-case generation: developing tests for requirements to check testability

    Requirements Reviews

    • Regular reviews should be held while the requirements definition is being formulated
    • Both client and contractor staff should be involved in reviews
    • Reviews may be formal (with completed documents) or informal
    • Rules established for preparation and participation
    • Agenda suggested to cover important points and to allow for brainstorming
    • Meeting controlled by facilitator (customer, developer, or outsider)
    • Definition mechanism (flip charts, stickers, electronic device, etc.) is used
    • Goal is to identify problem, propose elements of solution, negotiate different approaches, and specify a preliminary set of solution requirements

    Quality Function Deployment (QFD)

    • Emphasizes an understanding of what is valuable to the customer
    • Translates customer needs into technical software requirements
    • Uses customer interviews, observation, surveys, and historical data for requirements gathering
    • Customer voice table (contains summary of requirements) includes:
      • Normal requirements (must be present in product for customer to be satisfied)
      • Expected requirements (things like ease of use or reliability of operation)
      • Exciting requirements (features that go beyond the customer's expectations)

    Requirement Analysis

    • The process of understanding customer needs and expectations from a proposed system or application
    • A well-defined stage in the SDLC model
    • Example requirements:
      • User shall be able to search either all of the initial set of databases or select a subset
      • System shall provide appropriate viewers for the user to read documents in the document store
      • Every order shall be allocated a unique identifier (ORDER_ID) which the user shall be able to copy to the account’s permanent storage area

    Non-Functional Requirements

    • Define system properties and constraints (e.g. reliability, response time, and storage requirements)
    • Constraints include I/O device capability, system representations, etc.
    • Process requirements may also be specified (mandating a particular CASE system, programming language or development method)
    • Non-functional requirements may be more critical than functional requirements

    Requirements Engineering Processes

    • Goal is to create and maintain a system requirements document
    • Overall process includes four high-level requirement engineering sub-processes:
      • Assessing whether the system is useful to the business (feasibility study)
      • Discovering requirements (elicitation and analysis)
      • Converting these requirements into some standard form (specification)
      • Checking that the requirements actually define the system that the customer wants (validation)
    • The process of managing the changes in the requirements is called requirement management

    Studying That Suits You

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

    Quiz Team

    Description

    This quiz covers the process of software requirement analysis, including the five areas of effort and requirements validation. It is an essential task in software engineering that bridges the gap between system engineering and software design.

    More Like This

    Use Quizgecko on...
    Browser
    Browser