A software framework for data based analysis: requirements analysis, architecture and usage of a powerful open source framework for data centric software development in Java