Patrones de software y refactorización de código

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Patrones de software y refactorización de código"

Transcripción

1 Patrones de software y refactorización de código

2 Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos. Los expertos que trabajan en un problema específico, rara vez atacan dicho problema inventando una solución que sea novedosa y completamente distinta a las soluciones existentes. Lo usual es que recuerden algún problema similar que ya resolvieron y que reutilicen lo esencial de esa solución para el nuevo problema. El método problema-solución es utilizado en varias áreas como la arquitectura, economía e ingeniería de software. Es una forma natural para atacar un problema.

3 Introducción y antecedentes de los patrones de software 2 El primer intento por documentar soluciones a problemas comunes lo realizó el arquitecto Christopher Alexander en 1977, quien desarrolló una teoría para la arquitectura, construcción y planeación basada en la construcción y uso de patrones. Alexander dijo: Cada patrón describe un problema que ocurre una y otra vez en nuestro ambiente y después describe la parte más importante de la solución a ese problema, de tal manera que se puede utilizar esta solución un millón de veces, sin hacerlo de la misma manera dos veces. Aún cuando Alexander estaba hablando de patrones para arquitectura, lo que dijo también puede aplicarse a patrones de software.

4 Introducción y antecedentes de los patrones de software 3 Nuestras soluciones son expresadas en términos de objetos e interfaces en vez de paredes y puertas, pero en el corazón de ambos tipos de patrones se encuentra una solución a un problema dentro de un contexto particular. En 1994 aparece el libro Design Patterns - Elements of Reusable Object-Oriented Software de Erich Gamma et al., el cual es considerado como la referencia obligada al tratar el tema de patrones de software. Aun cuando la idea de patrones de diseño que maneja Gamma en su libro no era algo novedoso, Gamma presenta el primer catálogo de patrones de diseño para los sistemas orientados a objetos.

5 Definición de patrón de software Un patrón de software describe un problema de diseño particular recurrente que aparece en contextos de diseño específicos y presenta un esquema bien probado para su solución. El esquema de solución se especifica describiendo sus componentes esenciales, sus responsabilidades y relaciones, así como la manera en que estos colaboran.

6 Definición de patrón de software 2 Los aspectos más importantes que se pueden destacar de los patrones de software son: Un patrón refiere un problema de diseño recurrente que aparece en una situación de diseño particular y presenta una solución para el problema. Los patrones documentan la experiencia de diseño existente y que ha sido bien probada. Los patrones identifican y especifican abstracciones que están por encima del nivel de las clases y las instancias o los componentes.

7 Definición de patrón de software 3 Los patrones proveen un vocabulario común y entendimiento para los principios de diseño. Los patrones son un medio para documentar las arquitecturas de software. Los patrones apoyan la construcción de software con propiedades definidas.

8 Descripción de un patrón de software Existen varios formatos para la documentación de un patrón de software, pero en esencia todos los autores hacen referencia a los mismos elementos. Según Buschmann un patrón se compone de tres partes: el contexto, el problema y la solución.

9 Descripción de un patrón de software 2 El contexto describe situaciones en las cuales ocurre el problema. El contexto de un patrón puede ser bastante general, como desarrollar software que tenga una interfaz de usuario o demasiado específico, como implementar el mecanismo de manejo de eventos para las interfaces de usuario colaborativas. El problema describe lo que ocurre repetidamente en el contexto dado.

10 Descripción de un patrón de software 3 Se inicia con una especificación general que capture la esencia y se complementa con un conjunto de aspectos que deben ser considerados al resolver el problema, tales como: Requisitos que la solución debe cumplir Restricciones que se deben considerar Propiedades deseadas que la solución debe tener La solución muestra como resolver el problema recurrente, o aun mejor, como balancear los aspectos importantes asociados a éste.

11 Descripción de un patrón de software 4 La solución debe incluir dos partes: Estructura Comportamiento en ejecución La estructura se refiere a la configuración espacial de los elementos, describe los aspectos estáticos de la solución. La estructura se describe usualmente a través de distintos tipos de diagramas que pueden ser dibujados apegándose a alguna notación específica, por ejemplo UML.

