Específicamente los elementos de un patrón de diseño son [ 3 ] :

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

Download "Específicamente los elementos de un patrón de diseño son [ 3 ] :"

Transcripción

1 Patrones de Diseño Marco Teórico Introductorio Diego Andrés Asenjo González Alejandro Ríos Peña Contenido Qué son los patrones de Diseño?...1 Clasificación de los patrones de diseño...3 Patrones de Creación Patrones Estructurales...4 Patrones de Comportamiento...5 Qué son los patrones de Diseño? Los patrones de diseño son herramientas que proveen facilidades para hacer software reutilizable y de buena calidad. Cada patrón describe un problema que ocurre repetidamente en nuestro entorno, y describe el núcleo de la solución a ese problema, de tal forma que ésta pueda ser usada un millón de veces, sin hacer el mismo trabajo dos veces [ 1 ]. Esto sucede porque los diseñadores expertos en orientación a objetos (y también otros diseñadores de software ) van formando un amplio repertorio de principios generales y de expresiones que los guían al crear el software. A unos y a otros podemos darles el nombre de patrones si se codifican en un formato estructurado que describe el problema y su solución, y si se les asigna un nombre [ 2 ]. Otra definición, bastante simple, dice que un patrón es una pareja de problema / solución con un nombre y que es aplicable a otros contextos, con una sugerencia sobre la manera de usarlo en situaciones nuevas [ 2 ]. Específicamente los elementos de un patrón de diseño son [ 3 ] : o El nombre del patrón que se utiliza para describir el problema y la solución en una o dos palabras. Un buen nombre permite diseñar con un mayor grado de abstracción y mejora también los procesos de comunicación entre los diseñadores de software orientado a objetos. o El problema especifica cuando debe ser aplicado un patrón. Explica el problema y su contexto. Puede representar problemas específicos diseño tales como cómo representar algoritmos por medio de objetos. Puede describir estructuras de clases u objetos que repetidamente son causantes de diseños inflexibles. Algunas veces el problema puede incluir una lista de

2 condiciones que deben cumplirse para que sea lógico aplicar el patrón. o La solución describe los elementos que hacen el diseño, sus relaciones, responsabilidades y colaboraciones, la solución no describe un diseño o una implementación particular, ya que un patrón es como un molde que puede ser aplicado en muchas situaciones diferentes. En vez de esto, los patrones proveen una descripción abstracta de un problema y de cómo un arreglo especial de elementos lo resuelven. o Las consecuencias son los resultados de aplicar el patrón. Aunque la consecuencias no son comúnmente comentadas o conocidas durante las decisiones de diseño, son críticas para evaluar las alternativas y para entender los costos y beneficios de aplicar el patrón. Después de haber definido lo que son los patrones de diseño podemos nombrar ciertas características básicas de ellos [ 4 ]: o Son soluciones concretas. Proponen soluciones a problemas concretos, no son teorías genéricas. o Son soluciones técnicas. Indican resoluciones técnicas basadas en Programación Orientada a Objetos (POO). En ocasiones tienen más utilidad con algunos lenguajes de programación y en otras son aplicables a cualquier lenguaje. o Se utilizan en situaciones frecuentes. Ya que se basan en la experiencia acumulada la resolver problemas reiterativos. o Favorecen la reutilización de código. Ayudan a construir software basado en la reutilización, a construir clases reutilizables. Los propios patrones se reutilizan cada vez que se vuelven a aplicar. o El uso de un patrón no se refleja en el código. Al aplicar un patrón, el código resultante no tiene por que delatar el patrón o patrones que lo inspiró. No obstante últimamente hay múltiples esfuerzos enfocados a la construcción de herramientas de desarrollo basados en los patrones y frecuentemente se incluye en los nombres de las clases el nombre del patrón en que se basan facilitando así la comunicación entre desarrolladores. o Es difícil reutilizar la implementación de un patrón. Al aplicar un patrón aparecen clases concretas que solucionan un problema concreto y que no será aplicable a otros problemas que requieran el mismo patrón.

