Relating Software Requirements and Architectures