Read "Chapter 4: Data Gathering for Application Development" (pages 87–98).
Data collection/gathering is also referred to as requirements gathering. Data gathering is the interaction between the software engineer (in this case a business analyst) and the customers (including users) to obtain and gather data and information about the application to be developed. There are many techniques for gathering data. The data collection techniques include interviews, meetings, observations, questionnaires, reviewing software, reviewing internal document, and reviewing external documents.