3 Clasificación de los patrones de diseño Los patrones de diseño se clasifican según su propósito en [ 4 ]: o Patrones de Creación: Tratan la creación de instancias. o Patrones Estructurales: Tratan la relación entre clases, la combinación clases y la formación de estructuras de mayor complejidad. o Patrones de Comportamiento: Tratan la interacción y cooperación entre clases Los patrones de diseño se pueden clasificar según su ámbito [4]: o De clase: Basados en la herencia de clases. o De objeto: Basados en la utilización dinámica de objetos. Además de esta clasificación de los patrones, podemos decir que existen patrones diferentes a los patrones de diseño tales como: o Patrones de Arquitectura. Formas de descomponer, conectar y relacionar sistemas, trata conceptos como: niveles, tuberías y filtros. Es un nivel de abstracción mayor que el de los Patrones de Diseño. o Patrones de Programación (Idioms). Patrones de bajo nivel acerca de un lenguaje de programación concreto, describen como implementar cuestiones concretas. Están en un nivel de abstracción menor que los patrones de diseño. o Patrones de Análisis. Conjunto de reglas que permiten modelar un sistema de forma satisfactoria. o Patrones de Organizacionales. Describen como organizar grupos humanos, generalmente relacionados con el software. o Otros Patrones de Software. Se puede hablar de patrones de Programación concurrente, de Interfaz Gráfica, de Organización de Código, de Optimización de Código, de Robustez de Código, de Fase de Prueba o Patrones de Asignación de Responsabilidades: describen los principios fundamentales de la asignación de responsabilidades a objetos, expresados en forma de patrones de diseño. o Antipatrones: tratan de, en vez de identificar soluciones, identificar problemas o trampas comunes

4 que se presentan en muchos diseños con el objetivo de que el mismo error no sea cometido dos veces. Patrones de Creación [4] Los patrones de creación abstraen la forma en que se crean los objetos, de forma que permite tratar las clases a crear de forma genérica apartando la decisión de qué clases crear o como crearlas. Según a donde quede desplazada dicha decisión se habla de Patrones de Clase (utiliza la herencia para determinar la creación de las instancias, es decir en los constructores de las clases) o Patrones de Objeto (es en métodos de los objetos creados donde se modifica la clase). Los patrones de Creación proveen diferentes maneras para remover las referencias explicitas a clases concretas del código donde deben ser utilizadas. Patrones de Creación de Clase: o Factoría Abstracta o Constructor Patrones de Creación de Objeto: o Método Factoría o Prototipo o Singleton o Conjunto de Objetos Patrones Estructurales [ 3 ] Los patrones estructurales tienen que ver con la forma en que las clases y los objetos son agrupados para formar grandes estructuras. Los patrones estructurales de clase usan la herencia para formar interfaces o implementaciones. Los patrones estructurales de objeto describen formas de agrupar objetos para dar o crear nuevas funcionalidades. Patrones Estructurales de Clase: o Herencia Múltiple o Adaptador de Clases Patrones Estructurales de Objeto: o Adaptador de Clase o Puente o Compuesto o Decorador o Fachada o Flyweigth

5 o Proxy Patrones de Comportamiento [ 3 ] Los patrones de comportamiento están relacionados con los algoritmos y con la asignación de responsabilidades entre los objetos. Los patrones de comportamiento no describen sólo patrones de clases y de objetos, sino que describen los patrones de cómo éstos se comunican. Éstos patrones caracterizan complicados flujos de control que son difíciles de seguir o imaginar en tiempo de ejecución. Los principales patrones de comportamiento son: o Experto o Comando o Interprete o Iterador o Mediador o Memento o Observador o Estado o Estrategia o Plantilla o Visitante o Vista / Controlador Referencias [ 1 ] Christopher Alexander. [ 2 ] UML y Patrones Craig Larman [ 3 ] Design Patterns Elements of Reusable Object-Oriented Software [ 4 ] Guía de Patrones.

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

Capitulo 2. Marco Teórico

Capitulo 2. Marco Teórico Capitulo 2. Marco Teórico En el presente capítulo se describirán los conceptos utilizados para el desarrollo de ésta tesis. Entre los conceptos a mencionar se encuentran Patrones de Diseño, los Principios

Más detalles

Patrones de Diseño. Ing. Miguel Angel Cedeño Garcidueñas

Patrones de Diseño. Ing. Miguel Angel Cedeño Garcidueñas Patrones de Diseño Ing. Miguel Angel Cedeño Garcidueñas miguelcedega@correo.fie.umich.mx Patrones de Diseño Diseñar software orientado a objetos es difícil, pero diseñar software orientado a objetos reutilizable

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

Patrones de Diseño. (...o bien, que tiene que ver la costura con el software...) Universidad de los Andes Demián Gutierrez Marzo

