Requirements Engineering

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

What is the primary goal of requirements engineering?

  • Establishing the services a customer requires from a system and its operational constraints (correct)
  • Writing the code for the software system
  • Designing the user interface of the system
  • Testing the software system to ensure it meets quality standards

Requirements should always be defined in detail, with no room for interpretation, even in the early stages of a project.

False (B)

Which of the following best describes 'user requirements'?

  • Highly technical documents used by developers.
  • A structured document setting out detailed descriptions of the system's functions, services, and operational constraints.
  • Statements in natural language, often with diagrams, describing the system's services and operational constraints, written for customers. (correct)
  • Detailed descriptions of the system's functions and services.

List three common types of stakeholders in a software project.

<p>End users, system managers, system owners.</p>
Signup and view all the answers

Which of the following is a key argument against producing detailed system requirements in agile methods?

<p>Requirements change quickly, making detailed documentation a waste of time. (D)</p>
Signup and view all the answers

Requirements that specify constraints on the services or functions offered by the system, such as timing constraints or development process constraints, are known as ______ requirements.

<p>non-functional</p>
Signup and view all the answers

Which of the following is an example of a functional requirement for a library management system?

<p>The system should allow users to search for books by title, author, or ISBN. (B)</p>
Signup and view all the answers

In practice, it is always possible to produce a completely consistent and complete requirements document.

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

Which of the following best describes the purpose of 'requirements elicitation'?

<p>Discovering, understanding, and documenting the needs of stakeholders. (B)</p>
Signup and view all the answers

Name two potential problems that can arise during requirements elicitation.

<p>Stakeholders don't know what they want, stakeholders use their own terms.</p>
Signup and view all the answers

Which of the following is NOT typically considered a stage in requirements elicitation?

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

Ethnography is a requirements elicitation technique that relies on directly asking stakeholders about their needs through structured interviews.

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

Why is it essential to use a mix of closed and open-ended questions during interviews for requirements elicitation?

<p>To efficiently gather specific details while still allowing for exploration of unexpected issues. (B)</p>
Signup and view all the answers

A detailed description of how a system may be used for a particular task, often used in requirements elicitation, is called a ______.

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

In the context of requirements specification, what is the primary purpose of using natural language?

<p>To ensure that the requirements can be easily understood by users and customers. (C)</p>
Signup and view all the answers

A software requirements document (SRD) should primarily focus on describing HOW the system will be implemented, rather than WHAT the system should do.

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

Which section of the software requirements document would describe the relationships between system components and the system's environment?

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

Identify two key attributes to check for when validating requirements.

<p>Validity, consistency.</p>
Signup and view all the answers

The process of checking requirements for validity, consistency, completeness, realism, and verifiability is known as requirements ______.

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

Why is requirements validation a crucial activity in software development?

<p>To demonstrate that the requirements define the system the customer really wants and minimize the costs of fixing errors later. (B)</p>
Signup and view all the answers

Match the following types of requirements with their descriptions:

<p>Functional Requirement = Describes what the system should do. Non-functional Requirement = Describes how the system should be. User Requirement = Describes what the user needs from the system. System Requirement = Describes detailed technical aspects of the system.</p>
Signup and view all the answers

Which of the following activities is part of Requirements Change Management?

<p>Assessing the impact and cost of changes to requirements. (C)</p>
Signup and view all the answers

Once they are defined, software requirements should never be changed during the development process.

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

What is the purpose of 'traceability policies' in requirements management?

<p>To define the relationships between each requirement and the system design. (A)</p>
Signup and view all the answers

List the three main stages in deciding if a requested requirements change should be accepted.

<p>Problem analysis, change analysis, change implementation.</p>
Signup and view all the answers

In the Mentcare system, what is an example of patients considered as?

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

A medical ethics manager is not considered a stakeholder in the Mentcare system.

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

In the requirements imprecision, what is a developer's interpretation of the term 'search' in requirement 1?

<p>Search for a patient name across an individual clinic (B)</p>
Signup and view all the answers

When a user searches for their name in a clinic where they have no records, what type of requirement is being met: ______

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

