Upload
ravi-varma
View
228
Download
0
Embed Size (px)
Citation preview
7/30/2019 requirements engineering by varma
1/29
By
Ravi Varma
7/30/2019 requirements engineering by varma
2/29
Requirements Engineering Requirements Engineering: is the process of establishing the
services that the customer requires from the system and theconstraints under which it is to be developed and operated
To create and maintain a system requirement documentWe have four high level RE sub process
1. Feasibility study: assessing whether the system is useful tobusiness
2. Elicitation and Analysis: Discovering requirements
3. Specification: converting the requirements into a standardform
4. Validation :check the requirements actually define thesystem that the customer wants
7/30/2019 requirements engineering by varma
3/29
Requirements Engineering Requirements Engineering Process
7/30/2019 requirements engineering by varma
4/29
SPIRAL REPRESENTATION OF REQUIREMENTS
ENGINEERINGProcess is represented as 3 stage activity.
1. Requirements Elicitation
2. Requirements Specification.
3. Requirements Validation.oActivities are organized as an iterative process around a
spiral.
o Early in the process, most effort will be spent on
Understanding high level business and the userrequirement.
o Later in the outer rings, more effort will be on systemrequirements engineering and system modeling.
7/30/2019 requirements engineering by varma
5/29
SPIRAL REPRESENTATION OF REQUIREMENTS
ENGINEERING
Requiremen ts
specificati on
Requirements
validation
Requirementselicitation
System requirements
specification andmodeling
System
requirementselicitation
User requirementsspecification
Userrequi rements
elicitation
Business requirementsspecification
Prototyping
Feasibility
study
Reviews
System requirements
document
7/30/2019 requirements engineering by varma
6/29
Feasibility study
A feasibility study decides whether or not the
proposed system is worthwhile.A short focused study that checks
If the system contributes to organisational objectives;
If the system can be engineered using current
technology and within budget; If the system can be integrated with other systems that
are used.
7/30/2019 requirements engineering by varma
7/29
Feasibility StudiesFeasibility study implementation
Based on information assessment, information collection
and report writing . Questions for people in the organization
-What if the system doesnt implemented?-What are current process problems?-How will proposed system help?-What will be the integration problems?-Is new technology needed? What skills?-What facilities must be supported by the
proposed system?
7/30/2019 requirements engineering by varma
8/29
Elicitation and Analysis Sometimes called requirements elicitation and
requirements discovery.
Involves technical staff working with customers to findout about the application domain the services that thesystem should provide and the systems operationalconstraints.
May involve end-users, managers, engineers involvedin maintenance, domain experts, trade unions, etc.These are called stakeholders
7/30/2019 requirements engineering by varma
9/29
Problems of requirements analysis Stakeholders dont know what they really want.
Stakeholders express requirements in their own terms.
Different stakeholders may have conflictingrequirements.
Organisational and political factors may influence thesystem requirements.
The requirements change during the analysis process.New stakeholders may emerge and the businessenvironment change.
7/30/2019 requirements engineering by varma
10/29
Requirements elicitation and
analysisThe Process Activities :
Requirements discovery: Interacting with stakeholders to discover their requirements. Domain
requirements are also discovered at this stage
Requirements classification and organisation Groups related requirements and organises them into coherent clusters.
Requirements prioritization and negotiation Prioritising requirements and resolving requirements conflicts.
Requirements documentation Requirements are documented and input into the next round of the spiral
7/30/2019 requirements engineering by varma
11/29
The requirements elicitation and
analysis process
Requirements
classification andorganisation
Requ irements
prioriti zatio n andnegotiation
Requ irements
documentation
Requirements
discovery
7/30/2019 requirements engineering by varma
12/29
Requirements DiscoveryViewpoints
Interviews
Scenarios Use-cases
7/30/2019 requirements engineering by varma
13/29
Requirements Discovery The process of gathering information about the
proposed and existing systems and distilling the userand system requirements from this information
Sources of information include documentation,system stakeholders and the specifications of similarsystems.
May involve end-users, managers, engineers involvedin maintenance, domain experts, trade unions, etc.These are called stakeholders.
7/30/2019 requirements engineering by varma
14/29
Requirements discoveryATM stakeholders Bank customers Representatives of other banks Bank managers Counter staff Database administrators Security managers Marketing department Hardware and software maintenance engineers Banking regulators
7/30/2019 requirements engineering by varma
15/29
ViewpointsViewpoints are a way of structuring the requirements
to represent the perspectives of different stakeholders.Stakeholders may be classified under differentviewpoints.
This multi-perspective analysis is important as there isno single correct way to analyse system requirements.
7/30/2019 requirements engineering by varma
16/29
Types of Viewpoints Interactor viewpoints
People or other systems that interact directly with the system. In anATM, the customers and the account database are interactor VPs.
Indirect viewpoints Stakeholders who do not use the system themselves but who
influence the requirements. In an ATM, management and securitystaff are indirect viewpoints.
Domain viewpoints Domain characteristics and constraints that influence the
requirements. In an ATM, an example would be standards for inter-bank communications
7/30/2019 requirements engineering by varma
17/29
LIBSYS viewpoint hierarchy
Article
providersFinance
Library
manager
Library
staffUsers
InteractorIndirect
All VPs
Classificationsystem
UI
standards
Do main
ExternalSta ffStudents CataloguersSystem
managers
7/30/2019 requirements engineering by varma
18/29
Interviewing In informal or formal interviewing , the RE team puts
questions to stakeholders about the system that theyuse and the system to be developed
Two types of interview.
closed interview s where a pre-defined set of questions
are answered Open interviews discuss a range of issues with
stakeholders for better understanding their needs.
7/30/2019 requirements engineering by varma
19/29
interviewing Normally a mix of closed and open-ended interviewing.
Interviews are good for getting an overall understanding ofwhat stakeholders do and how they might interact with the
system. Interviews are not good for understanding domain
requirements Requirements engineers cannot understand specific domain
terminology;
Some domain knowledge is so familiar that people find it hard toarticulate or think that it isnt worth articulating
7/30/2019 requirements engineering by varma
20/29
InterviewingEffective interviewers
Interviewers should be open-minded, willing to listento stakeholders and should not have pre-conceivedideas about the requirements.
They should prompt the interviewee with a question ora proposal and should not simply expect them to
respond to a question such as what do you want
7/30/2019 requirements engineering by varma
21/29
Scenarios
Scenarios are real-life examples of how a system can beused.
They should include
A description of the starting situation;
A description of the normal flow of events;
A description of what can go wrong; Information about other concurrent activities;
A description of the state when the scenario finishes
7/30/2019 requirements engineering by varma
22/29
Scenario for downloading article
in LIBSYSInitial assumption: The user has logged on to the LIBSYS system and has located the journal containing
the copy of the article.
Normal: T he user selects the article to be copied. He or she is t hen prompted by the syst em to ei ther
provide subscriber information for the journal or to indicate how they will pay for the article. Alternative
payment methods are by credit card or by quoting an organisat ional account number.
The user is then asked to fill in a copyright form that maintains details of the transaction and they then
submit this to t he LIBSYS system.
The copyright form is checked and, if OK, the PDF version of the art icle is downloaded to the LIBSYS
working area on the userscomputer and the user is informed that it is available. T he user is asked to select
a printer and a copy of the article is printed. If the article has been flagged as print-onlyit is deleted from
the users system once the user has confirmed that printing is complete.
7/30/2019 requirements engineering by varma
23/29
Scenario for downloading article
in LIBSYS
What can go wrong: T he user may fail to fill in the copyright form correctly. In t his case, the form should
be re-presented to the user for correction. If the resubmitted form is s till incorrect then the usersrequest
for the article is rejected.
The payment may be rejected by the system. The users request for the article is rejected.
The article download may fail. Retry until successful or the user terminates the session.
It may not be possible to print the article. If the article is not flagged as print-onlythen it is held in the
LIBSYS workspace. Otherwise, the article is deleted and the users account credited with the cost of the
article.
Other activities: Simultaneous downloads of other articles.
System state on completion: User is logged on. The downloaded article has been deleted from LIBSYS
workspace if it has been flagged as print-only.
7/30/2019 requirements engineering by varma
24/29
Another scenario for collecting
medical history
7/30/2019 requirements engineering by varma
25/29
Use cases Use cases are a requirements discovery technique that
were first introduced in the Objectory method.
They have now become a fundamental feature of theunified modeling language(UML).
Use-cases are a scenario based technique in the UMLwhich identify the actors in an interaction and which
describe the interaction itself
7/30/2019 requirements engineering by varma
26/29
Simple use case for printing article
7/30/2019 requirements engineering by varma
27/29
Use cases for the library system
7/30/2019 requirements engineering by varma
28/29
System interactions for article
printing Sequence diagram
7/30/2019 requirements engineering by varma
29/29
Next class Requirements validations
Requirements management
Go through text book