- Eliciting requirements:(e.g. the project charter or definition), business process documentation, and stakeholder interviews. This is sometimes also called requirements gathering.
- Analyzing requirements: determining whether the stated requirements are clear, complete, consistent and unambiguous, and resolving any apparent conflicts.
- Recording requirements: Requirements may be documented in various forms, usually including a summary list and may include natural-language documents, use cases, user stories, or process specifications.
Remember there is several things besides the software and the customers who effect requirements. Such as Architecture what other programs are you using Java, squeal? Is the structure meeting the requirements? the design? the behavior? Allocated?
Remember to take all this into consideration and many more when setting your software requirements.