Which requirement ensures that the Mentcare system shall be available to all clinics during normal working hours (Mon-Fri, 0830–17.30)?

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

A single non-functional requirement cannot affect the overall architecture of the system.

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

Why are goals helpful to developers?

<p>Goals convey the intentions of the system users (B)</p>
Signup and view all the answers

Usability requirements will often use ______ as a measure during system use.

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

What is not an important measure of product requirements when specifying nonfunctional requirements?

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

Requirements, System evolution, and validation must each occur for the process to be complete.

<p>True (A)</p>
Signup and view all the answers

What is the best description of focusing elicitation and analysis?

<p>Helps technical staff find out about the application domain (D)</p>
Signup and view all the answers

Requirements Discovery, Classification, Prioritization and are stages for ______.

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

Which scenario accurately describes problems with interviews?

<p>Application specialists may use language to describe their work that isn't easy for the requirements engineer to understand. (D)</p>
Signup and view all the answers

Scenarios aren't a structured form of user story.

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

Based of Structured Specifications, what is included in the Input if a Function is to compute insulin dose? safe sugar level?

<p>All of the above (D)</p>
Signup and view all the answers

If sugar is stable during compilation, the ______ is zero.

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

Flashcards

Requirements Engineering

The process of establishing the services a customer requires from a system, including operational constraints.

System Requirements

Descriptions of the system services and constraints generated during requirements engineering.

Software Requirement

A high-level abstract statement of a service or system constraint.

User Requirements

Statements of services, written for customers using natural language and diagrams.

Signup and view all the flashcards

System Requirements

A structured document that provides detailed descriptions of the system's functions, services, and constraints.

Signup and view all the flashcards

System Stakeholder

Any person or organization affected by the system with a legitimate interest.

Signup and view all the flashcards

Functional Requirements

Requirements that detail what services or functionality a system should provide.

Signup and view all the flashcards

Non-Functional Requirements

Limits on the services or functions offered by the system, such as timing or development constraints.

Signup and view all the flashcards

Domain Requirements

Constraints derived from the operation's specific domain.

Signup and view all the flashcards

Functional Requirements

Requirements that describe the functionality or services that the system is expected to provide.

Signup and view all the flashcards

Non-Functional Requirements

System properties and constraints, like reliability, response time, and storage.

Signup and view all the flashcards

Product Requirements

Requirements defining the delivered product's specific behavior, such as execution speed and reliability.

Signup and view all the flashcards

What is a Goal?

A user intention that is a general intention of a user, like ease of use

Signup and view all the flashcards

Verifiable Non-Functional Requirement

A statement using some measure that can be objectively tested.

Signup and view all the flashcards

Requirements Engineering Processes

Processes used for RE that vary by application domain, people involved, and organization.

Signup and view all the flashcards

Requirements Elicitation

Sometimes called requirements elicitation or requirements discovery.

Signup and view all the flashcards

Requirements Elicitation and Analysis

Working with stakeholders to understand the application domain, services, and operational constraints.

Signup and view all the flashcards

Requirements Elicitation Stages

Stages that are: Requirements discovery, classification, prioritization and specification.

Signup and view all the flashcards

Requirements Discovery

The process of gathering required information and extracting it from existing systems.

Signup and view all the flashcards

Interviewing

Formal or informal interviews with stakeholders to understand their needs.

Signup and view all the flashcards

Ethnography

A social scientist observes and analyzes how people work.

Signup and view all the flashcards

Focused Ethnography:

Combines ethnography with prototyping for air traffic control assessment.

Signup and view all the flashcards

User Stories or Scenarios

Real-life examples of how a system can be used for a particular task.

Signup and view all the flashcards

Scenario Elements

Should include starting descriptions, normal flow, what can go wrong, and end states.

Signup and view all the flashcards

Requirements Specification

The process of writing user and system requirements in a requirements document.

Signup and view all the flashcards

Natural Language Specification

Requirements written as natural language sentences supplemented by diagrams and tables.

Signup and view all the flashcards

"Shall" vs. "Should"

Shall is for mandatory requirements, should is for desirable ones.

Signup and view all the flashcards

