Requirement Engineering Chapter 4

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

Which of the following best describes the purpose of requirements engineering in software development?

  • To define the hardware needed for the software application.
  • To write the code for a software application.
  • To design the user interface of a software application.
  • To establish the services a customer requires from a system and the constraints under which it operates and is developed. (correct)

What is the significance of requirements serving a 'dual function' during the contracting of a software project?

  • They must be open to interpretation for bidding yet defined in detail for the contract itself. (correct)
  • They must only describe the system's functionality from a technical stance to avoid misinterpretation.
  • They should be fully detailed from the outset to allow for accurate bidding and contract definition.
  • They should serve as guidelines for the team's structure and processes during the project lifecycle.

According to Davis’ Requirements Abstraction, why should a company define its needs in a sufficiently abstract way when letting a software contract?

  • To limit the contractors' options, assuring a high degree of control.
  • To allow multiple contractors to offer different ways of meeting the needs, fostering innovation and competition. (correct)
  • To minimize the effort needed to write the requirements document.
  • To reduce the risk of scope creep during the development process.

Which statement differentiates a 'user requirement' from a 'system requirement'?

<p>User requirements are written for customers in natural language, while system requirements are structured and define what should be implemented. (D)</p> Signup and view all the answers

What is the primary role of 'system stakeholders' in the requirements engineering process?

<p>To provide input and have a legitimate interest, as they are affected by the system in some way. (A)</p> Signup and view all the answers

Considering the 'Mentcare system', how do medical ethics managers contribute as stakeholders?

<p>By ensuring the system adheres to ethical guidelines for patient care. (B)</p> Signup and view all the answers

What is a key argument against producing detailed system requirements in agile methods?

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

When are Agile methods considered 'problematic' concerning requirements?

<p>When the system requires pre-delivery analysis or is developed by several teams. (B)</p> Signup and view all the answers

What is a functional requirement in software engineering?

<p>A specification of how the system should react to particular inputs and behave in specific situations. (D)</p> Signup and view all the answers

What is the main difference between functional and non-functional requirements?

<p>Functional requirements describe what the system should do; non-functional requirements describe how the system should do it. (B)</p> Signup and view all the answers

What is the most likely consequence of imprecise functional requirements?

<p>Misinterpretations by developers and users, leading to a system that does not meet expectations. (C)</p> Signup and view all the answers

What does it mean for requirements to be 'complete' and 'consistent'?

<p>They include descriptions of all required facilities, without conflicts or contradictions. (D)</p> Signup and view all the answers

What is the potential impact of failing to meet non-functional requirements?

<p>The system might not be useful or viable despite fulfilling its functional requirements. (B)</p> Signup and view all the answers

What should be used to objectively test non-functional requirements?

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

Which of the following is most likely to be a 'product requirement'?

<p>The delivered product must be highly reliable. (D)</p> Signup and view all the answers

Which aspect of non-functional requirements is addressed by the metric 'Mean Time To Failure'?

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

What is the primary goal of 'Requirements Engineering' processes?

<p>To understand and define what the system should do. (D)</p> Signup and view all the answers

What are the core, generic activities common to all 'Requirements Engineering' processes?

<p>Elicitation, analysis, validation, and management. (B)</p> Signup and view all the answers

During requirements elicitation and analysis, who are considered 'stakeholders'?

<p>End-users, managers, domain experts, and anyone involved in the system's maintenance. (D)</p> Signup and view all the answers

Which of the following is a key challenge encountered during requirements elicitation?

<p>Stakeholders might not know exactly what they need; different stakeholders might have conflicting requirements. (A)</p> Signup and view all the answers

In the requirements elicitation and analysis process, what is the purpose of 'requirements classification and organization'?

<p>Group related requirements into coherent clusters. (D)</p> Signup and view all the answers

Why is 'prioritization and negotiation' a key activity in the requirements elicitation process?

<p>To address conflicting requirements and manage available resources. (B)</p> Signup and view all the answers

What characterizes effective interviewing as a requirements elicitation technique?

<p>Being open-minded, listening actively, and prompting discussion with open-ended questions. (B)</p> Signup and view all the answers

What is a primary limitation of using interviews to understand domain requirements?

<p>Application specialists might use terminology that is difficult for the requirements engineer to understand; familiarity can make it hard to articulate knowledge clearly. (B)</p> Signup and view all the answers

A social scientist uses considerable time to observe how people work. This describes which technique?

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

What is a key benefit of ethnography in requirements elicitation?

<p>It reveals insights into how people actually work, rather than how process definitions suggest they should work. (B)</p> Signup and view all the answers

