Software 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
Download our mobile app to listen on the go
Get App

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 (B)

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 (B)</p> Signup and view all the answers

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

<p>False (B)</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 (B)</p> Signup and view all the answers

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

<p>False (B)</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 (D)</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 (B)</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 (A)</p> Signup and view all the answers

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

<p>False (B)</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 (C)</p> Signup and view all the answers

Agile methods advocate for producing extensive detailed system requirements.

<p>False (B)</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 (D)</p> Signup and view all the answers

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

<p>False (B)</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 (A)</p> Signup and view all the answers

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

<p>False (B)</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 (C)</p> Signup and view all the answers

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

<p>False (B)</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 (C)</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 (B)</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. (D)</p> Signup and view all the answers

Organisational requirements only refer to external factors affecting system development.

<p>False (B)</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. (D)</p> Signup and view all the answers

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

<p>True (A)</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

Flashcards

Requirements Engineering

The process of figuring out what a system needs to do and the constraints it has to follow from a customer's perspective.

Functional Requirements

Statements about the system's services, reactions to inputs, and behaviors in various situations; what a system does.

Requirements

Detailed descriptions of a system's features and limits, created during requirements engineering.

Non-functional Requirements

Constraints on the system's services, such as timing, process, standards.

Signup and view all the flashcards

Requirements Abstraction

Defining needs in a general way so multiple solutions are possible, not focusing on one specific solution, making bidding possible for several contractors.

Signup and view all the flashcards

Domain Requirements

Requirements based on the application domain; aspects of the system from the user's perspective

Signup and view all the flashcards

System Stakeholders

Individuals or groups who are impacted by and have interest in the system.

Signup and view all the flashcards

Functional User Requirements

High-level statements about what the system should do.

Signup and view all the flashcards

Agile Methods & Requirements

Agile methods often prefer smaller increments and user-stories, making detailed requirements less necessary.

Signup and view all the flashcards

Functional System Requirements

Detailed descriptions of system services.

Signup and view all the flashcards

System Purpose

Determining the reason a system is needed, a critical first step in identifying requirements.

Signup and view all the flashcards

System Inputs

The data or commands the system accepts.

Signup and view all the flashcards

System Outputs

The results or information the system produces.

Signup and view all the flashcards

System Data Storage

Data the system keeps and others can access.

Signup and view all the flashcards

System Computations

The calculations or operations the system performs.

Signup and view all the flashcards

Process-Oriented Requirements

Requirements focused on actions the system should take.

Signup and view all the flashcards

Information-Oriented Requirements

Requirements focused on information, data, and reporting.

Signup and view all the flashcards

Analysis Phase Goal

Clearly understand the new system's requirements, including the current system, desired improvements, and the new system's concept.

Signup and view all the flashcards

Critical Thinking in Analysis

Using critical thinking skills to identify the root causes of problems in order to outline solutions within a new system.

Signup and view all the flashcards

User Participation (Requirements)

Essential to understand user needs for the new system.

Signup and view all the flashcards

BPA, BPI, BPR

Techniques used to discover user needs (Business Process Automation, Business Process Improvement, Business Process Reengineering).

Signup and view all the flashcards

Software/System Proposal

Output of the analysis phase; presented to approval committee to explain the proposed system, explaining the software/system in moderate detail.

Signup and view all the flashcards

Analysis Phase Deliverables

First step in the design of the new software/system.

Signup and view all the flashcards

Problem Domain

Describes the current issues the software/system is trying to address.

Signup and view all the flashcards

Software (Solution) Domain

The domain containing the technical solution to the problems in the problem domain and the planned software/system.

Signup and view all the flashcards

Customer Problem Statement

A high-level statement describing the business problem.

Signup and view all the flashcards

Requirements Engineering

Process of transforming the customer problem statement into detailed requirements for the software/system.

Signup and view all the flashcards

Stakeholders

Individuals or groups involved in a project, affected by or interested in a system or project's outcome (e.g., users, managers, engineers, trade unions).

Signup and view all the flashcards

Requirement Elicitation Problems

Difficulties in understanding user needs due to factors like unsure stakeholder wants, different stakeholder needs, organizational or political influences, and changing requirements over time.

Signup and view all the flashcards

Requirements Discovery

Gathering information about the system from stakeholders about the application domain, services, performance, constraints, etc.

Signup and view all the flashcards

Requirements Classification

Organizing related requirements into groups to make them more structured and manageable.

Signup and view all the flashcards

Requirements Prioritization

Determining importance of requirements to prioritize and resolve conflicts.

Signup and view all the flashcards

Requirements Specification

Documenting and recording requirements to use in subsequent development stages.

Signup and view all the flashcards

Focus of Information Collection

Understanding the business, its current state, processes, problems, goals, users, and priorities, along with quality, performance, and security considerations.

Signup and view all the flashcards

User Requirements

Describing user tasks essential for business operations, like scheduling appointments, placing orders, or reordering inventory. They highlight what users need the system to do.

Signup and view all the flashcards

Schedule Client Appointment

Sales Representative capability to schedule client appointments with date, time, and client selection within a system.

Signup and view all the flashcards

Place Customer Order

Sales Representative function to create new customer orders, involving order details, products, and customer info within a system.

Signup and view all the flashcards

Reorder Inventory

System function enabling Sales Representative to reorder low stock inventory items and generate replenishment orders.

Signup and view all the flashcards

Check Available Credit

Sales Representative capability to check customer account credit availability in the system.

Signup and view all the flashcards

Look Up Account Balances

System functionality to allow Sales Representatives to retrieve account balances for specific customer accounts.

Signup and view all the flashcards

Functional Business Requirements

Describes what a system does, outlining its services and behaviors.

Signup and view all the flashcards

Example Functional Requirements

Include features like 'include actual and budgeted cost information', 'provide management reports', and 'include sales information'.

Signup and view all the flashcards

Non-functional Requirements

Specifies constraints and qualities; how a system should perform.

Signup and view all the flashcards

Example Non-functional Requirements

Characteristics like 'accessible to Web users', 'company standard logo and colour scheme', and '2-second maximum response time'.

Signup and view all the flashcards

Non-Functional Types

Categorized into categories focusing on aspects like security, performance, usability, and reliability

Signup and view all the flashcards

Performance Requirements

Defines the speed, reliability and reaction time of the software system or part.

Signup and view all the flashcards

Organisational Requirements

Requirements arising directly from organisational procedures or policies.

Signup and view all the flashcards

External Requirements

Requirements impacted by factors outside the system's scope. Examples include interoperability requirements, legislative requirements.

Signup and view all the flashcards

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

More Like This

Requirements Engineering
16 questions
Software Requirements Analysis Chapter 2
47 questions
Requirements Classification and Organization
64 questions
Use Quizgecko on...
Browser
Browser