Requirement Analysis & Specification
Requirement Analysis & Specification
Complete
• SRS is complete when the requirements clearly define what the software is required to do.
• This includes all the requirements related to performance, design and functionality.
Ranked for importance/stability
• All requirements are not equally important, hence each requirement is identified to
make differences among other requirements.
• For this, it is essential to clearly identify each requirement. Stability implies the
probability of changes in the requirement in future.
Modifiable
• The requirements of the user can change, hence requirements document should be
created in such a manner that those changes can be modified easily, consistently
maintaining the structure and style of the SRS.
Traceable
• SRS is traceable when the source of each requirement is clear and facilitates the
reference of each requirement in future.
• For this, forward tracing and backward tracing are used.
• Forward tracing implies that each requirement should be traceable to design and code
elements.
• Backward tracing implies defining each requirement explicitly referencing its source.
Verifiable
• SRS is verifiable when the specified requirements can be verified with a cost-effective
process to check whether the final software meets those requirements.
• The requirements are verified with the help of reviews. Note that unambiguity is
essential for verifiability.
Consistent
• SRS is consistent when the subsets of individual requirements defined do not conflict
with each other.
• For example, there can be a case when different requirements can use different terms
to refer to the same object.
• There can be logical or temporal conflicts between the specified requirements and
some requirements whose logical or temporal characteristics are not satisfied.
• For instance, a requirement states that an event 'a' is to occur before another event 'b'.
But then another set of requirements states (directly or indirectly by transitivity) that
event 'b' should occur before event 'a'.
Example:
Functional Requirements for Hotel Management System
1. Reservation/Booking
1.1. The system shall record reservations.
1.2. The system shall record the customer’s first name.
1.3. The system shall record the customer’s last name.
1.4. The system shall record the number of occupants.
1.5. The system shall record the room number.
1.6. The system shall display the default room rate.
1.7. The system shall record the customer’s phone number.
1.8. The system shall display whether or not the room is guaranteed.
1.9. The system shall generate a unique confirmation number for each reservation.
1.10. The system shall record the expected check-in date and time.
1.11. The system shall record the expected checkout date and time.
1.12. The system shall check-in customers.
1.13. The system shall allow reservations to be modified without having to reenter
all the customer information.
1.14. The system shall checkout customers.
1.15. The system shall charge the customer for an extra night if they checkout after 11:00 a.m.
1.16. The system shall mark guaranteed rooms as “must pay” after 6:00 pm on the
check-in date.
1.17. The system shall record customer feedback.
2. Food
2.1. The system shall track all meals purchased in the hotel (restaurant and room service).
2.2. The system shall record payment and payment type for meals.
2.3. The system shall bill the current room if payment is not made at time of service.
2.4. The system shall accept reservations for the restaurant and room service.
3. Management
3.1. The system shall display the hotel occupancy for a specified period of time
(days; including past, present, and future dates).
3.2. The system shall display projected occupancy for a period of time (days).
3.3. The system shall display room revenue for a specified period of time (days).
3.4. The system shall display food revenue for a specified period of time (days).
3.5. The system shall display an exception report, showing where default room and
food prices have been overridden.
3.6. The system shall allow for the addition of information, regarding rooms, rates,
menu items, prices, and user profiles.
3.7. The system shall allow for the deletion of information, regarding rooms, rates,
menu items, prices, and user profiles.
3.8. The system shall allow for the modification of information, regarding rooms,
rates, menu items, prices, and user profiles.
3.9. The system shall allow managers to assign user passwords.