ARQUITECTURAS DE SOFTWARE

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

Download "ARQUITECTURAS DE SOFTWARE"

Transcripción

1 ARQUITECTURAS DE SOFTWARE 1. DEFINICIÓN: La arquitectura de software de un programa o de un sistema computacional está definida por la estructura, comprendida por los elementos de software, las propiedades visibles de esos elementos y las relaciones entre ellos. Se incluyen los siguientes elementos: La descripción de los componentes (servidores, clientes, bases de datos, filtros, capas en un sistema jerárquico, etc. ) con los cuales se construyen los sistemas Las interacciones (llamadas a procedimientos, protocolos C/S, protocolos de acceso a BD, etc) entre esos componentes Patrones para guiar la composición Restricciones sobre dichos patrones 1 2. OBJETIVOS: Algunos de los objetivos que se buscan alcanzar al diseñar una arquitectura de software son los siguientes: Comprender y mejorar la estructura de las aplicaciones complejas. Reutilizar dicha estructura (o partes de ella) para resolver problemas similares. Planificar la evolución de la aplicación, identificando las partes que cambian y las que permanecen constantes de la misma, así como los costos de los posibles cambios. Analizar la corrección de la aplicación y su grado de cumplimiento respecto a los requisitos iniciales. Permitir el estudio de algunas propiedades específicas del dominio. Una de las mayores utilidades de utilizar una arquitectura es que un mismo diseño arquitectónico puede servir para dos aplicaciones distintas (ej. los patrones de diseño). Esto facilita el desarrollo de nuevas aplicaciones y reduce el tiempo que se invierte en dicho proceso. Pero así como trae beneficios, toca tener mucho cuidado en el momento de elegir una arquitectura ya que, una arquitectura errónea puede traer consigo muchos problemas. 3. LDA Un LDA es un lenguaje o notación para describir una arquitectura software e incluye principalmente : La descripción de componentes, conectores y enlaces entre ellos. 2 Las herramientas para la verificación de la arquitectura y el prototipado rápido. 3 1 Acuña César Javier. Arquitecturas de Software. Universidad Rey Juan Carlos. 2 Moreno Navarro Juan José. Arquitecturas de Software. Curso de Software basado en Componentes. 3 Moreno Navarro Juan José. Arquitecturas de Software. Curso de Software basado en Componentes.

2 Existen LDAs de propósito general y otros de dominio específico (DSLs). Los requisitos que debe tener estos lenguajes se pueden clasificar de la siguiente manera 4 : Composición o Debe describir el sistema como una composición de partes Configuración o Debe describir la arquitectura independientemente de los componentes Abstracción o Debe describir los roles abstractos que juegan los componentes Reutilización o Debe permitir reutilizar componentes, conectores, y arquitecturas Heterogeneidad o Debe permitir combinar descripciones heterogéneas Análisis o Debe permitir diversas formas de análisis de la arquitectura Algunos ejemplos de los LDAs son: Lenguaje Unificado de Modelado (UML) Lenguajes de interconexión de módulos y de descripción de interfaz (CORBA- IDL) Lenguajes de descripción de arquitectura: Unicon (Mary Shaw y colaboradores - CMU) Wright (Allen y Garlan) Darwin (Magee y Kramer - IC) Rapide (Luckham) C2 (Medvidovic) LEDA (U. Málaga) 4. ESTILOS ARQUITECTÓNICOS Un estilo de arquitectura es una clasificación de los sistemas software en grandes familias cuyos integrantes comparten un patrón estructural común. Este estilo captura paradigmas de computación y comunicación utilizados para tratar con los problemas de programación de una clase en particular 5. En otras palabras, indican los tipos de componentes y conectores involucrados en una arquitectura. Los diferentes estilos de las arquitecturas tiene sus fortalezas y debilidades y, ciertos estilos hacen que sea más fácil o más difícil trabajar con diferentes obstáculos Las propiedades que caracterizan cada estilo es lo que determina la elección de uno u otro. Un estilo de arquitectura debe tener tres elementos básicos: Una notación bien definida para capturar el estilo de desarrollo de la arquitectura. Un método bien definido para producir y analizar formalmente modelos basados en la especificación capturada en la notación. 4 Acuña César Javier. Arquitecturas de Software. Universidad Rey Juan Carlos. 5 Honeywell. What is a Domain-Specific Software Architecture? En

3 Un método bien definido para producir una implementación basada en la especificación capturada en la notación. Un estilo provee la semántica para realizar los diagramas de arquitectura. Es decir, un estilo establece el significado de los diferentes conectores que se pueden dibujar entre los componentes funcionales. Los sistemas complejos, en su mayoría, son descritos mediante la combinación de dos o más estilos básicos de arquitectura. 5. CLASIFICACIÓN DE ESTILOS Los estilos arquitectónicos se clasifican en los siguientes grupos:. 1. SISTEMAS BASADOS EN FLUJOS 1. Filtros y Pipes 2. Procesamiento por lotes 2. SISTEMAS CALL/RETURN 1. Sistemas Principal/subrutinas 2. Sistemas OO 3. Capas jerárquicas 3. COMPONENTES INDEPENDIENTES 1. Procesos de comunicación 2. Cliente / Servidor 3. Sistemas de Acontecimientos o Eventos 4. MÁQUINAS VIRTUALES 1. Interpretes 2. Sistemas basados en el conocimiento 5. SISTEMAS CENTRADOS EN DATOS 1. Bases de Datos (Repositorios) 2. Sistemas de HiperTexto 3. Sistemas de pizarra

