software engineering assignment