Software Engineering Chapter 4
48 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 do functional requirements specify?

  • The system's performance metrics
  • The application domain characteristics
  • The constraints on the development process
  • The services the system should provide (correct)
  • Non-functional requirements only include timing constraints.

    False

    What is the difference between functional user requirements and functional system requirements?

    Functional user requirements are high-level statements of what the system should do, while functional system requirements describe the services in detail.

    Functional requirements describe __________ or system services.

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

    Match the type of requirements with their descriptions:

    <p>Functional requirements = Services the system should provide Non-functional requirements = Constraints on services or functions Domain requirements = Requirements from the application domain User requirements = Expected tasks and functions from users</p> Signup and view all the answers

    Which of the following is NOT a component of functional requirements?

    <p>How many users can access the system simultaneously</p> Signup and view all the answers

    Functional requirements do not depend on the type of software or expected users.

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

    Provide an example of a functional requirement.

    <p>The system shall provide appropriate viewers for the user to read documents in the document store.</p> Signup and view all the answers

    What is a primary goal of the analysis phase in requirements engineering?

    <p>To develop a clear understanding of the new system’s requirements</p> Signup and view all the answers

    Participation by business users is not essential for determining system requirements.

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

    Name one technique that helps users discover their needs for the new system.

    <p>Business Process Automation (BPA), Business Process Improvement (BPI), or Business Process Reengineering (BPR)</p> Signup and view all the answers

    The final deliverable of the analysis phase is the __________.

    <p>software/system proposal</p> Signup and view all the answers

    Which of the following is NOT part of the analysis phase?

    <p>Writing detailed code for the system</p> Signup and view all the answers

    Match the following terms with their correct descriptions:

    <p>BPA = Automating existing business processes BPI = Enhancing processes for efficiency BPR = Reinventing business processes Requirements Engineering = Translating business needs into detailed system requirements</p> Signup and view all the answers

    The customer provides the exact specifications for the software/system.

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

    What is the primary function of requirements determination in requirements engineering?

    <p>To transform high-level business requirements into a detailed list of system requirements.</p> Signup and view all the answers

    What is the main goal of requirements engineering?

    <p>To establish the services and constraints of a system</p> Signup and view all the answers

    Requirements must be defined in a way that pre-defines a solution.

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

    Name one type of stakeholder involved in the requirements engineering process.

    <p>End users</p> Signup and view all the answers

    Agile methods often use __________ to express requirements due to their changing nature.

    <p>user stories</p> Signup and view all the answers

    Match the stakeholder types with their descriptions:

    <p>End users = People who will interact with the system System managers = Individuals responsible for overseeing operations System owners = Organizations that have invested in the system External stakeholders = Parties outside the organization affected by the system</p> Signup and view all the answers

    In requirements engineering, what is the purpose of writing a requirements document after a contract is awarded?

    <p>To provide detailed information for client validation</p> Signup and view all the answers

    Agile methods advocate for producing extensive detailed system requirements.

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

    What is one challenge faced by agile methods in the context of critical systems?

    <p>Requirements may change too quickly.</p> Signup and view all the answers

    Which of the following describes a user requirement?

    <p>Defining the tasks users must perform to achieve their business goals</p> Signup and view all the answers

    User requirements should not focus on the users' business priorities.

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

    List one example of a user requirement mentioned in the content.

    <p>Schedule a client appointment</p> Signup and view all the answers

    A Sales Representative must have the capability to __________ within the system.

    <p>create new customer orders</p> Signup and view all the answers

    Match the user requirement to its description:

    <p>Schedule a client appointment = Setting date and time with a client Re-order inventory = Identifying low stock items Look up account balances = Retrieving account information Determine available credit = Checking customer account limits</p> Signup and view all the answers

    What is an example of a problem addressed in the requirements engineering process?

    <p>Identifying the problems with the current system</p> Signup and view all the answers

    User tasks are not relevant to the design of new software systems.

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

    What are two considerations that user requirements must address?

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

    Which of the following is a common problem during requirements elicitation?

    <p>Different stakeholders may have conflicting requirements</p> Signup and view all the answers

    Stakeholders often know exactly what they want when discussing system requirements.

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

    What is the first stage of the requirements elicitation process?

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

    The process of grouping related requirements is called __________.

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

    What could influence system requirements besides stakeholder opinions?

    <p>Organizational and political factors</p> Signup and view all the answers

    Match the following stages of requirements elicitation with their descriptions:

    <p>Requirements discovery = Interacting with stakeholders to discover their requirements Requirements classification = Grouping related requirements into coherent clusters Prioritization and negotiation = Resolving conflicts among requirements Requirements specification = Documenting requirements for future analysis</p> Signup and view all the answers

    New stakeholders cannot emerge once the requirements elicitation process begins.

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

    What is the purpose of requirements prioritization?

    <p>To prioritize requirements and resolve conflicts among them</p> Signup and view all the answers

    Which of the following is an example of a non-functional requirement?

    <p>The system should have a maximum response time of 2 seconds for predefined queries.</p> Signup and view all the answers

    Organisational requirements only refer to external factors affecting system development.

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

    What type of requirement might require changes to the overall architecture of a system?

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

    External requirements arise from factors __________ to the system and its development process.

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

    Match each type of requirement with its definition:

    <p>Functional Requirements = Describe system services and functionalities Non-functional Requirements = Concern system attributes like performance and security Organisational Requirements = Derived from internal policies and procedures External Requirements = Dictated by factors outside the organization and system</p> Signup and view all the answers

    Which requirement indicates a usability concern for the system?

    <p>The system should print subsidiary reports in the primary language of the subsidiary.</p> Signup and view all the answers

    Functional requirements can often be interconnected with non-functional requirements.

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

    Give two examples of functional business requirements from the provided system requirements.

    <p>Restrict access to profitability information; provide management reports.</p> Signup and view all the answers

    Study Notes

    Software Engineering - Chapter 4

    • Requirements Engineering is a crucial part of software development, with 37% of problems stemming from poor requirements.
    • Requirements analysis is the phase of understanding who uses the system, what it does, and where it operates.
    • Key deliverables are combined into a system proposal to determine if the project continues.
    • The analysis phase includes classifying requirements: business, user, functional, and nonfunctional.
    • The "As-Is" system represents the present system, which might or might not be computerized.
    • The "To-Be" system is the new system that fulfills updated requirements.
    • The System Proposal is the critical output from the analysis phase.
    • Analysis refers to breaking down complex systems into their parts for understanding.
    • The planning phase outputs are necessary inputs for the analysis phase.
    • The goal in analysis is to fully grasp the new system's requirements.
    • Understanding the "As-Is" system, identifying improvements, and defining the "To-Be" system are crucial.
    • Business Process Automation (BPA), Business Process Improvement (BPI), and Business Process Reengineering (BPR) are used to discover user needs for the new system.
    • The final analysis phase output is the software/system proposal.
    • This proposal is presented as a walk-through to the approval committee for detailed explanation.
    • The analysis phase's deliverables are the initial step in designing the new software/system.
    • Recognizing that a customer's problem statement isn't the same as requirements is vital.
    • Requirements engineering transforms high-level business requests into detailed specifications of the desired software/system functionality.
    • Two key questions to ask are: "How can we identify the purpose of the system?" (i.e., features and constraints) and, "What is inside/outside the system?".
    • Requirements elicitation (gathering) defines system needs, how it works in a day-to-day basis, and its role in the business.
    • Requirements analysis clarifies the system's functions and specifications for the developers.
    • Requirements specification formalizes the system's requirements for better clarity and consistency among stakeholders and developers.
    • Requirements validation guarantees the system fulfills the needed requirements.
    • Requirements are described through functional and non-functional descriptions.
    • Functional requirements focus on what the system should do.
    • Non-functional requirements focus on how the system should work (e.g., performance, security).
    • Agile development often avoids detailed requirements, relying more on user stories and an iterative approach.
    • User requirements detail tasks users must do within a system.
    • Requirements should be complete and consistent, but this is typically challenging in reality.
    • The analysis phase should consider business and IT perspectives, and stakeholders' needs.

    Learning Objectives

    • Explain the analysis phase of the Software Development Lifecycle (SDLC).
    • Describe the elements of a requirements definition statement.
    • Categorize requirements as business, user, functional, or non-functional.
    • Understand how requirements elicitation mechanisms work.
    • Define the function of each requirement elicitation technique.
    • Demonstrate understanding of requirements specification and validation.

    Key Definitions

    • As-Is System: The current system (may or may not be computerized).
    • To-Be System: The new system based on updated requirements.
    • System Proposal: The main deliverable from the analysis phase.

    Types of Requirements

    • Functional Requirements: What the system should do.
    • Non-functional Requirements: How the system should perform (e.g., performance, security).
    • Business Requirements: The business needs.
    • User Requirements: The needs of the user.

    Information Collection Activities

    • Business description and operational details (current situation).
    • System environment and context.
    • Existing business processes.
    • Problems with the current system.
    • Business or product goals.
    • Users of the current and future systems.
    • Customer and user priorities and needs.
    • Any considerations of quality, performance, or security.

    User Requirements Example

    • Scheduling appointments, placing orders, re-ordering inventory, determining credit availability, and looking up account balances are typical scenarios.

    Functional and Non-Functional Requirements

    • Functional Requirements: Statements that define how a system serves users (e.g., input, output, behaviour).
    • Non-functional Requirements: Requirements related to constraints, standards, timing, or the development process.
    • Domain requirements stem from application specifics (e.g., implementation language).

    Functional Requirements Examples

    • User authentication, search functionality, recording and storing customer orders, generating and sending email notifications, user permissions, inventory management, and processing payments.

    Requirements as User Stories

    • User Stories are requirements expressed as end-user goals.
    • They are expressed from the end-user's perspective emphasizing a specific user goal or action.

    Requirements Imprecision

    • Problems arise when functional requirements are not clearly stated, leading to ambiguity.
    • Stakeholders may express requirements in their own terms.
    • Conflicting requirements among stakeholders are also a problem.

    Requirements Completeness and Consistency

    • Requirements should fully cover all needed system features and be free from conflicts or contradictions for practicality.

    Non-Functional Requirements

    • These are constraints on the services offered, the development process, standards, etc. Example include performance(speed, capacity, reliability, availability), security(access constraints, safeguards) operational(physical and technical details), cultural/political requirements.

    Metrics for Non-Functional Requirements

    • Metrics define how to quantify and measure non-functional requirements (e.g., speed, size).

    More on Non-Functional Requirements

    • Operational details specify the hardware/software environments.
    • Performance specifies system speed, capacity, and reliability.
    • Security addresses access and safeguards.
    • Specific cultural or political requirements are considered.

    Process Activities

    • Requirements are elicited and discovered from stakeholders.
    • Requirements are organized, classified, prioritized, and negotiated.
    • Requirements are formally specified.

    Requirements Engineering Processes

    • These processes widely vary depending on the application, domain, and the team/organization involved.
    • However, they include generic activities common to all projects.
    • Interleaved activities involve elicitation, analysis, specification, and validation.

    The Process of Determining Requirements

    • Both business and IT perspectives are key in determining requirements during the analysis phase.
    • The best approach brings business, software engineering/analysis experts together.
    • The team should elicit requirements from stakeholders with consideration for requirements evolution.

    Requirements elicitation and analysis

    • Stakeholder requirements are elicited and analyzed, covering maintainance, maintenance
    • Methods help discover and document stakeholder requirements. Domain experts, users, managers, and engineers are potentially involved.

    Problems in Requirements Elicitation

    • Stakeholders may not precisely know what they need or understand limitations.
    • People communicate in different ways.
    • Conflicts and political influences may appear and change over time.
    • Requirements frequently change during the process, and new stakeholders can emerge.

    Stages in Requirements Elicitation

    • Requirements discovery, organization, prioritization, negotiation, and specification.

    Requirements Definition Report

    • A document, report, or statement listing requirements in an outline.

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Description

    Explore the essential concepts of Requirements Engineering in Software Engineering. This chapter focuses on the importance of accurate requirements analysis, classification of requirements, and the development of the system proposal. Understand how to differentiate between the 'As-Is' and 'To-Be' systems and the significance of these phases in project success.

    More Like This

    Requirements Engineering
    16 questions
    Software Processes Lecture 4
    5 questions
    Lecture 3
    48 questions

    Lecture 3

    DelightedElation8436 avatar
    DelightedElation8436
    Use Quizgecko on...
    Browser
    Browser