You are on page 1of 25

Unit II

Requirement Engineering
Dr. Kavita Khobragade,
Head and Associate Professor,
Computer Science Department,
Fergusson College (Autonomous), Pune
E-mail – kavitanand@gmail.com,
kavita.khobragade@fergusson.edu
Requirement Engineering Tasks

Software requirement specification (SRS)

Unified Modelling Language

Advantages and Features of


UML

UML Diagrams
What is Requirement ?
 Requirement is the information which describes the user’s (customer)
expectation about system performance.
 Characteristics of Requirements
 The requirement should be clear. [concise, precise and simple means
unnecessary information should not be there]
 It should be unambiguous. [Ambiguous - word or statement has more
than one meaning]
 It should be verifiable. [test whether requirement can be implemented
successfully]
 It should be understandable. [to make it understandable, use proper
conventions]
 It should be feasible. [realistic and possible]
 It should be consistent. [it should not happen that processes produce
different outputs for the same input coming from various resources]
Requirements engineering (RE)
Definition -
 Requirement engineering is the process of findings, analyzing, documenting,
and checking services & constraints.
 Requirements engineering (RE) refers to the process of defining, documenting,
and maintaining requirements in the engineering design process.
 The requirement engineering includes broad spectrum of understanding the
techniques to collect the requirements.
 It includes requirement analysis.
 It provides a bridge between design and construction.
 It is a first technical process in system development.
 It is used to refine the concrete specification.
 It also provides appropriate mechanism for understanding of – what a customer wants,
analyzing the needs of the customer, finding feasibility, validating the specification and
managing requirement.
 Requirement engineering process is suggested by Davis in 1993.
s/w must provide a
mean of representing
& accessing files
created by other tools High level abstract
User requirements
Requirements End users use it without
technical knowledge

Requirement
Engineering System Facilities for Detailed description of
Requirements external file what a system must do
working
Targeted by senior staff

Software
Design Abstract description of
Specifications software design with
Provides
implementation
constraints

Suggested by Davis in 1993


Question
Define the requirements of Payroll System using Davis method.

Employee information, Columns used in database


Leave record information, Columns in database
User Criteria's to calculate pay-slip
Requirements Technical knowledge of office staff about a system

Maintain all databases properly with all fields


System must calculate salary for all employees as per
System the designation
Requirements Payslip database should be generated
Leave records must be provided correctly

Software Constraints must be incorporated wherever necessary


Design Menu & submenu must be defined correctly
Specifications Module wise specification must be checked
Classes, attributes and relationships defined correctly
2 Question
1.Define the requirements of Defaulter List Generation System using
Davis method.

2. Define the requirements of Pizza Hut System using Davis method.


Question
1.Define the requirements of Defaulter List Generation System using Davis method.

Teacher information, Columns used in database


student record information, Columns in database
User Criteria's to calculate defaulter
Requirements Technical knowledge of teachers about a system

Maintain all databases properly with all fields


System must calculate defaulter list correctly
System Printouts should be generated
Requirements Medical Leave /NSS/NCC must be provided correctly

Software Constraints must be incorporated wherever necessary


Design Menu & submenu must be defined correctly
Specifications Module wise specification must be checked
Classes, attributes and relationships defined correctly
Question
2. Define the requirements of Pizza Hut System using Davis method.

Pizza information, Columns used in database


Bill record information, Columns in database
User Criteria's to calculate bill
Requirements Technical knowledge of hut staff about a system

Maintain all databases properly with all fields


System must calculate bill for pizza
System Bill receipt should be generated
Requirements

Constraints must be incorporated wherever necessary


Menu & submenu must be defined correctly
Software Module wise specification must be checked
Design Classes, attributes and relationships defined correctly
Specifications
Levels of Requirements
 User Requirements
 Business Requirements

 Functional Requirements
 Non-functional Requirements
 Example – Need a software developed for Rose with heart