How does 'Focused Ethnography' aim to improve traditional ethnography in requirements analysis?

<p>By complementing ethnography with prototyping to focus the analysis. (D)</p> Signup and view all the answers

What statement best describes 'scenarios' in the context of requirements elicitation?

<p>A structured user story that includes what can go wrong, a starting situation, and when the scenario finishes. (A)</p> Signup and view all the answers

What is the primary goal of 'requirements specification'?

<p>To provide documentation to communicate project requirements. (C)</p> Signup and view all the answers

Why is 'natural language' commonly used in writing user requirements?

<p>Because it is expressive, intuitive, and can be understood by users and customers. (D)</p> Signup and view all the answers

When writing requirements, the term shall is best to use when...

<p>When referencing data that must be secured. (D)</p> Signup and view all the answers

What is a key problem associated with using natural language to specify requirements?

<p>It tends to result in requirements amalgamation. (D)</p> Signup and view all the answers

What distinguishes 'structured specifications' from natural language specifications?

<p>Requirements are written in a standard way with limited freedom for the writer. (D)</p> Signup and view all the answers

In a form-based specification, what information is captured under 'Pre and post conditions'?

<p>States or conditions that must be true before and after the function is executed. (D)</p> Signup and view all the answers

When would tabular specification be used?

<p>To supplement natural language, especially for defining alternative courses of action. (C)</p> Signup and view all the answers

Which of the following best describes what must be captured in the Software Requirements Document (SRD)?

<p>The official statement of what is required of the system developers, including user and system requirements. (B)</p> Signup and view all the answers

What role does 'system evolution' play within the structure of a requirements document?

<p>To document the fundamental assumptions and anticipated changes. (B)</p> Signup and view all the answers

What is the primary focus of 'requirements validation'?

<p>Ensuring that the requirements define the system that the customer really wants. (B)</p> Signup and view all the answers

Which of the following is a critical aspect of 'requirements validation'?

<p>Checking the requirements for validity, consistency, completeness, realism, and verifiability. (A)</p> Signup and view all the answers

What is the goal of holding regular reviews during the requirements definition?

<p>To fix issues when the cost is low. (D)</p> Signup and view all the answers

During a requirement review, what does 'Verifiability' mean?

<p>Can the requirement realistically be checked? (D)</p> Signup and view all the answers

Why is 'Requirements Management' a critical process in software engineering?

<p>Requirements often need to be updated during the software lifecycle to ensure that they are met. (A)</p> Signup and view all the answers

What is the purpose of traceability policies

<p>Defines relationships between requirements and system design. (A)</p> Signup and view all the answers

What is a key activity in software requirements change management when a change request is made?

<p>Analyze the problem and check to see that the client is valid. (B)</p> Signup and view all the answers

Flashcards

Requirements Engineering

Establishing the services a customer requires from a system, including constraints.

System Requirements

Descriptions of system services and constraints generated during requirements engineering.

What is a Requirement?

Abstract statement of service or system constraint to a detailed functional specification

User Requirements

Statements in natural language and diagrams of system services for customers.

Signup and view all the flashcards

System Requirements (detailed)

Structured document detailing system functions, services and constraints for client/contractor.

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

Agile Methods

Argue that detailed system requirements are a waste of time due to quick changes.

Signup and view all the flashcards

Functional Requirements

Services the system should provide, how it reacts to inputs and behaves in situations.

Signup and view all the flashcards

Non-Functional Requirements

Constraints on system services/functions like timing, development process, and standards.

Signup and view all the flashcards

Domain Requirements

Constraints on the system derived from the operational domain.

Signup and view all the flashcards

Functional Requirements Details

Describe functionality or system services based on software type and expected users.

Signup and view all the flashcards

Non-Functional Requirements Details

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

Signup and view all the flashcards

Product Requirements

Requirements specifying delivered product behavior, e.g., speed, reliability.

Signup and view all the flashcards

Organizational Requirements

Requirements from organizational policies/procedures, e.g., process standards.

Signup and view all the flashcards

External Requirements

Requirements from external factors like interoperability and legislation.

Signup and view all the flashcards

Goal (Requirements)

A general intention of the user such as 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 (RE)

An activity in which these processes are interleaved

Signup and view all the flashcards

Requirements Elicitation

Finding out about the application domain and system operational constraints.

Signup and view all the flashcards

Stakeholders

End-users, managers and domain experts

Signup and view all the flashcards

Stages of Requirements Elicitation

Discovery, classification, prioritization and negotiation, and specification.

Signup and view all the flashcards