12 Descripción de un patrón de software 5 El comportamiento en ejecución se refiere a los aspectos dinámicos de la solución: Como colaboran los elementos involucrados? Como se organiza el trabajo entre ellos? Como se comunican?

13 Descripción de un patrón de software 6 Patrón Contexto Situación de diseño que da origen al problema Problema Conjunto de aspectos recurrentes en el contexto Solución Configuración para balancear los distintos aspectos Estructura incluyendo componentes y relaciones Comportamiento en ejecución

14 Categorías de patrones Los patrones cubren varios rangos en escala y abstracción. Algunos patrones ayudan a estructurar un sistema de software en subsistemas. Otros patrones apoyan el refinamiento de subsistemas y componentes o de las relaciones entre estos. También existen patrones que apoyan en la implementación de aspectos de diseño particulares en un lenguaje de programación específico. Los patrones se pueden clasificar en tres categorías: patrones arquitectónicos, patrones de diseño e idiomas.

15 Categorías de patrones 2

16 Categorías de patrones 3 Patrones arquitectónicos Un patrón arquitectónico expresa un esquema de organización estructural para los sistemas de software. Estos patrones proveen un conjunto de subsistemas predefinidos, especifican sus responsabilidades e incluyen reglas y guías para organizar las relaciones entre ellos.

17 Categorías de patrones 4 Patrones de diseño Un patrón de diseño provee un esquema para refinar los subsistemas o componentes de un sistema de software o las relaciones entre ellos. Estos patrones describen una estructura recursiva de componentes en comunicación que solucionan un problema de diseño general dentro de un contexto particular.

18 Categorías de patrones 5 Idiomas Un idioma es un patrón de bajo nivel, específico a un lenguaje de programación. Un idioma describe como implementar aspectos particulares de componentes o las relaciones entre estos utilizando las características del lenguaje dado.

19 Sistema de patrones Un patrón soluciona un problema particular, pero su aplicación trae consigo otros problemas. Algunos de estos pueden ser solucionados por otros patrones. Los componentes simples o relaciones dentro de un patrón particular pueden ser descritos por patrones más pequeños, todos ellos integrados por el patrón en el cual están contenidos. Así es como nace la idea de sistema de patrones. Un sistema de patrones es una colección de patrones para arquitectura de software, junto con guías para su implementación, combinación y uso práctico en el desarrollo de software.

20 Sistema de patrones 2 Sistema de patrones Patrón arquitectónico define la organización Patrón de diseño documenta Marco de clases

21 Sistema de patrones 3 Un sistema de patrones es una forma muy poderosa para expresar y construir arquitecturas de software. Un sistema de patrones reúne varios patrones individuales. Describe como es que están conectados sus patrones constituyentes con otros patrones dentro del mismo sistema, como pueden ser implementados los patrones y como es apoyado el desarrollo de software por medio de estos patrones. El objetivo principal de un sistema de patrones para arquitecturas es el apoyar el desarrollo de sistemas de software de alta calidad.

22 Sistema de patrones 4 Por alta calidad, se quiere decir, sistemas que cumplan tanto sus requerimientos funcionales como no funcionales. Para llevar a cabo este objetivo, un sistema de patrones debe satisfacer los siguientes requisitos: Contener una base con suficientes patrones. Describir todos sus patrones de manera uniforme. Explicar las distintas relaciones entre los patrones. Organizar los patrones que lo constituyen. Apoyar la construcción de sistemas de software. Apoyar su propia evolución.

Arquitectura de Software: Estilos y Patrones

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

Más detalles

Patrones de diseño. Programación III.I.T.I. de Sistemas. Contenidos. Información sobre patrones de diseño. Motivación.

Patrones 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 detalles

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

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

Más detalles

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1 Introducción al Proceso Unificado de Desarrollo de Software Autor: Ing. Silverio Bonilla 1 James Rumbaugh et al. Concepto de Método Una metodología de ingeniería del software es un proceso para producir