4 5.1 Filtros y Pipes Descripción Cada componente tiene un conjunto de entradas y un conjunto de salidas. Cada componente lee las entradas y las transforma en salidas Restricciones Los filtros deben ser independientes. No deben compartir estado con otros filtros. Los filtros realizan la labor independientemente del flujo de entrada Ventajas Permite entender el sistema global en términos de la combinación de componentes Soporta de buena manera la reutilización. Los filtros son independientes de sus vecinos Facilidad de Mantenimiento y mejora Facilidad de diagnóstico (rendimiento, deadlocks) Soportan la ejecución concurrente Desventajas No aconsejado para cuando se necesita interactividad Problemas de performance ya que los datos se transmiten en forma completa entre filtros

5 5.2 Sistemas OO Descripción Las representaciones de los datos y las operaciones están encapsulados en un tipo abstracto de datos u objeto Los componentes son objetos Las invocaciones de métodos son los conectores Restricciones: Los objetos son responsables de la integridad de sus representaciones Dicha representación es ocultada al resto de los objetos Ventajas Gracias al invariante de ocultación es posible reemplazar la Implementación sin que afecte a los clientes Desventajas Para invocar métodos de un objeto se debe conocer su identidad Efectos colaterales

6 5.3 Capas jerárquicas Descripción Organizado jerárquicamente en capas, donde cada capa provee servicios a la capa superior y es servido por la capa inferior. Los componentes son cada una de las capas. Los conectores son los protocolos de interacción (Llamadas a procedimientos. Llamadas a métodos) entre las capas. Cada nivel tiene asociado una funcionalidad: o Niveles bajos: Funciones simples, ligadas al hardware o al entorno. o Niveles altos: Funciones más abstractas Restricciones: La interacción está limitada a las capas adyacentes Ventajas Facilita la descomposición del problema en varios niveles de abstracción. Soporta la mejora, los cambios solo afectan a las capas vecinas Se pueden cambiar las implementaciones respetando las interfaces con las capas adyacentes Desventajas No todos los sistemas pueden estructurarse en capas. Es difícil encontrar la separación en capas adecuada Aplicación: Torres de protocolos de comunicación. Sistemas operativos. Compiladores.

7 5.4 Sistemas de Acontecimientos o Eventos Descripción En lugar de invocaciones de procedimientos explicitas o directas, un componente anuncia uno o más eventos y otros componentes registran el interés en un evento asociando un procedimiento a dicho evento. La ocurrencia de un evento causa la invocación implícita de procedimientos en otros módulos. Los componentes son los módulos cuyas interfaces ofrecen un conjunto de procedimientos y de eventos Los conectores incluyen llamadas a procedimientos tradicionales así como el ligado de eventos con llamadas a procedimientos Restricciones: Quien anuncia el evento no conoce a que componentes afecta el evento No se pueden hacer asunciones acerca del orden de procesamiento Ventajas Provee un robusto soporte de reusabilidad Facilita la evolución del sistema Desventajas Perdida de control en el comportamiento del sistema Problemas en el intercambio de datos Es difícil asegurar la corrección global del sistema

8 5.5 Sistemas de pizarra Descripción Existen dos tipos de componentes Una estructura central de datos (representa el estado del proceso) Componentes independientes (operan en función del depósito de datos) Las interacciones entre el repositorio y los demás componentes es variable: La entrada de los datos es seleccionada por los componentes El estado de los datos del repositorio selecciona el proceso a ejecutar (pizarra) Ventajas Posibilita la integración de agentes. Adecuado para la resolución de problemas no deterministas. Se puede resumir el estado de conocimiento en cada momento del proceso Desventajas Estructura de datos común a todos los agentes Problemas de carga a la hora de chequear y vigilar el estado de la pizarra.

Estilos Arquitectónicos

Estilos Arquitectónicos Diseño y Arquitectura de Software Grado en Ingeniería de Software Carlos E. Cuesta carlos.cuesta@urjc.es Indican: Los tipos de componentes y conectores involucrados. Patrones y restricciones de interconexión

Más detalles

Arquitecturas de Software

Arquitecturas de Software Arquitecturas de Software Ingeniería del Universidad Rey Juan Carlos César Javier Acuña cjacunia@escet.urjc.es Índice Introducción Motivación Definición Pipes and Filters Tipos abstractos de datos y OO

Más detalles

Introducción histórica

Introducción histórica Mario González Agenda Introducción histórica Qué es la arquitectura de software? Arquitectura y sus efectos en los Stakeholders Estructuras arquitectónicas Vista lógica Vista de código Vista de desarrollo

Más detalles

octubre de 2007 Arquitectura de Software

octubre de 2007 Arquitectura de Software octubre de 2007 Arquitectura de Software Seis mejores Prácticas Desarrollo Iterativo Administrar Requerimientos Usar Arquitecturas basadas en Componentes Modelado Visual (UML) Verificar Continuamente la

