Overview¶
Low-level requirements analysis focuses on detailed specification of system behavior, user interactions, and precise documentation of what the system must do.
Topics Covered¶
User Stories and Acceptance Criteria¶
INVEST Criteria: Independent, Negotiable, Valuable, Estimatable, Small, Testable
3 C’s Model: Card, Conversation, Confirmation
Writing effective user stories with clear acceptance criteria
Story mapping and prioritization techniques
Epic decomposition into manageable user stories
Use Cases and Scenarios¶
Use Case Components: Actors, goals, preconditions, postconditions
Main Flow: Primary path through the use case
Alternative Flows: Variations and extensions
Exception Handling: Error conditions and recovery
Use case diagrams and textual descriptions
Scenario-based testing preparation
Functional Requirements Specification¶
Detailed functional behavior description
Input/output specifications
Business rules and constraints
Data requirements and formats
Interface requirements
Performance and quality attributes
Non-Functional Requirements¶
Performance: Response time, throughput, scalability
Security: Authentication, authorization, data protection
Usability: User experience, accessibility, learning curve
Reliability: Availability, fault tolerance, recovery
Maintainability: Code quality, documentation, modularity
Requirements Documentation (SRS)¶
Software Requirements Specification (SRS) Structure:
Introduction and scope
Overall description
Specific requirements
Appendices and references
Requirements traceability matrix
Version control and change management
Review and approval processes
UML Modeling for Requirements¶
Use Case Diagrams: System boundaries, actors, relationships
Class Diagrams: Data structures and relationships
Activity Diagrams: Process flows and decision points
Sequence Diagrams: Interaction patterns over time
Key Deliverables¶
Complete set of user stories with acceptance criteria
Detailed use case specifications
Software Requirements Specification (SRS) document
UML diagrams (use case, class, activity)
Requirements traceability matrix
Test cases derived from requirements
Tools and Techniques¶
Planning and Estimation¶
Planning Poker: Collaborative estimation technique
Story Points: Relative sizing of user stories
Velocity Tracking: Team capacity measurement
Burndown Charts: Progress visualization
Requirements Validation¶
Prototyping: Early validation through mockups
Reviews and Inspections: Peer review of requirements
Modeling and Simulation: Behavior verification
Test Case Generation: Requirements testability verification
Best Practices¶
Be Specific and Measurable - Avoid ambiguous language
Focus on “What” not “How” - Describe requirements, not implementation
Include Negative Cases - Consider error conditions and edge cases
Maintain Traceability - Link requirements to business goals and tests
Iterate and Refine - Requirements evolve through development
Involve Users Early - Validate requirements with actual users
Navigation¶
Previous: High-Level Requirements Analysis
Back to: Requirements Engineering