Más detalles

Diseño Basado en Componentes. Curso 2008/09

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

Más detalles

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

Ingenierí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 detalles

Estilos y Patrones Arquitectónicos

Estilos 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 detalles

Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, 2002. Introducción al Diseño de Software

Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, 2002. Introducción al Diseño de Software Principio de Diseño Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, 2002 Introducción al Diseño de Software Qué es el diseño? Representación ingenieril

Más detalles

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

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

Más detalles

Depto de Cs e Ing. de la Computación Universidad Nacional del Sur

Depto 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 detalles

Diagrama de Clases. Diagrama de Clases

Diagrama 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 detalles

8.1. Ficha de caracterización del subproceso Gestión de la Arquitectura

8.1. Ficha de caracterización del subproceso Gestión de la Arquitectura Índice de contenido 8.1. Ficha de caracterización del subproceso Gestión de la Arquitectura...2 8.2. Descripción de la Actividades del procedimiento Gestión de la Arquitectura...4 La arquitectura...4 Desarrollar

Más detalles

SISTEMATIZACIÓN DE LA GENERACIÓN DE PRESUPUESTOS PARA PROYECTOS DE OBRA: DOCUMENTO DE VISIÓN SISTEMA DE ADMINISTRACIÓN DE MATERIALES DE TUBERÍA

SISTEMATIZACIÓN DE LA GENERACIÓN DE PRESUPUESTOS PARA PROYECTOS DE OBRA: DOCUMENTO DE VISIÓN SISTEMA DE ADMINISTRACIÓN DE MATERIALES DE TUBERÍA SISTEMATIZACIÓN DE LA GENERACIÓN DE PRESUPUESTOS PARA PROYECTOS DE OBRA: SISTEMA DE ADMINISTRACIÓN DE MATERIALES DE TUBERÍA PARA INARGOS LTDA. DOCUMENTO DE VISIÓN VERSIÓN 1.3 BOGOTÁ, COLOMBIA, ENERO 2012

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso 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 detalles

Interacción Persona - Ordenador

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

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Modelos de desarrollo de software. septiembre de 2007 1

Modelos de desarrollo de software. septiembre de 2007 1 Modelos de desarrollo de software septiembre de 2007 1 Referencias básicas Ingeniería de software. Un enfoque práctico. Pressman, R. Quinta edición. Mc. Graw Hill 2002 Ingeniería de software. Sommerville,

Más detalles

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web

Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web J.Corral-García, D.Cortés-Polo, C.Gómez-Martín, J.L.González-Sánchez

Más detalles

El Software. Es lo que se conoce como el ciclo de vida del software.

El Software. Es lo que se conoce como el ciclo de vida del software. El Software Hace referencia a los programas y toda la información asociada y materiales necesarios para soportar su instalación, operación, reparación, y mejora. Para construir un nuevo elemento software

Más detalles

Software 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 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 detalles

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta (Business Process Management, BPM). La Gerencia de los Procesos del Negocio: Se define como: "integración

Más detalles

Escuela 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 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 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: Desarrollo de Sistemas de información. Ubicación: Séptimo semestre. Clave: 2096

Más detalles

Patrones en el e-learning

Patrones 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 detalles

SIGPRE Sistema de Gestión Presupuestaria

SIGPRE Sistema de Gestión Presupuestaria SIGPRE Sistema de Gestión Presupuestaria Documento de Arquitectura UTN Histórico de Revisiones Fecha Versión Descripción Autor 11/17/2009 1.0 Borrador de la arquitectura Roberto López Hinojosa 12/14/2009

Más detalles

270015 - IES - Introducción a la Ingeniería del Software

270015 - IES - Introducción a la Ingeniería del Software Unidad responsable: 270 - FIB - Facultad de Informática de Barcelona Unidad que imparte: 747 - ESSI - Departamento de Ingenieria de Servicios y Sistemas de Información Curso: Titulación: 2015 GRADO EN

Más detalles

La importancia del desarrollo para el buen diseño del software

