Requirements Engineering Overview

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 method of writing system requirements emphasizes the use of programming-like syntax for operational modeling?

  • Natural language
  • Structured natural language
  • Design description languages (correct)
  • Graphical notations

What is a key limitation associated with using natural language for system requirements?

  • It is too structured, limiting flexibility.
  • It may lack the precision needed for testability. (correct)
  • It is highly technical and requires specialized knowledge.
  • It is only suitable for non-functional requirements.

Which approach is least effective for ensuring traceability in requirement specifications?

  • Natural language (correct)
  • Structured natural language
  • Mathematical specifications
  • Graphical notations

How can changing requirements impact the system design process?

<p>They often necessitate revisiting the system architecture. (B)</p> Signup and view all the answers

What is a benefit of using mathematical specifications in requirements?

<p>They provide a clear framework for testability. (B)</p> Signup and view all the answers

In requirements reviews, what is the primary focus?

<p>Verifying the accuracy and completeness of each requirement. (D)</p> Signup and view all the answers

Which approach best facilitates communication among stakeholders when defining requirements?

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

Which requirement specification method can be limiting when trying to inter-operate with other systems?

<p>Design description languages (B)</p> Signup and view all the answers

What does traceability in requirements refer to?

<p>The capability to link a requirement to its origin or source. (B)</p> Signup and view all the answers

Which factor does not contribute to the adaptability of a requirement?

<p>The availability of technology needed to implement the requirement. (C)</p> Signup and view all the answers

What is a common purpose of regular reviews during the requirements definition phase?

<p>To facilitate effective communication between developers and clients. (D)</p> Signup and view all the answers

Which statement accurately describes testability of requirements?

<p>If a requirement is difficult to test, it usually indicates that implementation will also be challenging. (A)</p> Signup and view all the answers

What does comprehensibility in the context of requirement reviews refer to?

<p>The clarity with which a requirement is expressed and understood. (D)</p> Signup and view all the answers

Which of the following best exemplifies a conflict in requirements?

<p>Demanding high performance while requiring low system resources. (B)</p> Signup and view all the answers

What role does client involvement play in requirements reviews?

<p>It enhances understanding and helps address issues early. (B)</p> Signup and view all the answers

Which of the following is a key aspect of using prototyping in requirements analysis?

<p>It allows for early visualization and testing of requirements in a realistic manner. (B)</p> Signup and view all the answers

What distinguishes a user requirement from a system requirement?

<p>A user requirement can be expanded into several system requirements. (A)</p> Signup and view all the answers

Which of the following best describes traceability in requirements engineering?

<p>Tracking the evolution of requirements throughout the project lifecycle. (A)</p> Signup and view all the answers

Which of the following scenarios represents a challenge in changing requirements?

<p>Changes are made without assessing their impact on existing specifications. (B)</p> Signup and view all the answers

How can communication impact the effectiveness of requirements engineering?

<p>It can lead to misinterpretation of requirements by stakeholders. (A)</p> Signup and view all the answers

What does testability of requirements imply?

<p>Requirements must be phrased in a way that makes them verifiable. (A)</p> Signup and view all the answers

Which factor does NOT contribute to the adaptability of requirements?

<p>A stringent set of original constraints that must be followed. (B)</p> Signup and view all the answers

What is the purpose of conducting requirements reviews?

<p>To ensure requirements are clear, complete, and deliverable. (A)</p> Signup and view all the answers

Why is defining both functional and non-functional requirements important?

<p>Both types ensure a comprehensive understanding of a system's needs and constraints. (D)</p> Signup and view all the answers

Flashcards

Requirements Analysis

A systematic process of examining and defining customer needs for a system.

Requirements Consistency

Ensuring that requirements don't contradict each other.

Requirements Completeness

Ensuring all necessary functions are included in the requirements.

Requirements Realism

Evaluating if requirements can be implemented within budget and technology.

Signup and view all the flashcards

Requirements Verifiability

Checking if requirements can be tested and confirmed.

Signup and view all the flashcards

Prototyping

