Software Engineering - Requirement Engineering
32 Questions
0 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 primary focus of requirement engineering (RE)?

  • Testing the final software product
  • Defining what the system should do (correct)
  • Designing system architecture
  • Implementing software solutions
  • Scope creep is a term used to describe the natural progression of a project without any changes.

    False

    What serious issue arose from the CareFusion Alaris Pump?

    Pump overdose when not needed

    The cost of bad requirements can be seen in project failures, with estimates reaching _____ billion GBP.

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

    Match the issues with their corresponding descriptions:

    <p>Target Error = Related to missile guidance in F-35 Seeing Double = Visual malfunction causing incorrect data output Pump Delay Infusion = Timing error in medical equipment Software Error = Flaws existing in the code leading to failures</p> Signup and view all the answers

    Which of the following is NOT considered a type of requirement?

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

    Requirement engineering serves no real purpose in software development.

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

    Name one major example of failure due to poor requirements mentioned in the content.

    <p>NHS Civilian IT</p> Signup and view all the answers

    What is a functional requirement?

    <p>High-level statements of what the system or actors can do</p> Signup and view all the answers

    Non-functional requirements focus on what the system can do.

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

    What are two main types of requirements mentioned?

    <p>Functional Requirements and Non-Functional Requirements</p> Signup and view all the answers

    Requirements are descriptions of how the system should __________.

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

    Match the types of requirements with their descriptions:

    <p>Functional Requirements = Statements of what the system should do Non-Functional Requirements = Attributes that define system performance User Requirements = Expectations from an end-user's perspective System Requirements = Specifications governing the system's behavior</p> Signup and view all the answers

    Which of the following is NOT a focus of requirements engineering?

    <p>Development of system architecture</p> Signup and view all the answers

    Stakeholder requirements are the same as functional requirements.

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

    What is the importance of requirements engineering?

    <p>It ensures that the system meets stakeholder needs and is developed according to specifications.</p> Signup and view all the answers

    Which of the following are examples of non-functional requirements (NFR)?

    <p>Performance and reliability</p> Signup and view all the answers

    An NFR can lead to the development of a functional requirement.

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

    What is the first phase of the requirements engineering process?

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

    The maximum downtime allowed for the patient management system during normal working hours is ______ seconds.

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

    Match the following types of requirements with their descriptions:

    <p>Functional Requirement = A requirement that specifies what the system should do Non-Functional Requirement = A requirement that specifies criteria that can be used to judge the operation of a system Organizational Requirement = A requirement that refers to specific regulations or guidelines of the organization External Requirement = A requirement that comes from external sources like laws or policies</p> Signup and view all the answers

    Which activity is part of the Inception phase of the requirements engineering process?

    <p>Understanding the nature of the solution</p> Signup and view all the answers

    Effective communication is less important during the Inception phase of requirements engineering.

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

    Name one factor that defines a non-functional requirement?

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

    What is the main goal of the negotiation phase in the requirements engineering process?

    <p>To prioritize requirements and address conflicts</p> Signup and view all the answers

    The verification process ensures that the product is built according to the specified standards.

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

    What phase comes after the elaboration phase in the requirements engineering process?

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

    The fifth phase of the requirements engineering process involves creating a written __________ specification.

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

    Match the following activities with their respective phases in the requirements engineering process:

    <p>Elicitation interviews = Requirements Gathering Modeling activities = Elaboration Cost discussions = Negotiation SRS documentation = Specifications</p> Signup and view all the answers

    Which of the following is NOT a common problem encountered during the requirements gathering phase?

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

    Prototyping is part of the elaboration phase of the requirements engineering process.

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

    What are the two main aspects measured in the verification and validation phase?

    <p>Built the product right; built the right product.</p> Signup and view all the answers

    Study Notes

    Introduction

    • Software engineering is a discipline of using engineering principles to build software.
    • Requirement Engineering (RE) focuses on defining and specifying the needs and constraints of a software system.
    • Bad requirements result in costly consequences: Projects fail to meet user needs, are delivered late, and may even violate regulatory requirements.

    What is RE?

    • RE is the critical process of discovering, analyzing, and documenting what a system should do.
    • It involves understanding the needs of stakeholders (users, clients, developers) and translating them into precise technical specifications.

    Importance of RE

    • Investing in RE can save significant resources and avoid costly rework.
    • RE improves communication between stakeholders, ensuring a clear understanding of project goals.

    Types of Requirements

    • Functional Requirements (FR): Define what the system should be able to do, including specific features and functionalities.
    • Non-Functional Requirements (NFR): Specify how the system should perform and operate, including aspects like performance, security, reliability, and usability.

    System Requirements

    • These requirements define the system as a whole, encompassing both functional and non-functional aspects.

    User Requirements

    • These requirements represent the users' perspectives and needs.

    Non-Functional Requirements (NFR)

    • NFRs are important as they define the quality and overall experience of a system.
    • Common examples of NFRs include security, reliability, usability, performance, and maintainability.
    • NFRs can influence the development of FRs by shaping design choices and implementation decisions.

    Product Requirements

    • Product Requirements describe the specific characteristics of the system that are essential to its value proposition.

    Organizational Requirements

    • Organizational Requirements reflect the constraints and policies of the organization using the system.

    External Requirements

    • External Requirements are imposed by external factors like industry regulations or legal standards.

    RE Activities

    • RE involves several key activities that form a structured process to gather, analyze, and document requirements.

    Inception

    • The initial phase focused on understanding the business context, exploring the problem, and developing a preliminary solution.
    • Key tasks:
      • Defining the scope of the project
      • Conducting feasibility studies
      • Gathering initial information from stakeholders
      • Understanding the market and competitive landscape

    Elicitation

    • This phase involves actively gathering detailed requirements from stakeholders.
    • Key tasks:
      • Identifying user needs and constraints
      • Conducting interviews, workshops, and observation sessions
      • Analyzing existing systems and documentation
      • Identifying potential conflicts and ambiguities

    Elaboration

    • This phase involves refining and expanding the requirements gathered in the previous stages.
    • Key tasks:
      • Modeling the system using diagrams and specifications
      • Creating prototypes to demonstrate features and functionalities
      • Analyzing and resolving ambiguities

    Negotiation

    • This phase involves resolving conflicts and prioritizing requirements based on feasibility, value, and risk.
    • Key tasks:
      • Discussing trade-offs and making compromises
      • Prioritizing requirements based on importance and urgency
      • Identifying and addressing any potential risks

    Specifications

    • This phase involves documenting the requirements in a clear and concise manner, typically using a Software Requirements Specification (SRS) document.
    • Key tasks:
      • Writing the SRS document, including detailed descriptions of functionalities, features, constraints, and other relevant information
      • Using various modeling techniques like UML diagrams and data models
      • Ensuring consistency and completeness in the specifications

    Verification and Validation

    • This phase focuses on ensuring that the documented requirements are correct and complete.
    • Key tasks:
      • Performing technical reviews and inspections
      • Checking for completeness, consistency, and accuracy
      • Validating the requirements with stakeholders through reviews and prototypes

    Requirement Management

    • It focuses on managing, tracking, and controlling requirements throughout the system's lifecycle.
    • Key tasks:
      • Identifying, analyzing, and documenting requirements
      • Tracking changes to requirements and communicating those changes to stakeholders
      • Ensuring that requirements are aligned with the overall project goals
      • Implementing effective change management practices
      • Creating a system for traceability, linking from requirements to design, implementation, and tests
      • Using tools for requirements management

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Lec 5.pdf

    Description

    This quiz covers the fundamentals of Requirement Engineering, focusing on the process of discovering, analyzing, and documenting system requirements. Understand the importance of accurately defining functional and non-functional requirements to ensure successful software project outcomes.

    More Like This

    Use Quizgecko on...
    Browser
    Browser