Essays on Object-Oriented Software Engineering