For Lesson3 of CS509: Software Engineering