Structured Specifications

Structured approach to writing needs with limited freedom and a standard way.

Signup and view all the flashcards

Tabular Specifications

For insulin pump that bases computations change of blood sugar level calculations.

Signup and view all the flashcards

Use Case

A kind of scenario that are included in UML

Signup and view all the flashcards

Software Requirements Document

The official document of developer requirements; not a design document.

Signup and view all the flashcards

Requirements Checking

Does the system meet the customer's needs, free of conflicts, and realistically implementable?

Signup and view all the flashcards

Requirements validation techniques

Requirement reviews, prototyping and test-case generation.

Signup and view all the flashcards

Review Checks

Being realistic, understood, traceable, and adaptable.

Signup and view all the flashcards

Changing Requirements

The business and technical environment of the system always changes after installation.

Signup and view all the flashcards

Requirements Management

Managing requirements changes during the engineering process and system development.

Signup and view all the flashcards

Requirement Management Plan

Requirement, the identification, traceability policies, change, support, etc...

Signup and view all the flashcards

Requirement Change Management

Analysis, costing, implementation, and so on...

Signup and view all the flashcards

Requirements Engineering Process

The requirements process is iterative with elicitation, specification, and validation.

Signup and view all the flashcards

Requirement Elicitation

Discovery, classification, negotiation, and so on...

Signup and view all the flashcards

Study Notes

Requirements Engineering Overview

  • Requirements engineering involves determining the services a customer needs from a system and its operating constraints.
  • System requirements are descriptions of system services and constraints created during the requirements engineering process.

Defining Requirements

  • Requirements can be high-level abstract statements or detailed functional specifications.
  • Requirements serve a dual function, providing a broad basis for contract bids and a specific foundation for the contract itself.

Requirements Abstraction

  • When contracting a software development project, a company needs to define needs abstractly to allow solution flexibility.
  • Contractors bid with different approaches.
  • The contractor must provide a detailed system definition after a contract award for client understanding and validation.
  • Both abstract needs and the detailed system definition are requirements documents.

Requirement Types

  • User requirements are natural language statements and diagrams describing system services and constraints, and are intended for customers.
  • System requirements are structured documents with detailed descriptions of system functions, services, and operational constraints, and may be part of a client-contractor agreement.

System Stakeholders

  • Stakeholders include anyone affected by the system, who may also have a legitimate interest in it.
  • Stakeholder types include end users, system managers, system owners, and external stakeholders.

Agile Methods and Requirements

  • Agile methods suggest that detailed system requirements are a waste of time because they change quickly.
  • Agile methods use incremental requirements engineering, and may express requirements as user stories.
  • Agile methods are practical for business systems, but problematic for systems needing pre-delivery analysis or development by several teams.

Functional Requirements

  • Functional requirements describe the services a system provides, responses to inputs, and expected system behavior, and may specify what the system should not do.
  • Functional requirements outline the behavior of the software.

Non-Functional Requirements

  • Non-functional requirements include constraints on the system's services or functions (timing, development process, standards).
  • These requirements often apply to the entire system, and may be more critical than functional ones.

Domain Requirements

  • Domain requirements are constraints based on the system's operational domain.

Functional Requirement Characteristics

  • Functional requirements describe system functionality or services, based on the software type, expected users, and system context.

  • Functional user requirements are general statements about what the system should do.

  • Functional system requirements should describe system services precisely and in detail.

  • A precise functional requirement should be "A user shall be able to search the appointments lists for all clinics."

  • Another precise functional requirement should be "The system shall generate each day, for each clinic, a list of patients who are expected to attend appointments that day"

  • A more precise functional requirement should be "Each staff member using the system shall be uniquely identified by his or her 8-digit employee number."

Completeness and Consistency

  • Requirements should ideally be complete with all facilities described and consistent without conflicts or contradictions.
  • Complete, consistent requirements documents are unattainable due to system and environmental complexity.

Non-Functional Requirement Properties

  • Non-functional requirements define system properties and constraints, like reliability, response time, and storage.
  • Process requirements may mandate an IDE, language, or method.
  • Non-functional requirements may determine system usability.