Más detalles

Diseño arquitectónico 1ª edición (2002)

Diseño arquitectónico 1ª edición (2002) Unidades temáticas de Ingeniería del Software Diseño arquitectónico 1ª edición (2002) Facultad de Informática objetivo Los sistemas grandes se descomponen en subsistemas que suministran un conjunto relacionado

Más detalles

Ingeniería de Software Arquitectura y Diseño [2]

Ingeniería de Software Arquitectura y Diseño [2] Ingeniería de Software Arquitectura y Diseño [2] Hernán Astudillo Departamento de Informática Universidad Técnica Federico Santa María Introducción Proceso y ciclo de vida Manejo

Más detalles

Solución 1: Funcional. Estilos arquitectónicos. Solución 1: Funcional (2) Key word in context

Solución 1: Funcional. Estilos arquitectónicos. Solución 1: Funcional (2) Key word in context Solución 1: Funcional Estilos arquitectónicos Se descompone el problema de acuerdo con las funciones básicas: entrada, shift, ordenar, salida. Un programa principal coordina el flujo de control llamando

Más detalles

Programación Orientada a Objetos. Conceptos Básicos

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

Más detalles

Diseño y Evaluación de Arquitecturas de Software Introducción Arquitectura de Software

Diseño y Evaluación de Arquitecturas de Software Introducción Arquitectura de Software Diseño y Evaluación de Arquitecturas de Software Introducción Arquitectura de Software César Julio Bustacara Medina Facultad de Ingeniería Pontificia Universidad Javeriana 14/08/2015 1 Arquitectura de

Más detalles

Autor: Amhed Sinue Pérez Valdéz

Autor: Amhed Sinue Pérez Valdéz LYG_2015 Maestría en: Tecnologías de la Información y comunicación Asignatura: Ingeniería del Software Autor: Amhed Sinue Pérez Valdéz INTRODUCCIÓN La ingeniería de software es la forma en que se desarrollan

Más detalles

Tipos Abstractos de Datos (TAD) Lección 1

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

Más detalles

Metodologías para Sistemas Multi-agente

Metodologías para Sistemas Multi-agente Metodologías para Sistemas Multi-agente Curso Doctorado Sistemas Multi-agente Índice Conceptos. Introducción Metodologías BDI GAIA AUML Message Conclusiones 1 Conceptos. Introducción Modelar sistemas reales

Más detalles

Guía para la documentación de proyectos de software

Guía para la documentación de proyectos de software Estructura y contenido Guía para la documentación de proyectos de software Organización de Computadoras Universidad Nacional del Sur 2017 1. Definiciones y especificación de requerimientos Los requerimientos/requisitos

Más detalles

2.5 DISEÑO ARQUITECTONICO

2.5 DISEÑO ARQUITECTONICO MODULO II Ingeniería de Software INF - 163 2.5 DISEÑO ARQUITECTONICO 18/10/2012 Resumen preparado por Miguel Cotaña 1 Architecture Business Cycle - ABC Los requerimientos no determinan del todo la arquitectura,

Más detalles

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

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

Más detalles

INGENIERÍA DEL SOFTWARE

INGENIERÍA DEL SOFTWARE INGENIERÍA DEL SOFTWARE INGENIERÍA DEL SOFTWARE 1 Sesión No. 5 Nombre: Estrategias Contextualización Cómo elegir el lenguaje de programación? La importancia de elegir el lenguaje de programación adecuado

Más detalles

Diagramas De Casos De Uso

Diagramas De Casos De Uso Estáticos Diagramas De Casos De Uso Los diagramas de casos de uso documentan el comportamiento de un sistema desde el punto de vista del usuario.. Por lo tanto los casos de uso determinan los requisitos

Más detalles

Sistemas Distribuidos. Prog. Distribuida bajo Internet

Sistemas Distribuidos. Prog. Distribuida bajo Internet Sistemas Distribuidos Prog. Distribuida bajo Internet Definición Hay muchas definiciones Básicamente, varios computadores o nodos de computación en lazados mediante una red y que comparten datos, procesamiento,

Más detalles

Modelo de Orientación a Aspectos

Modelo de Orientación a Aspectos Modelo de Orientación a Aspectos Noviembre, 2010 Ing. Sahyra Yépez Agenda Qué es el Modelo Orientado a Aspectos? Qué es un Aspecto? Programación Orientada a Aspectos Funcionamiento de POA Características

Más detalles

Sistema de Administración de Farmacias Descripción de la Arquitectura Versión 1.1. Historia de revisiones

Sistema de Administración de Farmacias Descripción de la Arquitectura Versión 1.1. Historia de revisiones Sistema de Administración de Farmacias Descripción de la Arquitectura Versión 1.1 Historia de revisiones Fecha Versión Descripción Autor 29/08/2014 1.0 Versión Inicial Guillermo López 30/08/2014 1.1 Verificación

Más detalles

Diseño y Evaluación de Arquitecturas de Software. Estilos Arquitectónicos

Diseño y Evaluación de Arquitecturas de Software. Estilos Arquitectónicos Diseño y Evaluación de Arquitecturas de Software Estilos Arquitectónicos César Julio Bustacara Medina Facultad de Ingeniería Pontificia Universidad Javeriana 21/08/2015 1 Concepto de patrón Una solución