Creating a model to test and validate functional requirements.

Signup and view all the flashcards

Requirements Reviews

Regular checks of requirements during formulation; may be formal or informal.

Signup and view all the flashcards

Review Checks (Verifiability)

Assess if the requirement is realistically testable, understood and traceable in origin.

Signup and view all the flashcards

Review Checks (Comprehensibility)

Checking if each requirement is properly understood by stakeholders

Signup and view all the flashcards

Review Checks (Traceability)

Determining the origin and dependencies of each requirement.

Signup and view all the flashcards

Review Checks (Adaptability)

Assessing if requirements can be modified without harming other parts of the system.

Signup and view all the flashcards

Executable Model

A way to test requirements using a working model.

Signup and view all the flashcards

Test Case Generation

Creating tests to demonstrate each requirement is met on the code.

Signup and view all the flashcards

Requirements Engineering

The process of gathering, analyzing, documenting, and managing requirements for a system.

Signup and view all the flashcards

Requirements

Descriptions of services a system must provide and constraints on its operation.

Signup and view all the flashcards

Functional Requirements

Describe specific functions and features of a system.

Signup and view all the flashcards

Non-functional Requirements

Describe constraints on the system, like performance or security.

Signup and view all the flashcards

Requirements Elicitation

The process of gathering requirements from stakeholders.

Signup and view all the flashcards

Requirements Specification

Creating detailed documentation of collected requirements.

Signup and view all the flashcards

Requirements Validation

Checking if the requirements correctly capture user needs.

Signup and view all the flashcards

Requirements Change

Managing and addressing changes to system requirements during development.

Signup and view all the flashcards

User Requirements

High-level descriptions of what the system should do from a user's perspective.

Signup and view all the flashcards

System Requirements

Detailed specifications of how the system should operate, derived from user requirements.

Signup and view all the flashcards

System Requirements Specification

A document that describes what a system should do.

Signup and view all the flashcards

Natural Language

Using numbered sentences in plain language to describe requirements.

Signup and view all the flashcards

Structured Natural Language

Requirements in natural language use a template to organize information about each req.

Signup and view all the flashcards

Design Description Language

Uses programming-like language but more abstract; useful for interface specs.

Signup and view all the flashcards

Graphical Notations

Using diagrams (like UML) with text to define system functions.

Signup and view all the flashcards

Mathematical Specifications

Using mathematical models like finite-state machines to define reqs.

Signup and view all the flashcards

Study Notes

Requirements Engineering

  • Requirements are descriptions of services a system should provide and its operational constraints.
  • Requirements can range from high-level, abstract statements to detailed functional specifications.
  • Requirements may serve a dual function: forming the basis for a bid or the contract itself.
  • Requirements elicitation is a process for discovering and understanding the needs of users
  • Requirements specification defines system functions, services, and operational constraints in detail.
  • User requirements are statements in natural language and diagrams describing system services and constraints.
  • System requirements are more detailed descriptions of system functions, written for the implementers.
  • Requirements should be complete, consistent, and verifiable.
  • Stakeholders are any affected individuals or organizations who have an interest in the system. These could include end-users, system managers, system owners, and external stakeholders.
  • Agile methods often use incremental requirements engineering, expressing requirements as "user stories" instead of detailed specifications.

Types of Requirements

  • User Requirements: Statements, described in natural language, with diagrams detailing the system's services and operational constraints written for customers.
  • System Requirements: Detailed descriptions of system functions, operational constraints, and services.

User and System Requirements Example

  • Mentcare System Example:
    • User Requirement: Generate monthly management reports of drug costs per clinic.
    • System Requirement: Generate reports on the last business day of each month, showing details of all drugs and prescribing clinics, including individual drugs, total prescriptions, doses, and total costs, for authorized users only. Separate reports by dose unit if applicable.

Stakeholders

  • Stakeholders involved in Mentcare: patients, doctors, nurses, receptionists, IT staff, medical ethic managers, healthcare managers, and medical record staff.