La importancia del desarrollo para el buen diseño del software La importancia del desarrollo para el buen diseño del software RESUMEN N L González Morales. 1 En este ensayo se examinan los temas vistos en clase que son Desarrollo de Orientado a Objetos y Arquitectura

Más detalles

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Pág: 1 de 6 DEPARTAMENTO DE INGENIERÍA INFORMÁTICA (DII): LS4118: Ingeniería del Software I Documento de DISEÑO Proyecto: XXXXXX Autor/es: YYYYY Pág: 2 de 6 Contenido 1. Introducción 3 2. Diagrama de despliegue

Más detalles

Evolució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 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 detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Tabla de Contenidos PARTE I INTRODUCCIÓN Capítulo 1: Evolución Los hitos en la evolución histórica del Desarrollo de Software Problemas y soluciones... Fallas, malas estimaciones

Más detalles

El Proceso Unificado de Desarrollo de Software

El 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 detalles

http://www.cem.itesm.mx/extension/ms

http://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 detalles

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java C/Comandante Zorita 4 28020 Madrid/ info@ceticsa.es 902 425 524 / 91 700 01 17 Plataforma desarrollo Java Formación elearning tutorizada en castellano JAVA00d Ciclo de formación en plataforma Java Curso

Más detalles

Curso: El Proceso de Desarrollo de Software

Curso: El Proceso de Desarrollo de Software Curso: El Proceso de Desarrollo de Software EL PROCESO DE DESARROLLO DE SOFTWARE... 1 OBJETIVO...1 CONTENIDO...1 BIBLIOGRAFÍA...4 DOCENTE...4 MODALIDAD DEL DESARROLLO...4 El proceso de Desarrollo de Software

Más detalles

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN

UNIVERSIDAD 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 detalles

UNIDAD V DISEÑO DEL SOFTWARE

UNIDAD V DISEÑO DEL SOFTWARE UNIDAD V DISEÑO DEL SOFTWARE El diseño es lo que todo ingeniero quiere hacer Requisitos del cliente Especificaciones técnicas PRODUCTO Necesidades de negocio El diseño crea una representación del modelo

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

Más detalles

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola BPMN vs UML Autor: Norberto Figuerola Los Requerimientos y el Modelo del Negocio Normalmente, siempre que iniciamos un esfuerzo de desarrollo de software éste tiene como objetivo automatizar procesos del

Más detalles

El conocimiento de los desarrolladores de sistemas: cómo nutrirlo, sistematizarlo y potenciarlo. Alan Calderón Castro

El conocimiento de los desarrolladores de sistemas: cómo nutrirlo, sistematizarlo y potenciarlo. Alan Calderón Castro El conocimiento de los desarrolladores de sistemas: cómo nutrirlo, sistematizarlo y potenciarlo Alan Calderón Castro Temario Motivación Patrones de análisis de dominio Familias de productos de software

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

Trabajo de Grado Análisis comparativo de Lenguajes Notacionales para Modelado de Procesos

Trabajo de Grado Análisis comparativo de Lenguajes Notacionales para Modelado de Procesos Trabajo de Grado Análisis comparativo de Lenguajes Notacionales para Modelado de Procesos Autora: Vasquez Pilar María Directora: Dra. Giandini Roxana Codirectora: Mg. Bazán Patricia Agenda Introducción.

Más detalles

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática La Necesidad de Modelar Analogía Arquitectónica Tiene sentido poner ladrillos sin hacer antes los planos? El modelo, los planos, ayuda a afrontar la complejidad del proyecto. Cuál es el lenguaje adecuado

Más detalles

Glosario. actividad. 1. (tarea) 2. es un subproceso que no requiere mas descomposición.

Glosario. actividad. 1. (tarea) 2. es un subproceso que no requiere mas descomposición. Glosario Aclaraciones Los conceptos del glosario están ordenados alfabéticamente. Un concepto puede ser un único término como meta o una frase como ambiente de ingeniería de software centrado en procesos.

Más detalles

Una Arquitectura para una Herramienta de Patrones de Diseño