Patrones de Diseño. (...o bien, que tiene que ver la costura con el software...) Universidad de los Andes Demián Gutierrez Marzo Patrones de Diseño (...o bien, que tiene que ver la costura con el software...) Universidad de los Andes Demián Gutierrez Marzo 2010 1 Diseño Arquitectónico Diseño Arquitectónico Arquitectura del Software

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

DIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE GLORIA CECILIA RÍOS MUÑOZ

DIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE GLORIA CECILIA RÍOS MUÑOZ DIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE 10 GLORIA CECILIA RÍOS MUÑOZ INSTITUCIÓN EDUCATIVA GABRIEL GARCÍA MÁRQUEZ MEDELLÍN 2013 DIAGRAMAS Un diagrama es una representación

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. INFORMACIÓN GENERAL

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

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

PROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies.

PROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies. Código CC3002 Nombre Nombre en Inglés PROGRAMA DE CURSO Metodologías de Diseño y Programación Design and Programming Methodologies SCT es Docentes Horas de Cátedra Horas Docencia Auxiliar Horas de Trabajo

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

Julio Ariel Hurtado Alegría. 8 de abril de 2013

Julio Ariel Hurtado Alegría. 8 de abril de 2013 Julio Ariel Hurtado Alegría 8 de abril de 2013 Julio A. Hurtado A. Universidad del Cauca 1 / 40 Contenido Introducción Julio A. Hurtado A. Universidad del Cauca 2 / 40 La vida real está llena de esquemas

Más detalles

Patrones de Diseño Orientados a Objetos

Patrones de Diseño Orientados a Objetos Patrones de Diseño Orientados a Objetos Idea detrás del Diseño de Patrones "...describa un problema que sucede una y otra vez en nuestro entorno, y luego describa el núcleo de la solución a ese problema,

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

Patrones de Diseño Orientados a Objetos 1 Parte

Patrones de Diseño Orientados a Objetos 1 Parte Patrones de Diseño Orientados a Objetos 1 Parte Idea detrás del Diseño de Patrones "...describa un problema que sucede una y otra vez en nuestro entorno, y luego describa el núcleo de la solución a ese

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

Diseño de la Arquitectura Lógica con Patrones. mayo de 2008

Diseño de la Arquitectura Lógica con Patrones. mayo de 2008 Diseño de la Arquitectura Lógica con Patrones mayo de 2008 Agenda Definición de Arquitectura Dimensiones de Arquitectura Categorías de Patrones Patrón de Arquitectura Organización de Paquetes Análisis

Más detalles

PROGRAMA DE CURSO. Horas de Trabajo Personal Horas de Cátedra

PROGRAMA DE CURSO. Horas de Trabajo Personal Horas de Cátedra PROGRAMA DE CURSO Código Nombre CC3002 Metodologías de Diseño y Programación Nombre en Inglés Design and programming methodologies SCT Unidades Docentes Horas de Cátedra Horas Docencia Auxiliar Horas de

Más detalles

Alumnos BAJO ACOPLAMIENTO Y ALTA COHESION. Un patrón intenta codificar el conocimiento, expresiones y los principios existentes.

Alumnos BAJO ACOPLAMIENTO Y ALTA COHESION. Un patrón intenta codificar el conocimiento, expresiones y los principios existentes. Alumnos Laguna Montes jose Israel Mendoza pona Diego Nina Layme Ronald Valdez Diaz Luis PATRÓNES DE DISEÑO BAJO ACOPLAMIENTO Y ALTA COHESION Qué es un Patrón? En la tecnología de objetos un Patrón es una

Más detalles

PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype

PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype PATRONES DE DISEÑO DE CREACIÓN Abstract Factory Builder Factory Method Prototype Patrones de diseño de creación Abstraen el proceso de creación de instancias Encapsulan el conocimiento sobre las clases

Más detalles

TECNOLOGICO ECOMUNDO FACULTAD DE SISTEMAS PROGRAMA ANALITICO

TECNOLOGICO ECOMUNDO FACULTAD DE SISTEMAS PROGRAMA ANALITICO TECNOLOGICO ECOMUNDO FACULTAD DE SISTEMAS PROGRAMA ANALITICO Materia: Análisis y Diseño OO Código: COM Créditos: Horas Presenciales: 36 Horas no Presenciales: 72 Pre- Requisito: Ninguno Código: Periodo

