Patrones y Antipatrones. Motivacio n
|
|
- José Luis Rivero Ortiz de Zárate
- hace 8 años
- Vistas:
Transcripción
1 Patrones y Antipatrones Eva M Castro Motivacio n ñel diseno orientado a objetos es un arte mas que una ciencia. Habilidad, talento. Experiencia. Creatividad, imaginacio n. ñmuy poca experiencia en estos disenos (10-20 anos). 1
2 Arquitectura ñchristopher Alexander: El mismo enfoque de leyes determina la estructura de una ciudad, un edificio o de una habitacio n. ñdiferencias con la idea original: Los edificios se llevan haciendo desde hace miles de anos. Alexander proporciona un orden en el uso de patrones. Patrones para construir edificios completos. Enfa sis en los problemas, no en las soluciones. Patro n ñ A solution to a problem in a context'é ñ Solucio n a un problema en un contexto particular. ñ Recurrente. ñ Ensena, permite adaptarlo a una variante particular del problema. ñ Tiene un nombre. ñreutilizacio n de disenos y arquitecturas que han tenido e xito. ñestablece un nivel ma s alto de programacio n. 2
3 Elementos de un Patro n ñnombre: vocabulario de diseno. ñproblema: cuando aplicar un patro n. ñsolucio n: descripcio n abstracta del diseno. ñconsecuencias: costes y beneficios. Los patrones resuelven problemas de diseno ñ Encontrar los objetos adecuados (clases que no forman parte del mundo real). ñ Granularidad del los objetos. ñ Definicio n de interfaces (operaciones que realiza un objeto). INTERFAZ!= IMPLEMENTACIO N (Dynamic binding) ñ Implementacio n de un objeto. ñcreador ñinstancia Clase vs herencia de interfaz (tipo). ñ Una clase puede ser de diferentes tipos (VHS es un objeto y es un video). ñ Diferentes clases pueden ser del mismo tipo (VHS y beta, tipo video) Programacio n de de interfaces, no no implementaciones. 3
4 Los patrones resuelven problemas de diseno ñ Reutilizacio n: Caja blanca: por herencia (de forma esta tica). ñ Utilizar clases abstractas. Caja negra: por composicio n (de forma dinamica). Favorecer composicio n frente herencia Delegar responsabilidad: Ventana Area( ) rectangulo Rectangulo Area( ) Ancho Alto ñ Aplicacio n Disenando Encapsular y aislar partes: ñ Reutilizacio n de co digo. ñ Mantenimiento. ñ Toolkit Conjunto de clases de propo sito general que permiten la reutilizacio n (librerıa nivel de abstraccio n menor) Evitan recodificacio n: listas, diccionariosetc ñ Framework Conjunto de clases que permiten realizar disenos con un propo sito especıfico. Establecen una forma de trabajo, la arquitectura. 4
5 ñel libro de GoF (The Gang of Four): Erich Gamma, Richard Helm, Raphl Jonhson y John Vlissides ñtipos DE PATRONES: Segun propo sito: ñde creacio n (inicializacio n y configuracio n de objetos) ñestructurales (desacoplan interfaz e implementacio n) ñde comportamiento (algoritmos, responsabilidades) Segun a mbito: ñde clases (herencia: relaciones esta ticas entre clases) ñde objetos (delegar en otro objeto: relaciones dina micas entre objetos) De Clase De Objeto De Creacion ñfactory method ñabstract factory, ñbuilder, prototype, ñsingleton Estructural De comportamiento Interpreter, template method Adapter, bridge, composite, decorator, facade, flyweight, proxy Chain of responsability, command, iterator, interpreter, memento, observer, mediator, state, estrategy, visitor Design Patterns: Elements of Reusable Object-Oriented Software The Gand of Four (GoF) 5
6 De creacio n ñ Abstract factory Factorıa para construir familias de objetos. ñbuilder Separar construccio n de representacio n. ñfactory method Las subclases determinan la clase a instanciar. ñprototype Clonar ejemplares copiando de un prototipo. ñsingleton So lo hay un objeto de esa clase. Abstract factory 6
7 Builder Singleton class singleton_t { public: static singleton_t *instance(void); void dosomething(int); protected: singleton_t(); }; }; private: static singleton_t *sinstance; 7
8 ñadapter Estructural Convierte una interfaz en otra deseada (Wrapper). ñbridge Desacoplar una abstraccio n de su implementacio n. ñcomposite Igual tratamiento a objetos individuales y a grupos. ñdecorator Extensio n de un objeto, transparentemente. ñfacade Simplifica la interfaz para un subsistema. ñflyweight Compartir objetos de granularidad fina eficientemente. ñproxy Un objeto aproxima a otro. De comportamiento ñ Chain of responsability Permitir que mas de un objeto sea capaz de atender una peticio n. ñcommand Encapsula una peticio n como un objeto. ñinterpreter Inte rprete de lenguaje para una grama tica sencilla. ñiterator Acceso secuencial a elementos de una agregacio n. ñmediator Coordina las relaciones entre sus asociados. ñmemento Captura el estado de un objeto y lo restaura posteriormente. 8
9 De comportamiento ñobserver Notificaciones de cambios de estado en un objeto. ñstate Objeto cuyo comportamiento depende de un estado. ñstrategy Seleccio n de un algoritmo. ñ Template method Algoritmo con varios pasos suministrados por una clase derivada. ñvisitor Operaciones aplicadas a elementos de una estructura de objetos heteroge nea. Antipatro n ñantipatro n <-> Refactored solution Antipatro n: mala solucio n pero atractiva para un problema. Refactored solution: invierte los efectos del antipatro n. ñclasificacio n de antipatrones: De desarrollo software (programadores). De arquitectura software (estructura del sistema). De gestio n de proyectos software (gente de todos los roles del software). 9
10 1. Antipatrones de desarrollo ñthe Blob: Una clase que lo hace todo, el resto de las clases so lo contienen datos. Las responsabilidades deber ıan distribuirse uniformemente. HojaDeDibujo NuevoDibujo EditaFigura ImprimeDibujo GiraFigura GuardaDibujo CopiaFigura CambiaCoordsFig MueveFigura TamanoDibujo ColorDeFondo Figura Tipo Coordenadas Tipo Tipo Coordenadas Relleno Coordenadas Relleno Borde Relleno Borde Borde Figura Figura 1. Antipatrones de desarrollo ñthe Blob: Una clase que lo hace todo, el resto de las clases so lo contienen datos. Las responsabilidades deber ıan distribuirse uniformemente. HojaDeDibujo NuevoDibujo EditaFigura ImprimeDibujo GiraFigura GuardaDibujo CopiaFigura CambiaCoordsFig MueveFigura TamanoDibujo ColorDeFondo Figura Tipo Coordenadas Tipo Tipo Coordenadas Relleno Coordenadas Relleno Borde Relleno Borde Borde Figura Figura 10
11 1. Antipatrones de desarrollo ñlava Flow: Co digo muerto y escasa informacio n de diseno no permiten realizar cambios. Alguien escribio esa parte del co digo pero se fue el mes pasado y no dejo documentacio n. Cuando habıa que cambiar algo, siempre lo hacıa e l ñ Functional Descomposition: Co digo no OOD implementado en un OOPL. Necesaria reingenierıa. ñ Poltergeists: Clases y asociaciones que no hacen nada, so lo anaden sobrecarga y complejidad innecesaria. Afecta al rendimiento del sistema. 1. Antipatrones de desarrollo ñ Golden hammer El mismo concepto se aplica de forma obsesiva para cualquier problema. Es necesario proporcionar formaci o n para aplicar nuevas soluciones, tiene riesgos. ñspagheti code: Software muy a medida (ad-hoc) es difıcil de extender y optimizar. Resultado de la inexperiencia y de los desarrollos ra pidos. ñcut & paste programming: Mismo co digo repetido en varios sitios, difıcil de modificar y mantener. Reutilizacio n como caja negra. 11
12 1. Mini-Antipatrones de desarrollo ñ Ambiguos Viewpoint ñ Boat Anchor Se compra tecnologıa muy costosa, no se usa. ñ Continuous Obsolescence La tecnologıa cambia muy ra pidamente, versiones incompatibles, los programadores no pueden estar al dıa. Interfaces estables. ñdead End Actualizar un componente reusable aunque nadie lo utilice puede ser complicado. ñinput Kludge ñ Mushroom Management Los desarrolladores nunca hablan con el cliente final. 2. Antipatrones de arquitectura ñstovepipe enterprise: aislamiento en la empresa, no se conocen los desarrollo paralelos. ñ Stovepipe system: aislamiento entre sistemas, no pueden operar. ñ Vendor Lock-In: Arquitectura dependiente de un fabricante, los productos de diferentes fabricantes no suelen ser compatibles. Capa para aislar esa dependencia. ñarchitecture by implication: No existe documentacio n de la arquitectura del sistema. 12
13 2. Antipatrones de arquitectura ñdesign by committee: Complejo, mucha documentacio n, proceso de diseno lento Un camello es un caballo disenado por un comite. ñreinvent the wheel. Los programadores tienen poco conocimiento del co digo de otros. Inventan lo que otros ya tienen en vez de aprovecharlo. 2. Mini-Antipatrones de arquitectura ñauto-generated Stovepipe: Migrar a un sistema distribuido. ñ Cover Your Assets ñthe Grand Old Duke of York 4 de los 5 programadores no utilizan la abstraccio n. ñ Intellectual Violence Intimidacio n por referencias oscuras. ñjumble Interfaces difıciles de usar (horizontal-vertical) ñ Swiss Army Knife (Navaja suiza) Interfaz excesivamente compleja. ñ Wolf Ticket 13
14 3. Antipatrones de gestio n ñ Analysis paralysis: Analisis tan completo que nunca termina, el proyecto muere en la fase de ana lisis. El proceso de desarrollo deberıa ser incremental e iterativo. ñ Death by planning: Excesiva preplanificacio n. Los procesos de planificacio n deberıan ser incrementales e iterativos. 3. Antipatrones de gestio n ñcorncob: Personas difıciles obstruyen y desvıan en proceso de desarrollo. ñ Irrational management: La falta de decisio n puede generar decisiones de facto y desarrollos de emergencia. ñ Project mismanagement. So lo apagando fuegos, no se cuida el diseno, so lo implementacio n 14
15 3. Mini-Antipatrones de gestio n ñ Blowhard Jamboree ñ is Dangerous es un medio de comunicacio n vola til. ñfear of Success Miedo al fin del proyecto. Fijar el fin es difıcil. ñthe Feud ñsmoke and Mirrors ñthrow It Over The Wall Provisio n de documentacio n a la ligera. ñ Viewgraph Engineering Somos capaces de venderlo pero y de hacerlo? ñ Warm Bodies ~cmcphee/seng693/antipatterns.html 15
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 detallesCapí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 detallesCLASE 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 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 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 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 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 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 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 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 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 detallesPatrones de Diseño Orientados a Objetos 2 Parte
Patrones de Diseño Orientados a Objetos 2 Parte Patrón Observador Observer (Patrón de Comportamiento) Patrón Observador Observer Observador (en inglés: Observer) es un patrón de diseño que define una dependencia
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 detallesPatrones de Diseño. Ezequiel Postan. 1 Libro e índice. 2 Introducción
Patrones de Diseño Ezequiel Postan 1 Libro e índice Gamma, E., Helm, R., Johnson, R., Vlissides, J., Patrones de diseño, Addison-Wesley, 2003. Páginas 2-69: Introducción. Composite. Strategy. Decorator.
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 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 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 detallesASIGNATURA: 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 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 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 detallesPlan de estudios ISTQB: Nivel Fundamentos
Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6. GESTIÓN DE
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 detallesInstructivo 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 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 detallesGrupo 16: Enseñanza de IS con MF
Grupo 16: Enseñanza de IS con MF Ejemplo de especificación de un sistema en Z durante un curso académico Realizado por: Adrián Tubío Noya Mª Esther Saavedra Martínez Introducción al Proyecto Se propone
Más detallesProceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:
PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo
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 detallesAplicaciones 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 detallesDISEÑO DE COMPONENTES DE SOFTWARE *
DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP * Resumen del capítulo 10 de libro de [Pressman 2010] V:18-11-2008 (c) P. Gomez-Gil, INAOE.
Más detallesPatrones 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 detallesPATRONES DE DISEÑO. Mtro. Omar Zárate
PATRONES DE DISEÑO http://ozarate.net PATRONES DE DISEÑO El concepto promovido por Alexander fue retomado en el software y popularizado en el libro Design Patterns: Elements of Reusable Object Oriented
Más detallesUNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS
UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación
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 detallesCapitulo 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 detallesWeb Frameworks y patrones de diseño
Web Frameworks y patrones de diseño Ingeniería del software Universidad de Los Andes Nerio Moran, Alvaro Araujo 29 de Enero,2018 Ingenieria del software Universidad de Los Andes 29 de Enero,2018 1 / 26
Más detallesElementos requeridos para crearlos (ejemplo: el compilador)
Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Más detallesDIAGRAMA DE CLASES EN UML
DIAGRAMA DE CLASES EN UML Mg. Juan José Flores Cueto jflores@usmp.edu.pe Ing. Carmen Bertolotti Zuñiga cbertolotti@usmp.edu.pe INTRODUCCIÓN UML (Unified Modeling Language) es un lenguaje que permite modelar,
Más detalles2.2.- Paradigmas de la POO
2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier
Más detallesCapitulo III. Diseño del Sistema.
Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje
Más detallesPatrones de diseño: Test 1
Patrones de diseño: Test 1 1. Cuál es el objetivo del patrón Strategy? a) Definir el esqueleto de un algoritmo dejando la implementación de algunos de los pasos del esqueleto a las subclases. b) Permite
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 detallesIntroducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual
Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los
Más detallesPATRONES. Experto. Solución:
PATRONES. Experto. Asignar una responsabilidad a la clase que tiene la información necesaria para cumplirla. Cuál es el principio fundamental en virtud del cual asignaremos las responsabilidades a los
Más detallesGUIA PROGRAMACIÓN ORIENTADA A OBJETOS
GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución
Más detallesTema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión
Más detallesDecorador y Prototype
Ampliación de Programación Orientada a Objetos Decorador y Prototype Javier Abrines Vives Juan Romero Benítez Patrón decorador Qu Qué es? Es un patrón estructural Describe como los objetos y las clases
Más detallesPatrones 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 detallesIngeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML
Diseño Diseño en el PUD Diseño de software Patrones arquitectónicos Diseño Orientado a Objetos en UML 1 Iteración en PUD Planificación de la Iteración Captura de requisitos: Modelo de casos de uso, Modelo
Más detallesUML. Lenguaje de Modelado Unificado
Lenguaje de Modelado Unificado Concepto de Reseña Histórica Características Estándares que conforman Modelo Relacional con Ventajas Críticas Concepto de (Unified( Modeling language) Es un lenguaje usado
Más detallesTutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:
Tutorial de UML Introducción: El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que comprende
Más detallesUso 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 detallesRepetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos
I. INTRODUCCIÓN El reciente aumento de aplicaciones en donde se utiliza la computadora ha sido posible debido a un hardware de bajo costo, por lo cual la demanda de software ha crecido de forma exponencial.
Más detallesEstilos 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 detallesPatrones 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 detallesCasos de uso UML. Miguel Vega mvega@ugr.es. Granada, octubre de 2010 LSI - UGR
Especificación de UML Miguel Vega mvega@ugr.es LSI - UGR Granada, octubre de 2010 Especificación de Contenido 1 Introducción 2 3 Especificación de Contenido Plantilla de especificación Un ejemplo 4 5 Especificación
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 detallesPROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer
Más detallesUNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA APLICACIÓN DE PATRONES DE DISEÑO DE SOFTWARE EN EL DISEÑO DE UNA APLICACIÓN DE BASE DE DATOS ORIENTADA A OBJETOS. TRABAJO DE GRADUACIÓN PRESENTADO
Más detallesUniversidad 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 detallesTEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA
TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA AREA DEL TEMA: INGENIERÍA DE SOFTWARE OBJETIVO GENERAL Desarrollar aplicaciones web utilizando
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 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 detalles- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013
- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD Rev. 01- FEBRERO 2013 Software de diagnóstico de la seguridad de la información y autoimplantación
Más detallesDCU Diagramas de casos de uso
DCU Diagramas de casos de uso Universidad de Oviedo Departamento de Informática Contenidos Introducción Elementos básicos Más sobre los actores Más sobre los casos de uso Más sobre las asociaciones Otros
Más detalles19. Packages o paquetes
Programación orientada a objetos con Java 201 19. Packages o paquetes Objetivos: a) Definir el concepto de paquete b) Interpretar el código fuente de una aplicación Java donde se utilicen paquetes c) Construir
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 detallesSOLUCION PARCIAL TASK SCHEDULER. Task Scheduler
Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,
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 detallesDiseño orientado a los objetos
Diseño orientado a los objetos El Diseño Orientado a los Objetos (DOO) crea una representación del problema del mundo real y la hace corresponder con el ámbito de la solución, que es el software. A diferencia
Más detallesISO 9001:2015 Todo sobre la Prevención de Riesgos dentro de las Organizaciones
ISO 9001:2015 Todo sobre la Prevención de Riesgos dentro de las Organizaciones Boletín Técnico No. 11 Mayo 2014 Nueva revisión enfocada en la Gestión de Riesgos y la Simplificación Cada cinco años, el
Más detallesInicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases
3.2 TÉCNICA DE MODELADO DE OBJETOS (OMT) (JAMES RUMBAUGH). 3.2.1 Introducción. En este documento se trata tanto el OMT-1 como el OMT-2, el primero contenido en el Libro Modelado y Diseño Orientado (Metodología
Más detallesSoftware Reutilizable. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1
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 detallesDIVISION DE ELECTRONICA Y COMPUTACION
ARTE Y MULTIMEDIA EL ARTE A TRAVÉS DE LOS SIGLOS Luis Arturo Ramírez Vergara, Esbeidi Denny Valerio Flores, Anel Zepeda David arteymultimedia@hotmail.com.mx RESUMEN Este sistema pretende, a través de multimedia,
Más detallesEl Proceso Unificado Rational para el Desarrollo de Software.
Instituto de Electrónica y Computación El Proceso Unificado Rational para el Desarrollo de Software. Carlos Alberto Fernández y Fernández Huajuapan de León, Oaxaca 26 de octubre de 2000 Objetivo Proporcionar
Más detallesEl modelo de ciclo de vida cascada, captura algunos principios básicos:
Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software. El primer ciclo de vida del software, "Cascada",
Más detallesLINEAMIENTOS TÉCNICOS CATEGORÍA DISEÑO ORIENTADO A OBJETOS SENASoft Santander 2015. Documento elaborado por: Juan de Jesús Lizcano Sánchez
1 LINEAMIENTOS TÉCNICOS CATEGORÍA DISEÑO ORIENTADO A OBJETOS SENASoft Santander 2015 Documento elaborado por: Juan de Jesús Lizcano Sánchez Instructor Centro de Servicios Empresariales y Turísticos CSET
Más detalles- MANUAL TÉCNICO - Implantación de software de Marketing Online
- MANUAL TÉCNICO - Implantación de software de Marketing Online Rev. 01- MAYO 2013 Implantación de software de Marketing Online Teléfono Adeada: 945 253 388 Email Adeada: adeada@adeada.com REALIZADO POR:
Más detallesTITULO Editorial Autores ISBN AÑO
Calidad en el Desarrollo de Software Bibliografía TITULO Calidad en el desarrollo y mantenimiento del software Editorial Alfaomega Autores Mario G. Piattini y Félix O. García ISBN 970-15-0899-8 AÑO 2003
Más detallesColección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl
1 Colección de Tesis Digitales Universidad de las Américas Puebla Morales Salcedo, Raúl En este último capitulo se hace un recuento de los logros alcanzados durante la elaboración de este proyecto de tesis,
Más detallesCapítulos 2 y 5: Modelación con UML y Modelo Objeto
Capítulos 2 y 5: Modelación con UML y Modelo Objeto Asignando Responsabilidades 2 Responsabilidades son obligaciones de un objeto, o comportamiento relacionado a su rol en el sistema Qué hace un objeto?
Más detallesEnterprise Resource Planning (ERP) SISTEMA DE PLANEACIÓN DE RECURSOS MASTER: ALFREDO CASTRO JIMENEZ
Enterprise Resource Planning (ERP) SISTEMA DE PLANEACIÓN DE RECURSOS MASTER: ALFREDO CASTRO JIMENEZ ERICK ANASTASIO FLORES 29/09/2010 UNIVERSIDAD AUTONOMA DE GUADALAJARA TECNOLOGIAS DE INFORMACION Qué
Más detallesDiagrama de Clases. Diagrama de Clases
Diagrama de Clases 1 Diagrama de Clases El propósito de este diagrama es el de representar los objetos fundamentales del sistema, es decir los que percibe el usuario y con los que espera tratar para completar
Más detallesConclusiones. Particionado Consciente de los Datos
Capítulo 6 Conclusiones Una de las principales conclusiones que se extraen de esta tesis es que para que un algoritmo de ordenación sea el más rápido para cualquier conjunto de datos a ordenar, debe ser
Más detallesEstá invirtiendo demasiado tiempo y dinero en procesos que podrían ser mucho más simples, ágiles y beneficiosos para su empresa.
Su empresa utiliza más de una solución de software para gestionar las diferentes áreas y departamentos? Está invirtiendo demasiado tiempo y dinero en procesos que podrían ser mucho más simples, ágiles
Más detallesInteracció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 detallesQUIÉNES SOMOS Y QUÉ HACEMOS LOS HEADHUNTERS (*)
QUIÉNES SOMOS Y QUÉ HACEMOS LOS HEADHUNTERS (*) Muchas veces me preguntan qué es un headhunter, qué hacemos, cómo nos aseguramos de encontrar a los potenciales candidatos para cada búsqueda, y cómo nos
Más detallesCapítulo 5. Cliente-Servidor.
Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor
Más detallesIntroducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO)
Diseño Orientado a Objetos. Metodología enfocada a la solución de problemas complejos. Complejidad del software. Problemas difíciles de precisar. Definición de requerimientos vago y cambio en el desarrollo
Más detallesFactory method (Gamma et al.)
Factory method (Gamma et al.) Define una interfaz para crear un objeto pero deja a las subclases decidir que clase instanciar Motivación: Consideremos un framework que presenta múltiples documentos al
Más detallesBechtle Solutions Servicios Profesionales
Soluciones Tecnología Bechtle Solutions Servicios Profesionales Fin del servicio de soporte técnico de Windows Server 2003 No hacer nada puede ser un riesgo BECHTLE Su especialista en informática Ahora
Más detallesMetodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales
Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail josejuan_avina@gmail.com
Más detallesPRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE
PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,
Más detallesINTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS
INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se
Más detallesCAPÍTULO 3 Servidor de Modelo de Usuario
CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes
Más detallesIntroducción al UML. Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación
Introducción al UML Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación Contenido Qué es UML?. Diagramas Utilizados en UML. Ejemplos. Qué es UML UML es un Lenguaje de Modelado
Más detallesClases abstractas e interfaces
Clases abstractas e interfaces Clases abstractas Una clase abstracta es una clase que no se puede instanciar se usa únicamente para definir subclases Cuándo es una clase abstracta? En cuanto uno de sus
Más detallesLISTA DE COMPROBACIÓN DE RIESGOS EN PROYECTOS SOFTWARE. Esta lista agrupa los riesgos de proyectos software en las siguientes categorías:
LISTA DE COMPROBACIÓN DE RIESGOS EN PROYECTOS SOFTWARE Esta lista agrupa los riesgos de proyectos software en las siguientes categorías: A. Elaboración de la Planificación B. Organización y Gestión C.
Más detalles5.1. Organizar los roles
Marco de intervención con personas en grave situación de exclusión social 5 Organización de la acción 5.1. Organizar los roles Parece que el modelo que vamos perfilando hace emerger un rol central de acompañamiento
Más detalles