Una 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 detalles

Configuración de Software

Configuración de Software Configuración de Software Introducción Nuevas versiones del software como consecuencias de los cambios. La configuración de software esta relacionada en el manejo de la evolución de sistemas de software.

Más detalles

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software IX Contenidos Prólogo... XIX Prefacio... XXI Guía de lectura...xxiii Parte I - Introducción Capítulo 1 - Evolución 1.1 Introducción... 2 1.2 Los hitos en la evolución histórica del desarrollo de software...

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

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

Más detalles

Arquitecturas y Tecnologías de Aplicaciones Empresariales

Arquitecturas 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 detalles

Desarrollo de Líneas de Productos de Software

Desarrollo de Líneas de Productos de Software Centro Experimental de Ingeniería de Software Departamento de Ciencias de la Computación Facultad de Ciencias Físicas y Matemáticas Universidad de Chile Desarrollo de Líneas de Productos de Software María

Más detalles

Procesos de Negocios

Procesos de Negocios Procesos de Negocios Procesos de negocios Como dijimos en el Tema 1: los sistemas de información y las organizaciones se influyen entre sí: Los SI deben proveer la información que la organización necesita.

Más detalles

Patrones De Alexander a la Tecnología de Objetos

Patrones 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 detalles

INTERPRETACIÓN DINÁMICA DE MÚLTIPLES LENGUAJES DE DOMINIO ESPECÍFICO

INTERPRETACIÓN DINÁMICA DE MÚLTIPLES LENGUAJES DE DOMINIO ESPECÍFICO INTERPRETACIÓN DINÁMICA DE MÚLTIPLES LENGUAJES DE DOMINIO ESPECÍFICO Héctor A. FLOREZ FERNANDEZ Facultad Tecnológica, Universidad Distrital Francisco Jose de Caldas haflorezf@udistrital.edu.co Bogotá,

Más detalles

Creación de Soluciones usando Patrones

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

Más detalles

Enterprise Architect y UML Básico

Enterprise Architect y UML Básico Enterprise Architect y UML Básico Diciembre 2008 Carlos Alexander Zuluaga Agenda Diagrama de despliegue. Introducción. Modelado. Diagrama de estructuras compuestas. Introducción. Modelado. Modelo 4 + 1

Más detalles

Introducción. Conceptos y principios. Introducción. Introducción. Elementos del modelo de análisis. Elementos del modelo de diseño.

Introducción. Conceptos y principios. Introducción. Introducción. Elementos del modelo de análisis. Elementos del modelo de diseño. Definición de diseño Proceso para la definición detallada de un sistema con el fin de su realización física. Ingeniería del Software 1 Ingeniería del Software 2 Modelo de diseño vs. Paradigma de IS 3 actividades

Más detalles

Desarrollo y comercialización de productos de software [El proceso unificado]

Desarrollo y comercialización de productos de software [El proceso unificado] Desarrollo y comercialización de productos de software [El proceso unificado] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 13-P Sergio Luis Pérez (UAM CUAJIMALPA) Curso de desarrollo

Más detalles

Departamento 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 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 detalles

Guía Docente Curso 2012-2013

Guía Docente Curso 2012-2013 ESCUELA TÉCNIICA SUPERIIOR DE IINGENIIERÍÍA Guía Docente Curso 2012-2013 Titulación Ingeniería Informática DATOS DE LA ASIGNATURA * * Asignatura en experiencia piloto de implantación del sistema de créditos

Más detalles

Análisis de Requisitos

Análisis de Requisitos Análisis de Requisitos Los requisitos determinan lo que hará el sistema y definen restricciones sobre su operación e implementación. El análisis de requisitos es el proceso del estudio de las necesidades

Más detalles

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

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

Más detalles

Universidad del Azuay

Universidad del Azuay Universidad del Azuay Facultad de Ciencias de la Administración Escuela de Ingeniería de Sistemas Trabajo de Graduación previo a la obtención del Título de Ingeniero de Sistemas Tema: Patrones de diseño

Más detalles