Más detalles

ARQUITECTURAS. Carlos Reveco D. IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI.

ARQUITECTURAS. Carlos Reveco D. IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI. ARQUITECTURAS 1 IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI Carlos Reveco D. creveco@dcc.uchile.cl Arquitectura de una aplicación 2 Arquitectura: desarrolla un plan general del

Más detalles

PATRONES DE DISEÑO FRAMEWORKS

PATRONES DE DISEÑO FRAMEWORKS PATRONES DE FRAMEWORKS Definiciones Finalidades Características Diseño de software basado en patrones Descripción Utilización de los patrones en el diseño Clasificación FRAMEWORKS Basado en la reutilización

Más detalles

Diseño: Arquitectura de Software. IF 7100 Ingeniería del Software

Diseño: Arquitectura de Software. IF 7100 Ingeniería del Software Diseño: Arquitectura de Software IF 7100 Ingeniería del Software 1 Qué es arquitectura de software? Es la definición de una solución estructurada que cumpla todos los requerimientos técnicos y operacionales,

Más detalles

Tema I: Introducción a las bases de datos. Curso Introducción a las bases de datos.

Tema I: Introducción a las bases de datos. Curso Introducción a las bases de datos. Tema I: Introducción a las bases de datos Curso 2009-2010 Introducción a las bases de datos. 1.1 Sistema de información 1.2 Base de datos (BD) 1.3 Sistema de gestión de bases de datos (SGBD) 1.4 Características

Más detalles

El ciclo de vida de un sistema de información

El ciclo de vida de un sistema de información El ciclo de vida de un sistema de información 1. Las etapas del proceso de desarrollo de software Planificación Análisis Diseño Implementación Pruebas Instalación / Despliegue Uso y mantenimiento 2. Modelos

Más detalles

Arquitectura de Software

Arquitectura de Software Arquitectura de Software (Estilos Arquitectónicos) Universidad de los Andes Demián Gutierrez Mayo 2011 1 Diseño Arquitectónico Diseño Arquitectónico Arquitectura del Software Estilos Arquitectónicos Frameworks

Más detalles

Código: J63.01 Nivel: 3. Actividades de servicios de información. Tecnología hardware y software

Código: J63.01 Nivel: 3. Actividades de servicios de información. Tecnología hardware y software Denominación: Administración de servicios de internet Código: J63.01 Nivel: 3 Sector: Actividades de servicios de información Familia: Tecnología hardware y software Eje tecnológico: Procesamiento de datos,

Más detalles

M. C. Felipe Santiago Espinosa

M. C. Felipe Santiago Espinosa M. C. Felipe Santiago Espinosa Junio de 2008 Un sistema empotrado es un procesador, con sus elementos externos que desarrolla una función especifica de manera autónoma. Un sistema empotrado es un sistema

Más detalles

GOBIERNO ELECTRÓNICO

GOBIERNO ELECTRÓNICO GOBIERNO ELECTRÓNICO DESARROLLO DE UNA APLICACIÓN WEB PARA EL REGISTRO DE HISTORIAS CLINICAS ELECTRONICAS (HCE) PARA EL HOSPITAL NACIONAL GUILLERMO ALMENARA INTEGRANTE : MIGUEL ÁNGEL ROJAS CABREJOS GUILLERMO

Más detalles

Ingeniería del Software 2

Ingeniería del Software 2 Análisis de requisitos es la 1ª fase técnica del proceso de ing. del SW Éxito -> Comprensión total de los requisitos Análisis de requisitos -> Tarea de descubrimiento, refinamiento, modelado y especificación

Más detalles

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje. Modulo 1. Introducción a los lenguajes de programación La solución de problemas mediante en uso de un computador nos lleva a desarrollar programas o aplicaciones, la construcción de estos programas debe

Más detalles

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora ANÁLISIS DE SISTEMAS Prof. Eliz Mora Programa Fundamentos del Análisis de Sistemas Estilos Organizacionales y su impacto en los Sistemas de Información Rol del Analista de Sistema Determinación de Factibilidad

Más detalles

Control del Documento

Control del Documento Control del Documento Proyecto [Nombre del Proyecto al que se refiere este documento] Título Arquitectura del Sistema [v1.1.1 al 1 de enero de 2007.] Generado por : [Fulanito de Tal y Menganito de Cual.]

Más detalles

Guía del Curso Analista Programador Java: Business Apps Expert

Guía del Curso Analista Programador Java: Business Apps Expert Guía del Curso Analista Programador Java: Business Apps Expert Modalidad de realización del curso: Número de Horas: Titulación: Online 600 Horas Diploma acreditativo con las horas del curso OBJETIVOS UML

Más detalles

Tema 2.- Caracterización de la informática La informática como disciplina científica Sub-áreas de la disciplina.

Tema 2.- Caracterización de la informática La informática como disciplina científica Sub-áreas de la disciplina. Tema 2.- Caracterización de la informática 2.1. La informática como disciplina científica. 2.2. Sub-áreas de la disciplina. 2.1. La informática como disciplina científica. 2.1.1 Una definición de Informática.