Source- google.com
Functional Requirements
 Describe the behavior of the system
 Support users goals, tasks and activities
 Detailed and specified in the system design
 Helps to understand why requirements are needed

Functional requirements should include –

➢ Description of data to be entered


➢ Description of operations performed by each screen
➢ Description of the workflow performed by each
system
➢ Who can enter the data into the system
Non-Functional Requirements
 How System works?
 It makes system more tangible.
 Checks the usability of the system
 Judge the operation of the system

Non-Functional requirements should include –

➢ Usability
➢ Reliability
➢ Performance
➢ Supportability
Non-Functional Requirements

Process External
Product

Delivery Requirement
Implementation Requirement Visibility Requirement Legal Constraints
Standard Requirement Reliability Requirement Economic Constraints
Safety Requirement Interoperability
Performance Requirement
Efficiency Requirement
Requirements engineering Tasks
Inception

Elicitation

Elaboration

Negociation

Specification

Validation

Management
Inception
 Inception means start.
 Inception works for business modelling.
 It explains a process of how to start any project.
 A project always begins with a business need and by
identifying new services in it.
 It includes basic understanding of
a problem,
Nature of solution,
effectiveness in preliminary communication
collaboration between development team and the
customer.
Elicitation
 Elicitation means asking the objective of the system or project to customer.
2
 It also focusses on the need of business and how to fit it in system.
 It also focusses on how a system is to be used on day-to-day basis.
 Elicitation is not simple.
 Christel and Kang identified 3 problems at elicitation

Problem of Scope-
-Boundary not defined correctly
-Customer provide unnecessary details confuse developer
-Overall system objective

Problem of Understanding-

-Customers not sure what they need


-Don’t understand limitation of computing environment

Problem of votality-

-Requirement change over time


Elaboration
 Elaboration means the refinement of requirement analysis and
design of the information received from customer.

 It allows to define the relationships, collaboration and attributes.

 It focuses on analysis of each attribute class.

 It also determines the functional requirements of a system.


Negotiation
 Negotiation means discussion aimed at reaching an
agreement. (Dictionary)
 The requirements conflicts are resolved by negotiation.
 For example, in Payroll system,
one stakeholder says that salary field should be integer
whereas other says that it should be float.
Salary sheet should go to management or other may say no
 Negotiation is done with respect to requirement prioritization,
cost, and risk also.
Specification
 A specification is an act of identifying something precisely or stating
precise requirements.
 it is a written document or
 Graphical model or
 Formal mathematical model or
 Scenario or fact collection.

 It uses a standard template for this which is called as SRS i.e.


System Requirements Specification.
Image source:- google.com
Validation
 Validation means ensuring the specific requirements meet the
needs specified by the customer.

 The quality of the system should be assessed

 The consistency, completeness of system, is also checked.

 Omissions and errors are detected and corrected.

 Validation is also a process of technical review.


Requirement Management

 Main objective is to ensure that the organization documents,


verifies and satisfies the needs and expectations of customers.

 This will help the project team to identify, control and track the
requirements anytime.

 The changes can be done in requirements anytime whenever there


is a change in environment.

Example –
 classroom teaching to online teaching.
 (blackboard, chalk, duster → laptop, software, mike)
 Wooden chairs to fiber chairs
Questions
 List any two problems faced during elicitation.
 What is inception?
 Does requirement changed as environment changes?
 Validation is used to remove inconsistencies. True/False.
 Elicitation process is very hard. True/false.
 Specification can be used to identify real facts. True/false
 Define requirement.

Answers

1. Problem of scope, Problem of understanding and Problem of votality


2. Inception means start of any business process.
3. Yes
4. True
5. True
6. True
7. Definition of requirement
Thank You All…

For Queries and suggestions

Dr. Kavita Anandrao Khobragade


Head and Associate Professor,
Computer Science Department,
Fergusson College (Autonomous), Pune.

Email:-
kavita.khobragade@fergusson.edu
kavitanand@gmail.com

You might also like