Introducción a los patrones de Software

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Introducción a los patrones de Software"

Transcripción

1 Introducción a los patrones de Software Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes Material de base: Gloria Cortés y Rubby Casallas Referencias LARMAN, Craig. Applying UML and Patterns. Prentice Hall Patrones GRASP, Cap. 18 1

2 Agenda Introducción a los Patrones Patrones GRASP Introducción a los Patrones Qué es un Patrón? Es una solución reutilizable de problemas recurrentes que ocurren durante el desarrollo del software Ayudan a entender las soluciones del problema con un vocabulario igual lo que permite un mejor entendimiento Existen diferentes tipos de patrones 2

3 Introducción a los Patrones Características Tiene un nombre Tiene un contexto o problema a resolver Tiene una solución Tiene unas consecuencias al utilizarlo Tipos de Patrones Arquitecturales - Buschmann Subdivisión de Sistemas (3) Layers, Pipes and Filter, Blackboard Sistemas Distribuidos (1) Broker Sistemas Interactivos (2) Model View Controller, Presentation Abstraction Control Sistemas Adaptables (2) Microkernel, Reflection 3

4 Tipos de Patrones Generales Grand Delegación, Interface, Immutable, Marker Interface, Proxy Estructurales Gamma y Grand Adapter, Iterator, Bridge, Facade, Flyweight, Virtual Proxy etc Creación Gamma y Grand Factory Method, Abstract Factory, Builder, Prototype, Singleton, Object Pool, etc. Tipos de Patrones Particionamiento Gamma y Grand Layered Initialization, Filter, Composite Comportamiento Gamma y Grand Command, Mediator, Observer, State, Strategy, Visitor. Concurrencia - Grand Single Thread Execution, Guarded Suspension, Balking, Read/Write Lock, Produce-Consumer Asignación de Responsabilidades Larman GRASP 4

5 Patrones General Buschmann 17 patrones Gamma 23 patrones Grand 41 patrones Larman 10 patrones Patrones GRASP General Responsability Assignment Software Patterns Asignación de Responsabilidades Expert Creator Low Coupling High Cohesion Controller 5

6 Patrones GRASP Motivación La asignación de responsabilidades es la habilidad más importante en el análisis y diseño orientado por objetos Respetar los principios fundamentales es uno de los factores críticos, para obtener diseños reutilizables, mantenibles y extendibles. GRASP: descripción de los principios fundamentales de la asignación de responsabilidades expresados como patrones Patrones GRASP En que consiste la responsabilidad? Obligaciones o contratos de una clase Dos clases de responsabilidades Conocer Conocer la información privada del objeto Conocer acerca de los objetos relacionados Conocer acerca de lo que se puede calcular o derivar 6

7 Patrones GRASP Hacer Realizar algo él mismo Iniciar acciones en otros objetos Controlar o coordinar actividades en otros objetos. Patrones GRASP Cuando se asignan resposabilidades? En la fase de análisis? Definición de los servicios de los componentes de la arquitectura global Responsabilidades de hacer Definición de los atributos de las clases del modelo conceptual del mundo. Definición de los diagramas de interacción, para refinar el modelo conceptual del mundo. 7

8 Patrones GRASP Cuando se asignan resposabilidades? En la fase de diseño: Diseño estructural, refinamiento del modelo conceptual del mundo Responsabilidades de conocer Definición de métodos Patrones GRASP Quién tiene la responsabilidad de: atender un evento del sistema? crear un objeto? realizar una operación (distinta de crear o responder un evento)? Cómo utilizar los patrones de evaluación: alta cohesión vs. bajo acoplamiento? 8

9 Expert pattern Cada objeto es responsable por mantener su propia información (principio de encapsulamiento): conoce y puede informar el valor de sus atributos puede modificar el valor de sus atributos Si tiene relaciones de agregación (fuerte) con otros objetos (sus partes), también será responsable de conocer la información de ellos, de crearlos (Creator pattern) y de delegarles las operaciones. Creator Pattern El objeto B tiene la responsabilidad de crear objetos de la clase A si: B agrega objetos A B contiene objetos A B registra objetos A B usa (exhaustivamente) objetos A B posee la información necesaria para inicializar A 9

10 Low coupling pattern Acoplamiento es la medida de cuánto una clase esta conectada (tiene conocimiento) de otras clases. Es un patrón evaluativo: un bajo acoplamiento permite que el diseño de clases sea más independiente. Reduce el impacto de los cambios y aumenta la reutilización. No puede ser considerado aisladamente. Puede no ser importante si la reutilización no es un objetivo. High cohesion pattern Cohesión funcional dentro de una clase es una medida que indica cuán relacionadas están las responsabilidades de una clase. Es un patrón evaluativo: entre más alta cohesión mas fácil de entender, de cambiar, de reutilizar. No puede ser considerado aisladamente. 10

11 11

12 12

13 13

14 14

15 Controller pattern (1) Asignar la responsabilidad de manejar los mensajes eventos del sistema a una clase que representa una de las siguientes elecciones: el sistema total la organización algo en le mundo real que está activo - por ejemplo el rol de una persona una manija artificial de los eventos del sistema relacionados con un caso de uso 15

16 Controller pattern (2) Un controller o varios? Usar los patrones de evaluación (cohesión/acoplamiento) para decidir. En particular, si hay muchos eventos, un solo objeto puede volverse poco cohesivo! Si es necesario guardar o asegurar una secuencia de eventos es mejor un controller por caso de uso. Controller pattern (3) Un controller despacha operaciones. Al principio del análisis existirá una clase: System servicio1() serviciok() Un controller NO es un objeto de la interfaz!! 16