Más detalles

Principios de Análisis Informático. Tema 3: Fase de inicio

Principios de Análisis Informático. Tema 3: Fase de inicio Principios de Análisis Informático Tema 3: Fase de inicio Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña,

Más detalles

Ingeniería a de Software CC51A

Ingeniería a de Software CC51A Ingeniería a de Software CC51A Clase Auxiliar Auxiliar: Andrés s Neyem Oficina 418 de Doctorado aneyem@dcc.uchile.cl 19 de Marzo de 2007 Aspectos Generales Grupo CC51A Diseño Cliente Requisitos Usuario

Más detalles

TEMA 6: INTRODUCCIÓN A UML

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

Más detalles

TECNOLOGÍAS DE LA INFORMACIÓN Y LA COMUNICACIÓN I

TECNOLOGÍAS DE LA INFORMACIÓN Y LA COMUNICACIÓN I TECNOLOGÍAS DE LA INFORMACIÓN Y LA COMUNICACIÓN I MATERIALES: Como referencia para el seguimiento de la asignatura se utilizará el texto de la editorial ANAYA. Título: Tecnologías de la Información y la

Más detalles

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos.

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos. PROGRAMA DE CURSO Modelo 2009 DEPARTAMENTO: COMPUTACIÓN Y DISEÑO GRÁFICO NOMBRE DEL CURSO: Diseño de Software con Práctica Profesional CLAVE: 1013M ACADEMIA A LA QUE PERTENECE: Diseño de Software PROFESIONAL

Más detalles

ARQUITECTURA SOFTWARE (AS)

ARQUITECTURA SOFTWARE (AS) ARQUITECTURA SOFTWARE (AS) LA DISCIPLINA DE DISEÑO INCLUYE LAS SIGUIENTES TAREAS: 1. Definición de los casos reales de uso. (Concretar los Casos de uso. de ser posible, mostrar diseños de ventanas). 2.

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software 1 Ingeniería de Sistemas Enfoque en variedad de elementos Análisis, diseño y organización de los elementos en un sistema Todo para generar un producto, servicio o tecnología para

Más detalles

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo Tutorial Contenido 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo 1. El proceso Fases soportadas por UML Análisis de requisitos de usuario Análisis de requisitos de software Diseño de la plataforma

Más detalles

CALIDAD DE SISTEMAS DE INFORMACIÓN WEB. Introducción a los métodos de evaluación de arquitecturas

CALIDAD DE SISTEMAS DE INFORMACIÓN WEB. Introducción a los métodos de evaluación de arquitecturas CALIDAD DE SISTEMAS DE INFORMACIÓN WEB Introducción a los métodos de evaluación de arquitecturas Evaluación de Arquitecturas Software 2 Contenido de la Sesión Inicial Introducción a la evaluación de arquitecturas

Más detalles

Modelo y Análisis 179

Modelo y Análisis 179 Modelo y Análisis 179 2.6 Análisis Funcional Por medio del análisis funcional: Se muestra las operaciones de los objetos y sus dependencia de datos por medio de los diagramas de flujo de datos. Se descompone

Más detalles

PROGRAMA ANALÍTICO DE ASIGNATURA

PROGRAMA ANALÍTICO DE ASIGNATURA UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO COORDINACIÓN DE DOCENCIA DIRECCIÓN DE PLANEACIÓN Y DESARROLLO EDUCATIVO PROGRAMA ANALÍTICO DE ASIGNATURA 1.- DATOS GENERALES 1.1 INSTITUTO: 1.2 LICENCIATURA:

Más detalles

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema Modelado Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Vocabulario del Sistema Distribución de Responsabilidades Semántica de una Clase

Más detalles

Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora

Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora Tema II: Metodología para la construcción de programas Profesora: Nelly García Mora 1. Metodologías de Programación Metodología de programación: es un conjunto o sistema de métodos, principios y reglas,

Más detalles

Ingeniería del Software II

Ingeniería del Software II Curso 2009 2010 Departamento: Informática e Ingeniería de Sistemas Area: Lenguajes y Sistemas Informáticos 7,5 cr. 5 h. semana: 4,5 cr. Teoría 3 h. semana 3 cr. Prácticos 1 h. semana problemas 1 h. semana

Más detalles

Guía práctica de estudio 09: UML

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

Más detalles

ARQUITECTURAS DE SOFTWARE ESPECIALIZADAS

ARQUITECTURAS DE SOFTWARE ESPECIALIZADAS ARQUITECTURAS DE SOFTWARE ESPECIALIZADAS Tubería-filtros Siempre se encuadra este estilo dentro de las llamadas arquitecturas de flujo de datos. Es sin duda alguna el estilo que se definió más temprano.

Más detalles

Contenido del curso. Arquitectura de Software III: Elaboración. III: Elaboración. Estilos y patrones. Estilos y patrones. Estilos de arquitectura

Contenido del curso. Arquitectura de Software III: Elaboración. III: Elaboración. Estilos y patrones. Estilos y patrones. Estilos de arquitectura Arquitectura de Software III: Elaboración Hernán Astudillo Departamento de Informática Universidad Técnica Federico Santa María Contenido del curso Introducción, motivación y contexto

Más detalles

