SlideShare a Scribd company logo
1 of 77
Download to read offline
BSE 3103: Requirements
Elicitation
Dr. Joseph Kibombo Balikuddembe
For comments and issues
jbalikud@cis.mak.ac.ug.
5-Mar-21 1
Ā© JK Balikuddembe - Requirements
Engineering
What Is Elicitation ?
ā€¢ Process of identifying needs
ā€¢ Front End to systems development
ā€¢ Involves social, communicative issues and
Technical issues
ā€¢ Requirement expression is the step to model
the requirements.
5-Mar-21 2
Ā© JK Balikuddembe - Requirements
Engineering
Some basic points
ā€¢ Elicitation is not Acquisition
ā€¢ Requirements are not available like sensor
data Not just read them systematically !!
ā€¢ Elicitation is not specification and modelling
ā€¢ Too much importance has been given to
expression and modelling
ā€¢ RE Determines the success of the mission
ā€¢ Elicitation detrmines the success of the RE
process
5-Mar-21 3
Ā© JK Balikuddembe - Requirements
Engineering
Requirements elicitation goals
ā€¢ Identify and document business needs*; in order
to do so, you have to:
ā€“ Know the problem domain, in order to be able to
communicate with customers & users in their own
language.
ā€“ Know the current business model, in order to identify
needs, positive & negative aspects and potential
expectations.
ā€“ Know the technological environment, in order to
identify the technical restrictions of the system to be
developed.
5-Mar-21
Ā© JK Balikuddembe - Requirements
Engineering
4
Elicitation Goals- Cont.
ā€¢ ā€œNever lose sight of why software is being
developed: to satisfy real needs, to solve real
problems. The only way to solve real needs is
to communicate with those who have the
needs. The customer or user is the most
important person involved with your project.ā€
5-Mar-21
Ā© JK Balikuddembe - Requirements
Engineering
5
Elicitation goals Cont..
ā€¢ Requirements elicitation goals ā€“ Information
systems should help their organizations toā€¦
ā€“ Make competitiveness strategic decisions.
ā€“ Make business tactical decisions.
ā€“ Perform business processes and their related
operations.
ā€¢ Most information systems developments are
operational-level oriented.
5-Mar-21
Ā© JK Balikuddembe - Requirements
Engineering
6
Common generic problems
ā€¢ Scope : too much or too little
ā€¢Establish a bounday conditions for the target system
ā€¢ Organisation and context analysis
ā€¢ Understandings : Users and developpers
ā€¢ Users have an incomplete understanding of their
needs
ā€¢ Analysts and SE have a poor knowledge of
problem domain
ā€¢ Ease of omitting obvious information Volatility :
changing requirements
5-Mar-21 7
Ā© JK Balikuddembe - Requirements
Engineering
Requirements Elicitation: Difficulties
and Challenges
ā€¢ Communicate accurately about the domain and
the system
ā€“ People with different backgrounds must collaborate to
bridge the gap between end users and developers
ā€¢ Client and end users have application domain knowledge
ā€¢ Developers have solution domain knowledge
ā€¢ Identify an appropriate system (Defining the
system boundary)
ā€¢ Provide an unambiguous specification
ā€¢ Leave out unintended features
5-Mar-21 8
Ā© JK Balikuddembe - Requirements
Engineering
Requirements Specification vs Analysis
Model
Both focus on the requirements from the
userā€™s view of the system
ā€¢ The requirements specification uses natural
language (derived from the problem
statement)
ā€¢ The analysis model uses a formal or semi-
formal notation
ā€“ We use UML.
5-Mar-21 9
Ā© JK Balikuddembe - Requirements
Engineering
Elicitation : a subset of goals
ā€¢ Identify the relavant parties . The stackholders
ā€¢ Gather the Wish List for each stachholder
ā€¢ Document and refine the Wish list
ā€¢ Expected properties
ā€¢ Unambiguous
ā€¢ Complete
ā€¢ Verifiable
ā€¢ Consistent
ā€¢ Modifiable
ā€¢ Traceable
ā€¢
5-Mar-21 10
Ā© JK Balikuddembe - Requirements
Engineering
Elicitation:
Discover Stakeholder Requirements through
ā€¢ Interviews
ā€¢ Ethnographic studies (observe the user using similar
systems)
ā€¢ Questionnaires
ā€¢ Requirements workshops
ā€¢ Brainstorming and idea reduction
ā€¢ Storyboarding
ā€¢ Study similar products & relevant docs
ā€¢ Use cases
ā€¢ Prototyping
ā€¢ Context-free questions
5-Mar-21 11
Ā© JK Balikuddembe - Requirements
Engineering
Analyst Role
ā€¢ Observe and learn the user needs and tasks (the
problem) and understand them from the user point of
view
ā€“ What they are doing and why
ā€¢ Interpret the user work/tasks
ā€“ Filter out technology and current way of doing things to get
to the essence of the work, not its incarnation
ā€¢ Invent better ways to do the work
ā€“ Interpret what the product must do to satisfy the essential
requirements
ā€¢ Record the results in the form of a requirements
specification and analysis models
ā€¢ Validate that the analyst and user have the same
understanding of the problem and the product, and that
the user agrees that this is the product wanted
5-Mar-21 12
Ā© JK Balikuddembe - Requirements
Engineering
Fact findings
User Developer
ā€¢ Identify Stackholders
ā€¢ Determine operational
and problem context
ā€¢ Identify other systems
ā€¢Ā“Perform context
analysis
ā€¢ Identify domain
experts
ā€¢ Id. Domain
ā€¢ Conduct technological
survey
ā€¢ Asses
cost/implementation
5-Mar-21 13
Ā© JK Balikuddembe - Requirements
Engineering
Requirements gathering
User Developer
ā€¢ Get Wish List ā€¢ Classify wish list
* Functional
* NFR
* Env.
5-Mar-21 14
Ā© JK Balikuddembe - Requirements
Engineering
Evaluation and rationalisation
User Developer
ā€¢ Perform abstraction
to answer question
ā€¢ see interview
techniques
ā€¢Perform risk
assessment
ā€¢ Cost benefit ...
5-Mar-21 15
Ā© JK Balikuddembe - Requirements
Engineering
Prioritisation
User Developer
* Determine
criticality
ā€¢ Prioritisation of
requirements
ā€¢ basis : cost, criticality, ...
5-Mar-21 16
Ā© JK Balikuddembe - Requirements
Engineering
Integration and validation
User Developer
ā€¢Adress completeness :
TBD type
ā€¢ validate req with respect
concept of operation
ā€¢ Decide to go on next
step
* Demo
* prototype
* ...
ā€¢Consistency checking
5-Mar-21 17
Ā© JK Balikuddembe - Requirements
Engineering
The stackholder connection
ā€¢ Sometimes called requirements analysis or
requirements discovery
ā€¢ Involves technical staff working with customers
to find out about the application domain, the
services that the system should provide and
the systemā€™s operational constraints
ā€¢ May involve end-users, managers, engineers
involved in maintenance, domain experts,
trade unions, etc. These are called
stakeholders
5-Mar-21 18
Ā© JK Balikuddembe - Requirements
Engineering
Gathering Information About...
ā€¢ The organisation
ā€“ goals, structure, functional units, policies
ā€¢ The people
ā€“ authority, duties, relationships, information, needs
ā€¢ The work
ā€“ tasks, work flows, procedures, schedules, volumes,
performance criteria
ā€¢ The work environment
ā€“ work areas, resources
5-Mar-21 19
Ā© JK Balikuddembe - Requirements
Engineering
Gathering Information From...
ā€¢ Documentation
ā€“ charts, manuals, job descriptions, forms, reports
ā€¢ System users and managers
ā€¢ External sources
ā€“ other companies, vendors, publications, seminars,
workshops, on-line data services
5-Mar-21 20
Ā© JK Balikuddembe - Requirements
Engineering
Interviews
ā€¢ The requirements engineer or analyst
discusses the system with different
stakeholders and builds up an understanding
of their requirements.
ā€¢ Identify
ā€¢ work flows
ā€¢ factors that influence the operations of systems
ā€¢ the elements (documents, procedures, policies
etc.) that make up systems
5-Mar-21 21
Ā© JK Balikuddembe - Requirements
Engineering
Interview the User
ā€¢ Interviewing is a common approach, but may not be
most effective
ā€¢ Assumes users will know and be able to discuss their
requirements
ā€¢ Questions often lead to specific answers and scope
ā€¢ Questionnaire
ā€“ Consider it as pre-work to a personal interview
ā€¢ Engage the user in the process so they are not passive
ā€“ Interactively build models, for example
5-Mar-21 22
Ā© JK Balikuddembe - Requirements
Engineering
Interview Structure
ā€¢ Set the interview in context to set scope and direction of
discussion
ā€¢ Use business events as an anchor; work one event at a time
ā€¢ Ask a question, listen to the answer, then feed back your
understanding
ā€¢ Draw models and encourage user to change them
ā€“ Data flow models and work flow charts are effective
ā€¢ Consider UML Activity Diagrams with data flow
ā€¢ Use the userā€™s terminology and artifacts, both conceptual and
real
ā€“ Artifacts: papers, computers, meters, spreadsheets, machines,
instruction lists, software applications, etc.
ā€“ Avoid letting the user speak in technology/solution
ā€¢ Keep sample artifacts and documents
ā€¢ Thank the user for their time and tell them why it is valuable
5-Mar-21 23
Ā© JK Balikuddembe - Requirements
Engineering
Types of Interviews
ā€¢ Closed interviews
ā€“ The requirements engineer looks for answers to a
pre-defined set of questions
ā€¢ goal-directed and systematic
ā€¢ Open interviews
ā€“ There is no predefined agenda and the
requirements engineer discusses, in an open-
ended way, what stakeholders want from the
system.
ā€¢ Appropriate when we want to explore an issue
ā€¢ establish rapport and obtain a broad view
5-Mar-21 24
Ā© JK Balikuddembe - Requirements
Engineering
Interviewing essentials
ā€¢ Interviewers must be open-minded and should
not approach the interview with pre-conceived
notions about what is required
ā€¢ Stakeholders must be given a starting point for
discussion. This can be a question, a
requirements proposal or an existing system
ā€¢ Interviewers must be aware of organisational
politics - many real requirements may not be
discussed because of their political
implications
5-Mar-21 25
Ā© JK Balikuddembe - Requirements
Engineering
Interview Steps
ā€¢ Preparing
ā€¢ Planning
ā€¢ Opening and Closing
ā€¢ Conducting
ā€¢ Following up
5-Mar-21 26
Ā© JK Balikuddembe - Requirements
Engineering
Preparing for the interview
ā€¢ Review
ā€¢ organisation reports
ā€¢ annual reports
ā€¢ statements of departments goals
ā€¢ long-range planning goals
ā€¢ existing procedure manuals
ā€¢ systems documentation
ā€¢ understand their language
5-Mar-21 27
Ā© JK Balikuddembe - Requirements
Engineering
Planning of Interviews
ā€¢ Identify sources
ā€¢ prepare
* purpose, outline of points to cover
ā€¢ venue
ā€¢ appointments
ā€¢ prepare the interviewee
* points to cover, useful documents
5-Mar-21 28
Ā© JK Balikuddembe - Requirements
Engineering
Business Event Workshops
ā€¢ Business events
ā€“ Businesses respond to events that are (typically) initiated
outside the scope of work to be done (by a user or an
adjacent system)
ā€“ A pre-planned response triggered by
ā€¢ Arrival of information
ā€¢ Arrival of request
ā€¢ Passage of time
ā€“ The response to the event is a unit of work to be studied
ā€¢ A use case
ā€¢ In a business event workshop, the responsible user
describes or re-enacts the work that is done in
response to the event
ā€“ Identify data, processes, messages, subtasks,
checkpoints, etc.
ā€“ What contribution is to be made by the software
product?
5-Mar-21 29
Ā© JK Balikuddembe - Requirements
Engineering
Business Event
Workshops
Requirements
Analyst
Event
Owner
Video for Recall
Generate Event-Response Scenarios
Use-case
scenario
Exceptions,
ā€œwhat-ifā€
scenarios
Business Rules
Low-fidelity
Interaction
Screens
5-Mar-21 30
Ā© JK Balikuddembe - Requirements
Engineering
Deliverables of the Business
Event Workshop
ā€¢ Purpose of the business event
ā€“ Desired outcomes for the business
ā€¢ Scenarios of the work (to be) done to respond to the
business event
ā€¢ ā€œWhat-ifā€ scenarios about things that can go wrong
when the event happens
ā€¢ The business rules that apply to that part of the work
ā€¢ The part of the work to be done by the product
separated from the part that is done by people and
other systems
ā€¢ The likely users of any product built for this event
ā€¢ Prototypes for some of the steps
ā€“ Minimal detail
ā€“ Optional
5-Mar-21 31
Ā© JK Balikuddembe - Requirements
Engineering
Purpose of the Business Event
ā€¢ Focus on the outcome the organization hopes to
achieve whenever the event happens
ā€“ Think of outcomes, not outputs
ā€“ Example: car rental
ā€¢ Outcomes: customer drives away in car of their choice, rate
selected is equitable, details are recorded, minimal customer and
clerk inconvenience, minimal cost
ā€¢ Outputs: rental document, recorded data
ā€¢ From organizationā€™s view or customerā€™s view
ā€“ What are you trying to achieve?
ā€“ Why is this important?
ā€¢ An outcome is a business objective, not a way of
achieving something
ā€¢ Should be able to write in one sentence
ā€“ If this event happens, what state of affairs do you want to
exist when the work is finished responding?
5-Mar-21 32
Ā© JK Balikuddembe - Requirements
Engineering
Requirements Analysis After
the Workshop
ā€¢ Analyze each event response and answer:
ā€“ What does the product have to do to complete this
step?
ā€“ What non-functional requirements are necessary
for this step?
ā€¢ Quality requirements
ā€¢ Constraints
5-Mar-21 33
Ā© JK Balikuddembe - Requirements
Engineering
Brainstorming
ā€¢ Brainstorming is good for invention taking
advantage of the ā€œgroup effectā€
ā€“ ā€œInventā€ the need and/or the solution
ā€“ (See earlier slides on brainstorming)
ā€¢ Use brainstorming to discover new requirements
and to create new possible solutions
ā€“ ā€œOut thereā€ ideas without criticizing or debating
ā€¢ (In a requirements context) the best and most
usable ideas will, with the clientā€™s consent, become
requirements for the product
5-Mar-21 34
Ā© JK Balikuddembe - Requirements
Engineering
Rules for Brainstorming
ā€¢ Diverse disciplines and backgrounds
ā€¢ For this session, suspend judgment, evaluation, and criticism
ā€“ Donā€™t stop the creative flow
ā€¢ Produce lots of ideas
ā€“ Quantity will, in time, produce quality
ā€¢ Come up with ideas that are unconventional, crazy, wild, etc.
ā€“ This will produce really useful requirements
ā€¢ Piggyback a new idea on an old one ā€“ use ideas to stimulate new ideas
ā€¢ Write every idea down, without censoring
ā€“ ā€œIdeas disappear faster than water evaporates unless written downā€ [Alex Osborne, the
founder of brainstorming]
ā€¢ If you get stuck, seed the session with a word pulled randomly from a dictionary
ā€“ Word associations, using the word as a springboard
5-Mar-21 35
Ā© JK Balikuddembe - Requirements
Engineering
After the Brainstorming
Session
ā€¢ Analysts and clients evaluate the ideas
ā€“ Some worthless, but they will have served their
purpose of inspiring other, more practical, ideas
ā€“ Keep the best and (if feasible) turn them into
requirements
ā€¢ Merge ideas
ā€“ Merge half-formed ideas into an invention
ā€¢ Form half-formed ideas into true requirements
ā€¢ Investigate ideas with additional trawling
techniques
5-Mar-21 36
Ā© JK Balikuddembe - Requirements
Engineering
Context-Free Questions
ā€“ Process-Oriented
ā€¢ User
ā€“ Who is the customer?
ā€“ Who is the user?
ā€“ Are their needs different?
ā€“ What are their backgrounds, capabilities, environments?
ā€¢ What is the reason for wanting to solve this problem?
ā€¢ What is the value of a successful solution?
ā€¢ How do you solve the problem now?
ā€“ Can we copy that solution?
ā€¢ How much time do we have?
ā€“ What is the trade-off between time and value?
ā€“ Who should be on the team(s)?
5-Mar-21 37
Ā© JK Balikuddembe - Requirements
Engineering
Context-Free Questions
ā€“ Product-Oriented
ā€¢ What problems does this system solve?
ā€¢ What problems could this system create?
ā€¢ What environment will the product be used in?
ā€¢ What are your expectations for usability, reliability,
performance, etc.?
5-Mar-21 38
Ā© JK Balikuddembe - Requirements
Engineering
Context-Free Questions
ā€“ Meta-questions
ā€¢ Am I asking too many questions?
ā€¢ Do my questions seem relevant?
ā€¢ Are you the right person to answer these questions?
ā€¢ To assure we understand each other, may I write down the answers to
these questions and give you a written copy to study and approve?
ā€¢ Is there someone else who can give me useful answers?
ā€¢ Is there some way I can see the environment in which the product will
be used?
ā€¢ Are your answers official requirements?
ā€¢ Is there anything else I should be asking you?
ā€¢ Is there anything you want to ask me?
ā€¢ Can I ask more questions later?
5-Mar-21 39
Ā© JK Balikuddembe - Requirements
Engineering
Group Dynamics:
Be sensitive to them & probe
them
ā€¢ I noticed you hesitated (had trouble describing, etc.). Is there something
else we should know?
ā€¢ When I asked X about that, she said Y. Do you have any idea why she might
have said Y?
ā€¢ I notice you donā€™t seem to agree with that reply. Would you tell us about
that?
ā€¢ Are you comfortable with the process right now?
ā€¢ Is there any reason you donā€™t feel you can answer freely?
ā€¢ What can you tell me about the other people on this project?
ā€¢ How do you feel about the other people working with us on this project?
ā€¢ Is there anybody we need on this project whom we donā€™t have?
ā€¢ Is there anybody we have on this project whom we donā€™t need?
5-Mar-21 40
Ā© JK Balikuddembe - Requirements
Engineering
Plan Your Tasks
ā€¢ Identify the techniques that are most appropriate
and will have the greatest impact
ā€¢ What resources to do have?
ā€¢ Is there any sort of research that you need to do?
ā€¢ Distribute the work and manage your time
5-Mar-21 41
Ā© JK Balikuddembe - Requirements
Engineering
Your Project
ā€¢ Identify the elicitation techniques that are appropriate
and have the greatest impact.
ā€¢ What tasks are involved to plan, execute and
document the results for each identified technique?
ā€¢ What stakeholders will you interact with for each
technique?
ā€¢ How much time do you plan for each technique?
5-Mar-21 42
Ā© JK Balikuddembe - Requirements
Engineering
Questioning
ā€¢ Open questions
ā€“ tell me what happens when a customer calls
ā€¢ leading questions
ā€¢ be wary of negative responses
ā€“ exceptions?
ā€¢ Subjects who try to please
5-Mar-21 43
Ā© JK Balikuddembe - Requirements
Engineering
Listening
ā€¢ Judge content and not delivery
ā€¢ withhold evaluation and response
ā€¢ be flexible
ā€¢ work at listening
ā€¢ resist distractions
ā€¢ keep your mind open
ā€¢ listen for ideas
5-Mar-21 44
Ā© JK Balikuddembe - Requirements
Engineering
Opening and closing and Following Up the interview
ā€¢ Introduce yourself
ā€¢ state the purpose of the interview
ā€¢ briefly summarise the areas that have been
discussed, highlight important points and your
understanding of them
ā€¢ thank the interviewee for the time
ā€¢ Ask closed questions
ā€¢ Document the results
5-Mar-21 45
Ā© JK Balikuddembe - Requirements
Engineering
Questionnaires
ā€¢ Validity
- sample size, audience
ā€¢ Reliability
ā€¢ Questions
- open ended
- fill in the blank
- multiple choice
- rating scales
5-Mar-21 46
Ā© JK Balikuddembe - Requirements
Engineering
Scenarios
ā€¢ Scenarios are stories which explain how a
system might be used. They should include
- a description of the system state before
entering the scenario
- the normal flow of events in the scenario
- exceptions to the normal flow of events
- information about concurrent activities
- a description of the system state at the end
of the scenario
5-Mar-21 47
Ā© JK Balikuddembe - Requirements
Engineering
Scenarios
ā€¢ Scenarios are examples of interaction sessions
which describe how a user interacts with a
system
ā€¢ Discovering scenarios exposes possible system
interactions and reveals system facilities which
may be required
ļƒ  Operational semantics
5-Mar-21 48
Ā© JK Balikuddembe - Requirements
Engineering
Observation and social analysis
ā€¢ People often find it hard to describe what they
do because it is so natural to them.
ā€“ Sometimes, the best way to understand it is to
observe them at work
ā€¢ Ethnography is a technique from the social
sciences which has proved to be valuable in
understanding actual work processes
ā€¢ Actual work processes often differ from
formal, prescribed processes
5-Mar-21 49
Ā© JK Balikuddembe - Requirements
Engineering
Meetings
ā€¢ Meetings consume resources
ā€¢ must improve quality of meetings
ā€¢ Meetings have different objectives
ā€¢ solve problems, clarify issues
ā€¢ brainstorm solutions to problems
ā€¢ resolve conflicts
ā€¢ conduct reviews
ā€¢ collect and merge facts and data
ā€¢ report progress
ā€¢ assign actions
5-Mar-21 50
Ā© JK Balikuddembe - Requirements
Engineering
Meetings: Planning
ā€¢ Define clearly the expected results or
outcomes of the meeting
ā€¢ Find if possible a way to eliminate the need for
the meeting
ā€¢ do we really need the outcome of this meeting at
this moment?
ā€¢ Is there another more efficient and more effective
way to accomplish what is to be accomplished by
holding this meeting?
ā€¢ If yes and no are the answers to the two questions
then proceed
5-Mar-21 51
Ā© JK Balikuddembe - Requirements
Engineering
Meetings: Planning
ā€¢ Prepare agenda for the meeting
ā€¢ reasonable time allocation for each topic
ā€¢ circulate at least two days before the meeting
ā€¢ to allow time for the attendees to prepare, comment and make
schedule arrangements
ā€¢ identify and notify required meeting attendees. Must have the
right people
ā€¢ the appropriate information and knowledge to support meeting
goals and objectives
ā€¢ the authority )direct or delegated) to make decisions and
commitments if required by the meetingā€™s goals and objectives
ā€¢ the need to understand what is going on and the rationale
behind any decisions or commitments made during the meeting
5-Mar-21 52
Ā© JK Balikuddembe - Requirements
Engineering
Meetings: Planning
ā€¢ Meeting location considerations
ā€¢ room size, lighting, noise, temperature, humidity can
distract
ā€¢ need for audio/visual aids in working order
ā€¢ Start and Finish on time
ā€¢ Record and publish minutes
ā€¢ Have handouts ready for distribution
ā€¢ review the agenda, meeting goals and objectives first
ā€¢ discourage interruptions and deflections from the
topic at hand
ā€¢ follow the agenda schedule as closely as possible
5-Mar-21 53
Ā© JK Balikuddembe - Requirements
Engineering
Active Listener Guidelines
ā€¢ Clear your mind of everything except the speaker, the
topic and what the speaker is actually saying. Prevent
trying to read more into what the speaker is saying
than the speaker is actually saying
ā€¢ Capture as accurately as possible the information that
the speaker is conveying
ā€¢ Let the speaker know by actions that s/he is
interested in what is being said
ā€¢ Ask questions as they arise to clarify points, indicate
understanding and provide feedback to the speaker
5-Mar-21 54
Ā© JK Balikuddembe - Requirements
Engineering
Active Listener Guidelines
ā€¢ Ask that the central ideas, themes and summaries be
repeated to assure complete understanding
ā€¢ Do not attempt to formulate replies, rebuttals or
counterexamples while the speaker is talking
ā€¢ Do not draw conclusions until you have heard the
whole story
ā€¢ Accept that understanding is not agreeing
ā€¢ Do not be afraid to ask if there is something that you
have not been told.
5-Mar-21 55
Ā© JK Balikuddembe - Requirements
Engineering
Typical Comparison Questions
ā€¢ For the comparison one may ask
ā€¢ Does the methodology cover all phases? Which ones? How
thoroughly.
ā€¢ Are the steps fairly proceduralised or does the
methodology only give broad directions? Are analysis,
design and implementation given equal weight?
ā€¢ Is it data or process analysis oriented?
ā€¢ Does it cover prototyping and incremental development?
ā€¢ How are the results of analysis and design expressed?
ā€¢ Is the methodology supported by software?
ā€¢ What types of applications is it suited to? History?
5-Mar-21 56
Ā© JK Balikuddembe - Requirements
Engineering
Decomposition Diagrams
ā€¢ A high-level organisation (or function or activity) is
decomposed into lower organisations (or functions or
activities). The lower we go in the hierarchy the
greater the detail revealed
ā€¢ Used to show organisation, system, program, file and
report structures
ā€¢ organisation
ā€¢ functions
ā€¢ processes
ā€¢ procedures
ā€¢ program structures
5-Mar-21 57
Ā© JK Balikuddembe - Requirements
Engineering
Types of Requirements
ā€¢ Functional requirements
ā€“ Describe the interactions between the system and its
environment independent from the implementation
ā€œAn operator must be able to define a new game. ā€œ
ā€¢ Nonfunctional requirements
ā€“ Aspects not directly related to functional behavior.
ā€œThe response time must be less than 1 secondā€
ā€¢ Constraints
ā€“ Imposed by the client or the environment
ā€¢ ā€œThe implementation language must be Java ā€œ
ā€“ Called ā€œPseudo requirementsā€ in the text book.
5-Mar-21 58
Ā© JK Balikuddembe - Requirements
Engineering
Functional vs. Nonfunctional
Requirements
Functional Requirements
ā€¢ Describe user tasks that the
system needs to support
ā€¢ Phrased as actions
ā€œAdvertise a new leagueā€
ā€œSchedule tournamentā€
ā€œNotify an interest groupā€
Nonfunctional Requirements
ā€¢ Describe properties of the
system or the domain
ā€¢ Phrased as constraints or
negative assertions
ā€œAll user inputs should be
acknowledged within 1 secondā€
ā€œA system crash should not result in
data lossā€.
5-Mar-21 59
Ā© JK Balikuddembe - Requirements
Engineering
Types of Nonfunctional Requirements
ā€¢ Usability
ā€¢ Reliability
ā€“ Robustness
ā€“ Safety
ā€¢ Performance
ā€“ Response time
ā€“ Scalability
ā€“ Throughput
ā€“ Availability
ā€¢ Supportability
ā€“ Adaptability
ā€“ Maintainability
ā€¢ Implementation
ā€¢ Interface
ā€¢ Operation
ā€¢ Packaging
ā€¢ Legal
ā€“ Licensing (GPL, LGPL)
ā€“ Certification
ā€“ Regulation
Quality requirements
Constraints or
Pseudo requirements
5-Mar-21 60
Ā© JK Balikuddembe - Requirements
Engineering
Some Quality Requirements
Definitions
ā€¢ Usability
ā€“ The ease with which actors can use a system to
perform a function
ā€“ Usability is one of the most frequently misused
terms ((ā€œThe system is easy to useā€)
ā€“ Usability must be measurable, otherwise it is
marketing
ā€¢ Example: Specification of the number of steps ā€“ the
measure! - to perform a internet-based purchase with
a web browser
5-Mar-21 61
Ā© JK Balikuddembe - Requirements
Engineering
Some Quality Requirements
Definitions
ā€¢ Robustness: The ability of a system to maintain
a function
ā€“ even if the user enters a wrong input
ā€“ even if there are changes in the environment
ā€¢ Example: The system can tolerate temperatures up to 90 C
ā€¢ Availability: The ratio of the expected uptime of a
system to the aggregate of the expected up and
down time
ā€“ Example: The system is down not more than 5
minutes per week.
5-Mar-21 62
Ā© JK Balikuddembe - Requirements
Engineering
Nonfunctional Requirements:
Examples
ā€¢ ā€œSpectators must be able to watch a match
without prior registration and without prior
knowledge of the match.ā€
ļƒ˜Usability Requirement
ā€¢ ā€œThe system must support 10 parallel
tournamentsā€
ļƒ˜Performance Requirement
ā€¢ ā€œThe operator must be able to add new games
without modifications to the existing system.ā€
ļƒ˜Supportability Requirement
5-Mar-21 63
Ā© JK Balikuddembe - Requirements
Engineering
What should not be in the
Requirements?
ā€¢ System structure, implementation technology
ā€¢ Development methodology
ā€“ Parnas, How to fake the software development
process
ā€¢ Development environment
ā€¢ Implementation language
ā€¢ Reusability
ā€¢ It is desirable that none of these above are
constrained by the client.
5-Mar-21 64
Ā© JK Balikuddembe - Requirements
Engineering
Different Types of Requirements
Elicitation
ā€¢ Greenfield Engineering
ā€“ Development starts from scratch, no prior system
exists, requirements come from end users and clients
ā€“ Triggered by user needs
ā€¢ Re-engineering
ā€“ Re-design and/or re-implementation of an existing
system using newer technology
ā€“ Triggered by technology enabler
ā€¢ Interface Engineering
ā€“ Provision of existing services in a new environment
ā€“ Triggered by technology enabler or new market needs
5-Mar-21 65
Ā© JK Balikuddembe - Requirements
Engineering
Prioritizing requirements
ā€¢ High priority
ā€“ Addressed during analysis, design, and
implementation
ā€“ A high-priority feature must be demonstrated
ā€¢ Medium priority
ā€“ Addressed during analysis and design
ā€“ Usually demonstrated in the second iteration
ā€¢ Low priority
ā€“ Addressed only during analysis
ā€“ Illustrates how the system is going to be used in the
future with not yet available technology
5-Mar-21 66
Ā© JK Balikuddembe - Requirements
Engineering
Nonfunctional Requirements
ā€¢ User interface and human factors
ā€¢ Documentation
ā€¢ Hardware considerations
ā€¢ Performance characteristics
ā€¢ Error handling and extreme conditions
ā€¢ System interfacing
ā€¢ Quality issues
ā€¢ System modifications
ā€¢ Physical environment
ā€¢ Security issues
ā€¢ Resources and management issues
5-Mar-21 67
Ā© JK Balikuddembe - Requirements
Engineering
Nonfunctional Requirements
User interface and human factors
ā€“ What type of user will be using the system?
ā€“ Will more than one type of user be using the system?
ā€“ What training will be required for each type of user?
ā€“ Is it important that the system is easy to learn?
ā€“ Should users be protected from making errors?
ā€“ What input/output devices are available
Documentation
ā€“ What kind of documentation is required?
ā€“ What audience is to be addressed by each
document?
5-Mar-21 68
Ā© JK Balikuddembe - Requirements
Engineering
Nonfunctional Requirements (2)
Hardware considerations
ā€“ What hardware is the proposed system to be used on?
ā€“ What are the characteristics of the target hardware,
including memory size and auxiliary storage space?
Performance characteristics
ā€“ Are there speed, throughput, response time constraints
on the system?
ā€“ Are there size or capacity constraints on the data to be
processed by the system?
Error handling and extreme conditions
ā€“ How should the system respond to input errors?
ā€“ How should the system respond to extreme conditions?
5-Mar-21 69
Ā© JK Balikuddembe - Requirements
Engineering
Nonfunctional Requirements (3)
System interfacing
ā€“ Is input coming from systems outside the proposed
system?
ā€“ Is output going to systems outside the proposed system?
ā€“ Are there restrictions on the format or medium that must
be used for input or output?
Quality issues
ā€“ What are the requirements for reliability?
ā€“ Must the system trap faults?
ā€“ What is the time for restarting the system after a failure?
ā€“ Is there an acceptable downtime per 24-hour period?
ā€“ Is it important that the system be portable?
5-Mar-21 70
Ā© JK Balikuddembe - Requirements
Engineering
Nonfunctional Requirements (4)
System Modifications
ā€“ What parts of the system are likely to be modified?
ā€“ What sorts of modifications are expected?
Physical Environment
ā€“ Where will the target equipment operate?
ā€“ Is the target equipment in one or several locations?
ā€“ Will the environmental conditions be ordinary?
Security Issues
ā€“ Must access to data or the system be controlled?
ā€“ Is physical security an issue?
5-Mar-21 71
Ā© JK Balikuddembe - Requirements
Engineering
Nonfunctional Requirements (5)
Resources and Management Issues
ā€“ How often will the system be backed up?
ā€“ Who will be responsible for the back up?
ā€“ Who is responsible for system installation?
ā€“ Who will be responsible for system maintenance?
5-Mar-21 72
Ā© JK Balikuddembe - Requirements
Engineering
73
Example Functional Requirements
ā€¢ List all functional requirements
ā€“ with proper numbering.
ā€¢ Req. 1:
ā€“ Once the user selects the ā€œsearchā€ option,
ā€¢ he is asked to enter the key words.
ā€“ The system should output details of all books
ā€¢ whose title or author name matches any of the key
words entered.
ā€¢ Details include: Title, Author Name, Publisher name,
Year of Publication, ISBN Number, Catalog Number,
Location in the Library.
5-Mar-21
Ā© JK Balikuddembe - Requirements
Engineering
74
Example Functional Requirements
ā€¢ Req. 2:
ā€“ When the ā€œrenewā€ option is selected,
ā€¢ the user is asked to enter his membership number
and password.
ā€“ After password validation,
ā€¢ the list of the books borrowed by him are displayed.
ā€“ The user can renew any of the books:
ā€¢ by clicking in the corresponding renew box.
5-Mar-21
Ā© JK Balikuddembe - Requirements
Engineering
75
Req. 1:
ā€¢ R.1.1:
ā€“ Input: ā€œsearchā€ option,
ā€“ Output: user prompted to enter the key words.
ā€¢ R1.2:
ā€“ Input: key words
ā€“ Output: Details of all books whose title or author name
matches any of the key words.
ā€¢ Details include: Title, Author Name, Publisher name, Year of
Publication, ISBN Number, Catalog Number, Location in the
Library.
ā€“ Processing: Search the book list for the keywords
5-Mar-21
Ā© JK Balikuddembe - Requirements
Engineering
76
Req. 2:
ā€¢ R2.1:
ā€“ Input: ā€œrenewā€ option selected,
ā€“ Output: user prompted to enter his
membership number and password.
ā€¢ R2.2:
ā€“ Input: membership number and password
ā€“ Output:
ā€¢ list of the books borrowed by user are displayed.
User prompted to enter books to be renewed or
ā€¢ user informed about bad password
ā€“ Processing: Password validation, search books
issued to the user from borrower list and
display.
5-Mar-21
Ā© JK Balikuddembe - Requirements
Engineering
77
Req. 2:
ā€¢ R2.3:
ā€“ Input: user choice for renewal of the books issued
to him through mouse clicks in the corresponding
renew box.
ā€“ Output: Confirmation of the books renewed
ā€“ Processing: Renew the books selected by the in the
borrower list.
5-Mar-21
Ā© JK Balikuddembe - Requirements
Engineering

More Related Content

Similar to Elicitation.As the first step in Requirements Engineering

Requirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringRequirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringMikel Raj
Ā 
5. SE RequirementEngineering task.ppt
5. SE RequirementEngineering task.ppt5. SE RequirementEngineering task.ppt
5. SE RequirementEngineering task.pptHaiderAli252366
Ā 
Requirements analysis.pptx
Requirements analysis.pptxRequirements analysis.pptx
Requirements analysis.pptxazida3
Ā 
Requirments Elicitation.pptx
Requirments Elicitation.pptxRequirments Elicitation.pptx
Requirments Elicitation.pptxazida3
Ā 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
Ā 
Lecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptxLecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptxAbdulRaheem254960
Ā 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement AnalysisSADEED AMEEN
Ā 
Proj Mgmt.ppt
Proj Mgmt.pptProj Mgmt.ppt
Proj Mgmt.pptNikhilDudka
Ā 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
Ā 
Module 6 - Systems Planning bak.pptx.pdf
Module 6 - Systems Planning bak.pptx.pdfModule 6 - Systems Planning bak.pptx.pdf
Module 6 - Systems Planning bak.pptx.pdfMASantos15
Ā 
Se6162 analysis concept and principles
Se6162 analysis concept and principlesSe6162 analysis concept and principles
Se6162 analysis concept and principleskhaerul azmi
Ā 
SAD - Session 4.pptx
SAD - Session 4.pptxSAD - Session 4.pptx
SAD - Session 4.pptxGayanudaya1
Ā 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptubaidullah75790
Ā 
Mis system analysis and system design
Mis   system analysis and system designMis   system analysis and system design
Mis system analysis and system designRahul Hedau
Ā 
vu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.pptvu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.pptubaidullah75790
Ā 

Similar to Elicitation.As the first step in Requirements Engineering (20)

unit2.pptx
unit2.pptxunit2.pptx
unit2.pptx
Ā 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
Ā 
Requirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringRequirement engineering in S/W Engineering
Requirement engineering in S/W Engineering
Ā 
5. SE RequirementEngineering task.ppt
5. SE RequirementEngineering task.ppt5. SE RequirementEngineering task.ppt
5. SE RequirementEngineering task.ppt
Ā 
Requirementengg
RequirementenggRequirementengg
Requirementengg
Ā 
Requirements analysis.pptx
Requirements analysis.pptxRequirements analysis.pptx
Requirements analysis.pptx
Ā 
Requirments Elicitation.pptx
Requirments Elicitation.pptxRequirments Elicitation.pptx
Requirments Elicitation.pptx
Ā 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
Ā 
SRE.pptx
SRE.pptxSRE.pptx
SRE.pptx
Ā 
Lecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptxLecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptx
Ā 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
Ā 
Proj Mgmt.ppt
Proj Mgmt.pptProj Mgmt.ppt
Proj Mgmt.ppt
Ā 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
Ā 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
Ā 
Module 6 - Systems Planning bak.pptx.pdf
Module 6 - Systems Planning bak.pptx.pdfModule 6 - Systems Planning bak.pptx.pdf
Module 6 - Systems Planning bak.pptx.pdf
Ā 
Se6162 analysis concept and principles
Se6162 analysis concept and principlesSe6162 analysis concept and principles
Se6162 analysis concept and principles
Ā 
SAD - Session 4.pptx
SAD - Session 4.pptxSAD - Session 4.pptx
SAD - Session 4.pptx
Ā 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.ppt
Ā 
Mis system analysis and system design
Mis   system analysis and system designMis   system analysis and system design
Mis system analysis and system design
Ā 
vu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.pptvu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.ppt
Ā 

Recently uploaded

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
Ā 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
Ā 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
Ā 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
Ā 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
Ā 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
Ā 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
Ā 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
Ā 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
Ā 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
Ā 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
Ā 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
Ā 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
Ā 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
Ā 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
Ā 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
Ā 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
Ā 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo GarcĆ­a Lavilla
Ā 

Recently uploaded (20)

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
Ā 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Ā 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
Ā 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
Ā 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
Ā 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Ā 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Ā 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Ā 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Ā 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Ā 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Ā 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Ā 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Ā 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
Ā 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Ā 
Hot Sexy call girls in Panjabi Bagh šŸ” 9953056974 šŸ” Delhi escort Service
Hot Sexy call girls in Panjabi Bagh šŸ” 9953056974 šŸ” Delhi escort ServiceHot Sexy call girls in Panjabi Bagh šŸ” 9953056974 šŸ” Delhi escort Service
Hot Sexy call girls in Panjabi Bagh šŸ” 9953056974 šŸ” Delhi escort Service
Ā 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
Ā 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Ā 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Ā 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Ā 

Elicitation.As the first step in Requirements Engineering

  • 1. BSE 3103: Requirements Elicitation Dr. Joseph Kibombo Balikuddembe For comments and issues jbalikud@cis.mak.ac.ug. 5-Mar-21 1 Ā© JK Balikuddembe - Requirements Engineering
  • 2. What Is Elicitation ? ā€¢ Process of identifying needs ā€¢ Front End to systems development ā€¢ Involves social, communicative issues and Technical issues ā€¢ Requirement expression is the step to model the requirements. 5-Mar-21 2 Ā© JK Balikuddembe - Requirements Engineering
  • 3. Some basic points ā€¢ Elicitation is not Acquisition ā€¢ Requirements are not available like sensor data Not just read them systematically !! ā€¢ Elicitation is not specification and modelling ā€¢ Too much importance has been given to expression and modelling ā€¢ RE Determines the success of the mission ā€¢ Elicitation detrmines the success of the RE process 5-Mar-21 3 Ā© JK Balikuddembe - Requirements Engineering
  • 4. Requirements elicitation goals ā€¢ Identify and document business needs*; in order to do so, you have to: ā€“ Know the problem domain, in order to be able to communicate with customers & users in their own language. ā€“ Know the current business model, in order to identify needs, positive & negative aspects and potential expectations. ā€“ Know the technological environment, in order to identify the technical restrictions of the system to be developed. 5-Mar-21 Ā© JK Balikuddembe - Requirements Engineering 4
  • 5. Elicitation Goals- Cont. ā€¢ ā€œNever lose sight of why software is being developed: to satisfy real needs, to solve real problems. The only way to solve real needs is to communicate with those who have the needs. The customer or user is the most important person involved with your project.ā€ 5-Mar-21 Ā© JK Balikuddembe - Requirements Engineering 5
  • 6. Elicitation goals Cont.. ā€¢ Requirements elicitation goals ā€“ Information systems should help their organizations toā€¦ ā€“ Make competitiveness strategic decisions. ā€“ Make business tactical decisions. ā€“ Perform business processes and their related operations. ā€¢ Most information systems developments are operational-level oriented. 5-Mar-21 Ā© JK Balikuddembe - Requirements Engineering 6
  • 7. Common generic problems ā€¢ Scope : too much or too little ā€¢Establish a bounday conditions for the target system ā€¢ Organisation and context analysis ā€¢ Understandings : Users and developpers ā€¢ Users have an incomplete understanding of their needs ā€¢ Analysts and SE have a poor knowledge of problem domain ā€¢ Ease of omitting obvious information Volatility : changing requirements 5-Mar-21 7 Ā© JK Balikuddembe - Requirements Engineering
  • 8. Requirements Elicitation: Difficulties and Challenges ā€¢ Communicate accurately about the domain and the system ā€“ People with different backgrounds must collaborate to bridge the gap between end users and developers ā€¢ Client and end users have application domain knowledge ā€¢ Developers have solution domain knowledge ā€¢ Identify an appropriate system (Defining the system boundary) ā€¢ Provide an unambiguous specification ā€¢ Leave out unintended features 5-Mar-21 8 Ā© JK Balikuddembe - Requirements Engineering
  • 9. Requirements Specification vs Analysis Model Both focus on the requirements from the userā€™s view of the system ā€¢ The requirements specification uses natural language (derived from the problem statement) ā€¢ The analysis model uses a formal or semi- formal notation ā€“ We use UML. 5-Mar-21 9 Ā© JK Balikuddembe - Requirements Engineering
  • 10. Elicitation : a subset of goals ā€¢ Identify the relavant parties . The stackholders ā€¢ Gather the Wish List for each stachholder ā€¢ Document and refine the Wish list ā€¢ Expected properties ā€¢ Unambiguous ā€¢ Complete ā€¢ Verifiable ā€¢ Consistent ā€¢ Modifiable ā€¢ Traceable ā€¢ 5-Mar-21 10 Ā© JK Balikuddembe - Requirements Engineering
  • 11. Elicitation: Discover Stakeholder Requirements through ā€¢ Interviews ā€¢ Ethnographic studies (observe the user using similar systems) ā€¢ Questionnaires ā€¢ Requirements workshops ā€¢ Brainstorming and idea reduction ā€¢ Storyboarding ā€¢ Study similar products & relevant docs ā€¢ Use cases ā€¢ Prototyping ā€¢ Context-free questions 5-Mar-21 11 Ā© JK Balikuddembe - Requirements Engineering
  • 12. Analyst Role ā€¢ Observe and learn the user needs and tasks (the problem) and understand them from the user point of view ā€“ What they are doing and why ā€¢ Interpret the user work/tasks ā€“ Filter out technology and current way of doing things to get to the essence of the work, not its incarnation ā€¢ Invent better ways to do the work ā€“ Interpret what the product must do to satisfy the essential requirements ā€¢ Record the results in the form of a requirements specification and analysis models ā€¢ Validate that the analyst and user have the same understanding of the problem and the product, and that the user agrees that this is the product wanted 5-Mar-21 12 Ā© JK Balikuddembe - Requirements Engineering
  • 13. Fact findings User Developer ā€¢ Identify Stackholders ā€¢ Determine operational and problem context ā€¢ Identify other systems ā€¢Ā“Perform context analysis ā€¢ Identify domain experts ā€¢ Id. Domain ā€¢ Conduct technological survey ā€¢ Asses cost/implementation 5-Mar-21 13 Ā© JK Balikuddembe - Requirements Engineering
  • 14. Requirements gathering User Developer ā€¢ Get Wish List ā€¢ Classify wish list * Functional * NFR * Env. 5-Mar-21 14 Ā© JK Balikuddembe - Requirements Engineering
  • 15. Evaluation and rationalisation User Developer ā€¢ Perform abstraction to answer question ā€¢ see interview techniques ā€¢Perform risk assessment ā€¢ Cost benefit ... 5-Mar-21 15 Ā© JK Balikuddembe - Requirements Engineering
  • 16. Prioritisation User Developer * Determine criticality ā€¢ Prioritisation of requirements ā€¢ basis : cost, criticality, ... 5-Mar-21 16 Ā© JK Balikuddembe - Requirements Engineering
  • 17. Integration and validation User Developer ā€¢Adress completeness : TBD type ā€¢ validate req with respect concept of operation ā€¢ Decide to go on next step * Demo * prototype * ... ā€¢Consistency checking 5-Mar-21 17 Ā© JK Balikuddembe - Requirements Engineering
  • 18. The stackholder connection ā€¢ Sometimes called requirements analysis or requirements discovery ā€¢ Involves technical staff working with customers to find out about the application domain, the services that the system should provide and the systemā€™s operational constraints ā€¢ May involve end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc. These are called stakeholders 5-Mar-21 18 Ā© JK Balikuddembe - Requirements Engineering
  • 19. Gathering Information About... ā€¢ The organisation ā€“ goals, structure, functional units, policies ā€¢ The people ā€“ authority, duties, relationships, information, needs ā€¢ The work ā€“ tasks, work flows, procedures, schedules, volumes, performance criteria ā€¢ The work environment ā€“ work areas, resources 5-Mar-21 19 Ā© JK Balikuddembe - Requirements Engineering
  • 20. Gathering Information From... ā€¢ Documentation ā€“ charts, manuals, job descriptions, forms, reports ā€¢ System users and managers ā€¢ External sources ā€“ other companies, vendors, publications, seminars, workshops, on-line data services 5-Mar-21 20 Ā© JK Balikuddembe - Requirements Engineering
  • 21. Interviews ā€¢ The requirements engineer or analyst discusses the system with different stakeholders and builds up an understanding of their requirements. ā€¢ Identify ā€¢ work flows ā€¢ factors that influence the operations of systems ā€¢ the elements (documents, procedures, policies etc.) that make up systems 5-Mar-21 21 Ā© JK Balikuddembe - Requirements Engineering
  • 22. Interview the User ā€¢ Interviewing is a common approach, but may not be most effective ā€¢ Assumes users will know and be able to discuss their requirements ā€¢ Questions often lead to specific answers and scope ā€¢ Questionnaire ā€“ Consider it as pre-work to a personal interview ā€¢ Engage the user in the process so they are not passive ā€“ Interactively build models, for example 5-Mar-21 22 Ā© JK Balikuddembe - Requirements Engineering
  • 23. Interview Structure ā€¢ Set the interview in context to set scope and direction of discussion ā€¢ Use business events as an anchor; work one event at a time ā€¢ Ask a question, listen to the answer, then feed back your understanding ā€¢ Draw models and encourage user to change them ā€“ Data flow models and work flow charts are effective ā€¢ Consider UML Activity Diagrams with data flow ā€¢ Use the userā€™s terminology and artifacts, both conceptual and real ā€“ Artifacts: papers, computers, meters, spreadsheets, machines, instruction lists, software applications, etc. ā€“ Avoid letting the user speak in technology/solution ā€¢ Keep sample artifacts and documents ā€¢ Thank the user for their time and tell them why it is valuable 5-Mar-21 23 Ā© JK Balikuddembe - Requirements Engineering
  • 24. Types of Interviews ā€¢ Closed interviews ā€“ The requirements engineer looks for answers to a pre-defined set of questions ā€¢ goal-directed and systematic ā€¢ Open interviews ā€“ There is no predefined agenda and the requirements engineer discusses, in an open- ended way, what stakeholders want from the system. ā€¢ Appropriate when we want to explore an issue ā€¢ establish rapport and obtain a broad view 5-Mar-21 24 Ā© JK Balikuddembe - Requirements Engineering
  • 25. Interviewing essentials ā€¢ Interviewers must be open-minded and should not approach the interview with pre-conceived notions about what is required ā€¢ Stakeholders must be given a starting point for discussion. This can be a question, a requirements proposal or an existing system ā€¢ Interviewers must be aware of organisational politics - many real requirements may not be discussed because of their political implications 5-Mar-21 25 Ā© JK Balikuddembe - Requirements Engineering
  • 26. Interview Steps ā€¢ Preparing ā€¢ Planning ā€¢ Opening and Closing ā€¢ Conducting ā€¢ Following up 5-Mar-21 26 Ā© JK Balikuddembe - Requirements Engineering
  • 27. Preparing for the interview ā€¢ Review ā€¢ organisation reports ā€¢ annual reports ā€¢ statements of departments goals ā€¢ long-range planning goals ā€¢ existing procedure manuals ā€¢ systems documentation ā€¢ understand their language 5-Mar-21 27 Ā© JK Balikuddembe - Requirements Engineering
  • 28. Planning of Interviews ā€¢ Identify sources ā€¢ prepare * purpose, outline of points to cover ā€¢ venue ā€¢ appointments ā€¢ prepare the interviewee * points to cover, useful documents 5-Mar-21 28 Ā© JK Balikuddembe - Requirements Engineering
  • 29. Business Event Workshops ā€¢ Business events ā€“ Businesses respond to events that are (typically) initiated outside the scope of work to be done (by a user or an adjacent system) ā€“ A pre-planned response triggered by ā€¢ Arrival of information ā€¢ Arrival of request ā€¢ Passage of time ā€“ The response to the event is a unit of work to be studied ā€¢ A use case ā€¢ In a business event workshop, the responsible user describes or re-enacts the work that is done in response to the event ā€“ Identify data, processes, messages, subtasks, checkpoints, etc. ā€“ What contribution is to be made by the software product? 5-Mar-21 29 Ā© JK Balikuddembe - Requirements Engineering
  • 30. Business Event Workshops Requirements Analyst Event Owner Video for Recall Generate Event-Response Scenarios Use-case scenario Exceptions, ā€œwhat-ifā€ scenarios Business Rules Low-fidelity Interaction Screens 5-Mar-21 30 Ā© JK Balikuddembe - Requirements Engineering
  • 31. Deliverables of the Business Event Workshop ā€¢ Purpose of the business event ā€“ Desired outcomes for the business ā€¢ Scenarios of the work (to be) done to respond to the business event ā€¢ ā€œWhat-ifā€ scenarios about things that can go wrong when the event happens ā€¢ The business rules that apply to that part of the work ā€¢ The part of the work to be done by the product separated from the part that is done by people and other systems ā€¢ The likely users of any product built for this event ā€¢ Prototypes for some of the steps ā€“ Minimal detail ā€“ Optional 5-Mar-21 31 Ā© JK Balikuddembe - Requirements Engineering
  • 32. Purpose of the Business Event ā€¢ Focus on the outcome the organization hopes to achieve whenever the event happens ā€“ Think of outcomes, not outputs ā€“ Example: car rental ā€¢ Outcomes: customer drives away in car of their choice, rate selected is equitable, details are recorded, minimal customer and clerk inconvenience, minimal cost ā€¢ Outputs: rental document, recorded data ā€¢ From organizationā€™s view or customerā€™s view ā€“ What are you trying to achieve? ā€“ Why is this important? ā€¢ An outcome is a business objective, not a way of achieving something ā€¢ Should be able to write in one sentence ā€“ If this event happens, what state of affairs do you want to exist when the work is finished responding? 5-Mar-21 32 Ā© JK Balikuddembe - Requirements Engineering
  • 33. Requirements Analysis After the Workshop ā€¢ Analyze each event response and answer: ā€“ What does the product have to do to complete this step? ā€“ What non-functional requirements are necessary for this step? ā€¢ Quality requirements ā€¢ Constraints 5-Mar-21 33 Ā© JK Balikuddembe - Requirements Engineering
  • 34. Brainstorming ā€¢ Brainstorming is good for invention taking advantage of the ā€œgroup effectā€ ā€“ ā€œInventā€ the need and/or the solution ā€“ (See earlier slides on brainstorming) ā€¢ Use brainstorming to discover new requirements and to create new possible solutions ā€“ ā€œOut thereā€ ideas without criticizing or debating ā€¢ (In a requirements context) the best and most usable ideas will, with the clientā€™s consent, become requirements for the product 5-Mar-21 34 Ā© JK Balikuddembe - Requirements Engineering
  • 35. Rules for Brainstorming ā€¢ Diverse disciplines and backgrounds ā€¢ For this session, suspend judgment, evaluation, and criticism ā€“ Donā€™t stop the creative flow ā€¢ Produce lots of ideas ā€“ Quantity will, in time, produce quality ā€¢ Come up with ideas that are unconventional, crazy, wild, etc. ā€“ This will produce really useful requirements ā€¢ Piggyback a new idea on an old one ā€“ use ideas to stimulate new ideas ā€¢ Write every idea down, without censoring ā€“ ā€œIdeas disappear faster than water evaporates unless written downā€ [Alex Osborne, the founder of brainstorming] ā€¢ If you get stuck, seed the session with a word pulled randomly from a dictionary ā€“ Word associations, using the word as a springboard 5-Mar-21 35 Ā© JK Balikuddembe - Requirements Engineering
  • 36. After the Brainstorming Session ā€¢ Analysts and clients evaluate the ideas ā€“ Some worthless, but they will have served their purpose of inspiring other, more practical, ideas ā€“ Keep the best and (if feasible) turn them into requirements ā€¢ Merge ideas ā€“ Merge half-formed ideas into an invention ā€¢ Form half-formed ideas into true requirements ā€¢ Investigate ideas with additional trawling techniques 5-Mar-21 36 Ā© JK Balikuddembe - Requirements Engineering
  • 37. Context-Free Questions ā€“ Process-Oriented ā€¢ User ā€“ Who is the customer? ā€“ Who is the user? ā€“ Are their needs different? ā€“ What are their backgrounds, capabilities, environments? ā€¢ What is the reason for wanting to solve this problem? ā€¢ What is the value of a successful solution? ā€¢ How do you solve the problem now? ā€“ Can we copy that solution? ā€¢ How much time do we have? ā€“ What is the trade-off between time and value? ā€“ Who should be on the team(s)? 5-Mar-21 37 Ā© JK Balikuddembe - Requirements Engineering
  • 38. Context-Free Questions ā€“ Product-Oriented ā€¢ What problems does this system solve? ā€¢ What problems could this system create? ā€¢ What environment will the product be used in? ā€¢ What are your expectations for usability, reliability, performance, etc.? 5-Mar-21 38 Ā© JK Balikuddembe - Requirements Engineering
  • 39. Context-Free Questions ā€“ Meta-questions ā€¢ Am I asking too many questions? ā€¢ Do my questions seem relevant? ā€¢ Are you the right person to answer these questions? ā€¢ To assure we understand each other, may I write down the answers to these questions and give you a written copy to study and approve? ā€¢ Is there someone else who can give me useful answers? ā€¢ Is there some way I can see the environment in which the product will be used? ā€¢ Are your answers official requirements? ā€¢ Is there anything else I should be asking you? ā€¢ Is there anything you want to ask me? ā€¢ Can I ask more questions later? 5-Mar-21 39 Ā© JK Balikuddembe - Requirements Engineering
  • 40. Group Dynamics: Be sensitive to them & probe them ā€¢ I noticed you hesitated (had trouble describing, etc.). Is there something else we should know? ā€¢ When I asked X about that, she said Y. Do you have any idea why she might have said Y? ā€¢ I notice you donā€™t seem to agree with that reply. Would you tell us about that? ā€¢ Are you comfortable with the process right now? ā€¢ Is there any reason you donā€™t feel you can answer freely? ā€¢ What can you tell me about the other people on this project? ā€¢ How do you feel about the other people working with us on this project? ā€¢ Is there anybody we need on this project whom we donā€™t have? ā€¢ Is there anybody we have on this project whom we donā€™t need? 5-Mar-21 40 Ā© JK Balikuddembe - Requirements Engineering
  • 41. Plan Your Tasks ā€¢ Identify the techniques that are most appropriate and will have the greatest impact ā€¢ What resources to do have? ā€¢ Is there any sort of research that you need to do? ā€¢ Distribute the work and manage your time 5-Mar-21 41 Ā© JK Balikuddembe - Requirements Engineering
  • 42. Your Project ā€¢ Identify the elicitation techniques that are appropriate and have the greatest impact. ā€¢ What tasks are involved to plan, execute and document the results for each identified technique? ā€¢ What stakeholders will you interact with for each technique? ā€¢ How much time do you plan for each technique? 5-Mar-21 42 Ā© JK Balikuddembe - Requirements Engineering
  • 43. Questioning ā€¢ Open questions ā€“ tell me what happens when a customer calls ā€¢ leading questions ā€¢ be wary of negative responses ā€“ exceptions? ā€¢ Subjects who try to please 5-Mar-21 43 Ā© JK Balikuddembe - Requirements Engineering
  • 44. Listening ā€¢ Judge content and not delivery ā€¢ withhold evaluation and response ā€¢ be flexible ā€¢ work at listening ā€¢ resist distractions ā€¢ keep your mind open ā€¢ listen for ideas 5-Mar-21 44 Ā© JK Balikuddembe - Requirements Engineering
  • 45. Opening and closing and Following Up the interview ā€¢ Introduce yourself ā€¢ state the purpose of the interview ā€¢ briefly summarise the areas that have been discussed, highlight important points and your understanding of them ā€¢ thank the interviewee for the time ā€¢ Ask closed questions ā€¢ Document the results 5-Mar-21 45 Ā© JK Balikuddembe - Requirements Engineering
  • 46. Questionnaires ā€¢ Validity - sample size, audience ā€¢ Reliability ā€¢ Questions - open ended - fill in the blank - multiple choice - rating scales 5-Mar-21 46 Ā© JK Balikuddembe - Requirements Engineering
  • 47. Scenarios ā€¢ Scenarios are stories which explain how a system might be used. They should include - a description of the system state before entering the scenario - the normal flow of events in the scenario - exceptions to the normal flow of events - information about concurrent activities - a description of the system state at the end of the scenario 5-Mar-21 47 Ā© JK Balikuddembe - Requirements Engineering
  • 48. Scenarios ā€¢ Scenarios are examples of interaction sessions which describe how a user interacts with a system ā€¢ Discovering scenarios exposes possible system interactions and reveals system facilities which may be required ļƒ  Operational semantics 5-Mar-21 48 Ā© JK Balikuddembe - Requirements Engineering
  • 49. Observation and social analysis ā€¢ People often find it hard to describe what they do because it is so natural to them. ā€“ Sometimes, the best way to understand it is to observe them at work ā€¢ Ethnography is a technique from the social sciences which has proved to be valuable in understanding actual work processes ā€¢ Actual work processes often differ from formal, prescribed processes 5-Mar-21 49 Ā© JK Balikuddembe - Requirements Engineering
  • 50. Meetings ā€¢ Meetings consume resources ā€¢ must improve quality of meetings ā€¢ Meetings have different objectives ā€¢ solve problems, clarify issues ā€¢ brainstorm solutions to problems ā€¢ resolve conflicts ā€¢ conduct reviews ā€¢ collect and merge facts and data ā€¢ report progress ā€¢ assign actions 5-Mar-21 50 Ā© JK Balikuddembe - Requirements Engineering
  • 51. Meetings: Planning ā€¢ Define clearly the expected results or outcomes of the meeting ā€¢ Find if possible a way to eliminate the need for the meeting ā€¢ do we really need the outcome of this meeting at this moment? ā€¢ Is there another more efficient and more effective way to accomplish what is to be accomplished by holding this meeting? ā€¢ If yes and no are the answers to the two questions then proceed 5-Mar-21 51 Ā© JK Balikuddembe - Requirements Engineering
  • 52. Meetings: Planning ā€¢ Prepare agenda for the meeting ā€¢ reasonable time allocation for each topic ā€¢ circulate at least two days before the meeting ā€¢ to allow time for the attendees to prepare, comment and make schedule arrangements ā€¢ identify and notify required meeting attendees. Must have the right people ā€¢ the appropriate information and knowledge to support meeting goals and objectives ā€¢ the authority )direct or delegated) to make decisions and commitments if required by the meetingā€™s goals and objectives ā€¢ the need to understand what is going on and the rationale behind any decisions or commitments made during the meeting 5-Mar-21 52 Ā© JK Balikuddembe - Requirements Engineering
  • 53. Meetings: Planning ā€¢ Meeting location considerations ā€¢ room size, lighting, noise, temperature, humidity can distract ā€¢ need for audio/visual aids in working order ā€¢ Start and Finish on time ā€¢ Record and publish minutes ā€¢ Have handouts ready for distribution ā€¢ review the agenda, meeting goals and objectives first ā€¢ discourage interruptions and deflections from the topic at hand ā€¢ follow the agenda schedule as closely as possible 5-Mar-21 53 Ā© JK Balikuddembe - Requirements Engineering
  • 54. Active Listener Guidelines ā€¢ Clear your mind of everything except the speaker, the topic and what the speaker is actually saying. Prevent trying to read more into what the speaker is saying than the speaker is actually saying ā€¢ Capture as accurately as possible the information that the speaker is conveying ā€¢ Let the speaker know by actions that s/he is interested in what is being said ā€¢ Ask questions as they arise to clarify points, indicate understanding and provide feedback to the speaker 5-Mar-21 54 Ā© JK Balikuddembe - Requirements Engineering
  • 55. Active Listener Guidelines ā€¢ Ask that the central ideas, themes and summaries be repeated to assure complete understanding ā€¢ Do not attempt to formulate replies, rebuttals or counterexamples while the speaker is talking ā€¢ Do not draw conclusions until you have heard the whole story ā€¢ Accept that understanding is not agreeing ā€¢ Do not be afraid to ask if there is something that you have not been told. 5-Mar-21 55 Ā© JK Balikuddembe - Requirements Engineering
  • 56. Typical Comparison Questions ā€¢ For the comparison one may ask ā€¢ Does the methodology cover all phases? Which ones? How thoroughly. ā€¢ Are the steps fairly proceduralised or does the methodology only give broad directions? Are analysis, design and implementation given equal weight? ā€¢ Is it data or process analysis oriented? ā€¢ Does it cover prototyping and incremental development? ā€¢ How are the results of analysis and design expressed? ā€¢ Is the methodology supported by software? ā€¢ What types of applications is it suited to? History? 5-Mar-21 56 Ā© JK Balikuddembe - Requirements Engineering
  • 57. Decomposition Diagrams ā€¢ A high-level organisation (or function or activity) is decomposed into lower organisations (or functions or activities). The lower we go in the hierarchy the greater the detail revealed ā€¢ Used to show organisation, system, program, file and report structures ā€¢ organisation ā€¢ functions ā€¢ processes ā€¢ procedures ā€¢ program structures 5-Mar-21 57 Ā© JK Balikuddembe - Requirements Engineering
  • 58. Types of Requirements ā€¢ Functional requirements ā€“ Describe the interactions between the system and its environment independent from the implementation ā€œAn operator must be able to define a new game. ā€œ ā€¢ Nonfunctional requirements ā€“ Aspects not directly related to functional behavior. ā€œThe response time must be less than 1 secondā€ ā€¢ Constraints ā€“ Imposed by the client or the environment ā€¢ ā€œThe implementation language must be Java ā€œ ā€“ Called ā€œPseudo requirementsā€ in the text book. 5-Mar-21 58 Ā© JK Balikuddembe - Requirements Engineering
  • 59. Functional vs. Nonfunctional Requirements Functional Requirements ā€¢ Describe user tasks that the system needs to support ā€¢ Phrased as actions ā€œAdvertise a new leagueā€ ā€œSchedule tournamentā€ ā€œNotify an interest groupā€ Nonfunctional Requirements ā€¢ Describe properties of the system or the domain ā€¢ Phrased as constraints or negative assertions ā€œAll user inputs should be acknowledged within 1 secondā€ ā€œA system crash should not result in data lossā€. 5-Mar-21 59 Ā© JK Balikuddembe - Requirements Engineering
  • 60. Types of Nonfunctional Requirements ā€¢ Usability ā€¢ Reliability ā€“ Robustness ā€“ Safety ā€¢ Performance ā€“ Response time ā€“ Scalability ā€“ Throughput ā€“ Availability ā€¢ Supportability ā€“ Adaptability ā€“ Maintainability ā€¢ Implementation ā€¢ Interface ā€¢ Operation ā€¢ Packaging ā€¢ Legal ā€“ Licensing (GPL, LGPL) ā€“ Certification ā€“ Regulation Quality requirements Constraints or Pseudo requirements 5-Mar-21 60 Ā© JK Balikuddembe - Requirements Engineering
  • 61. Some Quality Requirements Definitions ā€¢ Usability ā€“ The ease with which actors can use a system to perform a function ā€“ Usability is one of the most frequently misused terms ((ā€œThe system is easy to useā€) ā€“ Usability must be measurable, otherwise it is marketing ā€¢ Example: Specification of the number of steps ā€“ the measure! - to perform a internet-based purchase with a web browser 5-Mar-21 61 Ā© JK Balikuddembe - Requirements Engineering
  • 62. Some Quality Requirements Definitions ā€¢ Robustness: The ability of a system to maintain a function ā€“ even if the user enters a wrong input ā€“ even if there are changes in the environment ā€¢ Example: The system can tolerate temperatures up to 90 C ā€¢ Availability: The ratio of the expected uptime of a system to the aggregate of the expected up and down time ā€“ Example: The system is down not more than 5 minutes per week. 5-Mar-21 62 Ā© JK Balikuddembe - Requirements Engineering
  • 63. Nonfunctional Requirements: Examples ā€¢ ā€œSpectators must be able to watch a match without prior registration and without prior knowledge of the match.ā€ ļƒ˜Usability Requirement ā€¢ ā€œThe system must support 10 parallel tournamentsā€ ļƒ˜Performance Requirement ā€¢ ā€œThe operator must be able to add new games without modifications to the existing system.ā€ ļƒ˜Supportability Requirement 5-Mar-21 63 Ā© JK Balikuddembe - Requirements Engineering
  • 64. What should not be in the Requirements? ā€¢ System structure, implementation technology ā€¢ Development methodology ā€“ Parnas, How to fake the software development process ā€¢ Development environment ā€¢ Implementation language ā€¢ Reusability ā€¢ It is desirable that none of these above are constrained by the client. 5-Mar-21 64 Ā© JK Balikuddembe - Requirements Engineering
  • 65. Different Types of Requirements Elicitation ā€¢ Greenfield Engineering ā€“ Development starts from scratch, no prior system exists, requirements come from end users and clients ā€“ Triggered by user needs ā€¢ Re-engineering ā€“ Re-design and/or re-implementation of an existing system using newer technology ā€“ Triggered by technology enabler ā€¢ Interface Engineering ā€“ Provision of existing services in a new environment ā€“ Triggered by technology enabler or new market needs 5-Mar-21 65 Ā© JK Balikuddembe - Requirements Engineering
  • 66. Prioritizing requirements ā€¢ High priority ā€“ Addressed during analysis, design, and implementation ā€“ A high-priority feature must be demonstrated ā€¢ Medium priority ā€“ Addressed during analysis and design ā€“ Usually demonstrated in the second iteration ā€¢ Low priority ā€“ Addressed only during analysis ā€“ Illustrates how the system is going to be used in the future with not yet available technology 5-Mar-21 66 Ā© JK Balikuddembe - Requirements Engineering
  • 67. Nonfunctional Requirements ā€¢ User interface and human factors ā€¢ Documentation ā€¢ Hardware considerations ā€¢ Performance characteristics ā€¢ Error handling and extreme conditions ā€¢ System interfacing ā€¢ Quality issues ā€¢ System modifications ā€¢ Physical environment ā€¢ Security issues ā€¢ Resources and management issues 5-Mar-21 67 Ā© JK Balikuddembe - Requirements Engineering
  • 68. Nonfunctional Requirements User interface and human factors ā€“ What type of user will be using the system? ā€“ Will more than one type of user be using the system? ā€“ What training will be required for each type of user? ā€“ Is it important that the system is easy to learn? ā€“ Should users be protected from making errors? ā€“ What input/output devices are available Documentation ā€“ What kind of documentation is required? ā€“ What audience is to be addressed by each document? 5-Mar-21 68 Ā© JK Balikuddembe - Requirements Engineering
  • 69. Nonfunctional Requirements (2) Hardware considerations ā€“ What hardware is the proposed system to be used on? ā€“ What are the characteristics of the target hardware, including memory size and auxiliary storage space? Performance characteristics ā€“ Are there speed, throughput, response time constraints on the system? ā€“ Are there size or capacity constraints on the data to be processed by the system? Error handling and extreme conditions ā€“ How should the system respond to input errors? ā€“ How should the system respond to extreme conditions? 5-Mar-21 69 Ā© JK Balikuddembe - Requirements Engineering
  • 70. Nonfunctional Requirements (3) System interfacing ā€“ Is input coming from systems outside the proposed system? ā€“ Is output going to systems outside the proposed system? ā€“ Are there restrictions on the format or medium that must be used for input or output? Quality issues ā€“ What are the requirements for reliability? ā€“ Must the system trap faults? ā€“ What is the time for restarting the system after a failure? ā€“ Is there an acceptable downtime per 24-hour period? ā€“ Is it important that the system be portable? 5-Mar-21 70 Ā© JK Balikuddembe - Requirements Engineering
  • 71. Nonfunctional Requirements (4) System Modifications ā€“ What parts of the system are likely to be modified? ā€“ What sorts of modifications are expected? Physical Environment ā€“ Where will the target equipment operate? ā€“ Is the target equipment in one or several locations? ā€“ Will the environmental conditions be ordinary? Security Issues ā€“ Must access to data or the system be controlled? ā€“ Is physical security an issue? 5-Mar-21 71 Ā© JK Balikuddembe - Requirements Engineering
  • 72. Nonfunctional Requirements (5) Resources and Management Issues ā€“ How often will the system be backed up? ā€“ Who will be responsible for the back up? ā€“ Who is responsible for system installation? ā€“ Who will be responsible for system maintenance? 5-Mar-21 72 Ā© JK Balikuddembe - Requirements Engineering
  • 73. 73 Example Functional Requirements ā€¢ List all functional requirements ā€“ with proper numbering. ā€¢ Req. 1: ā€“ Once the user selects the ā€œsearchā€ option, ā€¢ he is asked to enter the key words. ā€“ The system should output details of all books ā€¢ whose title or author name matches any of the key words entered. ā€¢ Details include: Title, Author Name, Publisher name, Year of Publication, ISBN Number, Catalog Number, Location in the Library. 5-Mar-21 Ā© JK Balikuddembe - Requirements Engineering
  • 74. 74 Example Functional Requirements ā€¢ Req. 2: ā€“ When the ā€œrenewā€ option is selected, ā€¢ the user is asked to enter his membership number and password. ā€“ After password validation, ā€¢ the list of the books borrowed by him are displayed. ā€“ The user can renew any of the books: ā€¢ by clicking in the corresponding renew box. 5-Mar-21 Ā© JK Balikuddembe - Requirements Engineering
  • 75. 75 Req. 1: ā€¢ R.1.1: ā€“ Input: ā€œsearchā€ option, ā€“ Output: user prompted to enter the key words. ā€¢ R1.2: ā€“ Input: key words ā€“ Output: Details of all books whose title or author name matches any of the key words. ā€¢ Details include: Title, Author Name, Publisher name, Year of Publication, ISBN Number, Catalog Number, Location in the Library. ā€“ Processing: Search the book list for the keywords 5-Mar-21 Ā© JK Balikuddembe - Requirements Engineering
  • 76. 76 Req. 2: ā€¢ R2.1: ā€“ Input: ā€œrenewā€ option selected, ā€“ Output: user prompted to enter his membership number and password. ā€¢ R2.2: ā€“ Input: membership number and password ā€“ Output: ā€¢ list of the books borrowed by user are displayed. User prompted to enter books to be renewed or ā€¢ user informed about bad password ā€“ Processing: Password validation, search books issued to the user from borrower list and display. 5-Mar-21 Ā© JK Balikuddembe - Requirements Engineering
  • 77. 77 Req. 2: ā€¢ R2.3: ā€“ Input: user choice for renewal of the books issued to him through mouse clicks in the corresponding renew box. ā€“ Output: Confirmation of the books renewed ā€“ Processing: Renew the books selected by the in the borrower list. 5-Mar-21 Ā© JK Balikuddembe - Requirements Engineering