Explain the difference between functional and non-functional requirements, and how you document each.