3.- Introducción a Patrones de Diseño

Slides:



Advertisements
Presentaciones similares
Fundamentos de Orientación a Objetos
Advertisements

DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Ingeniería de Software
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Introducción a la Orientación a Objetos
Fundamentos de Ingeniería de Software
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Diagrama de CLASES Alfredo Rodríguez Rojas
UNIDAD 1: “ Introducción al Lenguaje Unificado de Modelado ”
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
Aspectos Avanzados de la Tecnología de Objetos
Patrones de diseño OO Gang of Four (GoF)
Principios y Patrones de Diseño
4.- Orientación a Objetos Justo N. Hidalgo Sanz DEPARTAMENTO DE INGENIERÍA INFORMÁTICA.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
Introducción a la programación Orientada a objetos
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Aznar Gregori Fidel Aznar Gregori Aprender jugando, ¿qué opinan los alumnos? JENUI 2006.
El Proceso Software Ingeniería en Informática
Patrones de asignación de responsabilidades (GRASP)
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
Modelado Arquitectónico
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Introducción al Proceso de Desarrollo de Software Patricio Letelier Departamento de Sistemas Informáticos y Computación Universidad.
Ingeniería de Software
Patrones Creacionales
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Rational Unified Process (RUP)
Análisis y Diseño del Software
1.- Repaso Ingeniería del Software I
Lenguajes de Programación Tema 3
Dirección General de Servicios de Cómputo Académico (DGSCA) ‏ Modelado de Sistemas con UML Septiembre, 2007 Integrado por: Rebeca Núñez Alonso Eduardo.
Daniel Correa Botero José López Vélez Universidad de Antioquia 2013-II.
Introducción al modelado Unificado
2.- Planificación Básica DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Vista de interacción  Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos.
Eva Lleonart Martín Asunción García-Menacho Rovira
SOFTWARE PARA PAGOS DE SUELDOS Patrones de Diseño
PATRONES DE DISEÑO.
5/8/2015Metamodelamiento1 METAMODELADO Carlos Mario Zapata J.
Unidad ll Equipo 2 Juan Carlos Martínez Ramos Erik Iván Mancilla Romero Cristian Suarez Luis Ángel Santiago Alex Joshua Serrano.
1 Ingeniería del Software Curso German Rigau Ingeniería Técnica en Informática de Sistemas.
PATRÓN ADAPTER (Adaptador) Elena Moreno Ramírez Laura Sánchez Romero Aroa Solana Ruiz.
Introducción al Proceso de Desarrollo de Software Patricio Letelier Centro de Formación de Postgrado – Depto. Sistemas Informáticos y Computación Universidad.
Introducción al Proceso de Desarrollo de Software
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
Diagrama de CLASES Alfredo Rodríguez Rojas
TEMA 9: DIAGRAMA DE CLASE EN UML
Diagramas de Interacción.
Daniel Correa Botero José López Vélez Universidad de Antioquia 2013-II.
ANÁLISIS Y DISEÑO DE SISTEMAS II
1 Ingeniería del Software Curso German Rigau Ingeniería Técnica en Informática de Sistemas.
Introducción a UML Departamento de Informática Universidad de Rancagua
Conceptos Fundamentales
Patrones de diseño Grupo 1 Haeberli, Julián Lara, Guisell
Jairo Pinto Ing. sistemas
2-oct-15Ingeniería de Requisitos1 INGENIERÍA DE REQUISITOS Carlos Mario Zapata J.
1 Ingeniería del Software Curso German Rigau Ingeniería Técnica en Informática de Sistemas.
 Requisitos Capturar, definir y validar los casos de uso Realizar los casos de uso Verificar que se satisfacen los casos.
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
MODELAMIENTO VISUAL Y UML
Introducción a la abstracción de datos MC Beatriz Beltrán Martínez Primavera 2015.
“ Un Modelo UML indica que es lo que supuestamente hará el sistema, más no cómo lo hará.” INTRODUCCIÓN UML OMAR HERNÁNDEZ OLIVARES.
Modelado Orientado a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
Patrones de diseño en ING. Del software. ¿Qué es un patrón?  Es una solución a un software el cual esta creado o no mediante un patrón de diseño, es.
Programación Avanzada
Transcripción de la presentación:

3.- Introducción a Patrones de Diseño Justo N. Hidalgo Sanz DEPARTAMENTO DE INGENIERÍA INFORMÁTICA

Índice Qué es un patrón de diseño Tipos de patrones Creacionales Estructurales De Comportamiento

Introducción Las estructuras pueden ser diferentes, pero resolver un mismo problema Christopher Alexander: un patrón es una solución a un problema en un contexto. Describe un tipo de problema que ocurre recurrentemente, para después describir una solución genérica para que pueda utilizarse en cualquier “instancia” de ese problema.

The Gang of Four El libro “Design Patterns. Elements of Reusable Object-Oriented Software” de Gamma, Helm, Johnson and Vlissides ha sido el de mayor influencia en el mundo de los patrones. Aplicó la idea de Patrones al Software, Describió una estructura de catalogación, Catalogó 23 patrones, Postuló estrategias orientadas a objetos de utilización de estos patrones. No es el único: POSA (Pattern-Oriented Software Architecture), vol. 1 y 2. UML y Patrones. C. Larman ...

Uso Para qué sirven los patrones: Reutilización de soluciones Establecimiento de una terminología común ¡Al principio es una locura! Ayuda al trabajo en equipo Perspectiva a alto nivel de los problemas y de sus soluciones No nos metemos en detalles demasiado pronto Establecimiento de metodología común Diseño a partir de interfaces Dar más importancia a la composición sobre la herencia Favorecer la encapsulación de comportamientos

Tipos de Patrones (I) Patterns are Everywhere!

Tipos de Patrones (y II) GoF los divide en tres tipos: Creacionales (creational) Patrones que se refieren al proceso de creación de objetos Estructurales (structural) Patrones que tratan con la composición de clases u objetos De Comportamiento (behavioural) Caracterización de las maneras en que las clases/objetos interactúan entre sí y se distribuyen las responsabilidades.

Estructura de los Patrones (I) Design Pattern’s Name Jurisdiction Characterization Intent Also Known As Motivation Applicability Structure Participants Collaborations Consequences Implementation Sample Code Known Uses Related Patterns Observer

Estructura de los Patrones (II) Nombre del patrón Clasificación Intención: párrafo que responde a: ¿qué hace el patrón de diseño? ¿cuál es su intención? ¿qué tema o problema de diseño trata? Alias (also known as) Otros nombres para el patrón, si existen. Motivación Un escenario que ilustre el problema y cómo el patrón lo resuelve.

Estructura de los Patrones (III) Aplicabilidad Situaciones donde el patrón es aplicable Forma de reconocer estas situaciones Estructura Representación gráfica de las clases que forman el patrón. Generalmente en UML. Participantes Clases, objetos, y sus responsabilidades Colaboraciones Cómo colaboran los participantes

Estructura de los Patrones (y IV) Consecuencias Cómo cumple el patrón sus objetivos Qué aspecto de la estructura del sistema se puede variar independientemente Qué posibles problemas o compromisos tiene el patrón Implementación Trucos, problemas, técnicas, … a utilizar cuando se implementa el patrón Código de ejemplo Usos conocidos Ejemplos en sistemas reales. Patrones relacionados

Estructura del curso Estudiaremos algunos de los patrones del GOF: Introducción teórica Diseño de la solución Ejemplos prácticos: diseño e implementación (Java / C#) Otros serán de estudio independiente. Se espera el mismo nivel de maestría que con los explicados en clase. Ejemplo aglutinador. La descripción del problema se encontrará en la web una semana antes: obligatorio haberlo leído antes de llegar a clase.

Bibliografía Design Patterns. Elements of reusable object-oriented software. Gamma et al. Ed. Addison-Wesley The Unified Software Development Process. I. Jacobson, G. Booch, J. Rumbaugh. Ed. Addison-Wesley. ISBN: 0-201-57169-2 CSCE966: Software Architectures & Frameworks - Department of Computer Science & Engineering - Universidad de Nebraska Curso de Netobjectives.com