Identifying Design-Code Inconsistencies in Object-Oriented Software: A Case StudyUnderstanding the Architecture of Software Systems