Refactoring de bases de datos : Desarrollo evolutivo de bases de bases de datos integrado con MDD

Cada vez es más frecuente que los requerimientos cambien a medida que un proyecto de software progresa. Al mismo tiempo el cliente demanda resultados rápidos, que puedan implementarse y medirse en períodos cortos de tiempo. Es por ello que en los últimos tiempos, han ganando mucho terreno los proces...

Descripción completa

Detalles Bibliográficos
Autores principales: Bartolomeo, Mario Gustavo, Goti, Damián Alejandro
Otros Autores: Pons, Claudia
Formato: Tesis Tesis de grado
Lenguaje:Español
Publicado: 2013
Materias:
Acceso en línea:http://sedici.unlp.edu.ar/handle/10915/47055
Aporte de:
id I19-R120-10915-47055
record_format dspace
institution Universidad Nacional de La Plata
institution_str I-19
repository_str R-120
collection SEDICI (UNLP)
language Español
topic Informática
refactoring
Base de Datos
código fuente
spellingShingle Informática
refactoring
Base de Datos
código fuente
Bartolomeo, Mario Gustavo
Goti, Damián Alejandro
Refactoring de bases de datos : Desarrollo evolutivo de bases de bases de datos integrado con MDD
topic_facet Informática
refactoring
Base de Datos
código fuente
description Cada vez es más frecuente que los requerimientos cambien a medida que un proyecto de software progresa. Al mismo tiempo el cliente demanda resultados rápidos, que puedan implementarse y medirse en períodos cortos de tiempo. Es por ello que en los últimos tiempos, han ganando mucho terreno los procesos de software, también llamados metodologías, de naturaleza evolutivos y ágiles, cuyas principales premisas son el trabajo altamente colaborativo, iterativo e incremental. Para esto los programadores adoptaron técnicas como TDD (Test Driven Development, Desarrollo Dirigido por Tests) y AMDD (Agile Model Driven Development, Desarrollo Ágil Dirigido por Modelos), y se construyeron herramientas que facilitaron la aplicación de las mismas. Pero no ocurrió lo mismo en la comunidad de profesionales de bases de datos. Se podrían encontrar principalmente dos razones que explican esto: 1. Impedimentos culturales: Muchos de los actuales profesionales del área de datos se formaron durante los años 70 y 80, perdiendo la revolución de los objetos en los años 90 y la experiencia ganada en el desarrollo evolutivo. 2. Curva de aprendizaje: Lleva tiempo aprender nuevas técnicas, más aún si es necesario un cambio de mentalidad que permita pasar de procesos seriales o en cascada a evolutivos. En 1999 Martin Fowler propuso la técnica de programación de refactoring en su libro [FO 99]. Un refactoring es un pequeño cambio en el código fuente que mejora el diseño sin cambiar su semántica. En otras palabras, se mejora la calidad del código sin cambiar ni añadir ningún comportamiento. Refactoring permite evolucionar el código lentamente con el tiempo, para tomar un enfoque evolutivo (iterativo e incremental) de programación. En su libro, Fowler discute la idea de que de la misma manera que es posible aplicar un refactoring en el código fuente de la aplicación, es también posible aplicar un refactoring en el esquema de la base de datos. Sin embargo, aplicar un refactoring en la base de datos es algo más complejo por los significativos niveles de acoplamiento asociados a los datos. Actualmente se necesita profundizar las técnicas y herramientas que también soporten el desarrollo evolutivo para las bases de datos; y en nuestra opinión la más importante de estas técnicas es el refactoring de base de datos. En [AS 06] se presenta un marco teórico de cómo puede llevarse a cabo un esquema de trabajo evolutivo sobre las bases de datos. La premisa principal consiste en realizar los cambios sobre el modelo garantizando durante un período determinado (lo cual llamamos período de transición) la coexistencia entre ambas versiones de la base de datos. De esta forma, las aplicaciones que usen la base de datos seguirán funcionando sin la necesidad de adaptarse inmediatamente a la nueva versión de la base datos. De este modo, principal motivación consiste entonces en poder brindar una herramienta que automatice las tareas de refactoring de base de datos según los lineamientos establecidos en [AS 06].
author2 Pons, Claudia
author_facet Pons, Claudia
Bartolomeo, Mario Gustavo
Goti, Damián Alejandro
format Tesis
Tesis de grado
author Bartolomeo, Mario Gustavo
Goti, Damián Alejandro
author_sort Bartolomeo, Mario Gustavo
title Refactoring de bases de datos : Desarrollo evolutivo de bases de bases de datos integrado con MDD
title_short Refactoring de bases de datos : Desarrollo evolutivo de bases de bases de datos integrado con MDD
title_full Refactoring de bases de datos : Desarrollo evolutivo de bases de bases de datos integrado con MDD
title_fullStr Refactoring de bases de datos : Desarrollo evolutivo de bases de bases de datos integrado con MDD
title_full_unstemmed Refactoring de bases de datos : Desarrollo evolutivo de bases de bases de datos integrado con MDD
title_sort refactoring de bases de datos : desarrollo evolutivo de bases de bases de datos integrado con mdd
publishDate 2013
url http://sedici.unlp.edu.ar/handle/10915/47055
work_keys_str_mv AT bartolomeomariogustavo refactoringdebasesdedatosdesarrolloevolutivodebasesdebasesdedatosintegradoconmdd
AT gotidamianalejandro refactoringdebasesdedatosdesarrolloevolutivodebasesdebasesdedatosintegradoconmdd
bdutipo_str Repositorios
_version_ 1764820474362068993