17 Decisiones de diseño GRASP Refinamiento estructural Se modifica y completa el diagrama de clases del mundo Actividades de diseño Verificación de requerimientos contra el diagrama de clases Se realiza haciendo los diagramas de interacción para cada uno de los requerimientos Utilizar los patrones GRASP para justificar las decisiones que se tomen Documentar las decisiones tomadas y completar la información del diseño 17

18 Actividades de diseño Tipos de decisiones a tomar Agregar/eliminar clases, atributos, métodos o asociaciones Asignar cardinalidad a las asociaciones Asignar roles a las asociaciones Completar información de los atributos ( decidir tipo, representación y restricciones ) Completar información de los métodos ( parámetros, resultados, contrato) Evaluación de opciones atributo o asociación? 18

Patrones. Patrones GRASP GRASP GRASP. Curso de Arquitecturas de Software. Programación Orientada a Objetos Patrones GRASP

Patrones. Patrones GRASP GRASP GRASP. Curso de Arquitecturas de Software. Programación Orientada a Objetos Patrones GRASP Curso de Arquitecturas de Software Programación Orientada a Objetos Patrones GRASP Patrones Es una solución a un problema recurrente Capturan las mejores prácticas establecidas para diseño Describen un

Más detalles

Programación Orientada a Objetos 2

Programación Orientada a Objetos 2 Programación Orientada a Objetos Aplicaciones Java Ing. Julio Ernesto Carreño Vargas MsC. Aplicaciones Java Ingeniería de Sofwatre Patrones: MVC Programación Orientada a Objetos 2 1 Ingeniería de Software

Más detalles

Patrones de diseño en PHP Los 23 modelos de diseño: descripciones y soluciones ilustradas en UML2 y PHP

Patrones de diseño en PHP Los 23 modelos de diseño: descripciones y soluciones ilustradas en UML2 y PHP Introducción a los patrones de diseño 1. Design patterns o patrones de diseño 15 2. Descripción de los patrones de diseño 17 3. Catálogo de patrones de diseño 18 4. Cómo escoger y utilizar un patrón de

Más detalles

Patrones de Diseño. Programa de Estudio.

Patrones de Diseño. Programa de Estudio. Patrones de Diseño Programa de Estudio Patrones de Diseño Analiza, modela y resuelve problemas de diseño de sistemas utilizando los patrones de diseño. Aprende cuándo y cómo utilizar cada uno de los patrones

Más detalles

Patrones de diseño en Java Los 23 modelos de diseño: descripción y soluciones ilustradas en UML 2 y Java

Patrones de diseño en Java Los 23 modelos de diseño: descripción y soluciones ilustradas en UML 2 y Java Introducción a los patrones de diseño 1. Design patterns o patrones de diseño 15 2. Descripción de los patrones de diseño 17 3. Catálogo de patrones de diseño 18 4. Cómo escoger y utilizar un patrón de

Más detalles

Grado en Ingeniería Informática Universidad de Alcalá Curso Académico 2014/15 Curso 4º Cuatrimestre 1º

Grado en Ingeniería Informática Universidad de Alcalá Curso Académico 2014/15 Curso 4º Cuatrimestre 1º PATRONES SOFTWARE Grado en Ingeniería Informática Universidad de Alcalá Curso Académico 2014/15 Curso 4º Cuatrimestre 1º GUÍA DOCENTE Nombre de la asignatura: Código: Titulación en la que se imparte: Departamento

Más detalles

CLASE 9: DISEÑO CON PATRONES. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez

CLASE 9: DISEÑO CON PATRONES. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez CLASE 9: DISEÑO CON PATRONES Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez Diseño de Objetos Identificar requerimientos, crear un modelo del dominio, agregar métodos a las clases

Más detalles

A continuación se describe con mayor detalle cada una de tales unidades:

A continuación se describe con mayor detalle cada una de tales unidades: 1. OBJETIVOS: - Entender los conceptos teórico-prácticos que se emplean en la fase de diseño de un proyecto de software. - Entender las metodologías de diseño para las diferentes estrategias de desarrollo

Más detalles

Capítulo 16. Diagrama de Clases UML

Capítulo 16. Diagrama de Clases UML Capítulo 16. Diagrama de Clases UML Florentino TORRES M. CINVESTAV-Tamaulipas 15 de Oct del 2012 Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 1 / 70 1 Capítulo 16. Diagrama de Clases UML Aplicando

Más detalles

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms Patrones Patrones Es una solución reusable de problemas comunes. Los patrones solucionan problemas que existen en muchos niveles de abstracción. desde el análisis hasta el diseño y desde la arquitectura

Más detalles

Aplicaciones Móviles. Unidad 2: Patrones de Diseño de Software

Aplicaciones Móviles. Unidad 2: Patrones de Diseño de Software INACAP Universidad Tecnológica de Chile Sede Santiago Centro Aplicaciones Móviles Unidad 2: Patrones de Diseño de Software Ing. Manuel López Ramos Unidad 1 Qué es un Patrón de Diseño de Software? Qué es

Más detalles

Patrones Arquitectónicos de Software

Patrones Arquitectónicos de Software Jaime Eduardo Arias Almeida Néstor Raúl Cárdenas Pinzón Pontificia Universidad Javeriana - Cali Marzo 18 de 2010 Tabla de Contenido 1 Definición Consideraciones 2 Layers Pipes and Filters Blackboard 3