Presentación de la asignatura

Presentación de la asignatura Presentación de la asignatura Programación Orientada a Objetos Facultad de Informática Juan Pavón Mestras Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid Profesor

Más detalles

GUÍA DOCENTE. Curso 2014-2015 1. DESCRIPCIÓN DE LA ASIGNATURA. Ingeniería Informática en Sistemas de Información Doble Grado: Módulo: Módulo 6

GUÍA DOCENTE. Curso 2014-2015 1. DESCRIPCIÓN DE LA ASIGNATURA. Ingeniería Informática en Sistemas de Información Doble Grado: Módulo: Módulo 6 1. DESCRIPCIÓN DE LA ASIGNATURA Grado: Ingeniería Informática en Sistemas de Información Doble Grado: Asignatura: Ingeniería del Sotware II Módulo: Módulo 6 Departamento: Deporte e Informática Año académico:

Más detalles

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen A través de este artículo se ofrece un panorama amplio y de alto nivel sobre la especificación y los diferentes diagramas del Lenguaje

Más detalles

Conceptos Básicos. El Instituto de administración de Proyectos, PMI, define un proyecto como:

Conceptos Básicos. El Instituto de administración de Proyectos, PMI, define un proyecto como: Existen diferentes modelos y metodologías para la administración de proyectos y modelos de calidad para el desarrollo del software. Por lo que mencionaremos los siguientes conceptos importantes. a) Qué

Más detalles

Ingeniería del Software

Ingeniería del Software Tema 5: Dr. Francisco José García Peñalvo (fgarcia@usal.es) Miguel Ángel Conde González (mconde@usal.es) Sergio Bravo Martín (ser@usal.es) Obtener nivel de usuario Nivel usuario Leer nivel de usuario Obtener

Más detalles

Contenido de la sesión. Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas

Contenido de la sesión. Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas Contenido de la sesión Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas Diseño de Software Es una descripción de la estructura del software que se va a

Más detalles

Temario máster Java. Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas

Temario máster Java. Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas Temario máster Java Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas En este módulo se explicarán las características del lenguaje programación Java. Unidad 1 Entendiendo la tecnología

Más detalles

ARC 101 Architecture Overview Diagram

ARC 101 Architecture Overview Diagram ARC 101 Architecture Overview Diagram Estudio de Arquitectura para la evolución tecnológica de los aplicativos de ATyR Banco de Previsión Social ATYR Evolución Tecnológica Pág 1 of 10 Tabla de Contenidos

Más detalles

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO UNIDAD DIDÁCTICA : ANÁLISIS Y DISEÑO DE SISTEMAS INFORMÁTICOS

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO UNIDAD DIDÁCTICA : ANÁLISIS Y DISEÑO DE SISTEMAS INFORMÁTICOS INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 201-II 1. DATOS GENERALES SÍLABO UNIDAD DIDÁCTICA : ANÁLISIS Y DISEÑO DE SISTEMAS INFORMÁTICOS MÓDULO : DESARROLLO DE SOFTWARE TIPO

Más detalles

ADMINISTRACIÓN DE PROYECTOS

ADMINISTRACIÓN DE PROYECTOS ADMINISTRACIÓN DE PROYECTOS QUÉ ES LA ADMINISTRACIÓN DE PROYECTOS? Es la planeación, organización, dirección y control de los recursos para lograr un objetivo a corto plazo. También se dice que la administración

Más detalles

Fundamentos del diseño de software

Fundamentos del diseño de software Fundamentos del diseño de software El diseño es el primer paso de la fase de desarrollo de cualquier producto o sistema de ingeniería. Definición de diseño según Taylor Proceso de aplicar distintas técnicas

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes. Definiciones

Más detalles

MANUAL DE REGLAS DE NEGOCIO ASOCIADAS AL PROCESO DE ESTRATEGIA DEL SERVICIO DE TI PERTENECIENTES AL MACRO PROCESO GESTIÓN DE TECNOLOGÍA DE INFORMACIÓN