Programación Orientada a Objetos

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

Más detalles

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

Modelado conceptual de aplicaciones web. Tecnologías web

Modelado conceptual de aplicaciones web. Tecnologías web Nombre de la asignatura: Línea de trabajo: Modelado conceptual de aplicaciones web Tecnologías web Tiempo de dedicación del estudiante a las actividades de: DOC: 48 horas. 20 horas. TPS: 100 horas. Total

Más detalles

Diseño Estructurado. Diseños eran los antes. Lic. Ariel Trellini 28/07/2015

Diseño Estructurado. Diseños eran los antes. Lic. Ariel Trellini 28/07/2015 Lic. Ariel Trellini Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Diseños eran los antes Arquitectura y Diseño de Sistemas 2 1 Historia Desde fines de los 60s emergieron

Más detalles

Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información

Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información Modelo Dinámico del Diseño del Software y Representación en UML UNIDAD 9 Análisis y Diseño de Sistemas de Información El Modelo Dinámico El objetivo del modelo Dinámico es presentar o describir el comportamiento

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

INGENIERÍA WEB. Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Otoño de 2017

INGENIERÍA WEB. Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Otoño de 2017 INGENIERÍA WEB Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Otoño de 2017 INTRODUCCIÓN: Aspectos importantes en las aplicaciones WEB Modelo de Dominio

Más detalles

Un importante problema para sistemas de la nueva generación

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

Más detalles

Introducción a la programación: Contenido. Introducción

Introducción a la programación: Contenido. Introducción Introducción a la programación: Contenido Introducción a la programación:... 1 Introducción... 1 1. Procesamiento automatizado de información... 1 2. Concepto de algoritmo.... 2 3. Lenguajes de programación....

Más detalles

Materia compuesta por 6 asignaturas programadas entre el 3º y el 6º semestre, tal y como se recoge a continuación en la tabla de asignaturas

Materia compuesta por 6 asignaturas programadas entre el 3º y el 6º semestre, tal y como se recoge a continuación en la tabla de asignaturas 5.3.2.9 FICHA DE LA MATERIA DESARROLLO DE SOFTWARE DENOMINACIÓN DE LA MATERIA DESARROLLO DE SOFTWARE MÓDULO AL QUE PERTENECE CRÉDITOS ECTS 24 DURACIÓN Y UBICACIÓN TEMPORAL DENTRO DEL PLAN DE ESTUDIOS CARÁCTER

Más detalles

Arquitecturas Software. Arquitecturas Software. Arquitecturas Software. Juan José Moreno Navarro. Motivación: Idea principal: Características:

Arquitecturas Software. Arquitecturas Software. Arquitecturas Software. Juan José Moreno Navarro. Motivación: Idea principal: Características: Arquitecturas Software Juan José Moreno Navarro (Curso de Software basado en Componentes, junto a Lars-Ake Fredlund) Arquitecturas Software Motivación: Complejidad creciente de aplicaciones. Sistemas distribuidos

Más detalles

1. Secuencia y temporalización de los contenidos.

1. Secuencia y temporalización de los contenidos. 1. Secuencia y temporalización de los contenidos. Secuencia de los contenidos Bloque 1. La sociedad de la información y el ordenador Las tecnologías de la información y la comunicación. Campos de aplicación.

Más detalles

Ingeniería del Software Herramientas CASE Que es CASE? Ingeniería de sistemas asistida por computadoras (Computer-aised system engineering, o CASE)

Ingeniería del Software Herramientas CASE Que es CASE? Ingeniería de sistemas asistida por computadoras (Computer-aised system engineering, o CASE) Que es CASE? Ingeniería de sistemas asistida por computadoras (Computer-aised system engineering, o CASE) es la aplicación de la tecnología de la información a las actividades, técnicas y a las metodologías

Más detalles

METODOLOGÍA DE LA PROGRAMACIÓN

METODOLOGÍA DE LA PROGRAMACIÓN IV.1.- PROGRAMACIÓN PROCEDIMENTAL. UNIVERSIDAD DE MALAGA DPTO. DE LENGUAJES Y C. DE LA COMPUTACION E.T.S. DE INGENIERIA INFORMATICA INGENIERIA INFORMATICA METODOLOGÍA DE LA PROGRAMACIÓN (CURSO 2006-2007)

Más detalles

Ingeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Diseño de casos de prueba. Pruebas de SI OO

Ingeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Diseño de casos de prueba. Pruebas de SI OO Pruebas Pruebas en el PUD Las pruebas del software Diseño de casos de prueba Pruebas de SI OO 1 Iteración en PUD Planificación de la Iteración Captura de requisitos: Modelo de casos de uso, Modelo de Dominio,...

Más detalles

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño Univ. Cantabria Fac. de Ciencias Patricia López Introducción al Diseño Modelamos la estructura software del sistema (incluida la arquitectura) para

Más detalles

INTRODUCCION AL DISEÑO EDUCATIVO Andrea Paola Leal Rivero. La Academia al servicio de la Vida

INTRODUCCION AL DISEÑO EDUCATIVO Andrea Paola Leal Rivero. La Academia al servicio de la Vida Andrea Paola Leal Rivero La Academia al servicio de la Vida INTRODUCCION El diseño de Software juega un papel importante en el desarrollo de software lo cual permite producir varios modelos del sistema