Non-Functional Classifications

  • Product requirements mandate specific product behaviors like execution speed and reliability.
  • Organizational requirements stem from policies, such as process standards and implementation needs.
  • External requirements derive from external factors, for instance, interoperability and legislative standards.

Goals and Requirements

  • Non-functional requirements are hard to state precisely and verify.
  • Goals are general intentions, like ease of use.
  • Verifiable non-functional requirements should be objectively testable.
  • Goals help developers grasp system user intentions.

Metrics for Nonfunctional Requirements

  • Speed can be measured by transactions/second, response time and screen refresh time.
  • Size is described as Mbytes or the number of ROM chips.
  • Ease of use can be training time or number of help frames.
  • Reliability can be mean time to failure, probability of unavailability, failure occurrence or availability.
  • Robustness can be time till restart after failure or the percentage of event causing failures.
  • Portability can be defined as the percentage of target dependent statements, or number of target systems.

Requirements Engineering Processes

  • Requirements engineering processes depend on the application domain, stakeholders, and the developing organization.
  • Requirements elicitation, analysis, validation, management are all generic activities common to processes.
  • In practice, requirements engineering involves an iterative process with interleaved activities.

Requirements Elicitation and Analysis

  • Requirements elicitation and analysis is sometimes called requirements discovery.
  • Technical staff collaborate with customers to understand the application domain, system services, and operational constraints.
  • Stakeholders, like end-users, managers, and domain experts, are involved.

Requirements Elicitation Stage

  • Software engineers collaborate with system stakeholders to understand the application domain, system services, performance needs, hardware constraints, and other system specifics.
  • Requirement stages include discovery, classification, prioritization/negotiation, and specification.

Problems of Requirements Elicitation

  • Stakeholders might not know their needs.
  • may express them in their own terms.
  • Conflicting requirements among stakeholders may take place
  • Organizational and political factors may affect system needs.
  • New stakeholders and business changes may alter the needs during analysis.

Process Activities

  • Requirements are discovered by interacting with stakeholders.
  • Requirements are classified and organized into coherent clusters.
  • Prioritize requirements and resolve conflicts.
  • Document requirements and input them into the next phase.

Types of Interviews

  • Closed interviews follow a pre-determined questions.
  • Open interviews let various issues be explored with stakeholders.

Effective Interviewing

  • Have an open mind, avoiding preconceptions, and listen closely to stakeholders.
  • Prompt discussions with questions, plans, and prototype collaboration.

Interviews in Practice

  • Utilize a mix of closed and open-ended interviews during practice.
  • Interviews are helpful for getting a broad understanding of stakeholder tasks and system interaction.
  • Interviewers should avoid preconceived notions and prompt the use of the system by suggesting requirements rather than simply asking them.

Problems With Interviews

  • Application specialists' technical language can be hard for the requirements engineer to follow.
  • Interviews are not ideal in understanding domain requirements.
  • Requirements engineers may not understand specific domain terminology.
  • Familiarity with domain knowledge may cause those who poses it to not articulate it.

Ethnography

  • A social scientist observes and analyzes how people work.
  • People don't have to articulate their work.
  • Social and organizational factors may be noted.
  • Ethnography reveals richer work processes compared to system models.

Scope of Ethnography

  • Requirements are based on actual work practices, not prescribed processes.
  • It is based on changes resulting from cooperation and awareness.
  • Ethnography is great for getting existing processes, but cannot add new features.

Focused Ethnography

  • It combines ethnography with prototyping.
  • Prototype development leads to questions for ethnographic analysis.
  • Ethnography studies existing practices which may no longer be applicable.

Stories and Scenarios

  • Scenarios and user stories present real uses of a system.
  • They describe the system's role in a task.
  • Stakeholders relate and comment on their stories based on these situations.

Scenarios

  • A structured form of user story.
  • Should include descriptions of starting situations, normal events, errors, other activities and final stats.

Requirements Specification

  • Requirements specification involves documenting user and system requirements in a requirements document.
  • User requirements needs to be understandable without technical knowledge.
  • System requirements are more thorough and might have more technical information.
  • The requirements may create the system.
  • It is important to be complete as possible.