MANUAL DE REGLAS DE NEGOCIO ASOCIADAS AL PROCESO DE ESTRATEGIA DEL SERVICIO DE TI PERTENECIENTES AL MACRO PROCESO GESTIÓN DE TECNOLOGÍA DE INFORMACIÓN Página 1 de 20 MANUAL DE REGLAS DE NEGOCIO ASOCIADAS AL PROCESO DE ESTRATEGIA DEL SERVICIO DE TI PERTENECIENTES AL MACRO PROCESO GESTIÓN DE TECNOLOGÍA DE INFORMACIÓN VERSIÓN 001 Junio 2012 Página 1 Página

Más detalles

QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D)

QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D) APRENDERAPROGRAMAR.COM QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D) Sección: Divulgación Categoría: Lenguajes y entornos

Más detalles

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008) Unidades temáticas de Ingeniería del Software Fases del proceso de desarrollo 4ª edición (2008) Facultad de Informática organización del desarrollo El ciclo de vida del software abarca el proceso de desarrollo,

Más detalles

P R U E B A S D E S O F T W A R E 1 Pruebas de Software

P R U E B A S D E S O F T W A R E 1 Pruebas de Software PRUEBAS DE SOFTW ARE 1 Pruebas de Software 2 PRUEBAS DE SOFTWARE 3 ÍNDICE Página Presentación 5 Red de contenidos 6 Unidad de aprendizaje 1: Fundamentos de Pruebas de Software 1.1 Tema 1 : Pruebas de Software

Más detalles

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

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

Más detalles

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR En este capítulo se describe el análisis y diseño de un sistema, denominado e-commerce Constructor, el cual cumple con los siguientes objetivos: Fungir

Más detalles

Calidad de Sistemas de Información

Calidad de Sistemas de Información Calidad de Sistemas de Información Introducción (2) Concepto de calidad Conjunto de propiedades y características de un producto, proceso o servicio que le hace satisfacer las necesidades establecidas

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2:

Más detalles

DOCUMENTO DE REQUISITOS Subsistema de Reservas del Sistema de Gestión Hotelera

DOCUMENTO DE REQUISITOS Subsistema de Reservas del Sistema de Gestión Hotelera DOCUMENTO DE REQUISITOS Subsistema de Reservas del Sistema de Gestión Hotelera IN77J - Orientación a Objetos para e-business Daniel Perovich Andrés Vignaga {dperovic, avignaga}@dcc.uchile.cl Magíster en

Más detalles

Metodologías para generación de Sistemas Orientados a Objetos

Metodologías para generación de Sistemas Orientados a Objetos Metodologías para generación de Sistemas Orientados a Objetos Análisis y Diseño (Tecnologías) Orientado a Objetos Dr. Leopoldo Altamirano Robles 22 septiembre, 2003 Alicia Morales Reyes Alma Rosa Rugerio

Más detalles

Oferta tecnológica: Herramienta software y método para modelar aplicaciones web independientes de dispositivo

Oferta tecnológica: Herramienta software y método para modelar aplicaciones web independientes de dispositivo Oferta tecnológica: Herramienta software y método para modelar aplicaciones web independientes de dispositivo Oferta tecnológica: Herramienta software y método para modelar aplicaciones web independientes

Más detalles

Procesos de Negocios. Ingeniería de Sistemas de Información /Sistemas de Información ISI/SI - 1

Procesos de Negocios. Ingeniería de Sistemas de Información /Sistemas de Información ISI/SI - 1 Procesos de Negocios Ingeniería de Sistemas de Información /Sistemas de Información ISI/SI - 1 Procesos de negocios Como dijimos en el Tema 2: los sistemas de información y las organizaciones se influyen

Más detalles

DESARROLLO DE SOFTWARE EMPRESARIAL. Jonás Montilva C. Judith Barrios A. Universidad de Los Andes

DESARROLLO DE SOFTWARE EMPRESARIAL. Jonás Montilva C. Judith Barrios A. Universidad de Los Andes DESARROLLO DE SOFTWARE EMPRESARIAL Jonás Montilva C. Judith Barrios A. Universidad de Los Andes Desarrollo de Software Empresarial Derechos Reservados. Ninguna parte de este documento puede ser reproducida,

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