Más detalles

Universidad Tecnológica Emiliano Zapata Tecnologías De la Información Y comunicación Área Sistemas informáticos

Universidad Tecnológica Emiliano Zapata Tecnologías De la Información Y comunicación Área Sistemas informáticos Universidad Tecnológica Emiliano Zapata Tecnologías De la Información Y comunicación Área Sistemas informáticos Rivera Figueroa Gerardo René Alvares Flores Jairo Ángeles Pastor Luis Eduardo Gonzales Sarabia

Más detalles

UML 2 Iniciación, ejemplos y ejercicios corregidos

UML 2 Iniciación, ejemplos y ejercicios corregidos Ediciones ENI UML 2 Iniciación, ejemplos y ejercicios corregidos (3ª edición) Colección Recursos Informáticos Contenido Contenido 1 Capítulo 1 Introducción 1. Motivaciones de la obra.....................................

Más detalles

TIPOS DE PATRONES. PATRONES DE DISEÑO: Las soluciones probadas para el diseño de software. En estas nos vamos a centrar.

TIPOS DE PATRONES. PATRONES DE DISEÑO: Las soluciones probadas para el diseño de software. En estas nos vamos a centrar. TIPOS DE PATRONES Hoy, podemos encontrar literalmente miles de patrones definidos. Resulta imposible para un programador conocerlos todos, ni mucho menos probarlos o valorarlos. Así que necesitamos una

Más detalles

CLASE 10: MÁS PATRONES. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez

CLASE 10: MÁS PATRONES. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez CLASE 10: MÁS PATRONES Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez Polimorfismo Problema: Cómo manejar las alternativas basadas en el tipo? Cómo crear componentes conectables?

Más detalles

Uso de Patrones de diseño

Uso de Patrones de diseño Uso de Patrones de diseño jsr@.upm.es - 1 - Relaciones La importancia de la relaciones en los diseños de orientación a objetos. Identificación de situaciones comunes. Necesidad de reciclar ideas no código

Más detalles

Arquitectura de Software. Juan Bernardo Quintero

Arquitectura de Software. Juan Bernardo Quintero Arquitectura de Software Juan Bernardo Quintero Catálogo de Patrones Nombre Corto Nombre Completo Propósito Básico Autor Año GoF Gang of Four Solución de problemas del diseño POSA J2EE PoEAA GRASP Pattern-Oriented

Más detalles

Capítulo 4 Patrones y Patrones de Diseño (ii)

Capítulo 4 Patrones y Patrones de Diseño (ii) Capítulo 4 Patrones y Patrones de Diseño (ii) Orientado a Objetos Ingeniería Informática Ingeniería Técnica de Informática de Sistemas y Gestión Optativa (6 créditos) http://www.info-ab.uclm.es/asignaturas/42579

Más detalles

MÁSTER UNIVERSITARIO EN INGENIERÍA WEB. Guía de Aprendizaje Información al estudiante

MÁSTER UNIVERSITARIO EN INGENIERÍA WEB. Guía de Aprendizaje Información al estudiante MÁSTER UNIVERSITARIO EN INGENIERÍA WEB Datos Descriptivos Guía de Aprendizaje Información al estudiante Escuela Técnica Superior de Ingeniería de Sistemas Centro responsable Informáticos Titulación: Máster

Más detalles

Desarrollo de Aplicaciones Empresariales

Desarrollo de Aplicaciones Empresariales Diego Seco Material adaptado de: Eduardo Mosqueira y Óscar Pedreira {eduardo, opedreira}@udc.es LIDIA & LBD Universidade da Coruña 2014-1 Desarrollo de Aplicaciones Empresariales Patrones Gangof Four(GOF)

Más detalles

Diseño. Diseño. Interacción. Aspectos comunes en interacción. Diagramas de Interacción. Curso de Arquitecturas de Software

Diseño. Diseño. Interacción. Aspectos comunes en interacción. Diagramas de Interacción. Curso de Arquitecturas de Software Curso de Arquitecturas de Software Programación Orientada a Objetos Diagramas de Interacción Diseño En la fase de diseño se hace refinamiento estructural, se modifica y completa el diagrama de clases del

Más detalles

Grado en Ingeniería Informática Universidad de Alcalá Curso Académico 2016/2017 Curso 4º Cuatrimestre 1º

Grado en Ingeniería Informática Universidad de Alcalá Curso Académico 2016/2017 Curso 4º Cuatrimestre 1º PATRONES SOFTWARE Grado en Ingeniería Informática Universidad de Alcalá Curso Académico 2016/2017 Curso 4º Cuatrimestre 1º GUÍA DOCENTE Nombre de la asignatura: Patrones Software Código: 780042 Titulación

Más detalles

Planificaciones. 7510 - Técnicas de Diseño. Docente responsable: PANTALEO GUILLERMO GUSTAVO. 1 de 5

Planificaciones. 7510 - Técnicas de Diseño. Docente responsable: PANTALEO GUILLERMO GUSTAVO. 1 de 5 Planificaciones 7510 - Técnicas de Diseño Docente responsable: PANTALEO GUILLERMO GUSTAVO 1 de 5 OBJETIVOS En este curso se busca introducir a los alumnos en el concepto de diseño de software. Para lograrlo

Más detalles

Lógica de Negocios. Esteban Calabria 2007

Lógica de Negocios. Esteban Calabria 2007 Lógica de Negocios Esteban Calabria 2007 Lógica de Negocios Para organizar el Layer de Negocios Transaction Script Table Module Domain Module Service Layer Scripting Conceptos Previos Glanularidad Interfaces