Más detalles

Tema II: Metodología para la construcción de programas

Tema II: Metodología para la construcción de programas Tema II: Metodología para la construcción de programas Semestre: A-2012 Profesora: Nelly García Mora Agenda 1. Definición 2. Análisis E P S 3. Construcción de Algoritmos 4. Diagramas de Flujo 5. Codificación

Más detalles

Patrones Arquitectónicos de Software

Patrones Arquitectónicos de Software Jaime Eduardo Arias Almeida Néstor Raúl Cárdenas Pinzón Pontificia Universidad Javeriana - Cali Marzo 18 de 2010 Tabla de Contenido 1 Definición Consideraciones 2 Layers Pipes and Filters Blackboard 3

Más detalles

Introducción a UML Información tomada de: - Jacobson et al, El proceso unificado de desarrollo de software

Introducción a UML Información tomada de: - Jacobson et al, El proceso unificado de desarrollo de software Introducción a UML Información tomada de: - Jacobson et al, El proceso unificado de desarrollo de software, Adison Wesley, 2000. - Jacobson et al, El Lenguaje Unificado de Modelado. Manual de referencia,

Más detalles

NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO

NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO PACK FORMATIVO EN DESARROLLO DE APLICACIONES CON TECNOLOGÍA WEB NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO - Identificar la estructura de una página web conociendo los lenguajes

Más detalles

Ingeniería del Software I

Ingeniería del Software I - 1 - Ingeniería del Software I 2do. Cuatrimestre 2005 INTRODUCCIÓN... 2 SEMÁNTICA... 2 NOTACIÓN... 3 ESTADO ACCIÓN... 3 Transiciones Simples... 3 Estados Acción Compuestos... 3 Estados Acción Iniciales

Más detalles

Ingeniería del Software Ingeniería del Software de Gestión. Tema 3 Metodologías de Desarrollo de Software

Ingeniería del Software Ingeniería del Software de Gestión. Tema 3 Metodologías de Desarrollo de Software Ingeniería del Software Ingeniería del Software de Gestión Tema 3 Metodologías de Desarrollo de Software Félix Óscar García Rubio Crescencio Bravo Santos Índice 1. Definiciones 2. Objetivos 3. Conceptos

Más detalles

Arquitectura de Software

Arquitectura de Software Arquitectura de Software Ing. Gustavo Andrés Brey Ing. Nicolas Passerini 2005 Agenda # 1 2 3 4 5 Tema Introducción Ciclo de Vida Estructuras y Vistas Arquitectónicas Break y TPs Influencias y Entradas

Más detalles

Productos de Software

Productos de Software Ingeniería de Software Productos de Software. El proceso de Software. Productos de Software Productos genéricos. Productos que son producidos por una organización para ser vendidos al mercado. Productos

Más detalles

Programación Concurrente y Paralela. Unidad 1 Introducción

Programación Concurrente y Paralela. Unidad 1 Introducción Programación Concurrente y Paralela Unidad 1 Introducción Contenido 1.1 Concepto de Concurrencia 1.2 Exclusión Mutua y Sincronización 1.3 Corrección en Sistemas Concurrentes 1.4 Consideraciones sobre el

Más detalles

DIAGRAMAS DE CASOS DE USO. Prof. Hooberth Chávez Bedoya

DIAGRAMAS DE CASOS DE USO. Prof. Hooberth Chávez Bedoya DIAGRAMAS DE CASOS DE USO Prof. Hooberth Chávez Bedoya 1 Definir el comportamiento del sistema El comportamiento de un sistema es cómo un sistema actúa y reacciona El comportamiento del sistema es capturado

Más detalles

Temas de proyectos recepcionales

Temas de proyectos recepcionales Temas de proyectos recepcionales CA: Ingeniería y Tecnología de Software 1 Reingeniería de la Herramienta RETO transcrita a Java Una Línea de Productos de Software (LPS) se enfoca en la administración

Más detalles

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE Ing. Francisco Rodríguez Novoa Tema 7 Modelo de Análisis Ing. Francisco Rodríguez Rational Unified Process (RUP) 3 OBJETIVOS Conocer que el Análisis ve

Más detalles

SILABO DEL CURSO DISEÑO DE SOFTWARE 1. DATOS GENERALES

SILABO DEL CURSO DISEÑO DE SOFTWARE 1. DATOS GENERALES SILABO DEL CURSO DISEÑO DE SOFTWARE 1. DATOS GENERALES 1.1. Facultad : Ingeniería 1.2. Carrera Profesional : Ingeniería de Sistemas 1.3. Departamento : Ingeniería de Sistemas 1.4. Tipo de Curso : Obligatorio

Más detalles

12/08/2017. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia

12/08/2017. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia ICI3242 Modelamiento de sistemas de software Escuela de Ingeniería Informática Pontificia Universidad Católica de Valparaíso "Un diagrama que representa una interacción poniendo el foco en la secuencia

Más detalles

Qué es SGBD? Mencionar 4 tipos de SGBD. SGBD de red. Román Gutiérrez Sosa. SGBD jerárquicos. Modelo de datos relacionales.

