Software Engineering course term project