A software engineering assignment