Introducción a los Patrones de Diseño
|
|
- Felisa Santos Cabrera
- hace 7 años
- Vistas:
Transcripción
1 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
2 El Camino Qué es un Patrón de Diseño (PD) Qué no es un PD
3 Qué es un Patrón de Diseño Qué es el diseño? Qué es un patrón? Qué es un patrón de diseño? El diseño es una actividad El cómo frente al qué Hacerlo correcto frente a hacer lo correcto Asignar responsabilidades a las clases Es una actividad difícil? Debe serlo pues está bien remunerada Un martillo no te hace un buen arquitecto. Conocer un lenguaje OO no te hace un buen diseñador (aunque es imprescindible) Los requisitos no funcionales son conflictivos
4 Qué es un Patrón de Diseño Algunas propiedades no funcionales Reutilización Facilidad de modificación Facilidad de comprensión Robustez Eficiencia Facilidad de uso En ocasiones es más importante el aspecto de la calidad que el aspecto funcional Las técnicas para conseguir la calidad están menos desarrolladas que las utilizadas para conseguir la funcionalidad
5 Qué es un Patrón de Diseño Caminos posibles durante el desarrollo de un proyecto software Aspectos no funcionales Deseable Previsión de entregas Habitual Aspectos funcionales
6 Qué es un Patrón de Diseño Por lo tanto el diseñador debe Encontrar una solución que consiga el equilibrio óptimo entre las propiedades no funcionales Si damos el mismo documento de requisitos a 10 diseñadores, obtendremos 10 diseños diferentes Qué diferencia hay entre los diseñadores expertos y los novatos? Recetas para los problemas habituales. No están reinventando la rueda continuamente Utilizan recetas exitosas Cómo se describen estas recetas?
7 Qué es un Patrón de Diseño Orígenes de los PP.DD Definiciones Clasificación Ejemplo: PD Singleton
8 Qué es un Patrón de Diseño Orígenes de los PP.DD Definiciones Clasificación Ejemplo: PD Singleton
9 Qué es un PD Orígenes de los PP.DD Christopher Alexander (Viena, 1936)
10 Qué es un PD Orígenes de los PP.DD Ward Cunnighan Kent Beck OOPSLA Window per Task 2. Few Panes 3. Standard Panes 4. Nouns and Verbs 5. Short Menus
11 Qué es un PD Orígenes de los PP.DD Erich Gamma asiste a una charla de Bruce Andersen en un taller del OOPSLA, titulada Architecture Handbook. Esta realizando su tesis doctoral y necesita desarrollar un Framework C++ para aplicaciones gráficas multiplataforma (ET++) Andersen organiza un taller donde Gamma coincide con: Richard Helm Ralph Johnson John Vlissides
12 Qué es un PD Orígenes de los PP.DD Beck y Booch sufragan un retiro en las montañas de colorado. Nace el HillSide Hillside organiza la primera edición del PLOP (Patterns Languages of Program Design). La banda de los cuatro venden más de 750 ejemplares de su libro (10 veces más que cualquier libro hasta entonces)
13 Qué es un PD Orígenes de los PP.DD Lecciones aprendidas Los PP.DD han surgido tomando ideas de otras disciplinas (la arquitectura las toma a su vez de la Biología) Los PP.DD han tenido su origen en la Academia y no en la industria (es de los pocos ejemplos) Las tesis doctorales sirven para algo El mundo anglosajón suele hacer un uso intensivo de los grupos de presión en todos los ámbitos
14 Qué es un PD Orígenes de los PP.DD Definiciones Clasificación Ejemplo: PD Singleton
15 Qué es un PD Definiciones De manera general Patrón: Modelo que sirve de muestra para sacar otra cosa igual (RAE) Patrón de diseño: Una solución general a un problema general que puede adaptarse a un problema concreto
16 Qué es un PD Definiciones En Arquitectura Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno. También describe el núcleo de la solución al problema, de forma que puede utilizarse un millón de veces sin hacer dos veces lo mismo Técnica de descripción Par problema-solución Recurrente Sólo el núcleo, no es una solución completa Reutilizable
17 Qué es un PD Definiciones En Ingeniería del Software (Gamma95, pág. 360) A design pattern systematically names, motivates, and explains a general design that addresses a recurring design problem in OO systems. It describes the problem, the solution, when to apply the solution, and its consequences. It also gives implementation hints and examples. The solution is a general arrangement of object and classes that solve the problem. The solution is customized and implemented to solve the problem in a particular context.
18 Qué es un PD Definiciones En Ingeniería del Software (Larman, pag. 204) Un patrón es un par problema/solución con nombre que se puede aplicar en nuevos contextos con consejos acerca de cómo aplicarlo en nuevas situaciones y discusiones sobre sus compromisos Existe consenso en: Par (problema, solución) Reutilizar conocimiento Problemas recurrentes ( Cuándo se considera recurrente?)
19 Qué es un PD Orígenes de los PP.DD Definiciones Clasificación Ejemplo: PD Singleton
20 Clasificación Plantilla de descripción de la GoF 1. Nombre y clasificación: expresa sucintamente la esencia del patrón 2. Intención: frase corta que responde a qué hace y qué resuelve 3. También conocido como: otros nombres conocidos para el PD 4. Motivación: un escenario que ilustra como el PD resuelve un problema concreto 5. Aplicabilidad: otras situaciones en las que resulta aplicable el PD 6. Estructura: diagramas de clases 7. Participantes: responsabilidad de cada clase participante 8. Colaboraciones: diagrama de colaboración y/o de secuencias 9. Consecuencias: ventajas e inconvenientes 10.Implementación: dificultades, técnicas y trucos a tener en cuenta al aplicar el PD 11.Código de ejemplo: ejemplo de implementación y de uso del PD 12.Usos conocidos: ejemplos de uso en sistemas reales 13.Patrones relacionados: diferencias con los patrones más relacionados
21 Clasificación Catálogo de la GoF Creacional Fábrica Abstracta, Método Fábrica, Constructor, Prototipo, Singular Estructural Adaptador, Puente, Compuesto, Decorador, Fachada, Peso Mosca, Apoderado De Comportamiento Cadena de Responsabilidad, Comando, Iterador, Mediador, Memento, Observador, Estado, Estrategia, Visitante, Método Plantilla
22 Clasificación Relaciones entre patrones
23 Clasificación Catálogo de Grand Parte de la de Gamma y la extiende con 9 categorías más: Fundamentales Particionamiento Concurrencia GRASP GUI Organización del código Optimización del código Robustez Prueba
24 Qué es un PD Orígenes de los PP.DD Definiciones Clasificación Ejemplo: PD Singleton
25 Ejemplo de PD: Singleton 1. Nombre y clasificación: Singleton. Creacional 2. Intención: Garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella 3. También conocido como: Singular, único. 4. Motivación: Registro discrecional de las llamadas a métodos. Adicionalmente, registrar mensajes de depuración
26 Ejemplo de PD: Singleton 5. Aplicabilidad: Usaremos este patrón cuando: Deba haber exactamente una instancia de una clase y deba ser accesible a los clientes desde un punto de acceso conocido. Acceso al archivo de configuración de una aplicación Gestor de impresión Una fábrica de objetos 6. Estructura: Singleton -instance : Singleton = null -Singleton() +getinstance() : Singleton if (instance == null) instance= new Singleton(); return instance;
27 Ejemplo de PD: Singleton 7. Participantes: Singleton: define una operación de clase getinstance que permite a los clientes acceder a su instancia única y además es responsable de su creación 8. Colaboraciones: Los clientes acceden a la única instancia solamente a través de la operación getinstance Singleton s= Singleton.getInstance() s.op1();. Se suelen emplear estereotipos para simplificar los diagramas de secuencia y colaboración
28 Ejemplo de PD: Singleton 9. Implementación: Ocultar el constructor Definir getinstance como estático Pueden ser necesarias operaciones de terminación (depende de la gestión de memoria del lenguaje) En ambientes concurrentes es necesario usar mecanismos que garanticen la atomicidad del método getinstance Si se desea garantizar la unicidad a nivel de sistema, se puede hacer uso de semáforos 10.Consecuencias: Reduce el espacio de nombres Rompe el esquema habitual de creación de objetos
29 Ejemplo de PD: Singleton 11.Código de ejemplo: Tracer 12.Usos conocidos: Clase java.lang.runtime, java.lang.math, java.util.collections Clase Environment de MS.NET 13.Patrones relacionados: Fábrica abstracta Método Fábrica Prototipo Object Pool [Grand98]. Cuando se desea tener un número determinado de instancias. Cuando la creación de una instancia es muy costosa e interesa reutilizar la instancia.
30 El Camino Qué es un Patrón de Diseño (PD) Qué no es un PD
31 El camino Bibliotecas Frameworks Idioms Antipatrones Refactorizaciones
32 Bibliotecas (Toolkits) También conocidas como librerías y Toolkits Conjunto de clases diseñado para ser reutilizados: TADs, manejo de periféricos, gráficos, gestión de documentos XML. Pueden verse como el equivalente en OO de las bibliotecas de subrutinas Influencia baja en el diseño de la aplicación cliente Una cuestión clave de su diseño reside en conseguir facilidad de uso para el máximo número de escenarios sin complicar la interfaz ni reducir el rendimiento Bibliotecas vs PP.DD Son comparables? Qué contienen? Cuál es su tamaño medio?
33 El Camino Bibliotecas Frameworks Idioms Antipatrones Refactorizaciones
34 En el origen de los tiempos Un framework era un entorno de desarrollo (IDE) Componentes habituales: Editor de textos Ayuda integrada Compilador Biblioteca de controles visuales Biblioteca de controles datos Constituían un marco de trabajo para el desarrollo de aplicaciones Visual Basic popularizó el concepto en la industria
35 Qué es un framework hoy Conjunto de clases parcialmente funcional para un dominio de aplicación Sólo les falta aquello que es propio del problema Ejemplos: AWT, Swing, Struts, Junit, Compact Framework, James (genuinamente andaluz) Gran influencia baja en el diseño de la aplicación cliente Frameworks vs PP.DD Son comparables? Qué contienen? Cuál es su tamaño medio?
36 El principio de Hollywood
37 El principio de Hollywood Main() { i1 = new I1(); i2 = new I2(); i1 = i2.m(i1.g()); }
38 Ventajas e inconvenientes Reutilización de diseño y código Experiencia del diseñador del framework Costes de producción reducidos Es difícil encontrar el framework apropiado Es difícil usar más de un framework al mismo tiempo Son difíciles de construir y de aprender a usar
39 El camino Bibliotecas Frameworks Idioms Antipatrones Refactorizaciones
40 Idioms Una forma característica de utilizar un LP [Fiadeiro] Patrón de bajo nivel específico de un LP. Describen soluciones a problemas de implementación de un determinado LP [Buschmann] gestión de memoria en C++ Idiom K-R: while (*dest++=*src++) Para algunos, el Singleton no es un patrón de diseño Una colección de idioms conforman un estilo Las diferencias entre PP.DD e idioms son difusas Algunos PP.DD de hoy serán idioms mañana Iterator, singleton [Gamma] interface [Grand] Los PP.DD son casi independientes del L.P
41 El camino Bibliotecas Frameworks Idioms Antipatrones Refactorizaciones
42 Antipatrones Se aprende más de los errores que de los aciertos Intentan reutilizar conocimiento de modo similar a los PP.DD Capturan experiencia The blob Poltergeists Cut and paste Spaguetti code.
43 El camino Bibliotecas Frameworks Idioms Antipatrones Refactorizaciones
44 Refactorizaciones M. Fowler las ha popularizado No siempre se consigue un diseño adecuado qué hacer en tales situaciones? Nada. En ocasiones es lo más rentable Refactorizar en las sucesivas operaciones de mantenimiento La refactorización mantiene invariable la funcionalidad Estan organizadas en catálogos Muchas de ellas están muy relacionadas con PP.DD Pull-up. Muy relacionada con el PD Template Method
45 !Gracias! Podemos mejorar esta lección? Mándanos un a aruiz@us.es Visite la web de la asignatura
Tema 7: Patrones de diseño. Ingeniería del Software de Gestión II Grupo de Ingeniería del Software
Tema 7: Patrones de diseño Ingeniería del Software de Gestión II Grupo de Ingeniería del Software Índice Introducción Patrones de diseño de uso común Bibliografía Índice Introducción Patrones de diseño
Más detallesPatrones de diseño. Programación III.I.T.I. de Sistemas. Contenidos. Información sobre patrones de diseño. Motivación.
Departamento de Informática Universidad de Valladolid Programación III.I.T.I. de Sistemas Patrones 1 Contenidos Programación III.I.T.I. de Sistemas Patrones de diseño Patrones de diseño Introducción Conceptos
Más detallesPROGRAMA 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 detalles1. 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 detallesPatrones de diseño. Sesión 1: Introducción y patrones básicos. Especialista Universitario Java Enterprise
Sesión 1: Introducción y patrones básicos Titulo Módulo 2006-2007 Depto. Ciencia de la Computación e IA Titulo sesión-1 En el desarrollo de aplicaciones J2EE ( y no J2EE!) se presentan una y otra vez los
Más detallesDISEÑ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 detallesPatrones 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 detallesIngeniería del Software de Gestión II 2 de febrero de 2005 Pág: 1/8. Apellidos: Nombre: Núm.:
Ingeniería del Software de Gestión II 2 de febrero de 2005 Pág: 1/8 Apellidos: Nombre: Núm.: PD1 (4 Ptos.): Responda razonadamente a las siguientes cuestiones: 1. Qué diferencia existe entre un diagrama
Más detallesPatrones en el e-learning
Patrones en el e-learning DOCUMENTO BASE El concepto de patrón en el e-learning permite resumir y comunicar la experiencia acumulada en la enseñanza-aprendizaje por medios telemáticos. Un patrón puede
Más detallesTIPOS 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 detallesUML 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 detallesUNIVERSIDAD 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 detallesPatrones de software y refactorización de código
Patrones de software y refactorización de código Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos.
Más detallesDiseñ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 detallesDepto de Cs e Ing. de la Computación Universidad Nacional del Sur
Click to add title Mejorando los tiempos de desarrollo Frameworks Diego C. Martínez - DCIC-UNS 2 Patrones de Diseño, según GoF Los patrones de diseño son básicamente descripciones de objetos que se comunican
Más detallesPATRONES 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 detallesIntroducción a la Orientación a Objetos
Introducción a la Orientación a Objetos Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO. 2000-Hoy. Época
Más detallesDiseño y Arquitectura de Sistemas de Computación Código: 28
Programa de la Asignatura: Diseño y Arquitectura de Sistemas de Computación Código: 28 Carrera: Ingeniería en Computación Plan: 2013 Carácter: Obligatoria Unidad Académica: Secretaría Académica Curso:
Más detallesIntroducció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 detallesESCUELA 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 detallesPatrones 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 detallesGLOSARIO DE TÉRMINOS
MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES
Más detallesPatrones 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 detallesIN77J 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 detallesFundamentos de Ingeniería de Software [Etapas II]
Fundamentos de Ingeniería de Software [Etapas II] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 13-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de fundamentos de ing. de software
Más detallesPatrones. 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 detallesCapí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 detallesCurso: 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 detallesEvolución de Plantillas Genéricas para la descripción de Casos de Uso a Plantillas Genéricas para Análisis y Diseño
Evolución de Plantillas Genéricas para la descripción de Casos de Uso a Plantillas Genéricas para Análisis y Diseño Ing. Marcela Daniele AC. Daniel Romero Dpto. de Computación. Facultad: Ciencias Exactas,
Más detallesCapítulo 2 : Marco Teórico
Capítulo 2 : Marco Teórico En este capítulo se darán a conocer algunos conceptos básicos del contexto de este trabajo, con la finalidad de situar al problema dentro de un conjunto de conocimientos. Dentro
Más detallesPatrones 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 detallesDiplomado 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 detallesPrograma de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET
Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET OBJETIVOS: Conocer de las bondades del paradigma de orientación a objetos en.net y su lenguaje
Más detallesContenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo
Tutorial Contenido 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo 1. El proceso Fases soportadas por UML Análisis de requisitos de usuario Análisis de requisitos de software Diseño de la plataforma
Más detallesTema: Herramientas UML, Análisis y diseño UML
Programación II. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herramientas UML, Análisis y diseño UML Objetivo Conocer una herramienta de modelado para la solución
Más detallesSoftware Reutilizable
Software Reutilizable Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1 Objetivos Para explicar los beneficios del software reutilizable y algunos de sus problemas Para discutir
Más detallesDe Desempeño De Conocimiento SABERES ESENCIALES CONTENIDOS RUTA FORMATIVA Saber Conocer Nociones, Proposiciones, Conceptos Categorías
Facultad Programa Académico Nombre Del Curso Administración e Ingenierias Ingenieria De Sistemas ANÁLISIS DE SISTEMAS Problema? Competencia específica Criterios de Desempeño Saber conocer Saber Ser Saber
Más detallesEl patrón Composite (Compuesto) Propósito Componer los objetos a una estructura de jerarquía de relación partetodo.
Definición más precisa de los patrones Un patrón del diseño nomina, abstrae y identifica los aspectos claves de un diseño común para crear un diseño orientado a objetos reutilizable. Son descripciones
Más detallesPatrones de Diseño EJERCICIOS
EJERCICIOS Ingeniería del Software I Carlos Blanco Universidad de Cantabria Introducción Un patrón es una solución probada que se puede aplicar con éxito a un determinado tipo de problemas que aparecen
Más detallesA 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 detallesUna Arquitectura para una Herramienta de Patrones de Diseño
Una Arquitectura para una Herramienta de Patrones de Diseño José Sáez Martínez 1, Jesús García Molina, Pedro J. Jiménez García Departamento de Informática, Lenguajes y Sistemas. Campus de Espinardo C.P.
Más detallesAnálisis y Diseño de una Biblioteca Digital
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < 1 Análisis y Diseño de una Biblioteca Digital Aruquipa Chambi Marcelo, Marquez Granado Edwin. Con este análisis y
Más detallesCurso de Spring Framework
Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Spring es un proyecto de código abierto (open source), originalmente creado por Rod Johnson y descrito en su
Más detallesLenguaje de Programación
Introducción a C/C++() UG Introducción a C/C++() Universidad de Guanajuato Sesión 18 Introducción a C/C++() Qué es un? Un entorno de desarrollo integrado o (acrónimo en inglés de integrated development
Más detallesHistoria de revisiones Fecha Versión Descripción Autor 12/11/2011 4.0 Versión final con cambios sobre extensión de ArcGIS Viewer y recorte de alcance
EXAV Descripción de la Arquitectura Versión 4.0 Historia de revisiones Fecha Versión Descripción Autor 12/11/2011 4.0 Versión final con cambios sobre extensión de ArcGIS Viewer y recorte de alcance Enrique
Más detallesTEMA 7: INGENIERIA DEL SOFTWARE.
TEMA 7: INGENIERIA DEL SOFTWARE. 7.1. Definición de software 7.2. Características del software 7.3. Componentes del software 7.4. Ciclo de vida 7.4.1. Análisis de requisitos 7.4.2. Diseño 7.4.3. Implementación
Más detallesTRABAJO 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 detallesCreació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 detallesDepartamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL
Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL DNI Apellidos y nombre 1. Cuál de las siguientes afirmaciones no es una causa de los problemas del software?
Más detallesGuía docente de la asignatura
Guía docente de la asignatura Asignatura Materia DISEÑO DE SOFTWARE DESARROLLO DE SOFTWARE Módulo Titulación Grado en INGENIERÍA INFORMÁTICA Plan 463 Código 45203 Periodo de impartición S5 Tipo/Carácter
Más detallesESCUELA: UNIVERSIDAD DEL ISTMO
1.-IDENTIFICACIÓN ESCUELA: UNIVERSIDAD DEL ISTMO CLAVE: 3031 GRADO: ING. EN COMPUTACIÓN, CUARTO SEMESTRE TIPO DE TEÓRICA/PRÁCTICA ANTECEDENTE CURRICULAR: 3042 2.- OBJETIVO GENERAL El alumno aprenderá la
Más detallesCriterio de evaluación (I)
Tiles en Struts Introducción (I) Componentes HTML y JSP comunes, como la cabecera (Header),el cuerpo (Body), el pie de pagina (Footer), el menu, y la busqueda (Search). Para explorar las soluciones de
Más detallesLos diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema
Modelado Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Vocabulario del Sistema Distribución de Responsabilidades Semántica de una Clase
Más detallesDiseñ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 detallesCapacitación adquirida por el alumno al finalizar este modulo
Curso de UML y UP Analiza, modela y diseña sistemas orientado a objetos con UML. Aprende cuándo y cómo utilizar todos los diagramas que forman parte de UML en forma práctica utilizando el Enterprise Architect
Más detallesUML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson
UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson El lenguaje UML es un estándar OMG diseñado para visualizar, especificar, construir y documentar software orientado a objetos.
Más detallesTÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.
TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS. HOJA DE ASIGNATURA CON DESGLOSE DE UNIDADES TEMÁTICAS 1. Nombre de la asignatura Ingeniería de
Más detallesDiagramas 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 detallesDiseño arquitectónico 1ª edición (2002)
Unidades temáticas de Ingeniería del Software Diseño arquitectónico 1ª edición (2002) Facultad de Informática objetivo Los sistemas grandes se descomponen en subsistemas que suministran un conjunto relacionado
Más detallesEl Proceso Unificado de Desarrollo de Software
El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:
Más detallesRequerimientos de Software
Requerimientos de Software Ingeniería de Requerimientos Se define como el proceso de establecer los servicios que el consumidor requiere de un sistema y las restricciones sobre las cuales de funcionar
Más detallesEstilos Arquitectónicos
Estilos Arquitectónicos Ing. Ariel Cassan 2005 Agenda # Tema Duración 1 Que es un Patrón? 5 min 2 Introducción a estilos arquitectónicos 5 min 2.1 De Estructuración 20 min 2.2 Sistemas distribuidos 5 min
Más detallesINGENIERÍA DEL SOFTWARE
INGENIERÍA DEL SOFTWARE Sesión No. 11 INGENIERÍA DEL SOFTWARE 1 Nombre: Estereotipos y valores etiquetados de los paquetes Contextualización Los estereotipos dentro de los medios de programación son más
Más detallesLENGUAJES DE PROGRAMACIÓN IV. Propósito del curso :
UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU007H Clave: 08USU4053W FACULTAD DE INGENIERÍA PROGRAMA DEL CURSO: LENGUAJES DE PROGRAMACIÓN IV DES: Ingeniería Ingeniería en Sistemas Programa(s) Educativo(s):
Más detallesMASTER PROFESIONAL C# 5 Y ASP.NET MVC 5
MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5 TEMARIO MODULO I. EL LENGUAJE C# 5 Introducción al desarrollo de soluciones informáticas. El Framework.NET. o Descripción de la plataforma. o Las especificaciones
Más detallesCARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I
Facultad de Ingeniería en Ciencias Aplicadas pag. 1 CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I 1. Misión: (de la carrera) La Carrera de Ingeniería en Sistemas
Más detallesGUÍA DOCENTE CURSO: DATOS BÁSICOS DE LA ASIGNATURA DISTRIBUCIÓN HORARIA DE LA ASIGNATURA SEGÚN NORMATIVA DATOS DEL PROFESORADO. Pag.
Pag. 1 de 6 GUÍA DOCENTE CURSO: 2012-13 DATOS BÁSICOS DE LA ASIGNATURA Asignatura: Programación de Servicios Software Código de asignatura: 40102203 Plan: Grado en Ingeniería Informática (Plan 2010) Año
Más detallesPrincipios de Análisis Informático. Tema 3: Fase de inicio
Principios de Análisis Informático Tema 3: Fase de inicio Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña,
Más detallesUniversidad Salesiana de Bolivia
Universidad Salesiana de Bolivia Ingeniería de Sistemas I DATOS DE IDENTIFICACIÓN PLAN DE DISCIPLINA GESTIÓN II - 2015 INSTITUCIÓN UNIVERSITARIA: Universidad Salesiana de Bolivia RECTOR: Dr. Rvdo. P. Thelian
Más detallesCIDE, SA. RIF: J NIT: MODELO FUNCIONAL
MODELO FUNCIONAL SIGA C O NTE NlD O Introducción Aspectos Conceptuales Definición de modelo Requisitos de un Modelo Funcional Modelando la Funcionalidad del Sistema: Diagrama de Casos de Uso Definición
Más detalleshttp://www.cem.itesm.mx/extension/ms
Diplomado Programación orientada a objetos con Java 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 detallesArquitecturas y Tecnologías de Aplicaciones Empresariales
Arquitecturas y Tecnologías de Aplicaciones Empresariales Guía de Aprendizaje Información al estudiante 1. Datos Descriptivos Titulación Módulo Materia Asignatura Carácter Master en Ingeniería Informática
Más detallesPatrones De Alexander a la Tecnología de Objetos
Patrones De Alexander a la Tecnología de Objetos Francisco José García Peñalvo Licenciado en Informática. Profesor del Departamento de Informática y Automática de la Universidad de Salamanca. fgarcia@usal.es
Más detallesObjetivo 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 detallesEstilos 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 detallesLenguaje de Modelamiento Unificado.
Lenguaje de Modelamiento Unificado. Pontificia Universidad Javeriana What can you Model with UML? 1. Structure Diagrams include: The Class Diagram Object Diagram Component Diagram Composite Structure Diagram
Más detallesCurso: Patrones de Diseño de Arquitecturas de tipo Enterprise
Curso: Patrones de Diseño de Arquitecturas de tipo Enterprise PATRONES DE DISEÑO DE ARQUITECTURA ENTERPRISE... 1 OBJETIVO...1 AUDIENCIA...1 CONTENIDO...1 BIBLIOGRAFÍA...2 DOCENTE...3 MODALIDAD DEL DESARROLLO...3
Más detallesAnalista Programador Android: Business Android Apps Expert
Analista Programador Android: Business Android Apps Expert TITULACIÓN DE FORMACIÓN CONTINUA BONIFICADA EXPEDIDA POR EL INSTITUTO EUROPEO DE ESTUDIOS EMPRESARIALES Analista Programador Android: Business
Más detallesCOORDINADORES AUTORES PRÓLOGO PREFACIO... 43
ÍNDICE COORDINADORES... 17 AUTORES... 21 PRÓLOGO... 37 PREFACIO... 43 CAPÍTULO 1. DESARROLLO DIRIGIDO POR MODELOS: UN NUEVO PARADIGMA DE CONSTRUCCIÓN DE SOFTWARE... 51 1.1 INTRODUCCIÓN... 51 1.2 DE LOS
Más detallesTema 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 detallesService Oriented Architecture
Service Oriented Architecture Isaac Gutiérrez Gómez, Salvador Otón Tortosa Universidad de Alcalá, Departamento de Ciencias de la Computación, 28871 Alcalá de Henares, Spain igutierrez09@yahoo.es, salvador.oton@uah.es
Más detallesArquitecturas 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 detallesLó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 detallesPlanificaciones. 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 detallesDiseño de sitios web administrables con Joomla 3
Pág. N. 1 Diseño de sitios web administrables con Joomla 3 Familia: Editorial: Autor: Computación e informática Macro Luis Angulo Aguirre ISBN: Físico Digital N. de páginas: 272 9786123042165 9786123043643
Más detallesGUÍA DOCENTE DE LA ASIGNATURA
Grado en Ingeniería Civil GUÍA DOCENTE DE LA ASIGNATURA G331 - Informática y Programación Curso Académico 2013-2014 1 1. DATOS IDENTIFICATIVOS DE LA ASIGNATURA Título/s Centro Módulo / materia Código y
Más detallesEscuela Técnica Superior de Ingeniería. Informática. Grado en Ingeniería Informática
Escuela Técnica Superior de Ingeniería Informática Grado en Ingeniería Informática GUÍA DOCENTE DE LA ASIGNATURA: (Diseño Arquitectónico y Patrones) Curso Académico 2013/2014 Fecha: 24/05/2013 MODELO GUIA
Más detallesUNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN
UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN Formar profesionales altamente capacitados, desarrollar investigación y realizar actividades de extensión, en Matemáticas y Computación, así
Más detallesObjetivos. Plan. Cambios de grupos Prof. sustituto: Alicia Villanueva
Ingeniería de Requerimientos Prácticas Curso 2007/08 Objetivos Aprender el manejo de una herramienta avanzada para el desarrollo rápido de prototipos: Visual Prolog Plan Semana 1: Recomendaciones IEEE
Más detallesSISTEMAS DE INFORMACIÓN
SISTEMAS DE INFORMACIÓN Tema 8 Arquitecturas de Capas JAVIER GARZÁS Arquitectura Software Organización de un sistema software Los elementos estructurales (componentes) y sus interfaces (conectores) en
Más detallesCURSOS DE CAPACITACION SAP2000 ANALISIS Y DISEÑO INTEGRAL DE ESTRUCTURAS
CURSOS DE CAPACITACION ANALISIS Y DISEÑO INTEGRAL DE ESTRUCTURAS Curso Taller: ANALISIS Y DISEÑO INTEGRAL DE ESTRUCTURAS Presentación: El es un programa de elementos finitos, con interfaz gráfico 3D orientado
Más detallesTema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
Más detallesRedalyc. 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 detallesPROGRAMA DE LA ASIGNATURA CURSO BASICO: ARQUITECTURA DEL SOFTWARE
UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS POSTGRADO EN CIENCIAS DE LA COMPUTACIÓN PROGRAMA DE LA ASIGNATURA CURSO BASICO: ARQUITECTURA DEL SOFTWARE INFORMACIÓN GENERAL Profesor: Francisca Losavio
Más detallesTécnico Superior en Programación con Microsoft Visual Basic 2010
Técnico Superior en Programación con Microsoft Visual Basic 2010 Duración: 150 horas Coste Bonificable: 825 Objetivos del curso - Aprender a desarrollar aplicaciones utilizando la tecnología de programación
Más detallesEstilos y Patrones Arquitectónicos
Lic. Ariel Trellini Estilos y Patrones Arquitectónicos Llamando a las cosas por su nombre Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Arquitectura y Diseño de Sistemas
Más detallesPRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos
ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos Contenido Introducción...1 Objeto...2 Atributo...2 Métodos...2 Clase...3
Más detallesCurso 5007437. Capítulo 4: Arquitectura Orientada a Servicios. Conceptos y estándares de arquitecturas orientadas a servicios Web Curso 2006/2007
Curso 5007437 Conceptos y estándares de arquitecturas orientadas a servicios Web Curso 2006/2007 Capítulo 4: Arquitectura Orientada a Servicios Pedro Álvarez alvaper@unizar.es José Ángel Bañares banares@unizar.es
Más detallesJUNIT MATERIAL ELABORADO POR: RUBBY CASALLAS/JUAN PABLO QUIROGA/GLORIA CORTÉS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DE LOS ANDES
JUNIT MATERIAL ELABORADO POR: RUBBY CASALLAS/JUAN PABLO QUIROGA/GLORIA CORTÉS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DE LOS ANDES 1 Objetivo del caso JUnit 2 Poder utilizar JUnit para realizar
Más detallesCurso de UML 2.0: Patrones de Diseño de Software
Curso de UML 2.0: Patrones de Diseño de Software TITULACIÓN DE FORMACIÓN CONTINUA BONIFICADA EXPEDIDA POR EL INSTITUTO EUROPEO DE ESTUDIOS EMPRESARIALES Curso de UML 2.0: Patrones de Diseño de Software
Más detalles