Functional-based approaches for supporting product development