ISD LECT 7and8upd (1)
ISD LECT 7and8upd (1)
SOFTWARE ENGINEERING
Daniyal Ahmed
THE REQUIREMENTS PROCESS
Functional requirement
Describes: interaction between the system and its environment, how should the
system behave given certain stimuli, required behaviour in terms of required
activities
Example: For a system of printing pay cheques the functional requirements must
answer the following:
When are pay cheques issued?
Both types of
What input is necessary for a pay cheque to be printed?
requirements
Quality requirement or non-functional requirement are elicited
Describes: some quality characteristic that the software must posses, a restriction on
the system that limits our choices from the customer
for constructing a solution in a
Constraints could be:
Design constraint: a design decisionformal,
such as choice of careful way.
platform or interface components
Process constraint: a restriction on the techniques or resources that can be used to build the
system
Example: queries to the system must be answered within 3 seconds
TYPES OF REQUIREMENTS
Testable/Measurable Requirement:
Objective description of the requirement’s meanings
All possible entities and activities can be examined and classified as
Meet Requirements and Do Not Meet Requirements
Testable requirements are helpful in making good design
Requirements that are not testable are likely to be ambiguous,
incomplete and incorrect
TESTABLE REQUIREMENTS
Some examples:
Not Testable: Water quality information must be accessible immediately
Testable: Water quality information must be retrieved within five
seconds of request
Not Testable: The system should handle a large number of users at a
time
Testable: The system should handle 5000 users at a time
Not Testable: User should press the Save button when writing text in
the system. This prevents it from being lost.
Testable: User should press the Save button when writing a note in the
system. Pressing the Save button prevents the text from being lost.
EXPRESSING REQUIREMENTS
An equivalent statechart for Publication class that does not make use
of state hierarchy or concurrency
comparatively messy and and repetitive
UML STATECHART DIAGRAM EXAMPLE