Agile Methods and Requirements

  • Agile methods often reduce the importance of detailed requirements documents, as requirements change quickly without a detailed document.
  • User stories may be used for requirements.
  • Agile methods are often more practical for business systems, but can be problematic for critical systems with pre-delivery analysis needs or for systems built by multiple teams.

Functional and Non-Functional Requirements

  • Functional Requirements: Describe the services and behaviors of the system (how it should respond to particular inputs and actions in specific situations).
  • Non-Functional Requirements: Constraints on the services or functions. Examples include timing constraints, standards, reliability, and availability, usually applicable to the system as a whole and not specific features.

Requirements Imprecision

  • Ambiguous requirements can be interpreted in different ways by developers and users leading to problems and delays/higher costs.

Requirements Completeness and Consistency

  • Requirements should be complete and consistent.
  • Requirements should include all requested functions and features.
  • There should be no conflicts or contradictions in the descriptions of the system facilities.
  • While ideal, it's practically impossible to create perfect requirements for highly complex systems.

Non-Functional Requirements Implementation

  • Non-functional requirements can impact system architecture as a whole, not just individual parts.
  • A single non-functional requirement may lead to a series of related functional requirements, for example a security requirement might lead to system access restrictions.

Non-Functional Classifications

  • Product Requirements: Constraints on the system's runtime behavior (e.g., execution speed, memory use, and reliability).
  • Organizational Requirements: Consequence of organizational policies and procedures (e.g., coding standards and development process).
  • External Requirements: From external factors (e.g., interoperability, and regulatory requirements).

Types of Non-Functional Requirements

  • These can be grouped according to various characteristics such as performance, security, reliability, usability, and more.

Examples of Non-Functional Requirements (Mentcare System)

  • Product Requirement: The system shall be available to all clinics during normal working hours.
  • Organizational Requirement: Users of the system must authenticate using their identity card.
  • External Requirement: The system must comply with privacy regulations.

Requirements Discovery

  • This is the process of gathering information to develop user and system requirements from existing systems and information.
  • Techniques include interviews, observation (ethnography), and user stories.

Interviewing

  • Interviewing is a common process using formal or informal questioning techniques.
  • Types include open-ended and closed questions.
  • Effective interviewing requires open-mindedness and an understanding of stakeholder needs to discover various issues and potential challenges.

Ethnography

  • Observation-based process for understanding operational procedures to discover support requirements, which reflects how people actually work, as opposed to hypothetical work processes.
  • Ethnography is good for understanding existing processes and procedures, but may not suggest new features that could be added to the system.

Stories and Scenarios

  • Stories and scenarios describe how a system can be used and are detailed descriptions of specific use cases.
  • Scenarios describe practical situations that stakeholders can understand and which are useful for eliciting more requirements.

Requirements Specification

  • The process of writing down user and system requirements in a document that's understandable by customers and users and is the foundation for all future developments.

Ways of Writing System Requirements:

  • This involves natural language, supplemented by diagrams, tables, and specifications. These help clarify and ensure completeness of user/system needs.

Requirements Validation

  • This process validates if the system's requirements truly meet the customer's needs, and checks for inconsistencies.
  • Errors identified early during validation are crucial since fixing them late in development can be costly and time-consuming.

Requirements Checking

  • Validity: Does the system correctly perform its tasks and support the users?
  • Consistency: No internal conflicts or inconsistencies in the requirements.
  • Completeness: All necessary features and functionalities are included.
  • Realism: Can the system be built with available resources?
  • Verifiability: Can the system's features be tested?

Requirements Reviews

  • Regular reviews should involve both clients and developers.
  • Reviews may be formal or informal, and good communication can prevent problems or issues from occurring at a later point.

Requirements Change

  • Requirements change as the business and technical environment evolves.
  • Changes may be driven by new hardware, interface changes, business priorities, new legislations, organizational, or budgetary constraints.
  • Effective management of these changes is crucial in large/complex projects.

Requirements Management

  • The process of managing changing requirements during development and after deployment.
  • This involves tracking changes, assessing their impact, managing proposals, and ensuring all changes are documented effectively.

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