Qué es SGBD? Mencionar 4 tipos de SGBD. SGBD de red. Román Gutiérrez Sosa. SGBD jerárquicos. Modelo de datos relacionales. Qué es SGBD? Es un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. El propósito general de los sistemas de gestión

Más detalles

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute. Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución

Más detalles

UNIDAD I: INTRODUCCIÓN A LA ARQUITECTURA DE SOFTWARE

UNIDAD I: INTRODUCCIÓN A LA ARQUITECTURA DE SOFTWARE UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU007H Clave: 08USU4053W FACULTAD DE INGENIERÍA PROGRAMA DEL CURSO: DISEÑO Y ARQUITECTURA DE DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia:

Más detalles

Fundamentos de Programación. Sabino Miranda-Jiménez

Fundamentos de Programación. Sabino Miranda-Jiménez Fundamentos de Programación Sabino Miranda-Jiménez MÓDULO 1. Introducción a la computación Temas: La computación en el profesional de ingeniería Desarrollo computacional en la sociedad Aplicaciones Software

Más detalles

CONSEJO DE NORMALIZACIÓN Y CERTIFICACIÓN DE COMPETENCIA LABORAL NORMAS TÉCNICAS DE COMPETENCIA LABORAL

CONSEJO DE NORMALIZACIÓN Y CERTIFICACIÓN DE COMPETENCIA LABORAL NORMAS TÉCNICAS DE COMPETENCIA LABORAL I. Datos Generales de la Calificación CINF0285.01 Título Análisis y diseño de sistemas de información Propósito Brindar los parámetros requeridos para evaluar la competencia en las funciones del análisis

Más detalles

Sistemas Operativos. Introducción. Tema 6

Sistemas Operativos. Introducción. Tema 6 Sistemas Operativos Introducción Qué es un sistema operativo? Ubicación de un sistema operativo en un computador Descripción de un sistema operativo: Funcional Estructural Realización Funciones de los

Más detalles

METRICA VERSION MÉTRICA versión 3. Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información

METRICA VERSION MÉTRICA versión 3. Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información 9.000 MÉTRICA versión 3 Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información 9.010 Enero 2000 borrador de metodología MÉTRICA v. 3 Ofrece a las organizaciones un instrumento

Más detalles

Components & Connectors Viewtype. Introducción

Components & Connectors Viewtype. Introducción Components & Connectors Viewtype Introducción 1 Requisitos sobre el modelo Visibilidad de los elementos con presencia runtime del software (procesos, objetos, clientes, servers y repositorios). Visibilidad

Más detalles

PA JOSÉ MANUEL BURBANO CARVAJAL

PA JOSÉ MANUEL BURBANO CARVAJAL PA121-01 SISTEMA DE GESTIÓN DEL CONOCIMIENTO PARA LA DEFINICIÓN DE ESTRATEGIAS QUE EVITEN LA DESERCIÓN ESCOLAR EN LOS COLEGIOS DE MOCOA PUTUMAYO EN EL NIVEL DE EDUCACIÓN BÁSICA SECUNDARIA JOSÉ MANUEL BURBANO

Más detalles

Qué se entiende por diseño arquitectónico? Comprende el establecimiento de un marco de trabajo estructural básico para un sistema. Alude a la estructura general del software y el modo en que la estructura

Más detalles

Diplomado Programación orientada a objetos con C++ y UML. Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

Tipos de Diseño. Ing. Elizabeth Guerrero V.

Tipos de Diseño. Ing. Elizabeth Guerrero V. Tipos de Diseño Ing. Elizabeth Guerrero V. Tipos de Diseño Tipos de diseño de Procesos: Centralizado, Distribuido y Cooperativo Procesos Centralizados Un sistema centralizado está formado por un computador

Más detalles

Aplicaciones en el Web y redes inhalámbricas. Universidad del Valle Cali - Colombia

Aplicaciones en el Web y redes inhalámbricas. Universidad del Valle Cali - Colombia Aplicaciones en el Web y redes inhalámbricas Universidad del Valle Cali - Colombia Resumen 2 Arquitecturas de aplicaciones en el Web Una arquitectura de software de un programa o de un sistema computacional

Más detalles

CLASE 3: UML DIAGRAMAS CASOS DE USO. Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez

CLASE 3: UML DIAGRAMAS CASOS DE USO. Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez CLASE 3: UML DIAGRAMAS CASOS DE USO Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez UML UML es un lenguaje para especificar, visualizar, construir y documentar los artefactos de

Más detalles

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I Facultad de Ingeniería en Ciencias Aplicadas pag. 1 CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I 1. Misión: (de la carrera) La Carrera de Ingeniería en Sistemas

Más detalles

DESARROLLO DE APLICACIONES WEB EN EL ENTORNO SERVIDOR 90h

DESARROLLO DE APLICACIONES WEB EN EL ENTORNO SERVIDOR 90h DESARROLLO DE APLICACIONES WEB EN EL ENTORNO SERVIDOR DESARROLLO DE APLICACIONES WEB EN EL ENTORNO SERVIDOR Horas: 90 Teoría: 0 Práctica: 0 Presenciales: 90 A Distancia: 0 Acción: Nº Grupo: Código: UF1844

Más detalles