Requirements and Design

  • In theory, requirements state what a system should do, and design explains how these tasks should be achieved.
  • In practice, requirements and design are inseparable.
  • System architecture may be structured the requirements.
  • The system may generate design requirements.
  • Satisfying non-functional requirements using specific domain needs could result to having the consequence of regulatory requirements.

Natural Language Specification

  • Uses natural language with diagrams/tables.
  • Requirements can be understood by users and customers, as it is intuitive and universal.

Guidelines for Writing Requirements

  • Requirements should use a standard format.
  • Use consistent language like "shall" for mandatory items and "should" for desirable ones.
  • Highlighting makes it clear which parts stand out
  • Avoid computer jargon.
  • Explain why each requirement is necessary.

Problems with Natural Language

  • Achieving precision compromises readability.
  • It is difficult to differentiate between Functional and non-functional requirements.
  • Requirements may be mixed together.

Structured Specifications

  • Reduces freedom in writing requirements and puts them in a standerd way.
  • Works well for systems that come pre installed.
  • Writing for business systems can be too ridgid.

Form Specification Elements

  • Function/entity definition.
  • Input descriptions and sources.
  • Output descriptions and destinations.
  • Needed data and other entities.
  • Action description.
  • Pre and post conditions when appropriate.
  • The function should also include any side effects.

Tabular vs Natural Language

  • It should supplement natural language.
  • Use it to defining alternative actions.
  • It calculates requirements in scenarios.

Use Cases

  • Included in the UML.
  • Identify actors and interactions.
  • Should describe any possible system interactions.
  • It is high-level and supplemented with description
  • UML diagrams show sequences to use-cases.

Software Requirements Document

  • What is required for software developers is in the requirements document.
  • Definition of the user and system requirements are contained
  • Its not a design, it presents the intention and not the implementation.

Users Document

  • It should specify requirements that match the customers needs.
  • Use the document to plan to plan bids for the system and design an implementation process.
  • Use documents understand all system implementations.
  • Documents should specify the validation tests.
  • Use the implement the system and and show relationships between sections

Requirements Document Variability

  • Info variety depends on document approach.
  • Incremental systems have less details in documents
  • There are IEEE standards for this which are specific to projects of engineers.

Validating Requirements

  • Requirements must match customer needs.
  • High error cost is important.
  • Fixing errors post delivery is 100X costing.

Requirements Checking

  • Ensure validity by providing functions for needs of customers.
  • Eliminate potential conflicts.
  • Include the requests made by all customers?
  • Implementation given budget can be implemented and is verifiable.

Validation Techniques

  • System analysis of the requirements.
  • System checks using an executable model.
  • Developing test check testability.

Requirements Reviews

  • Requirements need to be formulated and have scheduled reviews
  • Reviews should involve client and contract staff.
  • Formal docs are formal; developers/users communicate are informal which resolve issues.

Review Checks

  • Verify are they actually there
  • Understand if its properly understood.
  • Make sure origin is clear.
  • Adaptability shouldnt require significant work.

Changing Requirements

  • Post installation there will be business system and environment change, which requires new things.
  • The people should not be the same for both system and user needs.
  • Requirements management ensures you keep track of all documentation and maintain links to make sure changes to requirements get tracked.

Requirements Management planning

  • Establish all details for management.
  • Identify, A and T are all part of key management.
  • Identify uniquely to cross referencing is important.
  • Change assessment includes impact with set activities.
  • Record policies between A and S.
  • Support with tool and database for all range specialists.

Requirement Change Management

  • It will be determined if the change can or should be accepted.
  • With the analysis that is problem based you change its specified and checked for valid which require requestion of those changes.
  • Asses them using the information related to the system
  • Implementation of the needed system document or system designs/implementations needed have them changed/modified.

Studying That Suits You

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

Quiz Team

Related Documents

More Like This

Requirements Document Quality Quiz
15 questions
User Requirements vs System Requirements
10 questions
Requirements Engineering Overview
5 questions
Use Quizgecko on...
Browser
Browser