Software component identification and selection: A research review. (31st October 2018)