Refactoring de bases de datos : Desarrollo evolutivo de bases de bases de datos integrado con MDD
- Autores
- Bartolomeo, Mario Gustavo; Goti, Damián Alejandro
- Año de publicación
- 2013
- Idioma
- español castellano
- Tipo de recurso
- tesis de grado
- Estado
- versión aceptada
- Colaborador/a o director/a de tesis
- Pons, Claudia
- Descripción
- 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].
Licenciado en Informática
Universidad Nacional de La Plata
Facultad de Informática - Materia
-
Informática
refactoring
Base de Datos
código fuente - Nivel de accesibilidad
- acceso abierto
- Condiciones de uso
- http://creativecommons.org/licenses/by/4.0/
- Repositorio
- Institución
- Universidad Nacional de La Plata
- OAI Identificador
- oai:sedici.unlp.edu.ar:10915/47055
Ver los metadatos del registro completo
id |
SEDICI_6a75182eed081d838e9e221fd09fb36d |
---|---|
oai_identifier_str |
oai:sedici.unlp.edu.ar:10915/47055 |
network_acronym_str |
SEDICI |
repository_id_str |
1329 |
network_name_str |
SEDICI (UNLP) |
spelling |
Refactoring de bases de datos : Desarrollo evolutivo de bases de bases de datos integrado con MDDBartolomeo, Mario GustavoGoti, Damián AlejandroInformáticarefactoringBase de Datoscódigo fuenteCada 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].Licenciado en InformáticaUniversidad Nacional de La PlataFacultad de InformáticaPons, Claudia2013info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionTesis de gradohttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/47055spainfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by/4.0/Creative Commons Attribution 4.0 International (CC BY 4.0)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-09-03T10:35:34Zoai:sedici.unlp.edu.ar:10915/47055Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-09-03 10:35:35.028SEDICI (UNLP) - Universidad Nacional de La Platafalse |
dc.title.none.fl_str_mv |
Refactoring de bases de datos : Desarrollo evolutivo de bases de bases de datos integrado con MDD |
title |
Refactoring de bases de datos : Desarrollo evolutivo de bases de bases de datos integrado con MDD |
spellingShingle |
Refactoring de bases de datos : Desarrollo evolutivo de bases de bases de datos integrado con MDD Bartolomeo, Mario Gustavo Informática refactoring Base de Datos código fuente |
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 |
dc.creator.none.fl_str_mv |
Bartolomeo, Mario Gustavo Goti, Damián Alejandro |
author |
Bartolomeo, Mario Gustavo |
author_facet |
Bartolomeo, Mario Gustavo Goti, Damián Alejandro |
author_role |
author |
author2 |
Goti, Damián Alejandro |
author2_role |
author |
dc.contributor.none.fl_str_mv |
Pons, Claudia |
dc.subject.none.fl_str_mv |
Informática refactoring Base de Datos código fuente |
topic |
Informática refactoring Base de Datos código fuente |
dc.description.none.fl_txt_mv |
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]. Licenciado en Informática Universidad Nacional de La Plata Facultad de Informática |
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]. |
publishDate |
2013 |
dc.date.none.fl_str_mv |
2013 |
dc.type.none.fl_str_mv |
info:eu-repo/semantics/bachelorThesis info:eu-repo/semantics/acceptedVersion Tesis de grado http://purl.org/coar/resource_type/c_7a1f info:ar-repo/semantics/tesisDeGrado |
format |
bachelorThesis |
status_str |
acceptedVersion |
dc.identifier.none.fl_str_mv |
http://sedici.unlp.edu.ar/handle/10915/47055 |
url |
http://sedici.unlp.edu.ar/handle/10915/47055 |
dc.language.none.fl_str_mv |
spa |
language |
spa |
dc.rights.none.fl_str_mv |
info:eu-repo/semantics/openAccess http://creativecommons.org/licenses/by/4.0/ Creative Commons Attribution 4.0 International (CC BY 4.0) |
eu_rights_str_mv |
openAccess |
rights_invalid_str_mv |
http://creativecommons.org/licenses/by/4.0/ Creative Commons Attribution 4.0 International (CC BY 4.0) |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:SEDICI (UNLP) instname:Universidad Nacional de La Plata instacron:UNLP |
reponame_str |
SEDICI (UNLP) |
collection |
SEDICI (UNLP) |
instname_str |
Universidad Nacional de La Plata |
instacron_str |
UNLP |
institution |
UNLP |
repository.name.fl_str_mv |
SEDICI (UNLP) - Universidad Nacional de La Plata |
repository.mail.fl_str_mv |
alira@sedici.unlp.edu.ar |
_version_ |
1842260208884121600 |
score |
13.13397 |