Unit 3
Unit 3
UNIT-3
REQUIREMENT ANALYSIS & SPECIFICATIONS
3.0 UNDERSTAND THE CONCEPTS IN REQUIREMENT ANALYSIS & SPECIFICATIONS
1. Ambiguity:
3
An anomaly is an ambiguity in the requirement.
When a requirement is ambiguous, several interpretations of those requirements are possible.
Ambiguity in the requirements can be lead to develop of incorrect system.
Example: When the becomes high, the heater should be switched off. The word high may be interpreted.
2. Inconsistency:
Two requirements are said to be inconsistent, if one of the requirements contradicts the other.
The two end users of the system give inconsistent description of the requirements.
3. Incompleteness:
An incomplete set of requirements is one in which some requirements have overlooked.
The lack of these features would be realized by the customer much later, possible while using the
product.
Functional Requirements:
The functional requirements discuss the functionalities required by the users from the system.
It is useful to consider a system as performing a set of functions{fi}
These functions can be considered similar to a mathematical function f:i->0.it means that a function
transforms an element(ii)in the input domain(I) to output(o)
Each function (fi) of system can reading data (ii) and transformed to output data (oi).
The functional requirements of the system should clearly describe the each function which system would
support the input and output dataset.
Non-Functional Requirements:
4
The non-functional requirements deal with the characteristics of a system that cannot be expressed as
functions.
Non-functional requirements deal with the characteristics of a system that cannot be expressed as
functions.
Non-functional requirements address aspects contain maintainability, portability, usability, no-of users
timing and throughput etc.
It may also include reliability issues, HCI issues implementation.
IEE 870 standard lists four types of non-functional requirements
o External interface requirements.
o Performance requirements.
o Constraints.
o Software system attributes.
Goals of Implementation:
The goals of implementation part of the SRS document offers some general suggestions regarding
development.
The developers may take these suggestions in to account if possible.
A goal is not checked by the customer at the time of acceptance testing.
The goals of implementation section might document issues such as revisions to the system functionalities
that may be required in the future.
FIG: Interactions Between the users and the system in the withdraw-cash high-level functional requirement.
3.2.3 HOW TO IDENTIFY THE FUNCTIONAL REQUIREMENTS
The high-level functional requirements often need to be identify either from an informal problem
description document or from a conceptual understanding of the problem.
Remember that there can be many types of users of a system and their requirements from the system may
be very different.
So it is often useful to first identify the different types of users who might use the system and then try to
identify the different services expected from the software by different types of users.
Example: Consider the issue invokes-book function in a library automation system. Suppose when a user
invokes the issue-book function, the system would required the user to enter the details of each book to be
issued. Should the entry of the book details be considered as a high-level function?
TRACEABILITY:
1. Traceability means that it would be possible to tell which design component to which design component, and
which test case corresponds to which requirement etc.
2. Thus, a given code component can be traced to the corresponding design component, and a design
component can be traced to a specific requirement that it implements and vice versa.
3. Traceability analysis makes it easy to identify which parts of the design and code would be affected.
4. It can also used to study the impact of a bug on various requirements
5. To achieve traceability it is necessary that each functional requirement should be numbered uniquely and
consistently.
6. Proper numbering of the requirements makes it possible for different documents to uniquely refer to
specific requirements.