Problems of Requirements Elicitation

Stakeholders don't know what they want and express requirements in their own terms.

Signup and view all the flashcards

Requirements Discovery

Gathering data about systems and distilling user/system requirements.

Signup and view all the flashcards

Interviewing

Formal/informal conversations to find out more on a specific topic.

Signup and view all the flashcards

Ethnography

Observing and analyzing how people actually work.

Signup and view all the flashcards

Scope of Ethnography

Deriving requirements from actual work patterns, not predefined processes.

Signup and view all the flashcards

Focused Ethnography

Combines ethnography with prototyping to focus ethnographic analysis.

Signup and view all the flashcards

User Stories and Scenarios

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

Signup and view all the flashcards

Requirements Specification

The process of writing down the user and system requirements in a requirements documents.

Signup and view all the flashcards

Natural Language Specification

The requirements are written using numbered sentences in natural language.

Signup and view all the flashcards

Guidelines For Writing Requirements

Invent a standard format and use it for all requirements.

Signup and view all the flashcards

Problems With Natural Language

Precision is difficult without making the document difficult to read.

Signup and view all the flashcards

Structured Specifications

An approach to writing requirements where the freedom of the requirements writer is limited and requirements are written in a standard way.

Signup and view all the flashcards

Structure of a Requirements document.

Several indexes to the document may be included.

Signup and view all the flashcards

Requirements Validation

Concerned with demonstrating that the requirements define the system that the customer really wants.

Signup and view all the flashcards

Validity

Does the system provide the functions which best support the customer's needs?

Signup and view all the flashcards

Requirements Reviews

Systematic manual analysis of the requirements.

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

Requirements management is the process of managing changing requirements during the requirements engineering process and system development

Signup and view all the flashcards

Requirements Identification

Each requirement must be uniquely identified so that it can be cross-referenced with other requirements.

Signup and view all the flashcards

Study Notes

  • Chapter 4 focuses on requirement engineering

Overview

  • Primary topics include functional and non-functional requirements, engineering processes, requirements elicitation, specification, validation, and change management
  • Requirement engineering establishes customer-required services and operational constraints
  • System requirements describe system services and constraints produced during the engineering process

Requirements Types

  • It ranges from abstract service statements to detailed functional specs
  • Inevitable because requirements serve two purposes: contract bids (open interpretation) and contract basis (detailed definition)
  • Requirements abstraction entails companies defining needs abstractly for contractor bids; contractors then write detailed system definitions for clients
  • User specifications employ natural language and diagrams for customer understanding
  • System specifications are structured documents detailing functions of the system, which may be part of a client-contractor agreement

Requirements Readers and Stakeholders

  • User requirements are intended for client managers, end-users, client engineers, system architects, and contractor managers
  • System requirements primarily target system end-users, client engineers, system architects, and software developers
  • System stakeholders are individuals or groups affected by the system and have a legitimate interest
  • Stakeholder categories include end-users, system managers, system owners, and external entities.

Agile Methods

  • Agile methods view comprehensive system specifications as inefficient due to rapid changes
  • Agile focuses on incremental engineering using user stories, suitable for business systems yet challenging for pre-delivery or multi-team projects

