Professional Documents
Culture Documents
Requirements Engineering Process
Requirements Engineering Process
Requirements Engineering Process
ENGINEERING PROCESS
Requirements engineering provides the appropriate mechanism for understanding what
the customer wants, analyzing need, assessing feasibility, negotiating a reasonable solution,
specifying the solution unambiguously, validating the specification and managing the
requirements as they are transformed into an operational system.
Requirements
Feasibility Elicitation &
Study Analysis
Requirement
Specification
Feasibility Report System Models
Requiremen
User & System t Validation
Requirements
Requirement
Document
The Requirements Engineering process can described in five distinct steps:
1. Feasibility Studies
2. Requirements Elicitation
3. Requirements Analysis and Negotiation
4. Requirements Specification
5. Requirements Validation
6. Requirements Management
1. Feasibility Studies
The Requirements engineering process should start with a feasibility study. The input to
the feasibility study is an outline description of the system and how it will be used within an
organization.
a. Does the system contribute to the overall objectives of the organization.
b. Can the system be implemented using current technology and within given cost and
schedule constraints
c. Can the system be integrated with other systems which are already in place?
If a system does not support these objectives, it has no real value to the business.
Carrying out a feasibility study involves.
a. Information Assessment
b. Information Collection
c. Report Writing
Information Assessment
This phase identifies the information which is required to answer the three questions set
out above. Once the information have been identified, the information sources has to be
questioned to answer the following:
a. How would the organization scope if this system was not implemented.
b. what are the problems with current process and how would a new system help
alleviate (improve) these problems?
c. What direct contribution will the system make to the business objectives?
d. Can information be transferred to and from other organizational systems?
e. Does the system require technology which has not previously been used in the
organization?
f. What must be supported by the system and what need not be supported?
Requirements Elicitation
Problems making requirements elicitation difficult:
a. Problem of scope (Unnecessary technical details)
b. Problem of understanding (Poor Understanding)
c. Problems of Volatility (Change over time)
d. Problems of political factors (any influence of political)
e. Domain Understanding (To Understanding the specialized area)
f. Requirements Collection (System to discover their requirements)
g. Classification (Prober organization)
h. Conflict Resolution (To resolve the two same user requirements)
i. Prioritization (Important requirement to solve first priority)
j. Requirements Checking (Validate the user Requirements)
k. Requirements Specification (Written documents, Graphical model, and
formal mathematical model)
l. Requirements Documents ( To prepare the SRS document)
Guidelines for Requirements Elicitation
a. Assess the business and technical feasibility for the proposed system.
b. Identify the people who will help specify requirements and understand the organizational
bias.
c. Identify domain constraints
d. Define technical environment (Eg. Computing architecture, OS, Telecommunication.
e. Define one or more requirement elicitation methods such as interviews, focus groups and
team meetings.
f. Identify ambiguous requirements as candidates for prototyping.
g. Identify key requirements.
Requirements Specification
a. Requirements Specification means different things to different people.
b. A Specification can be a written document, a graphical model, a formal mathematical
model, a collection of usage scenarios; a prototype, or any combination of these.
c. The System Specification is the final work product produced by the system and
requirements engineer. It server as the foundation for hardware engineering, software
engineering, database engineering and human engineering.
d. The System Specification also describes the information that is input to and output from
the system.
Requirements Validation
a. Requirements validation is the process of determining than the specification is consistent
with the requirements definition.
b. Requirements validation examines to ensure that all system requirements have been
stated unambiguously, that inconsistences, omissions and errors have been detected and
corrected and the work products conform to the standards established for the process and
the product.
c. During the requirements validation process, different types of checks should be carried
our on the requirements in the requirement document. These checks include:
i. Validity Checks (Inevitable a compromise across the user community)
ii. Consistency Checks (Different description of the same system function)
iii. Completeness Checks (Define all functions and constraints intended by
the system user)
iv. Realism (Practically) Checks (Requirements should be checked to ensure
that they can actually be implemented)
v. Verifiability (The System requirements should always be written so that
they are verifiable.
Requirements Validation Techniques
Technologies Description
Interviews
Scenarios
Mathematical proofs
Prototypes
Requirements Management
a. Requirements management is a set of activities that help the project team to identify,
control and track requirements and changes to requirements at any time to the project
proceeds.
b. Each requirement is assigned a unique identifier that might take the form:
<requirement type> <requirement #>
Requirement type may be
F - Functional Requirement D – Data Requirement
B – Behavioral Requirement I – Interface Requirement
P – Output Requirement
Requirement Classes
a. Enduring Requirements (Stable Requirements)
b. Volatile Requirements (Change during the System development)
Mutable Requirement (Changes to the environment)
Emergent Requirement (Customer understanding of the system develops)
Consequential Requirement ( Change the organizations process)
Compatibility Requirements (Business processes within an organization)
Requirements Management Planning
a. Requirements Identification (Uniquely Identified)
b. Change Management Process (Assesses the impact and cost of changes)
c. Traceability Policies (Overall property of a requirements specification)
i. Source traceability information (Links the requirements to the customers or
Stockholder who proposed the requirements)
ii. Requirement Traceability information (links dependent requirements written
the requirement document)
iii. Design Traceability information (links the requirement to the design modules
where these requirements are implemented)
d. Case Tool Support (Requirement management involves the processing of large amounts
of information about the requirements (eg.) spread sheets and database.)
i. Requirement Storage (Requirements should be maintained in a secure,
managed data store)
ii. Change Management (Requirements change management should be applied to
all proposed changes to the requirement.
e. Problem analysis and change specification
i. Change analysis and costing (The effect of the proposal change is assessed
using traceability information)
ii. Change Implementation (The requirement document the system design and
implementation is modified)
System
Use the requirements to help understand the system
Maintenance
and the relationship between its parts
Engineers
Characteristics of an SRS
A good SRS should be
1. Correct - If every requirement represents something required in
the final system.
2. Complete - Ensures everything (ie) every requirement is indeed
specified.
3. Unambiguous - Every requirement stated how one any only
interpretation
4. Verifiable - If an only if every stated requirement verifiable.
5. Consistent - No Requirement conflicts with another
6. Ranked for importance and / or stability
7. Modifiable - SRS is well structure so easily change the requirement.
8. Traceable - All requirements are clear and facilitates referencing of
other in future development
Components of an SRS
The basic issues all SRS must address are
1. Functionality
2. Performance
3. Design constraints imposed on an implementation
4. External Interface
Specification Languages
Notations Description
Standard English Natural languages are widely used for specifying requirements but
sometimes it may be imprecise and ambiguous.
Regular Expression Used to specify the structure of symbol strings formally. Used in
compiler construction for recognition of symbols and tokens.
Content Descriptions
Over specification Over specification restricts the solution space for the designer.
P3
P4
• A marking of a Petri net is an assignment of tokens to that Petri net.
P2
.. t2
P1
t1
. P3
. P4
• Four tokens: one in P1, two in P2, none in P3, and one in P4
Represented by the vector (1,2,0,1)
A transition is enabled if each of its input places has as many tokens in it as there are arcs
from the place to that transition.
• Transition t1 is enabled (ready to fire)
If t1 fires one token is removed from P2, and one from P4, and one new token is places in
P1
Transition t2 is also enabled
• Important
The number of tokens in not conserved
• Petri nets are indeterminate
Suppose t1 fires
The resulting marking is (2,1,0,0)
P2
. t2
P1
t1
..
P3
P4
P4
First constraint
1. Each elevator has a set of m buttons, one for each floor. These illuminate where pressed and
cause the elevator to visit the corresponding floor. The illumination is canceled when the
corresponding floor is visited by an elevator.
The elevator button for floor f is represented by place EBf, 1<= f <= m
A token in EBf denotes that the elevator button for floor f is illuminated
A button must be illuminated the first time the button is pressed and subsequent button
presses must be ignored
• If button EBf is not illuminated, no token is in place and transition EBf pressed is enabled.
The transition fires, a new token is placed in EB
Elevator in action
EBf pressed EBf Ff
.
Fg
.
• Now, no matter how many times the button is pressed, transition EBf pressed cannot be
enabled
• Wen the elevator reaches floor g
A token is in place Fg
Transition Elevator in action is enabed, and then fires
• The tokens in EBf and Fg are removed
This turns off the light in button Ebf
• A new token appears in F
This brings the elevator from floor g to floor f
• Motion from floor g to floor f cannot take place instantaneously
We need timed petri nets
Second constraints
2. Each floor, except the first and the top floor, has two button, one to request an up elevator, one
to request a down elevator, These buttons illuminate when pressed . The illumination is canceled
when the elevator visits the floor, and then moves in desired direction.
• Floor button are represented by places FBuf and FBdf
• The Petri net in the previous slide models the situation when an elevator reaches floor Fj from
floor Fg with one or both buttons illuminated.
• If both buttons are illuminated, only on e turned off.
• A more complex model is needed to ensure that the correct light is turned off.
Elevator in action
EBf pressed EBuf Ff
. Fg
.
Elevator in action
Third Constraints
3. If an elevator has no requests, it remains at its current floor with its doors closed.
• If there are not requests, no Elevator in action transition is enabled.
• Petri nets can also be used for design
• Petri nets posses the expressive power necessary for specifying synchronization aspects of real
– time system.
Data Dictionary
The data dictionary is an organized testing of all data elements that are relevant to the
system so that both the user and system analyst will have a common understanding inputs,
outputs, components of stores and intermediate calculations. It is proposed as quasiformat
grammar during structured analysis and may contain the following information:
A data Dictionary is simplistically an alphabetic list of names which are included in
different models of the system.
Field Name Description
Name Name of the data item.
Aliases Other name of the data item.
Description / Purpose A notation for representing its goal or context.
Related data item Relevant data item.
Range of value Value between the item.
Data Structure Definition Form of the data item
Where used / How used Input to the process, output from the process, as a store and
external entity
Supplementary information Data types, preset values, restrictions or limitations.
Example
Field Name Description
Name Telephone_Number
Aliases Phone_Number, Mobile_Number
Description / Purpose First 2 digit indicates Country Code, Next 4 digits represents
district code, Last 6 digit indicates your number, etc.
Where used / How used Address / Visiting Card / Display / read the
Telephone_Number
Format Numeric / Min 6 digit / max 10 digit / Starts with +, etc..