The software development lifecycle begins with the requirements gathering process.
The customer, developer, and users participate in requirements gathering.
The product of requirements gathering is the functional specification document (also called the requirements analysis document or RAD.)
The requirements gathering process is a combination of five major activities:
Relationships Between Use Cases
Identifying Non-Functional Requirements