Más detalles

Conceptos Básicos. Programación Orientada a Objetos 2

Conceptos Básicos. Programación Orientada a Objetos 2 Programación Orientada a Objetos Conceptos Básicos de Objetos Ing. Julio Ernesto Carreño Vargas MsC. Conceptos Básicos Las aproximaciones ADOO y POO, proveen a los objetos como el principal medio para

Más detalles

diseño de software Ingeniería en Sistemas Computacionales Clave de la asignatura: (Créditos) SATCA

diseño de software Ingeniería en Sistemas Computacionales Clave de la asignatura: (Créditos) SATCA 1. DATOS DE LA ASIGNATURA Nombre de la asignatura: Estilos y Patrones de arquitectura y de diseño de software Carrera: Ingeniería en Sistemas Computacionales Clave de la asignatura: ARC 1305 (Créditos)

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

Introducción a OOP. Programación Orientada a Objeto

Introducción a OOP. Programación Orientada a Objeto Introducción a OOP Programación Orientada a Objeto Evolución Programación no Estructurada, Programación procedimental, Programación modular y Programación orientada a objetos. Programación no Estructurada

Más detalles

ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS

ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS OBJETIVOS GENERALES Analizar, Diseñar e Implementar Sistemas Computacionales utilizando el Paradigma de la Orientación a Objetos a través del conocimiento de su sustentación

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos PROGRAMACIÓN ORIENTADA A OBJETOS 1 Sesión No. 8 Nombre: El Modelo de diseño con UML Contextualización Los modelos que podemos crear con UML son varios, por lo que debemos

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. INFORMACIÓN GENERAL

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

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

Guía práctica de estudio 09: UML

Guía práctica de estudio 09: UML Guía práctica de estudio 09: Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 09: Guía práctica de estudio

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 ORIENTADA A OBJETOS. Dr. Noé Alejandro Castro Sánchez

PROGRAMACIÓN ORIENTADA A OBJETOS. Dr. Noé Alejandro Castro Sánchez PROGRAMACIÓN ORIENTADA A OBJETOS Dr. Noé Alejandro Castro Sánchez Introducción Nueva filosofía para resolución de problemas: Descomposición de la realidad en objetos. Objetos: representación de entidades

Más detalles

Introducción a los Patrones de Diseño

Introducción a los Patrones de Diseño escuela técnica superior de ingeniería informática Introducción a los Patrones de Diseño Departamento de Lenguajes y Sistemas Informáticos Ingeniería del Software II El Camino Qué es un Patrón de Diseño

Más detalles

Tema 2. Casos de Uso 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

Tema 2. Casos de Uso 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 Tema 2. Casos de Uso 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 E N O

Más detalles

Programación Orientada a Objetos. Conceptos Básicos

Programación Orientada a Objetos. Conceptos Básicos Programación Orientada a Objetos Conceptos Básicos Programación Orientada a Objetos Paradigma de programación Un programa orientado a objetos está organizado como un conjunto de agentes en interacción

Más detalles

PROYECTO: Plataforma inalámbrica para alertar a los conductores de emergencias vehiculares

PROYECTO: Plataforma inalámbrica para alertar a los conductores de emergencias vehiculares PROYECTO: Plataforma inalámbrica para alertar a los conductores de emergencias vehiculares ACTIVIDAD.4.1 Realización del modelo del proceso para la creación de la plataforma Dra. María Eugenia Cabello

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

CC61J / CC Taller de UML Apuntes de Clase

CC61J / CC Taller de UML Apuntes de Clase CC61J / CC5404 - Taller de UML Apuntes de Clase Prof. Andrés Muñoz Ordenes 08/06/2011 Agenda Motivación Diseño del Problema Diagrama de Colaboración Conceptos Notación y Sintaxis Usos Ejemplo: Caja de

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

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE 1. INFORMACIÓN GENERAL

Más detalles

Implementación de Componentes

Implementación de Componentes Implementación de Componentes Concepto Un componente es una parte no trivial, casi independiente, y reemplazable de un sistema que llena claramente una funcionalidad dentro de un contexto en una arquitectura

Más detalles

Tipos Abstractos de Datos (TAD) Lección 1

Tipos Abstractos de Datos (TAD) Lección 1 Tipos Abstractos de Datos (TAD) Lección 1 Esquema Paradigmas de programación Definición de TAD Programación con TAD Ventajas de la programación con TAD Lectura recomendada: secciones 1.1 y 1.2 del libro

