0% found this document useful (0 votes)
15 views

#Lecture 3 Requirement Elicitation

software engineering

Uploaded by

mamushe710
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

#Lecture 3 Requirement Elicitation

software engineering

Uploaded by

mamushe710
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 84

Software Engineering

Mattu University
Engineering and Technology College
Department of Computer Science

Software
Engineering

Target Dept.:- Computer Science 3rd year Regular


Lecture Three

Requirements Elicitation

Engineering and Technology College Mattu University


Diriba G. (Department of Computer Science)

Outline

3.1. An overview of requirements elicitation.


3.2. Requirements elicitation concepts
3.2.1. Functional requirements
3.2.2. Non-functional and pseudo requirements
3.2.3. Levels of description
3.2.4. Correctness, completeness, consistency, clarity, and realism
3.2.5. Verifiability and traceability
3.3. Requirements elicitation activities.
3.3.1. Identifying actors
3.3.2. Identifying scenarios
3.3.3. Identifying use cases
3.3.4. Refining use cases
3.3.5. Identifying relationships among actors and use cases
3.3.6. Identifying initial analysis objects
3.3.7. Identifying non-functional requirements
3.4. Managing requirements elicitation
3.4.1. Eliciting information from users:
3.4.2. Validating requirements: Usability testing
3.4.3. Documenting requirements elicitation
Engineering and Technology College Mattu University
Requirement Engineering
 A requirement is a feature that the system must have

or a constraint that it must satisfy to be accepted by


the client.
 Requirements engineering aims at defining the
requirements of the system under construction.
 Requirements engineering includes two main
activities;
 requirements elicitation, which results in the specification
of the system that the client understands, and
 analysis, which results into an analysis model that the
developers can unambiguously interpret.
Requirement Engineering …
 The process of establishing the services that the

customer requires from a system and the constraints


under which it operates and is developed.
 The requirements themselves are the descriptions of

the system services and constraints that are generated


during the requirements engineering process.
 Requirements elicitation is about communication
among developers, clients, and users for defining a new
system.
Requirement Engineering …

Software requirements may be:


 Abstract statements of services
 Detailed mathematical functions
 Part of the bid of contract
 The contract itself
 Part of the technical document, which describes a
product
Requirement Engineering …

Figure 3-1 Products of requirements elicitation and analysis (UML activity


diagram).
Types of Requirement
 User requirements
 Statements in natural language plus diagrams of the services the
system provides and its operational constraints.
 Written for customers.

 System requirements
 A structured document setting out detailed descriptions of the
system’s functions, services and operational constraints.
 Defines what should be implemented so may be part of a
contract between client and contractor.
Cont’d…

1. User requirements
Cont’d…

Problems with natural language


Cont’d…

Guidelines for writing requirement


Cont’d…

2. System requirement

Requirements and Design


Cont’d…
Problems with Natural Language Specification
Cont’d…
Alternative to NL Specification
Cont’d…
Form Based Specification
Cont’d…
Form Based Specification …
Cont’d…
Tabular Specification
Cont’d…
Graphical Models
Cont’d…
Graphical Models … example
Requirements Readers
Cont’d…
 What Requirements should be
gathered?
 Functional: What the product should do.
 Data requirements: Capture the type, volatility,
size/amount, persistence, accuracy and the amounts of the
required data.
 Environmental requirements: a) context of use b) Social
environment (eg. Collaboration and coordination) c) how
good is user support likely to be d) what technologies will it
run on
 User Requirements: Capture the characteristics of the
Cont’d…
 Requirements gathering techniques
 Questionnaires: Series of questions designed to elicit
specific information from us. The questions may require
different kinds of answers: some require a simple Yes/No,
others ask us to choose from a set of pre-supplied answers.
 Interviews: Interviews involve asking someone a set of
questions. Often interviews are face-to-face, but they don’t
have to be.
 Focus groups and workshops: Interviews tend to be one on
one, and elicit only one person’s perspective. It can be very
revealing to get a group of stakeholders together to discuss
issues and requirements.
Cont’d…
 Source of Requirement
 Stakeholders
 People affected in some way by the system
 Documents
 Existing system
 Application Domain
Cont’d…

System Stakeholders
 Any person or organization who is affected by the
system in some way and so who has a legitimate
interest
 Stakeholder types
 End users
 System managers
 System owners
 External stakeholders
Cont’d…
Cont’d…
Example: Stakeholders in the Mentcare system
 Patients whose information is recorded in the
system.
 Doctors who are responsible for assessing and
treating patients.
 Nurses who coordinate the consultations with
doctors
 Medical receptionists who manage patients’
appointments.
 IT staff who are responsible for installing and
3.2. Requirements elicitation concept

 functional requirements (Section 3.2.1)


 non-functional and pseudo requirements
(Section 3.2.2)
 levels of descriptions (Section 3.2.3)
 correctness, completeness, consistency,
clarity, and realism (Section 3.2.4)
 verifiability and traceability (Section 3.2.5)
 greenfield engineering, reengineering, and
interface engineering (Section 3.2.6)
3.2.1. Functional requirements

 Statements of services the system should provide,


 how the system should react to particular inputs and
 how the system should behave in particular
situations.
 It describe functionality of the system.
 Depend on the type of software, expected users
and the type of system where the software is
used.
 Functional user requirements may be high-level
statements of what the system should do
Cont’d…

 Examples of functional requirements


(ex1)
 The user shall be able to search either all of the
initial set of databases or select a subset from it.
 The system shall provide appropriate viewers
