This repository documents the Requirement Analysis phase for a Booking Management System. It covers the key concepts, activities, types of requirements, use case diagrams, and acceptance criteria, following industry-standard practices.
Requirement Analysis is the process of identifying, documenting, and analyzing the needs and expectations of stakeholders for a software project. It ensures that developers clearly understand what the system should do, helping to prevent scope creep, reduce errors, and guide the design and implementation phases of the SDLC.
- Prevents Scope Creep: Clearly defined requirements set project boundaries and reduce unexpected changes.
- Ensures Stakeholder Alignment: Confirms that the system meets business and user needs.
- Guides Development & Testing: Provides a roadmap for developers and testers, improving efficiency and reducing rework.
- Requirement Gathering: Collect information from stakeholders through interviews, surveys, and research.
- Requirement Elicitation: Refine and elaborate on gathered requirements using brainstorming, prototyping, and workshops.
- Requirement Documentation: Record requirements into structured documents and diagrams.
- Requirement Analysis & Modeling: Analyze requirements for consistency, feasibility, and create models like use case diagrams.
- Requirement Validation: Review requirements with stakeholders to ensure accuracy and completeness.
Functional requirements define what the system must do. Examples for a booking system:
- User Registration
- Property Search
- Secure Login
- Booking a Property
Non-functional requirements describe how the system should perform. Examples:
- Page load time under 2 seconds
- System must support 1000 concurrent users
- Data encryption for sensitive information
Use case diagrams visually represent interactions between users (actors) and the system. They help stakeholders understand system functionality and identify all user actions.
Acceptance Criteria are conditions a feature must meet to be accepted by stakeholders. They ensure that the system delivers the expected results.
Example: Checkout Feature
- User can review booking details before payment.
- Payment confirmation is sent via email.
- Booking details are saved in the system.
- Transactions fail gracefully if payment is declined.
