Lecture - 7

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 29

Requirement

Elicitation and
Analysis
Learning goals

 Understand what requirements elicitation is and why its needed


 Understand the main activities of requirements elicitation
 Apply the main activities of requirements elicitation
 Understand the terms: problem statement and requirements
 Understand scenarios and use cases
Example-1

 Write a program that will read a list of 100


positive integers and display the average of those
values.
Example-2

 Writea program that will read the CGPA of


each student in a particular class. Based on
the CGPA assign students to CCM,DAB, and
other events happening every semester.
Example-3

 Assume that a bank maintains 2 kinds of Accounts for customers, one class called
as savings account and other class called as current account. The savings account
provides deposit, simple interest and withdrawal facilities. The current account
provides deposit, withdrawal facilities but no interest. Include necessary methods
in order to achieve the following tasks.

 a. Accept deposit from a customer and update the balance.

 b. Calculate simple interest & update the balance

 c. Permit withdrawal and update the balance.

 d. Display the balance for current account and savings account


Requirements Elicitation
Requirement?
Requirement?

 An essential thing

 A feature that the system/application must have.

 A constraint that must satisfy/accepted by the client


Requirement? (Contd..)

 An essential thing-An ATM card

 A feature that the system/application must have –Magnetic


tape/Chip

 A constraint that must satisfy/accepted by the client. –card


accepted by Machine
Requirement engineering

 Tasks /techniques/Process that led to an understanding and defining


the requirements of the system is called requirements engineering

 Includes two main activities

 Requirements Elicitation

 Requirements Analysis
Elicitation ?

 Means “to bring out, to evoke, to call forth”


 is a part of the requirements engineering process
 the process of discovering the requirements for a system by
communication with customers, system users
and others who have a stake in the system development” .-
 sometimes referred to as "requirement gathering".
 It is needed to know what the users really need.
Requirement Elicitation
 Requirements elicitation focuses on describing the purpose of the system.

 The client, the developers, and the users identify a problem area and define a
system that addresses the problem

 Such a definition is called a requirements specification and serves as a contract


between the client and the developers.

 The requirements specification is structured and formalized during analysis.


Source of requirements
Requirement Elicitation and Analysis
(Contd..)
Problem Statement

 Describes requirements, subsystem decomposition, and communication


infrastructure
 Describes the current situation, the functionality it should support, and
environment in which the system will be deployed
 Contains mutual understanding of the problem to be addressed by the system
 Its neither a precise nor complete specification but a high level summary of the
customer’s wishes
Requirements

 Requirements are textual descriptions of the desired functionality of the


system and its properties. They can be divided into two major categories
applying the acronym FURPS

Functional requirements: (F)


 A single function of a system or its component
 e.g. “A student can see all courses of the current semester in his major and
minor subject.”

Non-functional requirements (URPS):


 Aspects of the system that are not directly related to its functional behavior
 e.g. “interface look, response time, security issues”
Functional Requirements

 A functional requirement describes what a software system


should do

 Defines the external behavior of the system.


Examples of functional requirements

 FR1: Search for available courses: A student can see all courses of the current
semester in his major and minor subject. He is able to join the course which
saves it into his course list. He can also drop a course.
 FR2: Check course details: A student can see details about a course such as the
course times, the
location of the lecture hall on a map and other course attendees including their
name and picture.
 FR3: Update profile: A student can update his profile settings and his profile
picture. He can also change the notification settings.
 FR4: Add comments: A student can add comments about a course and thus
start a discussion.
Others can like the comment and write follow-up comments.
Non-Functional Requirements

 Defines the quality attributes or the constraints of the system.

 Some examples of quality attributes include security, performance,


availability.,

 Describes the aspects of the system that are not directly related to its
functional behavior.
Non-functional requirements

 Also called quality requirements and can be described by the acronym URPS
 Usability: human factors, aesthetics, consistency, documentation,
responsiveness
 Reliability: availability, failure frequency, robustness
 Performance: speed, efficiency, resource consumption
 Supportability: maintainability, testability, flexibility
Examples of non-functional requirements
 NFR1: The app should be intuitive to use and the user interface
should be easy to understand.
 All interactions should be completed in less than three clicks.
 NFR2: Conformance to guidelines: The design of the app should
conform to the usability Guidelines for the chosen operating system.
Constraints
 Also called pseudo requirements:
 Implementation: constraints on the implementation of the system, including the
use
of specific tools, programming languages, or hardware platforms.
 Interface: constraints imposed by external systems, including legacy systems and
interchange formats
 Operations: constraints on the administration and management of the system in
the
operational setting
 Packaging: constraints on the actual delivery of the system (e.g., constraints on
the
installation media for setting up the software).
 Legal: concerned with licensing, regulation, and certification issues
Activities during Requirements Elicitation (Contd..)

 Identifying actors: Identify the different types of users the future


system will support
 Identifying scenarios: Develop a set of detailed scenarios for typical
functionality provided by the future system
 Identifying use cases: Derived from scenarios a set of use cases that
completely represent the future system is created
Activities during Requirements Elicitation (Contd..)

 Refining use cases: Detailing each use case and describing the
behavior of the system in the presence of errors and exceptional
conditions
 Identifying relationships among use cases: Identify dependencies
among use cases found during “identifying use cases”
 Identifying nonfunctional requirements: Agree on aspects that are
visible to the user, but not directly related to functionality
Requirement Validation

 Completeness
 Consistency
 Clarity
 Correctness
Requirement specifications

 Realistic-if a system can be implemented within constraints

 Traceability- ability to trace

 Verifiable

 “The product shall respond to the user within 1 second for most cases”
Use Case Diagram
Thank You

You might also like