Más detalles

TEMA 6: INTRODUCCIÓN A UML

TEMA 6: INTRODUCCIÓN A UML TEMA 6: INTRODUCCIÓN A UML Por qué modelamos? El modelado es una parte central de todas las actividades que conducen a la producción de un software de calidad. Como tal la ingeniería software debe basarse

Más detalles

Iván Bernal, PhD 4. Aplicaciones. C, Basic, Fortran. Lenguaje Ensamblador. Hardware. Hardware

Iván Bernal, PhD 4. Aplicaciones. C, Basic, Fortran. Lenguaje Ensamblador. Hardware. Hardware Programación Orientada a Objetos Clase # 2 Introducción a la POO Jueves, 11 de Abril de 2002 Iván Bernal, Ph.D Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec Agenda Introducción al Diseño

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 2016/2017 (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

MODULO III. Análisis y Diseño de Sistemas de Información INF-162 III. RUP. 3.1 Introducción. Facilitador: Miguel Cotaña 26 de Abril

MODULO III. Análisis y Diseño de Sistemas de Información INF-162 III. RUP. 3.1 Introducción. Facilitador: Miguel Cotaña 26 de Abril MODULO III Análisis y Diseño de Sistemas de Información INF-162 III. RUP 3.1 Introducción Facilitador: Miguel Cotaña 26 de Abril 2010 1 INTRODUCCION Rational Unified Process (RUP o Proceso Racional Unificado),

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

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. 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 ORIETADA A OBJETOS

PROGRAMACIÓN ORIETADA A OBJETOS PROGRAMACIÓN ORIETADA A OBJETOS Categorías de PL Categorías Procedimental Declarativa Imperativa Estructurada Orientada a Objetos Funcional Lógica Programación Orientada a Objetos DATOS DATOS Métodos Métodos

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE 1. INFORMACIÓN GENERAL

Más detalles

ARQUITECTURAS DE SOFTWARE

ARQUITECTURAS DE SOFTWARE ARQUITECTURAS DE SOFTWARE 1. DEFINICIÓN: La arquitectura de software de un programa o de un sistema computacional está definida por la estructura, comprendida por los elementos de software, las propiedades

Más detalles

Introducción a los Patrones de Diseño de Software

Introducción a los Patrones de Diseño de Software Introducción a los Patrones de Diseño de Software Unidad 1 Patrones de Diseño de Software Introducción Diseño Orientado a Objetos El objetivo del Diseño Orientado a Objetos es resolver un problema No se

Más detalles

Introducción a los patrones de Software

Introducción a los patrones de Software 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

Más detalles

Programación Orientada a Objetos. Integrantes: Santiago Hernández Bolívar Edwin Alexander Bohórquez

Programación Orientada a Objetos. Integrantes: Santiago Hernández Bolívar Edwin Alexander Bohórquez Programación Orientada a Objetos Integrantes: Santiago Hernández Bolívar Edwin Alexander Bohórquez Tabla de Contenido Historia. Filosofía del paradigma. Conceptos claves. Ventajas y desventajas. Lenguajes

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

Tema 6: Principios de diseño orientado a objetos

Tema 6: Principios de diseño orientado a objetos Tema 6: Principios de diseño orientado a objetos Ingeniería de Telecomunicaciones Programación orientada a Objetos Marcos López Sanz Índice UML Características Breve historia Diagramas UML Diagrama de

Más detalles

DURACIÓN Y UBICACIÓN TEMPORAL DENTRO DEL PLAN DE ESTUDIOS

DURACIÓN Y UBICACIÓN TEMPORAL DENTRO DEL PLAN DE ESTUDIOS 5.3.2.7 FICHA DE LA MATERIA PROGRAMACIÓN DENOMINACIÓN DE LA MATERIA PROGRAMACIÓN MÓDULO AL QUE PERTENECE CRÉDITOS ECTS 30 CARÁCTER Obligatoria DURACIÓN Y UBICACIÓN TEMPORAL DENTRO DEL PLAN DE ESTUDIOS

Más detalles

Patrones de diseño. Reuso del desarrollo a nivel arquitectural. M. Telleria, L. Barros, J.M. Drake

Patrones de diseño. Reuso del desarrollo a nivel arquitectural. M. Telleria, L. Barros, J.M. Drake Patrones de diseño Reuso del desarrollo a nivel arquitectural 1 Patrones de diseño Soluciones de diseño que son válidas en distintos contextos y que han sido aplicadas con éxito en otras ocasiones. Se

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

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. INFORMACIÓN GENERAL

Más detalles

DATOS DE IDENTIFICACIÓN DEL CURSO Departamento de Ciencias Computacionales ACADEMIA A LA QUE PERTENECE: Técnicas Modernas de Programación

DATOS DE IDENTIFICACIÓN DEL CURSO Departamento de Ciencias Computacionales ACADEMIA A LA QUE PERTENECE: Técnicas Modernas de Programación DATOS DE IDENTIFICACIÓN DEL CURSO DEPARTAMENTO: Departamento de Ciencias Computacionales ACADEMIA A LA QUE PERTENECE: Técnicas Modernas de Programación NOMBRE DE LA MATERIA: Programación Orientada a Objetos

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. INFORMACIÓN GENERAL

Más detalles

Intuitivamente es el proceso que se trata de formular y evaluar una solución para un problema dado

Intuitivamente es el proceso que se trata de formular y evaluar una solución para un problema dado Unidad I Conceptos y principios del diseño (fcc) 1.1 El diseño del software e Ingeniería del software Concepto de diseño.- Proceso de aplicar distintas técnicas y principios con el propósito de definir

Más detalles

DISEÑAR APLIC I ACIO I N O ES 1

DISEÑAR APLIC I ACIO I N O ES 1 DISEÑAR APLICACIONES 1 El análisis y diseño de sistemas de software es un área amplia y compleja. En este capítulo se expone una pequeña introducción a la metodología de análisis y diseño. El estudio detallado

Más detalles

Híper introducción a Objetos

Híper introducción a Objetos Híper introducción a Objetos Herman Schinca Clase 27 y última! 1 de Julio de 2011 Paradigma de Objetos Al igual que Funcional, se trata de una filosofía, de un paradigma, no de un lenguaje particular.

Más detalles

Intención didáctica Éste programa de estudio se sugiere que contenga una parte teórica y práctica. Por tanto se diseñó cinco unidades.

Intención didáctica Éste programa de estudio se sugiere que contenga una parte teórica y práctica. Por tanto se diseñó cinco unidades. 1.- DATOS DE LA ASIGNATURA: Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas prácticacréditos: Lenguaje de Programación Ingeniería Mecatrónica SRD-1005 2-3 - 5 2.- PRESENTACIÓN

Más detalles

Patrones de Software para la Asignación de Responsabilidades

Patrones de Software para la Asignación de Responsabilidades Patrones de Software para la Asignación de Responsabilidades Unidad 2 Patrones de Diseño de Software Patrones Un patrón es una descripción de un problema y cómo resolverlo Descripción Escenario Solución

Más detalles

Presentación de la Asignatura.

Presentación de la Asignatura. INGENIERÍA DEL SOFTWARE I Tema 0 Presentación de la Asignatura www.ctr.unican.es/asignaturas/is1/ Profesorado Michael González Harbour (teoría, responsable asignatura) E-mail: mgh@unican.es Web: http://www.ctr.unican.es/

Más detalles

APLICACIONES MOVILES NATIVAS. Sesión 5: Objetos, mensajes y clases. Abstracción, encapsulamiento, herencia y polimorfismo

APLICACIONES MOVILES NATIVAS. Sesión 5: Objetos, mensajes y clases. Abstracción, encapsulamiento, herencia y polimorfismo APLICACIONES MOVILES NATIVAS Sesión 5: Objetos, mensajes y clases. Abstracción, encapsulamiento, herencia y polimorfismo Contextualización Los lenguajes de programación orientada a objetos tienen varios

Más detalles

DIPLOMADO EN JAVA JSE Y JEE

DIPLOMADO EN JAVA JSE Y JEE PIENSA EN TU FUTURO DIPLOMADO EN JAVA JSE Y JEE PREPARATE PARA SER ARQUITECTO DE SOFTWARE Presentación En la actualidad los diversos cambios a nivel de comercialización y desarrollo de software han tenido

Más detalles

Unidad V. UML. Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas.

Unidad V. UML. Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas. Unidad V. UML Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas Objetivos Conocer el modelo UML Utilizar el modelo UML como parte de la metodología

Más detalles

Introducción a la Ingeniería de Software

Introducción a la Ingeniería de Software Introducción a la Ingeniería de Software Diseño Software Engineering 7ed Addison Wesley Ian Sommerville Diseño Durante el diseño se refina la arquitectura El diseño es un plano de una solución para el

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

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos Teoría: Begoña Moros Valle Prácticas: Marcos Menárguez Tortosa Contenido Presentación contenido teórico Presentación contenido práctico Introducción a la Programación Orientada

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 2011/2012 (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

Fecha de elaboración: Julio de 2010 Fecha de última actualización:

Fecha de elaboración: Julio de 2010 Fecha de última actualización: PROGRAMA DE ESTUDIO Análisis y Diseño Orientado a Objetos Programa Educativo: Licenciatura en Ciencias Computacionales Sustantiva Área a la que pertenece : Horas teóricas: 2 Horas prácticas: 4 Total de

Más detalles

Introducción al Lenguaje "C++"

Introducción al Lenguaje C++ UNIDAD 2 Introducción al Lenguaje "C++" 1.- La programación Orientada a Objetos. La Programación Orientada a Objetos no es un concepto nuevo, data de hace unas dos decadas. El origen de la Programación

Más detalles

Lenguajes de Programación II

Lenguajes de Programación II Programa de la Asignatura: Lenguajes de Programación II Código: 749 Carrera: Ingeniería en Computación Plan: 2008 Carácter: Obligatoria Unidad Académica: Secretaría Académica Curso: Segundo Año Primer

Más detalles

Introducción a los Patrones de Diseño

Introducción a los Patrones de Diseño escuela técnica superior de ingeniería informática Introducción a los Patrones de Diseño Departamento de Lenguajes y Sistemas Informáticos Ingeniería del Software II El Camino Qué es un Patrón de Diseño

Más detalles

El lenguaje Unificado de Modelado (UML)

El lenguaje Unificado de Modelado (UML) El lenguaje Unificado de Modelado (UML) Enrique Hernández Orallo (ehernandez@disca.upv.es) Cualquier rama de ingeniería o arquitectura ha encontrado útil desde hace mucho tiempo la representación de los

Más detalles

Tecnología de Programación

Tecnología de Programación Tecnología de Programación Diego C. Martínez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Yo :) Diego C. Martínez dcm@cs.uns.edu.ar http://cs.uns.edu.ar/~dcm Departamento

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

4/15/2010. Requerimientos de Software UARG.UNPA Requerimientos de Software. Requerimientos de Software

4/15/2010. Requerimientos de Software UARG.UNPA Requerimientos de Software. Requerimientos de Software UARG.UNPA 2009 Un caso de uso es una interacción típica entre un usuario y un sistema computacional.(fowler) Un caso de uso especifica el comportamiento deseado del sistema (objetivos del usuario). (Jacobson)

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

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

INGENIERÍA DEL SOFTWARE

INGENIERÍA DEL SOFTWARE INGENIERÍA DEL SOFTWARE Sesión No. 7 Nombre: Lenguaje unificado de modelado UML INGENIERÍA DEL SOFTWARE 1 Contextualización Por qué utilizar un lenguaje unificado? Cuando desarrollamos un proyecto entre

Más detalles

El Lenguaje Unificado de Modelado (UML)

El Lenguaje Unificado de Modelado (UML) El Lenguaje Unificado de Modelado (UML) Enrique Hernández Orallo(ehernandez@disca.upv.es) Cualquier rama de ingeniería o arquitectura ha encontrado útil desde hace mucho tiempo la representación de los

Más detalles

Un importante problema para sistemas de la nueva generación

Un importante problema para sistemas de la nueva generación Un importante problema para sistemas de la nueva generación J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious Problem for Next Generation Systems, IEEE Computer, October 1988. Manifestar

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

Análisis y Programación Orientada a Objetos

Análisis y Programación Orientada a Objetos Análisis y Programación Orientada a Objetos Clase 2: Objetos y Clases Qué vamos a aprender Introducción a los conceptos de POO Metodología de Objetos: UML Lenguajes OO: C++, Java Entornos para POO: C++

Más detalles

Técnicas de Diseño

Técnicas de Diseño Técnicas de Diseño - 2011 Introducción Motivación o Algunos puntos claves: qué es? quién lo escribió? qué parte del software es la más compleja? o Metodologías ágiles o Lenguaje ubicuo Patrones propuestos

Más detalles