A Framework and a Methodology for the Design and Development of Collaborative Systems and Platforms