Software Engineering: Requirements Analysis

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 (A)</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 (D)</p> Signup and view all the answers

What is one of the techniques used in Requirements Validation?

<p>Requirements reviews (B)</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 (D)</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 (D)</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 (B)</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 (C)</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 (D)</p> Signup and view all the answers

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

<p>Well defined stage (D)</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 (A)</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 (A)</p> Signup and view all the answers

What is the process of discovering requirements through various techniques?

<p>Requirements elicitation (A)</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 (C)</p> Signup and view all the answers

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

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

What is the primary focus of non-functional requirements?

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

Flashcards

Requirements Analysis

A software engineering task linking system engineering and software design, involving problem reorganization, evolution, modeling, specification, and review.

Requirements Validation

Ensuring requirements align with the customer's needs through validity, consistency, completeness, realism, and verifiability checks.

Requirements Validation Techniques

Systematic manual analysis to identify issues, prototyping using executable models, and test-case generation to ensure testability of requirements.

Requirements Reviews

Structured meetings involving both client and contractor staff to identify problems, propose solutions, negotiate approaches, and set preliminary requirements.

Signup and view all the flashcards

Quality Function Deployment (QFD)

Transforms customer needs into technical software requirements using customer interviews, observations, surveys, and historical data.

Signup and view all the flashcards

Requirement Analysis

The process of understanding customer needs and expectations for a proposed system or application.

Signup and view all the flashcards

Non-Functional Requirements

These define system properties and constraints, such as reliability, response time, and process specifics.

Signup and view all the flashcards

Requirements Engineering Processes

The overall process of creating and maintaining a system requirements document involving feasibility study, elicitation, specification, and validation.

Signup and view all the flashcards

Normal Requirements

Requirements that must be present for customer satisfaction.

Signup and view all the flashcards

Expected Requirements

Hidden requirements the customer assumes will be present.

Signup and view all the flashcards

Exciting Requirements

Features and capabilities that go beyond the customer's expectations

Signup and view all the flashcards

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

More Like This

Use Quizgecko on...
Browser
Browser