software engineering homework