Arquitectura y Patrones de diseño.

Slides:



Advertisements
Presentaciones similares
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Advertisements

Curso de java básico (scjp)
FACHADA COMPOSITOR MEMENTO
Uso de patrones de arquitectura
Aspectos Avanzados de la Tecnología de Objetos
Diseño de Sistemas. Patrones de Diseño. Geronimo Manso.
Lenguajes de Programación Tema 3
Juan Manuel Perdigón Mario Felipe Monsalve
INGENIERIA DE SOFTWARE GUILLERMO OCHOA GAVIRIA Octubre 2006 Factory Method.
Patrones de diseño Web Pierre Sergei Zuppa Azúa.
SOFTWARE PARA PAGOS DE SUELDOS Patrones de Diseño
PATRONES DE DISEÑO.
Términos y Conceptos Básicos
Patrones de diseño equipo n.1
Patrones de diseño Grupo 1 Haeberli, Julián Lara, Guisell
CONCEPTO INGENIERÍA DE SOFTWARE  Analiza, diseña y desarrolla productos de sistemas software, proponiendo la plataforma tecnológica más apropiada. Domina.
1 Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Mayo 2011.
Arquitectura de Software. Contenido 1. Introducción 2. Características de la arquitectura 3. Los casos de uso y la arquitectura 4. Descripción de la arquitectura.
1 Patrones de Diseño (...o bien, que tiene que ver la costura con el software...) Universidad de los Andes Demián Gutierrez Marzo 2010.
Diseño de un sistema de gestión y asignación de equipos para una empresa TFC – Area J2EE Realización: Jose Angel Pardillo Vela Ingeniería técnica en Informática.
Diseño de una AppQuest como Herramienta de Aprendizaje Autor Cristian David Martínez Máster en Aplicaciones Multimedia Trabajo Final de Máster AppQuest.
BASE DE DATOS Reingeniería de Procesos. Modelo de BPR Definición del Negocio Refinamiento e instanciación Evaluación de procesos Especificación y diseño.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
COMUNICACIÓN Y TIC Ángela Espinosa Hayler Peñaranda.
PROGRAMACIÓN 9 NO NIVEL B PATRONES DE DISEÑO. Son un esquema que definen una estructura para el desarrollo de aplicaciones Se usa con la finalidad de.
La Norma ISO 25000, proporciona una guía para el uso de las series de estándares internacionales llamados requisitos y Evaluación de Calidad de Productos.
Informática Empresarial Docente – Carlos Andrés Bonil Mariño INFORMATICA EMPRESARIAL  CARLOS ANDRES BONIL MARIÑO  INGENIERO DE SISTEMAS.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
La Ingeniería de Sistemas
Herencia Multiple en Java
GESTIÓN DEL RIESGO E INGENERÍA DE SOFTWARE BASADO EN COMPONENTES
El Lenguaje de Modelación Unificado
Ingeniería de Software: Metodologías
SWEBOK.
Programación Orientada a Objetos
U.T. 11: Introducción A Las Bases De Datos
Patrones de Diseño Patrones GRASP Experto Creador Alta Cohesión
MOPROSOFT.
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
UNIVERSIDAD ICEP INTELIGENCIA ARTIFICIAL INGENIERÍA EN SISTEMAS COMPUTACIONALES Martes, 24 de Octubre de 2017 REPRESENTACIÓN DEL CONOCIMIENTO Y RAZONAMIENTO.
Ingeniería de Sistemas Requerimientos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Tema 3. Lenguaje unificado de modelado UML
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
MDA (Model Driven Architecture)
Ingeniería del Software
APLICACIONES II ° Patrones De Diseño ° Esteban Omar Mora Delgado
Modelo de interacción de usuario.  El Desarrollo basado en modelos de la interfaz de usuario, en inglés Model-based User Interface Development (MB-UID),
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
Danny Frank Otero Arrascue Ingeniería de Requisitos / Requerimientos Advisor: MEJIA CABRERA HEBER IVAN.
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
Análisis y diseño de aplicaciones. Introducción Crisis del software - conferencia organizada en 1968 por la Comisión de Ciencias de la OTAN en Garmisch.
Desarrollo Técnico  EL PROCESO DE CREACIÓN Y DESARROLLO DE UNA TIPOGRAFÍA CUALQUIERA ES, EN LÍNEA GENERAL MUY SIMILAR. AQUÍ NO SE DESCRIBIRÁ EN DETALLE.
Planeamiento: un plan incremental para que la ingeniería web produzca resultados. La ingeniería web es un área que abarca procesos, técnicas y modelos.
Patrones de Diseño Sistemas de Información II – IS 445 Docente: Lisber Arana Hinostroza Mayo
INTRODUCCIÓN A UML Y AL ADOO 1 Diagramas en UML ◦Diagramas de casos de uso ◦Diagramas de clases y objetos ◦Diagramas de secuencia ◦Diagramas de colaboración.
Ingeniería de Software INF - 163
Java Enterprise edition
Servidor de Reportes basado en Tecnología Java y XML
FUNDAMENTOS DE PROGRAMACIÓN. INTRODUCCIÓN  Conceptos: Informática, Ordenador, Programa, Dato, Bit, Byte, Hardware, Software, Lenguaje de Programación,
1 Taller de Proyecto Tema 1. Metodología de desarrollo de software Rational Unified Process –RUP [1,2] Prof. Nora La Serna © Prof. Nora La Serna.
Fundamentos del analisis de sistemas de Información Integrantes: Cavero Parraguez, Jesús Espinoza Paz, Julio Daniel Sandoval Chanamé, Kazuo Santisteban.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS. INTRODUCCION. ¿ Qué es UML ?. UML, por sus siglas en Ingles, Unified Modeling Languaje.(Lenguaje Unificado.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Ingeniería de Software: Metodologías
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
TEMA: Funciones, Roles y Procesos Docente: Jesús Ulloa Ninahuamán.
ICI 502 Procesos de Software
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
Transcripción de la presentación:

Arquitectura y Patrones de diseño.

Contenido 1 Definición de Arquitectura. Estilos arquitectónicos. Definición de patrón. Patrones de Diseño. 2 Patrones de Asignación de Responsabilidades (GRASP). 3 3 Patrones GOF

Bibliografía Larman, C; “UML y patrones” Tomo I Capítulos 18, Páginas 185-215.

Grandes Temas de la Ingeniería de Software Surgimiento Grandes Temas de la Ingeniería de Software Patrones de Diseño (GoF)-1995 Patrones de Arquitectura (POSA)- 1996 Métodos agiles o heterodoxos (2001). Arquitectura de Software (1992).

Arquitectura de Software Es la organización fundamental de un sistema encarnada en sus componentes, las relaciones entre ellos y el ambiente y los principios que orientan su diseño y evolución. También denominada Arquitectura lógica, consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construcción del Software.

Definición de Arquitectura Es una vista estructural de alto nivel, ocurre muy tempranamente en el ciclo de vida y define los estilos o grupos de estilos adecuados para cumplir con los requerimientos no funcionales.

Estilos Arquitectónicos. Define las reglas generales de organización en términos de un patrón y las restricciones en la forma y la estructura de un grupo numeroso y variado de sistemas de software. Estilos de Flujo de Datos Estilos Centrados en Datos Estilos de llamada y retorno Estilos de código móvil Estilos heterogéneos Estilos Peer-to-Peer

Importancia Sirven para sintetizar y tener un lenguaje que describa la estructura de las soluciones. Pocos estilos abstractos encapsulan una enorme variedad de configuraciones concretas. Permiten evaluar arquitecturas alternativas con ventajas y desventajas conocidas ante diferentes conjuntos de requerimientos no funcionales. Definen los patrones posibles de las aplicaciones.

Patrones Un patrón es una solución a un problema en un contexto, codifica conocimiento específico acumulado por la experiencia en un dominio.

Elementos de un patrón Nombre del patrón. Participantes. Clasificación del patrón. Colaboraciones. Consecuencias. Intención. Implementación. También conocido como. Usos conocidos. Patrones relacionados. Motivación. Aplicabilidad. Estructura.

Categoría de Patrones Según la escala o nivel de abstracción: Patrones arquitecturales: Aquellos que expresan un esquema organizativo estructural fundamental para sistemas software. Patrones de diseño: Aquellos que expresan esquemas para definir estructuras de diseño (o sus relaciones) con las que construir sistemas software. Idiomas: Patrones de bajo nivel específicos para un lenguaje de programación o entorno concreto.

Modelo – Vista – Controlador Es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón MVC se ve frecuentemente en aplicaciones Web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página, el modelo es el Sistema de Gestión de Base de Datos y el controlador representa la Lógica de negocio.

Model-View-Controller (MVC)

Arquitectura Orientada a Servicios (SOA) IBM: “…SOA es un modelo de componentes que interrelaciona las diferentes unidades funcionales de las aplicaciones, denominadas servicios, a través de interfaces y contratos bien definidos entre esos servicios. SOA define la utilización de servicios para dar soporte a los requerimientos de software del usuario. Proporciona una metodología y un marco de trabajo para documentar las capacidades de negocio y puede dar soporte a las actividades de integración y consolidación.

SOA SOA es un estilo arquitectónico. Permite interoperabilidad entre tecnologías distintas. Separa la lógica de los procesos, de los sistemas base. Permitiendo fácil cambio de los mismos. Es gradual, su implementación debe hacerse planeada y paulatinamente.

Patrón de Diseño Un patrón de diseño es una descripción de clases y objetos comunicándose entre sí adaptada para resolver un problema de diseño general en un contexto particular. Un patrón de diseño identifica: Clases, Instancias, Roles, Colaboraciones y la distribución de responsabilidades.

Ventajas Los patrones de diseño proponen una forma de reutilizar la experiencia de los desarrolladores. Están basados en la recopilación del conocimiento de los expertos en desarrollo de software. Es una experiencia real, probada y que funciona.

Características. Son soluciones concretas. Se utilizan en situaciones frecuentes. Favorecen la reutilización de código. El uso de un patrón no se refleja en el código. Es difícil reutilizar la implementación de un patrón.

Patrones GRASP. Acrónimo que significa General Responsibility Asignment Software Patterns (patrones generales de software para asignar responsabilidades). Describen los principios fundamentales de la asignación de responsabilidades a objetos, expresados en forma de patrones.

Patrones GRASP. Patrón Experto. Patrón Creador. Patrón Bajo Acoplamiento. Patrón Alta Cohesión. Patrón Controlador.

Experto.

Creador

Patrones GOF (Gang Of Four) De Creación: abstraen el proceso de creación de instancias. Estructurales: se ocupan de cómo clases y objetos son utilizados para componer estructuras de mayor tamaño. De Comportamiento: atañen a los algoritmos y a la asignación de responsabilidades entre objetos.

Patrones GOF (Gang Of Four) Propósito Creación Estructural Comportamiento Ámbito Clase Factory Method Adapter Interpreter Templat Method Objeto Abstract Factory Builder Prototype Singleton Bridge Composite Decorator Facade Flyweight Proxy  Chain of Responsibility Command Iterator Mediator Memento Observer State Strategy Visitor

Patrones GOF (Gang Of Four) Propósito Creación Estructural Comportamiento Ambito Clase Método de Fabricación Adaptador Intérprete Método plantilla Objeto Fábrica abstracta Constructor virtual Prototipo Instancia única Puente Objeto compuesto Envoltorio Fachada Peso ligero Proxy  Cadena de responsabilidad Orden Iterador Mediador Recuerdo Observador Estado Estrategia Visitante

Singleton Garantiza que una sola clase sólo tenga una instancia y proporciona un punto de acceso global a ella.

Seminario MDA Tema: Arquitectura Dirigida por Modelos (MDA). Introducción a la Arquitectura Dirigida por Modelos (MDA). Objetivos de MDA. Ciclo de vida del desarrollo con MDA. Modelo Independiente de la Plataforma (PIM). Modelos Específicos de la Plataforma (PSMs). Herramientas de Traducción entre el PMI y los PSMs. Ventajas de MDA.

Arquitectura y Patrones de diseño.