Text this: Fuzzy based component reusability evaluation approach to support component based software development