Functional vs Non-Functional Requirements

  • Functional requirements describe what the system should do, its response to inputs, and its behavior in particular situations, and what not to do
  • Non-functional requirements impose constraints on services, such as timing, development process, standards and apply to the entire system
  • Domain requirements are operational constraints
  • Functional requirements describe system services, depending on software type, expected users, and usage context. They range from high-level user needs(functional USER requirements and detailed system features(functional SYSTEM requirements)
  • Ambiguity in functional requirements can lead to interpretation issues between developers and users
  • System requirements should be complete including all required facilities and consistent with no conflicts
  • Business complexity can make it impossible to produce a complete and consistent requirements document
  • Non-functional requirements define system properties (e.g., reliability) and may mandate specific development tools or methods
  • Failure to meet non-functional criteria can render the system unusable
  • Types of non-functional requirements include product, organizational, and external requirements

Non-Functional Requirements Implementations and Classificatons

  • They can shape overall system architecture and generate related functional requirements.
  • Classifications:
    • Product requirements
      • Specify how the delivered product ought to behave, such as its execution speed and reliability
    • Organizational requirements
      • Stem from organizational protocols, for example, process standards and implementation mandates
    • External requirements
      • Emerge from outside influences like cross-system operability mandates

Goals

  • Goals may provide insights to developers regarding user requirements that could be difficult to state precisely
  • Verifiable requirements should have statements using measures for testability
  • Usability goals example
    • The system should be easy to use by medical staff and organized to minimize user errors
  • Non-functional metrics include:
    • Speed
      • Measured by transactions / second
    • Ease of use
      • Measured by training time

Requirement Engineering Processes and Elicitation

  • They vary based on project specifics, generic activities include elicitation, analysis, validation, and management
  • Requirements Elicitation involves finding out about the application domain and operational constraints, which can involve a range of stake holders
  • In practice, RE is an iterative activity in which processes are interleaved
  • The stages of elicitation include discovery, classification, prioritization, and specification

Requirement Elicitation Problems

  • Stakeholder communication issues during the analysis process and new stakeholder's opinions
  • The requirements change during the analysis process
    • New stakeholders may emerge and the business environment may change

Process Activites

  • Requirements Classification and Organization
    • Requirements are related to and organized into coherent clusters
  • Prioritisation and negotiation
    • Prioritising requirements and resolving requirements conflicts
  • Requirements specification -Requirements are documented and input into the next round of the spiral*
  • Requirements Discovery
    • Gather information about existing systems and stakeholders

Interviews

  • Interviews are frequently used in RE processes, can be;
    • Closed
      • Based on pre-determined questions
    • Open
      • Explored with stakeholders
  • Can involve application specialists creating difficulties for requirement engineers

Ethnography and Focused Ethnography

  • A social scientist spends a considerable time observing and analyzing how people actually work
  • Ethnographic studies have shown that work is usually richer and more complex than suggested by simple system models
  • It is effective for understanding existing processes but cannot identify new features to add to a system
  • Focused ethnography combines ethnography with prototyping where prototype development results in unanswered questions which focus the ethnographic analysis
  • Focused Ethnography was was developed in a project studying the air traffic control process
  • The problem with ethnography is that it studies existing practices which may have some historical basis which is longer relevant

Stories and Scenarios

  • Scenarios and user stories describe system use in real-life examples and in a particular task
  • Stakeholders can relate to scenarios leading to useful feedback discussions.
  • Scenarios should have: - A description of the starting situation - A description of the normal flow of events - A description of what can go wrong - Information about other concurrent activities - A description of the state when the scenario finishes

Requirements Specification

  • Process involves documenting user and system requirements in a software requirements documents
  • The user needs to be able to understand the software by end-users
  • Important for the requirements to be complete as possible
  • Should define WHAT the system should do rather than HOW it should do it (i.e. it is NOT a design document)

Ways of Writing Specifications

  • Include natural language and Structured language.
  • Natural language specification
    • Used for writing requirements because it is expressive, intuitive and universal for all individuals, diagrams and tables
    • Requires a standardized format that specifies 'shall' for mandatory ones or 'should' for desirable ones
    • Can have problems like clarity, confusion or amalgmation
  • Structured language:
    • Form-based specifications including a definition of inputs and outputs, functions of the business processes.
  • Tabular specifications
    • Useful for defining multiple potential courses of action or processes.
    • For example, the insulin pump systems bases its computations on the rate of change of blood sugar level

Use Cases

  • Use-cases are a kind of scenario that are included in the UML
  • Use cases identify the actors in an interaction and which describe the interaction itself
  • Important a set of use cases describe all possible interactions with the system

The Software Requirements Document

  • The Official statement of what is required from developers
  • Includes -User requirements
    • System requirements
  • Not a design document rather focus on WHAT not HOW
  • User of requirements system includes specifying requirements, planning bids, planning, understanding the system, developing validation tests and maintain the system

Requirements Validation

  • Validation addresses if the requirements properly define what the customer needs
  • Undetected errors can cost up to 100x more post-delivery than fixing implementation bugs
  • Checking includes validity(functions supporting customer needs), consistency(conflict free), realism(can implement within tech constraints), completeness (are customer functions included?) and verifiability (can it be tested?)
  • Validation Techniques includes the systematic manual analysis of specifications
  • Using Prototyping and the development of test for requirements to check testability
  • During review, the requirements need to be be verifiable, comprehensible, traceable for its origins and adaptable for any requirement changes that could impact system functionality

Requirements Change

  • Business and tech environments evolve post-installation, change often derives the requirement
  • System patrons and actual system users are distinctly different
  • Large, diverse user bases can have conflicting needs
  • Change analysis and costing should be undertaken with a focus on traceability and impact of system requirements before decisions can be made about whether to implement requirements change

Requirements Management Planning

  • It establishes the detail that is required, like requirements and change management, traceability and tool support as well as the design that should be recored.

Studying That Suits You

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

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser