0% found this document useful (0 votes)
7 views62 pages

Requirements Elicitation Overview

The main actors are: - User: The person who wears the watch - Satellite: The external system that provides time signals Requirement Elicitation Cont... 21  Identifying scenarios  Scenarios describe typical interactions between actors and the system.  For SatWatch, example scenarios are: - User wears watch and watch automatically resets itself to correct time - Satellite signal is blocked and watch switches to backup timekeeping mode  Identifying use cases  Use cases represent complete functionality provided by the system.  For SatWatch, example use cases are: - Reset watch automatically - Switch

Uploaded by

BEKAN FAYERA
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)
7 views62 pages

Requirements Elicitation Overview

The main actors are: - User: The person who wears the watch - Satellite: The external system that provides time signals Requirement Elicitation Cont... 21  Identifying scenarios  Scenarios describe typical interactions between actors and the system.  For SatWatch, example scenarios are: - User wears watch and watch automatically resets itself to correct time - Satellite signal is blocked and watch switches to backup timekeeping mode  Identifying use cases  Use cases represent complete functionality provided by the system.  For SatWatch, example use cases are: - Reset watch automatically - Switch

Uploaded by

BEKAN FAYERA
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

Chapter-Three

Requirements Elicitation

Requirement Elicitation
Outlines
2

 Requirement elicitation

 Requirement validations

 Types of requirements

 Functional requirement
 Non-functional requirement

 Analysis concepts, activities and models

 Identifying actors, scenarios, use cases,


 Refining use-cases, identify relationship between actors and use-
cases
Requirement Elicitation
Introduction
3

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: is the process of identifying stakeholders

and their needs, modeling and documenting them.


Requirements engineering includes two main activities:-

 Requirements elicitation: is the process of discovering


specification of the system that the client understands
 Requirement Analysis: which results into an analysis model that the
developers can unambiguously interpret the requirement.
Requirement Elicitation
Introduction
4

What is Requirements elicitation ?


A Sometimes called Requirements discovery.

It certainly seems simple enough to ask the customer, the users, and others

 What the objectives for the system or product are


 What is to be accomplished
 How the system or product fits into the needs of
the business and
 how the system or product is to be used on
a day-to-day basis.

Requirement Elicitation
Requirements elicitation
5

 Requirements elicitation: focuses on describing the purpose of the system.

 The client, the developers, and the users identify a problem area and define

a system that addresses the problem.


 Such a definition is called a system specification and serves as a contract

between the client and the developers.


 The system specification is structured and formalized during analysis to

produce an analysis model.


 Both system specification and analysis model represent the same

information.

Requirement Elicitation
Cont…
6

 They differ only in the language and notation they use.

 The system specification is written in natural language, where as the analysis

model is usually expressed in a formal or semiformal notation.


 The analysis model supports the communication among developers.

 Requirements elicitation and analysis focus only on the user’s view of the

system:-
 The system functionality.
 The interaction between the user and the system.
 The errors that the system can detect and handle.
Requirement Elicitation
Cont…
7

 Developers elicit requirements by:

 Interviewing
 Questioner
 Observation
 Document analysis - organizational charts, process models, standards, and user
manuals, etc
 Developers first represent the user’s current work processes as scenarios.

 and then develop visionary scenarios describing the functionality provided by

the system.
 Requirements are continuously validated with the client and the user.
Requirement Elicitation
Requirement validation
8

 Validation is a critical step in the development process given

both the client and developer depend on the requirements


specification.
 Requirement validation involves checking if the specification

is correct, complete, consistent, unambiguous, and realistic.


 Correctness: A specification is correct if it represents

client’s view of the system.

 Clarity: there are no ambiguities in the requirements.

Requirement Elicitation
Cont…
9

 Consistency: the system specification is consistent if it does not

contradict itself.
 Completeness: all possible scenarios through the system are described,

including exceptional behavior by the user or the system.


 It is complete if all the possible scenarios through the system are
described, including exceptional behavior.
 Verifiable: The SRS is verifiable if once the system is built, repeatable

tests can be designed to demonstrate that system fulfills the requirements


specification.
Requirement Elicitation
Cont…
10

 Realism: requirements can be implemented and delivered.

 unambiguous: The SRS is unambiguous if exactly one system is defined [ i.e.., it

is not possible to interpret the specification two or more different ways.]

 Traceability: Each system function can be traced to a corresponding set of

functional requirements.

 Traceability enables the tester to access the coverage of the test case, to

identify which requirements are tested and which are not.

Requirement Elicitation
Requirements Engineering Models
11

 As the definition of the system matures and stabilizes,

developers and the client agree on a system specification in


the form of use cases.
 Depending on the source of the requirements, requirements

elicitation activities can be classified into three:


 Greenfield engineering - the development starts from scratch,

no prior system exists.

Requirement Elicitation
Cont…
12

Greenfield Engineering - the development

starts from scratch, no prior system exists.


 Development starts from scratch

 No prior system exists

 Requirements come from end users and clients

 Triggered by user needs

Requirement Elicitation
Cont…
13

 Reengineering: is the redesign and reimplementation of an

existing system newer technology triggered by technology


enabler.
 (The requirements of the new system are extracted from an existing

system).

 Interface engineering: is the redesign of the user interface of

an existing system.

 Provision of existing services in a new environment

 Triggered by technology enabler or new market needs


Requirement Elicitation
Cont…
14

 Define requirements from different point of views, be sure

to identify the rational for each requirements that is recorded


 Identify ambiguous requirements

 Create user scenarios to help customers/users to identify key

requirements
 Identify the customers, users or other stockholders who

participate in the system

Requirement Elicitation
Cont…
15
 Requirements elicitation includes the following activities:-

 Identifying actors- During this activity, developers identify the


different types of users the future system will support.
 Identifying scenarios- developers observe users and develop a set
of detailed scenarios for typical functionality provided by the future
system.
 Identifying use cases- Once developers and users agree on a set of
scenarios, developers derive from the scenarios a set of use cases
that completely represent the future system.
Requirement Elicitation
Cont…
16

Refining use cases- developers ensure that the system specification is

complete, by detailing each use case and describing the behaviour of


the system in the presence of errors and exceptional conditions.
Identifying relationships among use cases- developers consolidate

the use case model by eliminating redundancies. This ensures that the
system specification is consistent.
Identifying non-functional requirements- developers, users, and

clients agree on aspects that are visible to the user but not directly
related to functionality.
Requirement Elicitation
Type of Requirements
17
Functional requirements: describe the interactions
between the system and its environment.
The environment includes the user and any other
external system that interact with the system.
Example: the following is an example of functional
requirements for SatWatch, a watch that resets itself
without user intervention.

Requirement Elicitation
Cont…
18
Non-functional requirements: user visible aspects of
the system not directly related to functional behavior. It
includes quantitative constrains such as response time,
accuracy etc.
 The response time must be less than 1 second

 The accuracy must be within a second


 The system should be available 24 hours of a day

 Example of non-functional requirements for


SatWatch is:
 The battery life of SatWatch is limited to 5 years.

Requirement Elicitation
Requirements elicitation activities
19
 Requirements elicitation activities include:-
Identifying actors
Identifying scenarios
Identifying use cases
Identifying relationships among use cases
Identifying participating objects
Identifying non-functional requirements

Requirement Elicitation
Cont…
20

 Identifying actors
 Actors represent external entities that interact

with the system.


 An actor can be human or an external system.

 In the SatWatch example;


 The watch owner
 The GPS satellites , and
 The Wi-Fi watch serial device are actors.

Requirement Elicitation
Cont…
21
 How do we find an actor?
 Ask the following questions
Who uses the system?
Who installs the system?
Who Starts up the system?
What other systems use this system?
Who gets the information from the system?
Who provides information to the system?
 Note: Actor is always external to the system. They are
never part of the system to be developed.
UML
Cont…
22

 Identifying scenarios

A scenario is a concrete, focused, informal description of


a single feature of the system from the viewpoint of a
single actor.
 Example of scenario for the Distributed information
system for incident response.
 In this scenario, a police officer reports a fire and a
Dispatcher initiates the incident response.
Requirement Elicitation
Cont…
23
 Scenarios can have many different uses during
requirements elicitation and during other activities of
the life cycle.
 Below is a selected number of scenario types:
1. As-is scenarios describe the current situation.
2. Visionary scenarios describe the future system.
3. Evaluation scenarios describe user tasks against
which the system is to be evaluated.
4. Training scenarios are tutorials used for introducing
new users to the system.
Requirement Elicitation
Cont…
24

 Questions for identifying scenarios


What are the tasks that the actor wants the system to
perform?
What information does the actor access?
Who creates that data? Can it be modified or
removed? By whom?
Which external changes does the actor need to inform
the system about? How often? When?
Which events does the actor need to be informed by
the system about? With what latency?
Requirement Elicitation
Cont…
25

 Identifying use cases


 A scenario is an instance of a use case, that is, a use

case specifies all possible scenarios for a given piece of


functionality.
 A use case is initiated by an actor.

 After its initiation, a use case may interact with other

actors as well.

Requirement Elicitation
Cont…
26

 How do we find use cases?


 Ask following questions.
What are the functions that the actor want
from the system?
Does the system store information?
Who will create, read, update or delete that
information.
Does the system need to notify an actor about
changes in its internal states?
UML
Cont…
27
 Identifying relationships among actors and use cases
 Relationships among actors and use cases enable the
developers and users:-
To reduce the complexity of the model
To increase its understand ability.
 We use communication relationships between actors and
use cases to describe the system in layers of functionality.
 We use extend relationships to separate exceptional and
common flows of events.
 We use include relationships to reduce redundancy among
use cases.
Requirement Elicitation
Cont…
28
 Include relationships between use cases
 Redundancies among use cases can be factored out using
include relationships.

 Fig 5: Example of include relationships among use cases.


Requirement Elicitation
Cont…
29
 Identifying non-functional requirements

 Non-functional requirements describe user-visible aspects of the system that are


not directly related to the functional behaviour of the system.
 Non-functional requirements can be elicited by investigating the following
issues:
 User interface and human factors: what kind of interface should the system
provide?
 Hardware considerations: are there hardware compatibility requirements?
• Will the system interact with other hardware systems?

Requirement Elicitation
Cont…
30

 System modifications: What is the anticipated scope of future changes?


 Who will perform the changes?
 Performance characteristics: How responsive should the system be?
 How many concurrent users should it support?
 Error handling and extreme conditions: How should the system handle
exceptions?
 Quality issues: How reliable /available /robust should the system be?
 Security issues: Should the system be protected against external intrusions or
against malicious users?
Requirement Elicitation
31

Object oriented system analysis

Object-Oriented System Analysis


Introduction
32

 Requirement Analysis: which results into an analysis model that the

developers can unambiguously interpret the requirement.


 The client, the developers, and the users identify a problem area and define a

system that addresses the problem.


 Such a definition is called a system specification and serves as a contract

between the client and the developers.


 The system specification is structured and formalized during analysis to

produce an analysis model.


 Both system specification and analysis model represent the same information.

Object-Oriented System Analysis


Cont…
33

 They differ only in the language and notation they use.

 The system specification is written in natural language, where as the analysis

model is usually expressed in a formal or semiformal notation.


 The system specification supports the communication with the client and users.

 The analysis model supports the communication among developers.

 Requirements elicitation and analysis focus only on the user’s view of the system:-

 The system functionality.


 The interaction between the user and the system.
 The errors that the system can detect and handle.

Object-Oriented System Analysis


An Overview of Analysis
34

 OO Analysis focuses on producing a model of the

system, called the analysis model, which is


correct, complete, consistent, and verifiable.
 Developers focus on structuring and formalizing the

requirements elicited from users


 In object-oriented analysis, developers build a model

describing the application domain.

Object-Oriented System Analysis


An Overview of Analysis
35

Products of requirements elicitation and analysis (UML activity diagram).


Object-Oriented System Analysis
An Overview of Analysis
36
Analysis class: the first step towards executables

Object-Oriented System Analysis


Analysis Model
37

 The analysis model is composed of three individual models:

 The functional model- represented by use cases and


scenarios.
 The analysis object model- represented by class and
object diagrams.
 The dynamic model- represented by state chart, activity
diagram and sequence diagrams.

Object-Oriented System Analysis


Analysis Model
38

Analysis model

Object-Oriented System Analysis


Analysis Concepts
39

 The analysis object model - consists of three basic objects.


 Entity objects: Represent the persistent information tracked by
the system.
 The main responsibilities of entity classes are to store and
manage information in the system.
 Boundary objects: represent the interactions between the actors
and the system.
 Control objects: represent the tasks that are performed by the
user and supported by the system.
 The interface to the system (represented by boundary objects)
is more likely to change than its basic functionality
(represented by the entity and control objects).
Object-Oriented System Analysis
Analysis Concepts
40

Object-Oriented System Analysis


Analysis Concepts
41

Object-Oriented System Analysis


Analysis Concepts
42

Role of boundary class

Object-Oriented System Analysis


Analysis Concepts
43

Object-Oriented System Analysis


Analysis Concepts
44

Object-Oriented System Analysis


Analysis activities
45

 From Use Cases to Objects, Analysis activities


include:-
 Identifying entity ,boundary and control objects

 Mapping use cases to objects

 Identifying associations among objects

 Identifying object attributes

 Modelling object’s behaviour with state charts

 Modelling generalization relationships

Object-Oriented System Analysis


Analysis activities
46

Object-Oriented System Analysis


Analysis activities
47

Example

Object-Oriented System Analysis


Identifying Entity Objects
48

Heuristics for identifying entity objects


 Developers or users need entity objects to clarify in order to understand the use
case
 Recurring nouns in the use cases (e.g., Incident)
 Real-world entities that the system needs to keep track of (e.g., FieldOfficer,
Dispatcher, Resource)
 Real-world activities that the system needs to keep track of (e.g.,
EmergencyOperationsPlan)
 Use cases (e.g., ReportEmergency)
 Data sources or sinks (e.g., Printer)
Object-Oriented System Analysis
Identifying Boundary Objects
49

 Boundary objects represent the system interface with the actors.


 The boundary object collects the information from the actor and
translates it into an interface that can be used by the entity
objects and also by the control objects.
 Identify forms and windows that helps the users to enter data into
the system (e.g.,EmergencyReportForm).
 Identify notices and messages that the system uses to respond to
the user (e.g., AcknowledgmentNotice).
Object-Oriented System Analysis
Identifying Control Objects
50

 Control objects are responsible for coordinating boundary and entity objects.
 It is responsible for collecting information from the boundary objects and dispatching it to

entity objects.
 The control objects describe the behaviour associated with:
 The sequencing of forms

 Dispatching information in a distributed system, etc.


 Example: the control flow of the ReportEmergency use case with a control object for each

actor;
 ReportEmergencyControl: for the FieldOfficer and
 ManageEmergencyControl: for the Dispatcher
Object-Oriented System Analysis
Modelling Interactions Between Objects
51

 Sequence Diagrams

 A sequence diagram allow developers to represent interactions among objects over time.
 It shows how the behaviour of a use case (or scenario) is distributed among its participating objects.
 It model the sequence of interactions among objects needed to realize the use case.
 The columns of a sequence diagram represent the objects that participate in the use case.
 The leftmost column is the actor who initiates the use case.
 Horizontal arrows across columns represent messages, or stimuli, which are sent from one object
to the other.
 Time proceeds vertically from top to bottom.

Object-Oriented System Analysis


Modelling Interactions Between Objects
52

 By constructing sequence diagrams

 We can model the order of the interaction among the objects.


 We also distribute the behaviour of the use case.
 Assign to each object responsibilities in the form of a set of
operations.
 Sequence diagrams are used to help identify:-

 New participating objects and


 Missing behaviour.
Object-Oriented System Analysis
Modelling Interactions Between Objects
53

 Example of sequence diagram

Object-Oriented System Analysis


Identifying Associations
54

 Sequence diagrams -allow developers to represent interactions


among objects over time.
 Class diagrams- allow developers to describe the connectivity
of objects.
 In this section, we discuss the use of class diagrams for
representing object attributes and associations among objects.
 An association shows a relationship between two or more
classes.
Object-Oriented System Analysis
Identifying Associations
55

Identifying Attributes
 Attributes are properties of individual objects.
 When identifying properties of objects, only the
attributes relevant to the system should be considered.

Object-Oriented System Analysis


Modelling the Behaviour of Individual Objects
56
 Sequence diagrams are used to distribute behaviour across objects and
to identify operations.
 It represent the behaviour of the system from the perspective of a
single use case.
 State chart diagrams: represent behaviour from the perspective of a
single object.
 Viewing behaviour from the perspective of each object enables the
developer:-
 To identify missing use cases
 To build a more-formal description of the behaviour of the
object.
Object-Oriented System Analysis
Modelling the Behaviour of Individual Objects
57
 The following Figure displays a statechart for the Incident class.

 The examination of this state chart may help the developer check
if there are use cases for documenting, closing, and archiving
Incidents.

Object-Oriented System Analysis


Modelling Generalization Relationships Between
Objects
58

An example of inheritance relationship (UML class diagram).

Object-Oriented System Analysis


Modelling Generalization Relationships Between
Objects
59

Analysis activities (UML activities diagram).


Object-Oriented System Analysis
Cont…
60

End
Object-Oriented System Analysis
Quiz(10%)
61

1. ________is responsible for collecting information from the boundary objects and
dispatching it to entity objects.
2. List and describe the individual models components analysis model?
3. List and describe the objects of analysis object model briefly ?
4. List at least four Object-Oriented system Analysis activities From Use Cases to
Objects?
5. Requirements elicitation and analysis focus only on the user’s view of the
system in term of
i. ____
ii. _____
iii. _____
Object-Oriented System Analysis
Cont…
62

End!
Requirement Elicitation

You might also like