for the user to read documents in the document
store.
 Every order shall be allocated a unique
identifier (ORDER_ID) which the user shall be
Cont’d…
 Example 2, the following is an example of functional
requirements for SatWatch, a watch that resets itself without
user intervention:

 The above functional requirements only focus on the possible


interactions between SatWatch and its external world
Cont’d…

Example 3:

online banking system

 Its functional requirements are:

 The user should able to search. (the system must provide search functionality(i/o
functionality))
 The user should able to delete, update, ...etc.
 The system provide appropriate reading documents:(help functionality)
 Provide unique acknowledgement. (positive response from the system)
 Information must be stored in the database and also enable the user to retrieve back.
(storage functionality)
Cont’d…
In principle, requirements should be both
complete and consistent.

 Complete: They should include descriptions of all


facilities required.
 Consistent: There should be no conflicts or

contradictions in the descriptions of the system


facilities.

 In practice, it is impossible to produce a complete


and consistent requirements document.
3.2.2. Non – functional and pseudo requirements

Non-functional requirements

 These define system properties and constraints:


 e.g. reliability,
 response time and
 storage requirements.

Constraints are I/O device capability, system representations,


etc.

 Non-functional requirements may be more critical


than functional requirements. If these are not met,
the system is useless.
Cont’d…
Non-functional requirements
 describe user-visible aspects of the system that are
not directly related with the functional behaviour of
the system.
 Non-functional requirements include quantitative constraints, such
as:
 response time (i.e., how fast the system reacts to user commands) or
 accuracy (i.e., how precise are the system’s numerical answers
 constraints on the services or functions offered by the system
such as:
 timing constraints,
 constraints on the development process,
 standards, etc.
Pseudo requirements
 are requirements imposed by the client that restrict the
implementation of the system.
 Typical pseudo requirements are the implementation language and

the platform on which the system is to be implemented.


Cont’d…
The following are the pseudo functional requirements
for SatWatch:
Cont’d…
Non-functional requirement classifications

 Product requirements
 Requirements which specify that the delivered product must

behave in a particular way


 e.g. execution speed, reliability, etc.

 Organisational requirements
 Requirements which are a consequence of organisational

policies and procedures


 e.g. process standards used, implementation requirements, etc.

 External requirements
 Requirements which arise from factors which are external to the

system and its development process


 e.g. interoperability requirements, legislative requirements, etc.
Cont’d…
Non-functional
requirements

Product Organisational External


requirements requirements requirements

Efficiency Reliability Portability Interoperability Ethical


requirements requirements requirements requirements requirements

Usability Delivery Implementation Standards Legislative


requirements requirements requirements requirements requirements

Performance Space Privacy Safety


requirements requirements requirements requirements
Cont’d…
Non-functional requirements examples

 Product requirement
 The user interface for LIBSYS shall be implemented
as simple HTML without frames or Java applets.

 Organisational requirement
 The system development process and deliverable
documents shall conform to the process and
deliverables defined in XYZCo-SP-STAN-95.

 External requirement
 The system shall not disclose any personal
information about customers apart from their name
and reference number to the operators of the system.
Cont’d…
Requirement Measures
Property Measure

Speed Processed transactions/second


User/Event response time
Screen refresh time
Size M Bytes
Number of ROM chips
Ease of use Training time
Number of help frames
Reliability Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness Time to restart after failure
Percentage of events causing failure
Probability of data corruption on failure
Portability Percentage of target dependent statements
Number of target systems
3.2.3. Levels of Description
 Requirements describe a system and its interaction with
the surrounding environment, such as the users, their
work processes, and other systems.
 Most requirements analysis methods have focused on
describing the system.

Figure 3-2. A System is a collection of real world Phenomena. A model is a collection


of concepts that represent the system’s phenomena. Many models can represent
different aspects of the same system. An unambiguous model corresponds to only one
system.
3.2.4. Correctness, completeness, consistency, clarity, and realism

 Requirements are continuously validated with the client and

the user.
 Validation is a critical step in the development process, given

that both the client and the developer are dependent on the
system specification.
 Requirement validation involves checking if the
specification is:
 correct,
 complete,
 consistent,
 unambiguous, and
 realistic.
Cont’d…
 A specification is correct if it represents the client’s view of the

system
 (i.e., everything in the requirements model accurately represents an aspect of
the system).

 It is complete if all possible scenarios through the system are

described, including exceptional behavior.


 (i.e., all aspects of the system are represented in the requirements model).
 The system specification is consistent if it does not contradict itself.

 The system specification is unambiguous if exactly one system is

defined
 (i.e., it is not possible to interpret the specification two or more different ways).

 it is realistic if the system can be implemented within constraints.


3.2.5. Verifiability and Traceability
Cont’d…
3.2.6. greenfield, reengineering and interface
engineering
3.3. Requirement elicitation activities
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
3.4. Managing Requirements Elicitations
Requirements Engineering Process
Cont’d…
Cont’d…
3.4.1. Requirements elicitation and analysis
Cont’d…
Cont’d…
Requirements elicitation and analysis process
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…
Cont’d…

Interviews in Practice
 Normally a mix of closed and open-ended

interviewing.
 Interviews are good for getting an overall
understanding of what stakeholders do and how they
might interact with the system.
Interviewers need to be open-minded without

pre-conceived ideas of what the system should


do
Cont’d…

Problems with Interview


3.4.2. Requirement Validation (usability testing)
Cont’d…
Cont’d…
3.4.3. Requirements Management
Worku.B. (Department of Computer Science)

End of Chapter Three

You might also like