Identificación y Aplicación de Patrones en el Desarrollo de Software
Enviado por Programa Chuletas y clasificado en Magisterio
Escrito el en
español con un tamaño de 3,05 KB
Asociación Contexto - Problema - Solución
La identificación de patrones requiere:
- Observación - para encontrar similitudes
- Abstracción - para descubrir la esencia del problema y descartar detalles irrelevantes
El uso de patrones tiene un carácter estadístico:
- La identificación de patrones es un proceso empírico
- Los patrones por sí mismos, de manera aislada, no resuelven todos los problemas posibles
- Una colección de patrones bien elegida puede caracterizar un gran porcentaje de problemas
Favorecen la Trazabilidad
De código a diseño, de diseño a análisis:
- Facilitan el mantenimiento
- Pueden utilizarse en cascada (efecto Delta)
- Ofrecen un vocabulario común para los desarrolladores
- Son herramientas de comunicación en el diseño participativo desarrolladores - usuarios
Clasificación de Patrones según el Nivel de Abstracción
- Patrones arquitectónicos, de análisis, conceptuales
- Patrones de diseño
- Patrones de programación (idioms)
Patrones Arquitectónicos, de Análisis, Conceptuales
Estructuras de organización de sistemas de información:
- Conjunto de subsistemas predefinidos (cada uno con responsabilidades definidas) y relaciones entre estos
- Arquitectura de tres capas, arquitectura cliente - servidor, etc.
- Descritos en términos del dominio de aplicación (contabilidad, facturación, inventario, etc.)
- Ayudan a identificar necesidades específicas al dominio
- Relativamente fácil de entender por el cliente
Patrones de Diseño
Estructuras recurrentes de componentes que colaboran para resolver un problema general de diseño, en un contexto particular:
- (Normalmente) independientes de los lenguajes de programación
- Los primeros en aparecer
- Aportan soluciones de diseño reutilizables
- ¡Patrones de diseño de interfaces!
Patrones de Programación (Idioms)
- Cómo implementar componentes o relaciones entre ellos
- Descritos en términos de construcciones de un cierto lenguaje de programación
- Posiblemente generación automática de código
¿Qué Patrón (o Patrones) se Puede Aplicar para un Problema Determinado?
- Múltiples fuentes de información
- Muchos repositorios web
- No existe un catálogo bien estructurado
- No existen criterios comunes para organizar los patrones existentes
- Varios patrones describen el mismo problema
¿Cómo Adaptar el Patrón al Contexto?
- Los patrones están expresados en términos de ciertos procesos de desarrollo, métodos, modelos
- Se deben reinterpretar y redefinir el patrón según el método que el desarrollador mismo usa
- La aplicación de un patrón puede sugerir patrones relacionados, pero no adecuados al problema específico
- ¿Cuál es el siguiente patrón a aplicar?