software and databases reengineering