You are on page 1of 3


1. What is requirement document?

A collection of requirements that describes what the propose system must do or
constraints in the system development. The requirement document should adequately
solves the customers problem whereby the whole document represents a negotiated
agreement among the stakeholders.

2. You are required by your senior software developer to prepare the requirement document.
Elaborate what should be present in the document.
The requirement document should include functional and non-functional requirements.
Functional requirements describes what the system should do. It includes what inputs
the system should accept, what outputs the system should produce, what data the
system should store that other systems might use, what computations the system should
perform and the timing and synchronization of the activities in the system.
Non-functional requirement usually explains the constraints of the system development.
The constraints exist in a form of quality, platform and process requirements. The
quality requirements specify constraints on the design to meet specified levels of
quality. The process requirements specify the project plan and development methods.
The platform requirements specify the environment and technology of the system.

3. Discover ambiguities or omissions in the following statement of requirements for part of a
ticket-issuing system:

Ambiguities and omissions include:
A. Can a customer buy several tickets for the same destination together or must they
be bought one at a time?
B. Can customers cancel a request if a mistake has been made?
C. How should the system respond if an invalid card is input?
An automated ticket-issuing system sells rail tickets. Users select
their destination and input a credit card and a personal identification
number. The rail ticket is issued and their credit card account
charged. When the user presses the start button, a menu display of
potential destinations is activated, along with a message to the user
to select a destination. Once a destination has been selected, users
are requested to input their credit card. Its validity is checked and
the user is then requested to input a personal identifier. When the
credit transaction has been validated, the ticket is issued.

D. What happens if customers try to put their card in before selecting a destination (as
they would in ATM machines)?
E. Must the user press the start button again if they wish to buy another ticket to a
different destination?
F. Should the system only sell tickets between the station where the machine is situated
and direct connections or should it include all possible destinations?

4. Write a set of non-functional requirements for the ticket-issuing system, setting out its
expected reliability and response time.
Possible non-functional requirements for the ticket issuing system include:
a. Between 0600 and 2300 in any one day, the total system down time should not
exceed 5 minutes.
b. Between 0600 and 2300 in any one day, the recovery time after a system failure
should not exceed 2 minutes.
c. Between 2300 and 0600 in any one day, the total system down time should not
exceed 20 minutes.
All these are availability requirements note that these vary according to the time of day.
Failures when most people are traveling are less acceptable than failures when there are
few customers.
d. After the customer presses a button on the machine, the display should be updated
within 0.5 seconds.
e. The ticket issuing time after credit card validation has been received should not
exceed 10 seconds.
f. When validating credit cards, the display should provide a status message for
customers indicating that activity is taking place.
This tells the customer that the potentially time consuming activity of validation is still in
progress and that the system has not simply failed.

5. Explain several techniques to gather information and analyze requirement.
A. Observation
Read documents and discuss with users
Follow users to learn and identify the flow of their work that is to be
automated; can also ask the user to explain why she/he did the job that way
B. Interviewing
Conduct series of interview
C. Brainstorming
Appoint an experienced moderator
Do the session
D. Prototyping
Paper prototype; draw pictures and/or figures to show sequence of the
system/system flow
Most common; mock-up system user interface, no need to perform
calculation. May also prototype a particular aspect of the system
E. Use case analysis
6. Your group of software developers is experiencing difficulties in the domain and requirement
analysis phase. What are the possible difficulties and how you can overcome it.
Lack of understanding of the domain or the real problem
Do domain analysis and prototyping
Requirements change rapidly
Perform incremental development, build flexibility into the design, do regular reviews
Attempting to do too much
Document the problem boundaries at an early stage, carefully estimate the time
It may be hard to reconcile conflicting sets of requirements
Brainstorming, JAD sessions, competing prototypes
It is hard to state requirements precisely
Break requirements down into simple sentences and review them carefully, look for
potential ambiguity, make early prototypes

6. Give examples of requirements to enhance quality in terms of these constraints:
A. Response time
After customer press Start button, display screen should response within 0.5
The AirAsia credit card verification stage will take less than 15 seconds
B. Throughput
The system can produce 20% microchip more than previous volume
C. Resource usage
Automated stock exchange will reduce 50% of the remisiers employment
D. Reliability
Down time within normal working hours shall not exceed 5 seconds in any one day
E. Availability
The development of OpenOffice may be utilized not only to Window-based but
also Linux-based platform
F. Recovery from failure
Recovery time after a system failure should not exceed 2 minutes
G. Allowances for maintainability
Software X allows annual version update inclusive of the product price
H. Allowances for reusability
Scilab enable user to create users own library