Gestión y Desarrollo de Requisitos en Proyectos Software

Gestión y Desarrollo de Requisitos en Proyectos Software Gestión y Desarrollo de Requisitos en Proyectos Software Ponente: María Jesús Anciano Martín Objetivo Objetivo Definir un conjunto articulado y bien balanceado de métodos para el flujo de trabajo de Ingeniería

Más detalles

Autodesk Currículo Estructural 2013 Libro de Ejercicios para los Estudiantes Unidad 5: Análisis Estructural Avanzado y Coordinación

Autodesk Currículo Estructural 2013 Libro de Ejercicios para los Estudiantes Unidad 5: Análisis Estructural Avanzado y Coordinación Autodesk Currículo Estructural 2013 Libro de Ejercicios para los Estudiantes Unidad 5: Análisis Estructural Avanzado y Coordinación Contenido Información General de la Unidad... 2 Información General...

Más detalles

Diseño y Modelación de un Proyecto de Software Utilizando el lenguaje UML

Diseño y Modelación de un Proyecto de Software Utilizando el lenguaje UML Diseño y Modelación de un Proyecto de Software Utilizando el lenguaje UML INTRODUCCION Desde los inicios de la informática se han estado utilizando distintas formas de representar los diseños de una manera

Más detalles

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

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

Más detalles

Resumen General del Manual de Organización y Funciones

Resumen General del Manual de Organización y Funciones Gerencia de Tecnologías de Información Resumen General del Manual de Organización y Funciones (El Manual de Organización y Funciones fue aprobado por Resolución Administrativa SBS N 354-2011, del 17 de

Más detalles

Tema 6º: Diseño Orientado a Objetos

Tema 6º: Diseño Orientado a Objetos Tema 6º: Diseño Orientado a Objetos Diseño preliminar y Diseño detallado Modelado de la Arquitectura del Sistema Abstracciones y mecanismos clave Elementos básicos del Diseño Orientado a Objetos Diagramas

Más detalles

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1 IWG-101: Introducción a la Ingeniería Departamento de Informática, UTFSM 1 Introducción a UML Historia Potencialidades Diagramas soportados UML en el proceso de desarrollo de SW. Introducción a UML Necesidad

Más detalles

Resumen. Palabras clave: diseño, reuso, arquitectura, patrones, taller. Introducción

Resumen. Palabras clave: diseño, reuso, arquitectura, patrones, taller. Introducción TALLER: MECANISMOS DE REUSO EN OO ARQUITECTURA, PATRONES Y FRAMEWORKS Urciuolo Adriana, Sandoval Sandra Universidad Nacional de la Patagonia San Juan Bosco Sede Ushuaia, Darwin y Canga, (9410) Ushuaia

Más detalles

HISTORIAL DE CAMBIOS MOTIVO DEL CAMBIO. DESCRIPCION DEL CAMBIO Elaboración del Documento VERSION FECHA N/A 21-09-2009

HISTORIAL DE CAMBIOS MOTIVO DEL CAMBIO. DESCRIPCION DEL CAMBIO Elaboración del Documento VERSION FECHA N/A 21-09-2009 de 5 HISTORIAL DE CAMBIOS VERSION DESCRIPCION DEL CAMBIO Elaboración del Documento MOTIVO DEL CAMBIO FECHA N/A 2-09-2009 2 de 5. OBJETIVO Definir un procedimiento para asegurar que un servicio pueda ser

Más detalles

ISO 19103. Lenguaje de Esquema Conceptual

ISO 19103. Lenguaje de Esquema Conceptual ISO 19103 Lenguaje de Esquema Conceptual La ISO 19103 establece normas y guías para la adopción y uso de un Lenguaje de Esquema Conceptual (CSL) para desarrollar modelos o esquemas de información geográfica,

Más detalles

Capítulo 2 : Marco Teórico

Capí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 detalles