Más detalles

Patrones. Maestría en Ingeniería de Software

Patrones. Maestría en Ingeniería de Software Patrones Maestría en Ingeniería de Software Agenda - Model Driven Architecture (MDA) - Unified Model Language (UML) - Object Constraint Language (OCL) - Patrones - Conclusiones Contenido Patrones Introducción

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: ARQUITECTURA DEL SISTEMA DE SOFTWARE NIVELES DE DISEÑO DE LOS SISTEMAS DE SOFTWARE CUALIDADES DE LAS ARQUITECTURAS ESTILOS Y PATRONES - ESTILOS ARQUITECTÓNICO - PATRÓN ARQUITECTÓNICO FRAMEWORK

Más detalles

Ingeniería de Software Arquitectura y Diseño [2]

Ingeniería de Software Arquitectura y Diseño [2] Ingeniería de Software Arquitectura y Diseño [2] Hernán Astudillo Departamento de Informática Universidad Técnica Federico Santa María Introducción Proceso y ciclo de vida Manejo

Más detalles

Capítulos 2 y 5: Modelación con UML y Modelo Objeto

Capítulos 2 y 5: Modelación con UML y Modelo Objeto Capítulos 2 y 5: Modelación con UML y Modelo Objeto Agenda Recordar: Modelo de Sistema: modelo objeto + modelo funcional + modelo dinámico Ultima Clase: Modelo Objeto Definir el concepto de Modelo de Clases

Más detalles

Estilos de Arquitectura y. Patrones de Diseño Arquitectónico. Patrones de Arquitectura

Estilos de Arquitectura y. Patrones de Diseño Arquitectónico. Patrones de Arquitectura Estilos de Arquitectura y Patrones de Diseño Arquitectónico Gastón Mousqués - AR 1 Patrones de Arquitectura Gastón Mousqués - AR 2 Principales Categorías de Patrones (Software) Patrones de Análisis Expresan

Más detalles

Curso: Diseño Orientado a Objetos Patrones de Diseño

Curso: Diseño Orientado a Objetos Patrones de Diseño Curso: Diseño Orientado a Objetos Patrones de Diseño DISEÑO ORIENTADO A OBJETOS PATRONES DE DISEÑO... 1 OBJETIVO...1 AUDIENCIA...1 CONTENIDO...1 BIBLIOGRAFÍA...2 DOCENTE...3 MODALIDAD DEL DESARROLLO...3

Más detalles

Patrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype

Patrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype Temario Patrones de Diseño de Software Fundamentos de Ingeniería de SW Jocelyn Simmonds GOF: Patrones Creacionales Patrones Estructurales ILI-236 (JS) Patrones II 1 / 31 ILI-236 (JS) Patrones II 2 / 31

Más detalles

Horas Contacto. Objetivos Se pretende que el estudiante asimile los conceptos fundamentales de análisis y diseño orientado a objetos

Horas Contacto. Objetivos Se pretende que el estudiante asimile los conceptos fundamentales de análisis y diseño orientado a objetos FACULTAD DE INGENIERIA DEPARTAMENTO DE INGENIERIA DE SISTEMAS Nombre de la asignatura (Curso) Código de la asignatura (ID Curso) Análisis y Diseño Orientado a Objetos 4183 Fecha de Actualización Julio

Más detalles

Patrones. (Conceptos Generales)

Patrones. (Conceptos Generales) Patrones (Conceptos Generales) Agenda Motivación para los patrones Definiciones de patrones Tipos de patrones (Catálogos) De diseño (GoF) De arquitectura (POSA) De plataforma (J2EE) Ejemplo (Patrón DAO)

Más detalles

IN77J Orientación al Objeto para el e-business. 6. Diseño

IN77J Orientación al Objeto para el e-business. 6. Diseño IN77J Orientación al Objeto para el e-business 6. Diseño Temario 6. Diseño Descomposición Realización de Casos de Uso Taller Patrones de Diseño 2 Descomposición Una de las principales técnicas para abordar

Más detalles

Horas Contacto. Modelar gráficamente la solución de problemas con un enfoque Orientado a Objetos, usando un lenguaje de modelado, en este caso UML.

Horas Contacto. Modelar gráficamente la solución de problemas con un enfoque Orientado a Objetos, usando un lenguaje de modelado, en este caso UML. FACULTAD DE INGENIERIA DEPARTAMENTO DE INGENIERIA DE SISTEMAS Nombre de la asignatura (Curso) Código de la asignatura (ID Curso) Análisis y Diseño Orientado a Objetos 4183 Fecha de Actualización Enero

Más detalles

Introducción a la Programación de Videojuegos y Gráficos

