Extraction and evaluation of software components from object-oriented artifacts