Professional Documents
Culture Documents
Department of cs
Jan, 2020
21
/ 20
/2
5 B Y S H I M E L S T. 1
02
CHAPTER 3 – REQUIREMENT
ENGINEERING,
Introduction
Requirement engineering
Requirement engineering process model
Requirements elicitation
Requirement gathering techniques
Requirement analysis
Functional & non-functional requirements
Requirement specification
Requirement validation
21
/ 20
/2
5 B Y S H I M E L S T. 2
02
INTRODUCTION
Object Oriented Analysis, mainly involves
Determine user’s need and system requirements
The process known as ‘Requirement Engineering’
Determine what to build (system modeling)
Problem domain models
Functional
Essential Use Case Model
Structure
Class Responsibility Card Model
Behavior
Decision Table/Tree
21
/ 20
/2
5 B Y S H I M E L S T. 3
02
REQUIREMENT ENGINEERING PROCESS
MODEL
21
20
02/2
5/
(suggested
B Y by
S H I MBray)
E L S T. 4
CONT’D…
Requirement engineering activities
Elicitation, Analysis, Specification, HMI design
21
/ 20
/2
5 B Y S H I M E L S T. 5
02
REQUIREMENT ELICITATION
Characteristics system analyst should have:
Impertinence
Find the best organizational solution
Impartiality
Question everything
Relaxation of constraints
Attention to detail
Reframing
View the organization in new ways
21
/ 20
/2
5 B Y S H I M E L S T. 6
02
CONT’D…
Deliverables
Information collected from users
Existing documents and files
Computer-based information
Understanding of organizational components
Business objective
Information needs
Rules of data processing
Key events
21
/ 20
/2
5 B Y S H I M E L S T. 7
02
CONT’D…
Deliverables of Requirement Elicitation
21
/ 20
/2
5 B Y S H I M E L S T. 8
02
REQUIREMENT GATHERING
TECHNIQUES
Traditional Methods
Interview
Questionnaire
Observation
Business document
Modern Methods
Joint application design
Prototyping
21
/ 20
/2
5 B Y S H I M E L S T. 9
02
TRADITIONAL METHODS
21
/ 20
/2
5 B Y S H I M E L S T. 10
02
CONT’D…
Interviewing
Interview questions
Open-Ended
No pre-specified answers
Close-Ended
Respondent is asked to choose from a set of
specified responses
Preparation is key
Interviews cost more but yield more information
21
/ 20
/2
5 B Y S H I M E L S T. 11
02
CONT’D…
Guidelines for Effective Interviewing
21
/ 20
/2
5 B Y S H I M E L S T. 12
02
REQUIREMENTS GATHERING TECHNIQUES
21
/ 20
/2
5 B Y S H I M E L S T. 13
02
CONT’D
A.Selecting interviewees:- Based on information needed and often good
to get different perspectives
Managers
Users
Ideally, all key stakeholders
Types of questions
Closed-Ended Questions (how many telephone orders are received per
day)
Open-Ended Questions (what do you think about the current system)
Probing Questions (why? Can you give me an example)
21
/ 20
/2
5 B Y S H I M E L S T. 14
02
CONT’D…
21
/ 20
/2
5 B Y S H I M E L S T. 15
02
CONT’D…
21
/ 20
/2
5 B Y S H I M E L S T. 16
02
CONT’D
21
/ 20
/2
5 B Y S H I M E L S T. 20
02
QUESTIONNAIRE STEPS
1. Selecting participants:- Using samples of the population
2. Designing the questionnaire:- Careful question selection
3. Administering the questionnaire:- Working to get good
response rate
4. Questionnaire follow-up:- Send results to participants
21
/ 20
/2
5 B Y S H I M E L S T. 21
02
CONT’D…
Comparison of Interviews and Questionnaires
21
/ 20
/2
5 B Y S H I M E L S T. 22
02
CONT’D…
Directly Observing Users
Used to supplement interviews
Often difficult to obtain unbiased data
People often work differently when being observed
Analyzing Business Document
Organizational direction
Values of organization
Special information processing circumstances
Rules for processing data
21
/ 20
/2
5 B Y S H I M E L S T. 23
02
MODERN METHODS
Joint Application Design (JAD)
Introduced by IBM in 1970
Brings key users, managers, systems analysts, IS
development team together
Used to collect requirements from key people
simultaneously
Conducted off-site and in many sessions
Deliverables
Documentation detailing existing system
Features of proposed system
21
/ 20
/2
5 B Y S H I M E L S T. 24
02
JOINT APPLICATION DESIGN (JAD)
JAD Key of ideas
Allows project managers, users, and developers to work
together
May reduce scope creep by 50%
Avoids requirements being too specific or too vague
Joint Application Design (JAD) Important Roles
Facilitator:- sets the meeting agenda and guides the
discussion
Scribe: - assist the facilitator by recording notes,
making copies, etc.
Project
25
/ 20
21 team, users, and management
25
B Y S H I M E L S T.
/
02
CONT’D…
Joint Application Design (JAD) Setting
U-Shaped seating
Away from distractions
Whiteboard/flip chart
Prototyping tools
e-JAD
21
/ 20
/2
5 B Y S H I M E L S T. 26
02
21
/ 20
/2
5 B Y S H I M E L S T. 27
02
CONT’D…
Typical Room Layout for JAD Session
21
/ 20
/2
5 B Y S H I M E L S T. 28
02
CONT’D…
Prototyping
Quickly converts basic requirements to working version of the system to be developed
Repetitive process, user may ask requirements modified or generate additional requests
Used to develop concrete specifications for the ultimate system or final system to be
developed
Most useful when:
User requests are not clear
Few users are involved in the system
21
/ 20
/2
5 B Y S H I M E L S T. 29
02
CONT’D…
Designs are complex and require concrete form
Communication problems b/n analysts and users
CASE Tools are readily available to build prototype
Drawbacks
Tendency to avoid formal documentation
Difficult to adapt to more general user audience
Sharing data with other systems is often not considered
21
/ 20
/2
5 B Y S H I M E L S T. 30
02
CONT’D…..
4.Document analysis
Provides clues about existing “as-is” system
Typical documents
Forms
Reports
Policy manuals
Look for user additions to forms
Look for unused form elements
5. Observation
Users/managers often don’t remember everything they do
Checks validity of information gathered other ways
Behaviors change when people are watched
Careful
02
1 not to ignore periodic activities
/2 31
25 B Y S H I M E L S T.
Weekly … Monthly … Annual
02
/
CONT’D…
Criteria to select the appropriate tool
21
/ 20
/2
5 B Y S H I M E L S T. 32
02
WHAT IS A REQUIREMENT?
Requirement
Features of system or system functions used to fulfill
system purpose
Requirement must be
Actionable, measurable, testable, related to business needs
or opportunities, detail enough for system design
Focus on user’s needs & domain properties
Requirements definition document
Written for stakeholders (client and users)
Focus on solution domain
Requirements specification document
Written for technical staff (developers)
21
/ 20
/2
5 B Y S H I M E L S T. 33
02
TYPES OF REQUIREMENT
User requirements
Statements in natural language of services system provides & its operational constraints
(high level)
Written for customers
System requirements
Setting out detailed descriptions of the system’s functions, services & operational
constraints
Written for technical staff & defines what should be implemented, may include models
21
/ 20
/2
5 B Y S H I M E L S T. 34
02
FUNCTIONAL & NON-FUNCTIONAL
REQUIREMENT
Requirements can be mainly categorized as,
Functional and non-functional
Functional requirements
Relates directly to a process the system has to perform or information it needs to
contain
Non-functional requirements
Refers to behavioral properties that the system must have, mainly such as performance
& usability
Impose constraints on design or implementation
Different types of non-functional requirements
21
/ 20
/2
5 B Y S H I M E L S T. 35
02
CONT’D…
E.g., Functional requirements
21
/ 20
/2
5 B Y S H I M E L S T. 36
02
FUNCTIONAL REQUIREMENT
21
/ 20
/2
5 B Y S H I M E L S T. 37
02
CONT’D…
Different types of non-functional requirements
Requirement type Example
Operational • The system should be able to fit in a pocket or purse
• The system should be able to integrate with the existing
inventory system.
Performance • Any interaction between the user and the system should
not exceed 2 seconds.
• The system should receive updated inventory information
every 15 minutes.
Security • Only direct managers can see personnel records of staff
• Customers can see their order history only during business
hours.
Cultural & Political • The system should be able to distinguish between United
States and European currency
• The system shall comply with insurance industry
21 standards.
/ 20
/2
5 B Y S H I M E L S T. 38
02
NON-FUNCTIONAL REQUIREMENT
CLASSIFICATION
Non-functional
requir ements
Property Measure
Speed Processed transactions/second
User/Event response time
Screen refresh time
Size M Bytes
Number of ROM chips
Ease of use Training time
Number of help frames
Reliability Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness Time to restart after failure
Percentage of events causing failure
Probability of data corruption on failure
Portability Percentage of target dependent statements
Number of target systems
21
/ 20
/2
5 B Y S H I M E L S T. 40
02
REQUIREMENTS DEFINITION
DOCUMENT
Introduction
Purpose of the document
• Problem domain analysis
Description of existing system
Major functions (objectives, process/activities)
Key players (users role)
Business rules (eligibility requirements)
Data requirements (input and output)
21
/ 20
/2
5 B Y S H I M E L S T. 41
02
REQUIREMENTS SPECIFICATION
21
/ 20
/2
5 B Y S H I M E L S T. 43
02
CONT’D…
Specific Requirements
External interface requirements
Functional requirement
Performance requirements
Logical database requirements
Design constraints
Software system attributes
security, availability, maintainability,
transferability
Other requirements
21
/ 20
/2
5 B Y S H I M E L S T. 44
02
REQUIREMENT VALIDATION
Performed at every stage of requirement
process
Elicitation
21
/ 20
/2
5 B Y S H I M E L S T. 45
02
CONT’D…
Objectives
Clarifies requirements document is acceptable description of the system to be
implemented
Checks a requirement document for completeness consistency, feasibility, and
testability.
Conformance to standards
Requirement conflict
Technical errors
Ambiguous requirement
21
/ 20
/2
5 B Y S H I M E L S T. 46
02
VALIDATION TECHNIQUES
Simple checks
Prototyping
Functional test design
User manual development
Reviews and inspections
Walkthroughs
Formal inspections
Checklists
Model-Based
First-order logic
Behavioural models
21
/ 20
/2
5 B Y S H I M E L S T. 47
02
REVIEWS AND INSPECTIONS
A group of people read & analyze requirements
to look for potential problems;
Meet to discuss the problems
Agreed on actions to address these problems
Can be expensive
Careful planning and preparation
Pre-review checking
Need appropriate checklists
21
/ 20
/2
5 B Y S H I M E L S T. 48
02
TYPICAL REVIEW / INSPECTION STEPS
21
/ 20
/2
5 B Y S H I M E L S T. 49
02
PROBLEM CATEGORIZATION
Requirements clarification
The requirement may be badly expressed or may have accidentally omitted information
Missing information
Some information is missing from the requirements document
Requirements conflict
There is a significant conflict b/n requirements
The stakeholders involved must negotiate to resolve the conflict
21
/ 20
/2
5 B Y S H I M E L S T. 50
02
CONT’D…
Unrealistic requirement
The requirement does not appear to be implementable with the technology available or
given other constraints on the system
Stakeholders must be consulted to decide how to make the requirement more realistic
21
/ 20
/2
5 B Y S H I M E L S T. 51
02
CONT’D…
Advantages
Effective (even after considering cost)
Allow finding sources of errors (not only symptoms)
Requirements authors are more attentive when they know their work will be closely
reviewed
21
/ 20
/2
5 B Y S H I M E L S T. 52
02
CONT’D…
Risks
Reviews can be dull and draining (need to be limited in time)
Time consuming and expensive (but usually cheaper than the alternative)
Personality problems
Office politics
21
/ 20
/2
5 B Y S H I M E L S T. 53
02