Requirements and use cases