Introducción a la Programación de Videojuegos y Gráficos Introducción a la Programación de Videojuegos y Gráficos GRADO EN INGENIERÍA INFORMÁTICA CURSO 2012/2013 T2: ARQUITECTURA Y LÓGICA DE VIDEOJUEGO 2.1. Ingeniería del software aplicada a videojuegos (paradigmas

Más detalles

PATRONES DE DISEÑO. FAVA - Formación en Ambientes Virtuales de Aprendizaje. SENA - Servicio Nacional de Aprendizaje

PATRONES DE DISEÑO. FAVA - Formación en Ambientes Virtuales de Aprendizaje. SENA - Servicio Nacional de Aprendizaje PATRONES DE DISEÑO 1. Generalidades 2. Patrones Gof 2.1. Patrones Creacionales 2.1.1.Fábrica Abstracta 2.1.2.Constructor 2.1.3.Método de Factoría 2.1.4.Prototipo 2.1.5.Singleton 2.2. Patrones Estructurales

Más detalles

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos.

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos. PROGRAMA DE CURSO Modelo 2009 DEPARTAMENTO: COMPUTACIÓN Y DISEÑO GRÁFICO NOMBRE DEL CURSO: Diseño de Software con Práctica Profesional CLAVE: 1013M ACADEMIA A LA QUE PERTENECE: Diseño de Software PROFESIONAL

Más detalles

Ingeniería del Software de Gestión II. Algunas notas sobre Patrones de Diseño Clásicos Curso 2004/2005

Ingeniería del Software de Gestión II. Algunas notas sobre Patrones de Diseño Clásicos Curso 2004/2005 Ingeniería del Software de Gestión II Algunas notas sobre Patrones de Diseño Clásicos Curso 2004/2005 Algunas notas sobre Patrones de Diseño Clásicos El Camino Qué es un Patrón de Diseño (PD) Qué no es

Más detalles

Programación 4. Diseño Patrones de Diseño

Programación 4. Diseño Patrones de Diseño Programación 4 Diseño Patrones de Diseño Contenido Introducción Patrones de Diseño Singleton Composite State Observer Programación 4 Diseño: Patrones de Diseño www.fing.edu.uy/inco/cursos/prog4 2012 2

Más detalles

Arquitectura de Software: Estilos y Patrones

Arquitectura de Software: Estilos y Patrones Arquitectura de Software: Estilos y Patrones APU. Adriana Sandra Almeira APU. Vanina Perez Cavenago Directora: Mg. Zulema Beatriz Rosanigo Tesina presentada a la Facultad de Ingeniería de la Universidad

Más detalles

Tema 3 - Principios de diseño Ingeniería del Software de Gestión II Grupo de Ingeniería del Software

Tema 3 - Principios de diseño Ingeniería del Software de Gestión II Grupo de Ingeniería del Software escuela técnica superior de ingeniería informática Tema 3 - Principios de diseño Ingeniería del Software de Gestión II Grupo de Ingeniería del Software Dónde estamos Conocemos La importancia de hacer desarrollos

Más detalles

Especialista en Struts y Patrones del Diseño

Especialista en Struts y Patrones del Diseño titulación de formación continua bonificada expedida por el instituto europeo de estudios empresariales Especialista en Struts y Patrones del Diseño duración total: 200 horas 100 horas horas teleformación:

Más detalles

TRABAJO DE DIPLOMA CÓDIGO DE MATERIA 29

TRABAJO DE DIPLOMA CÓDIGO DE MATERIA 29 TRABAJO DE DIPLOMA CÓDIGO DE MATERIA 29 Titular: Dario Guillermo Cardacci FACULTAD DE TECNOLOGÍA INFORMÁTICA UNIVERSIDAD ABIERTA INTERAMERICANA 1 ÍNDICE GUÍA DE TRABAJOS REVISIÓN CONCEPTUAL... 3 GUÍA DE

Más detalles

Diseño de Software Basado en Patrones. César Julio Bustacara M.

Diseño de Software Basado en Patrones. César Julio Bustacara M. Diseño de Software Basado en Patrones César Julio Bustacara M. Patrones de Diseño Introducción Las Tecnologías Orientadas a Objetos son las más utilizadas en los últimos años para el desarrollo de aplicaciones

Más detalles

ESCUELA POLITÉCNICA NACIONAL

ESCUELA POLITÉCNICA NACIONAL ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA EN SISTEMAS GUÍA PRÁCTICA PARA EL USO DE PATRONES DE DISEÑO EN EL DESARROLLO DE SOFTWARE PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN SISTEMAS

Más detalles

Capítulo 17 Modelo de Diseño: realización de los casos de uso con los patrones GRASP

Capítulo 17 Modelo de Diseño: realización de los casos de uso con los patrones GRASP Capítulo 17 Modelo de Diseño: realización de los casos de uso con los patrones GRASP UML y Patrones Una introducción al análisis y diseño orientado a objetos y al proceso unificado Craig Larman 2ª Edición

Más detalles

SILABO DEL CURSO DISEÑO DE SOFTWARE 1. DATOS GENERALES

SILABO DEL CURSO DISEÑO DE SOFTWARE 1. DATOS GENERALES SILABO DEL CURSO DISEÑO DE SOFTWARE 1. DATOS GENERALES 1.1. Facultad : Ingeniería 1.2. Carrera Profesional : Ingeniería de Sistemas 1.3. Departamento : Ingeniería de Sistemas 1.4. Tipo de Curso : Obligatorio

Más detalles

Diseño Basado en Componentes. Curso 2008/09

Diseño Basado en Componentes. Curso 2008/09 Tabla de contenidos Diseño Basado en Componentes Técnicas relacionadas con Reutilización Introducción: por qué reutilizar?, qué reutilizar? Técnicas: Ingeniería de dominios Líneas de productos (Product-lines)

Más detalles

Arquitectura de Software

Arquitectura de Software Arquitectura de Software Ing. Gustavo Andrés Brey Ing. Nicolas Passerini 2005 Agenda # 1 2 3 4 5 Tema Introducción Ciclo de Vida Estructuras y Vistas Arquitectónicas Break y TPs Influencias y Entradas

Más detalles

Instructivo para la elaboración de un Manual Técnico

Instructivo para la elaboración de un Manual Técnico Instructivo para la elaboración de un Manual Técnico Autora: Ing. Alena González Reyes. (agonzalez@ceis.cujae.edu.cu) Ciudad de la Habana, Cuba Marzo, 2010 Índice 1. Introducción... 3 2. Confección...

Más detalles

Contenido del curso. Arquitectura de Software III: Elaboración. III: Elaboración. Estilos y patrones. Estilos y patrones. Estilos de arquitectura

Contenido del curso. Arquitectura de Software III: Elaboración. III: Elaboración. Estilos y patrones. Estilos y patrones. Estilos de arquitectura Arquitectura de Software III: Elaboración Hernán Astudillo Departamento de Informática Universidad Técnica Federico Santa María Contenido del curso Introducción, motivación y contexto

Más detalles

Programa Regular. Metodologías de programación I. Ingeniería en Informática. Ciclo lectivo: Docente/s: Coordinador: Dr. Lic.

Programa Regular. Metodologías de programación I. Ingeniería en Informática. Ciclo lectivo: Docente/s: Coordinador: Dr. Lic. Programa Regular Nota: para un adecuado ordenamiento y estandarización de los programas se sugiere respetarla denominación de cada ítem indicado a continuación, a fin de unificar criterios en la presentación

Más detalles

UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES

UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES Carrera: Tecnicatura universitaria en programación de sistemas Materia: Programación III Curso: 2 año Curso lectivo:

Más detalles

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD INGENIERÍA PROYECTO CURRICULAR MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD INGENIERÍA PROYECTO CURRICULAR MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD INGENIERÍA PROYECTO CURRICULAR MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES SYLLABUS INGENIERÍA DE SOFTWARE NOMBRE DEL DOCENTE: HENRY

Más detalles

1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos.

1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos. UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Computación y Programación 2 CODIGO: 771 CREDITOS: 5 ESCUELA: Ciencias y Sistemas AREA A LA QUE PERTENECE:

Más detalles

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque: Análisis y Diseño O.O. Preguntas del diseño : Cómo podrían asignarse responsabilidades a las clases de los objetos? Cómo podrían interactuar los objetos? Qué deberían hacer las clases? Patrones : Ciertas

Más detalles

Ingeniería del software I Patrones de Diseño

Ingeniería del software I Patrones de Diseño Qué es un Patrón de Diseño? Ingeniería del software I Patrones de Diseño Los patrones de diseño capturan soluciones a problemas particulares de diseño. abstraen estructuras de diseño recurrentes Incorporan

Más detalles

Creación de Soluciones usando Patrones

Creación de Soluciones usando Patrones Carlos Bittrich IBM Certified I/T Architect bittrich@pe.ibm.com Agenda Qué son Patrones? Patterns for e-business 2 Qué son Patrones? Wikipedia.org Modelo con el que se fabrican otros objetos. Los patrones

Más detalles

DISEÑO DE APLICACIONES ORIENTADAS A OBJETOS

DISEÑO DE APLICACIONES ORIENTADAS A OBJETOS ASIGNATURA DE GRADO: DISEÑO DE APLICACIONES ORIENTADAS A OBJETOS Curso 2015/2016 (Código:71022011) 1.PRESENTACIÓN DE LA ASIGNATURA El objetivo de esta guía es orientar al alumno en el estudio de la asignatura.

Más detalles

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño El diseño se define como la búsqueda de una solución en cualquier campo, sin embargo las soluciones no llegan de una manera simple, muchas veces realizamos

Más detalles

Tema 6. Patrones de diseño.

Tema 6. Patrones de diseño. Ingeniería del Software II 2011 Tema 6. Patrones de diseño. Introducción. Durante el diseño Orientado a Objetos es frecuente encontrarse repetidamente con ciertos tipos de problemas, para analizar, compartir

Más detalles

Especialista en Struts y Patrones del Diseño

Especialista en Struts y Patrones del Diseño Titulación certificada por EUROINNOVA BUSINESS SCHOOL Especialista en Struts y Patrones del Diseño Especialista en Struts y Patrones del Diseño Duración: 200 horas Precio: 189 * Modalidad: Online * Materiales

Más detalles

Diseño y Evaluación de Arquitecturas de Software. Estilos Arquitectónicos

Diseño y Evaluación de Arquitecturas de Software. Estilos Arquitectónicos Diseño y Evaluación de Arquitecturas de Software Estilos Arquitectónicos César Julio Bustacara Medina Facultad de Ingeniería Pontificia Universidad Javeriana 21/08/2015 1 Concepto de patrón Una solución

Más detalles

Unified modeling language

Unified modeling language Unified modeling language UML es un lenguaje para la especificación, visualización, construcción y documentación de documentos de sistemas de software. Es independiente del lenguaje de implementación y

Más detalles

PHP Laravel. Programa de Estudio.

PHP Laravel. Programa de Estudio. PHP Laravel Programa de Estudio PHP Laravel Aprende a desarrollar aplicaciones PHP con Laravel. Domina los principales patrones de diseño y desarrolla aplicaciones con el patrón MVC. Conviértete en un

Más detalles

Arquitecturas Software. Arquitecturas Software. Arquitecturas Software. Juan José Moreno Navarro. Motivación: Idea principal: Características:

Arquitecturas Software. Arquitecturas Software. Arquitecturas Software. Juan José Moreno Navarro. Motivación: Idea principal: Características: Arquitecturas Software Juan José Moreno Navarro (Curso de Software basado en Componentes, junto a Lars-Ake Fredlund) Arquitecturas Software Motivación: Complejidad creciente de aplicaciones. Sistemas distribuidos

Más detalles

Capítulo 22. Herramientas UML y UML como un plano.

Capítulo 22. Herramientas UML y UML como un plano. Capítulo 22. Herramientas UML y UML como un plano. Miguel RDZ. GUILLÉN CINVESTAV-Tamaulipas 22 de Oct del 2012 Miguel RDZ. GUILLÉN (CINVESTAV) 22 de Oct del 2012 1 / 65 1 Capítulo 22. Herramientas UML

Más detalles

Interacción Persona - Ordenador

Interacción Persona - Ordenador Interacción Persona - Ordenador Diseño de la interfaz en la Ingeniería del Software Dr. Pedro Latorre Dra. Sandra Baldassarri Dra. Eva Cerezo Ingeniería del Software Ingeniería del Software: Definición

Más detalles

TRABAJO PRÁCTICO 7: OBJETOS

TRABAJO PRÁCTICO 7: OBJETOS TEORÍA TRABAJO PRÁCTICO 7: OBJETOS Qué son los métodos Orientados a Objetos? Los métodos OO proveen un conjunto de técnicas para analizar, descomponer y modularizar arquitecturas de software. Se caracterizan

Más detalles

Asignatura: Metodologías, Desarrollo y Calidad en la Ingeniería de Software. Contenidos: Competencias 1 : Cuatrimestre: 1º ECTS: 6 Carácter: OB

Asignatura: Metodologías, Desarrollo y Calidad en la Ingeniería de Software. Contenidos: Competencias 1 : Cuatrimestre: 1º ECTS: 6 Carácter: OB Asignatura: Metodologías, Desarrollo y Calidad en la Ingeniería de Software Cuatrimestre: 1º ECTS: 6 Carácter: OB Contenidos: ID C1 C2 C3 C4 C5 Descripción Ingeniería de Software avanzada, OO, componentes

Más detalles

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE Ing. Francisco Rodríguez Novoa Tema 7 Modelo de Análisis Ing. Francisco Rodríguez Rational Unified Process (RUP) 3 OBJETIVOS Conocer que el Análisis ve

Más detalles

Objetivo Las personas que realicen el curso aprenderán a:

Objetivo Las personas que realicen el curso aprenderán a: Objetivo Las personas que realicen el curso aprenderán a: Describir el proceso de desarrollo de software orientado a objetos, lo que incluye las metodologías y los flujos de trabajo de la programación

Más detalles

Patrones de Diseño. M.C. Juan Carlos Olivares Rojas

Patrones de Diseño. M.C. Juan Carlos Olivares Rojas Patrones de Diseño M.C. Juan Carlos Olivares Rojas Patrones de Diseño Son principios generales de soluciones que aplican ciertos estilos que ayudan a la creación de software. Es una descripción de un problema

Más detalles

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN HOJA DE ASIGNATURA CON DESGLOSE DE UNIDADES TEMÁTICAS 1. Nombre de la asignatura Introducción al análisis y diseño de sistemas.

Más detalles

A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013

A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013 Tema 3: Diseño A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013 Índice 1.- Introducción El rol del diseño en el CV Artefactos a conseguir durante el flujo de trabajo del diseño Decisiones de diseño

Más detalles

ASIGNATURA: Ingeniería de software II DOCENTE: Licda.Carla Milagro López Vásquez RESPONSABLE: Rodolfo Alberto Palma Ramos CARRERA:

ASIGNATURA: Ingeniería de software II DOCENTE: Licda.Carla Milagro López Vásquez RESPONSABLE: Rodolfo Alberto Palma Ramos CARRERA: UNIDAD 04: PATRONES DE DISEÑO WEB. ASIGNATURA: Ingeniería de software II DOCENTE: Licda.Carla Milagro López Vásquez RESPONSABLE: Rodolfo Alberto Palma Ramos CARRERA: Técnico en Ingeniería en Sistemas y

Más detalles

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Disciplinaria Unidad académica: Programación Orientada a Objetos Ubicación: Cuarto Semestre Clave: 2087 Horas

Más detalles

Estilos Arquitectónicos

Estilos Arquitectónicos Estilos Arquitectónicos Lic. Gastón Coco Ing. Gustavo A. Brey Ing. Juan M. Arias Ing. Jorge García Ing. Santiago Blanco Ing. Fabián Pezet Vila Ing. Ariel Cassan 2005 Agenda # Tema Duración 1 Que es un

Más detalles

Federico Peinado

Federico Peinado Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es

Más detalles

Grado en Ingeniería Informática itinerario Ingeniería del Software

Grado en Ingeniería Informática itinerario Ingeniería del Software CURSO 2016/2017 Grado en Ingeniería Informática itinerario Ingeniería del Software DATOS DE LA ASIGNATURA Nombre: Arquitectura del Software Dirigida por Modelos Denominación en inglés: Model Driven Architecture

Más detalles

Ingeniería del Software

Ingeniería del Software Tema 6: Dr. Francisco José García Peñalvo (fgarcia@usal.es) Miguel Ángel Conde González (mconde@usal.es) Sergio Bravo Martín (ser@usal.es) 3º I.T.I.S. Fecha de última modificación: 16-10-2008 Universidad

Más detalles

Cambios en Ingeniería de Software

Cambios en Ingeniería de Software Cambios en Ingeniería de Software Material tomado del artículo de Casallas Rubby, Villalobos, Jorge. El actual ingeniero de Software. Revista ACIS. Edición Nº 93 Julio - Septiembre de 2005. Preparado por

Más detalles

Patrones de Diseño. Creado por: Javier Garzás Actualizado por: Santiago Moral

Patrones de Diseño. Creado por: Javier Garzás Actualizado por: Santiago Moral Patrones de Diseño Creado por: Javier Garzás Actualizado por: Santiago Moral (santiago.moral@urjc.es) Patrones, primer ejemplo Primer ejemplo Caso práctico: el (típico) videoclub Se pretende diseñar el

Más detalles

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERIA EAP INGENIERIA INFORMATICA CICLO ACADEMICO 2003 II SILABO

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERIA EAP INGENIERIA INFORMATICA CICLO ACADEMICO 2003 II SILABO UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERIA EAP INGENIERIA INFORMATICA CICLO ACADEMICO 2003 II SILABO 1. INFORMACION GENERAL 1.01. Nombre de la Asignatura : Diseño de Sistemas de Información 1.02.

Más detalles

Validación de Patrones de Diseño de Comportamiento a través de Perfiles UML

Validación de Patrones de Diseño de Comportamiento a través de Perfiles UML Validación de Patrones de Diseño de Comportamiento a través de Perfiles UML 1 INDICE GENERAL CAPITULO I... 4 Especificación de Patrones de Diseño... 4 1.1 Patrones de diseño... 4 1.1.1 Concepto... 4 1.1.2

Más detalles

UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso

UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso Los sistemas orientados a objetos describen las entidades como objetos. Los objetos son parte de un concepto general denominado clases.

Más detalles

octubre de 2007 Arquitectura de Software

octubre de 2007 Arquitectura de Software octubre de 2007 Arquitectura de Software Seis mejores Prácticas Desarrollo Iterativo Administrar Requerimientos Usar Arquitecturas basadas en Componentes Modelado Visual (UML) Verificar Continuamente la

Más detalles

Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A

Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L É N M E L I Á N BAT I STA J O S É MARCOS M O R

Más detalles

ASISTENTES: De acuerdo a la lista adjunta.

ASISTENTES: De acuerdo a la lista adjunta. Correlativo: CTIC-DS-06/2016 Fecha: 12/08/2016 Página: 1/5 ASISTENTES: De acuerdo a la lista adjunta. AGENDA DE TRABAJO: - Revisión de los acuerdos y compromisos de la reunión anterior - Revisión de las

Más detalles

Diagramas De Casos De Uso

Diagramas De Casos De Uso Estáticos Diagramas De Casos De Uso Los diagramas de casos de uso documentan el comportamiento de un sistema desde el punto de vista del usuario.. Por lo tanto los casos de uso determinan los requisitos

Más detalles

Introducción histórica

Introducción histórica Mario González Agenda Introducción histórica Qué es la arquitectura de software? Arquitectura y sus efectos en los Stakeholders Estructuras arquitectónicas Vista lógica Vista de código Vista de desarrollo

Más detalles

12/08/2017. Casos de uso. Casos de uso. Casos de uso. Casos de uso

12/08/2017. Casos de uso. Casos de uso. Casos de uso. Casos de uso ICI3242 Modelamiento de sistemas de software Escuela de Ingeniería Informática Pontificia Universidad Católica de Valparaíso Los Casos de Uso (Jacobson) describen bajo la forma de acciones y reacciones

Más detalles

Análisis de Patrones de Software y su aplicación en un Framework de Desarrollo utilizando plataforma.net

Análisis de Patrones de Software y su aplicación en un Framework de Desarrollo utilizando plataforma.net ESCUELA POLITÉCNICA DEL EJÉRCITO Departamento de Ciencias de la Computación Carrera de Ingeniería en Sistemas e Informática Análisis de Patrones de Software y su aplicación en un Framework de Desarrollo

Más detalles

Diagrama de Clases I: asociaciones

Diagrama de Clases I: asociaciones Programación Orientada a Objetos Diagrama de Clases I: asociaciones Ing. Julio Ernesto Carreño Vargas MsC. Concepto de diagrama de clases Modelo de Dominio Un modelo conceptual explica los conceptos más

Más detalles

Patrones de Diseño GOF (The Gang of Four) en el contexto de Procesos de Desarrollo de Aplicaciones Orientadas a la Web

Patrones de Diseño GOF (The Gang of Four) en el contexto de Procesos de Desarrollo de Aplicaciones Orientadas a la Web Información Tecnológica Patrones Vol. 24(3), de 103-114 Diseño GOF (2013) (The Gang of Four) en el contexto de Procesos doi: 10.4067/S0718-07642013000300012 Patrones de Diseño GOF (The Gang of Four) en

Más detalles

Diplomado Programación orientada a objetos con C++ y UML. Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

PATRONES DE DISEÑO FRAMEWORKS

PATRONES DE DISEÑO FRAMEWORKS PATRONES DE FRAMEWORKS Definiciones Finalidades Características Diseño de software basado en patrones Descripción Utilización de los patrones en el diseño Clasificación FRAMEWORKS Basado en la reutilización

Más detalles

Redalyc. Giraldo G., Gloria L.; Acevedo O., Juan F.; Moreno N., David A.

Redalyc. Giraldo G., Gloria L.; Acevedo O., Juan F.; Moreno N., David A. Redalyc Sistema de Información Científica Red de Revistas Científicas de América Latina, el Caribe, España y Portugal Giraldo G., Gloria L.; Acevedo O., Juan F.; Moreno N., David A. Una ontología para

Más detalles