Ingeniería de software orientado a agentes

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Ingeniería de software orientado a agentes"

Transcripción

1 Ingeniería de software orientado a agentes ECSDI LSI-FIB-UPC cbea Curso 2014/2015 ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

2 Índice 1 Ingeniería de software 2 Ingeniería de software orientada a agentes 3 Metodologías de software 4 Metodologías de software orientadas a agentes ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

3 Ingeniería de software 1 Ingeniería de software 2 Ingeniería de software orientada a agentes 3 Metodologías de software 4 Metodologías de software orientadas a agentes ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

4 Ingeniería de software Ingeniería de software Abstracciones El concepto de proceso de información ha ido cambiado con el tiempo: Años 70, programación estructurada y la idea de modularización basada en el encapsulamiento de la información Las dos últimas décadas se han interesado en métodos, herramientas y tecnologías para el desarrollo de software La programación orientada a objetos es el paradigma dominante actual en el desarrollo de software ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

5 Ingeniería de software Ingeniería de software Abstracciones La evolución en conceptos, modelos, metodologías, tecnologías y herramientas fuerza a las compañías a afrontar cambios radicales en el punto de vista conceptual y metodológico Los desarrolladores necesitan un mayor nivel de abstracción y herramientas capaces de abordar aplicaciones software cada vez más complejas El paradigma de orientación a objetos no puede ser considerado la última respuesta en esta tendencia, es solo un paso más ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

6 Ingeniería de software Ingeniería de software Abstracciones El software trata con entidades abstractas que tienen su contraparte en la realidad Números, fechas, nombres, personas, documentos,... En qué términos debemos modelarlos en el software? Datos, funciones, objetos, agentes,... Cuáles son las abstracciones que debemos usar en el software? Dependerá de las tecnologías que tengamos disponibles ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

7 Ingeniería de software Ingeniería de software Hacia la ingeniería de software basada en agentes Sistemas computacionales Pasado: Sistemas centralizados, modelos de programación monolítico Presente: Sistemas distribuidos, heterogéneos, escalables, abiertos, modelo de programación distribuido Desarrollo de software Pasado: Modelo de desarrollo en cascada Presente: Modelo incremental, ágil, procesos de desarrollo experimentales ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

8 Ingeniería de software Ingeniería de software Hacia la ingeniería de software basada en agentes El desarrollo de software basado en agentes se plantea como una nueva perspectiva para el análisis y síntesis de sistemas software La orientación a agentes subsume los conceptos soportados por los previos paradigmas de programación y en particular los de la programación orientada a objetos. Elevan el nivel de abstracción Son un aproximación prometedora al desarrollo de software complejo. ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

9 Ingeniería de software orientada a agentes 1 Ingeniería de software 2 Ingeniería de software orientada a agentes 3 Metodologías de software 4 Metodologías de software orientadas a agentes ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

10 Ingeniería de software orientada a agentes Software y Sistemas Complejos El software industrial es complejo por naturaleza Esto es debido a la complejidad de las tareas que resuelve La ingeniería de software es la encargada de proveer estructuras, abstracciones y técnicas que permitan atacar esa complejidad ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

11 Ingeniería de software orientada a agentes Software y Sistemas Complejos Esa complejidad tiene ciertas regularidades: Los sistemas complejos están formados por una jerarquía de subsistemas interrelacionados (se descomponen en sistemas más simples) La elección de los componentes primitivos es relativamente arbitraria (depende de los objetivos y necesidades) Los sistemas jerárquicos evolucionan más rápidamente que los no jerárquicos Podemos distinguir entre las interacciones intra-sistema (más frecuentes y predecibles) e inter-sistema (menos frecuentes) ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

12 Ingeniería de software orientada a agentes Software y Sistemas Complejos Estas características hacen que los sistemas complejos sean casi-separables Lo que no los hace totalmente separables son las inter-acciones ente sistemas Algunas de estas interacciones son predecibles en tiempo de diseño, pero otras no ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

13 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Sistemas Complejos: Características Los problemas complejos son de naturaleza descentralizada Tiene múltiples puntos de control de ejecución (subproblemas) Tienen múltiples perspectivas sobre el problema y múltiples objetivos (según los subsistemas) Los diferentes subsistemas deben interaccionar para obtener sus objetivos y resolver sus dependencias A través de mensajes (de alto a bajo nivel) Mediante interacciones sociales (coordinación, cooperación, negociación) ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

14 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Abstracciones/Desarrollo El desarrollo de software complejo orientado a agentes usa como abstracciones: Componentes autónomos que buscan unos objetivos definidos Componentes que interaccionan a alto nivel para cumplir esos objetivos Componentes que se organizan socialmente Componentes que pueden cambiar su relaciones dinámicamente Componentes que se pueden ver a diferentes niveles de granularidad El desarrollo se basa en la agregación de componentes de manera jerárquica con una filosofía de abajo a arriba ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

15 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Roles vs Tareas Asignamos tareas al software (p. ej.: Software para subasta de mercancías) El qué y el cómo se especifican por adelantado (casos de uso, escenarios) No son tolerables los cambios en los requerimientos Asignamos roles a los agentes (p. ej.: Agente subastador) El qué es especificado por adelantado, el cómo se determina dinámicamente (librería de métodos) Son tolerables cambios en los requerimientos ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

16 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Inter-acción vs intra-acción Los sistemas software complejos son sistemas casi-separables Aunque algunas interacciones pueden determinarse en tiempo de diseño, algunas no se pueden Las aproximaciones tradicionales a la ingeniería del software pueden tratar bien las intra-acciones La aproximación basada en agentes es necesaria para tratar las inter-acciones entre componentes software ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

17 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Inter-acción vs intra-acción La inter-acción se ve como organización social: De relaciones entre pares a relaciones jerárquicas De relaciones puntuales a relaciones a largo plazo Esto permite caracterizarla y describirla de manera abstracta facilitando el análisis Esto permite agrupar diferentes componentes y usarlos como una unidad facilitando la descomposición Esto permite usar en el análisis y desarrollo métodos/protocolos bien conocidos en organizaciones sociales ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

18 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Inter-acción vs intra-acción Casa de Subastas Admisión Productos Anuncio Productos Reputación Subastador Pagos Comprador Vendedor ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

19 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Comportamiento Emergente Es imposible determinar todas las posibles inter-acciones en tiempo de diseño Introducimos en los agentes la capacidad de decidir como reaccionar y resolver las interacciones en tiempo de ejecución (flexibilidad) Tomando decisiones sobre situaciones imprevistas Tomando decisiones sobre interacciones erróneas Pidiendo asistencia a otros agentes El comportamiento del agente no esta predeterminado completamente, es el resultado de la interacción dinámica entre los diferentes participantes ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

20 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Comportamiento Emergente - Ejemplo En un sistema de comercio electrónico Agentes compradores determinan que pueden obtener un mejor precio si se coaligan y hacen compras más grandes en lugar de compras individuales Coalición Mercado Comprador Comprador ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

21 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Comunicación a nivel simbólico Comunicación: Software: Comunicación a nivel de señal Agentes: Comunicación a nivel simbólico Los agentes persiguen objetivos y necesitan que otros agentes persigan objetivos relacionados (delegación) Los agentes necesitan llegar a acuerdos Los agentes necesitan tomar decisiones organizacionales Los agentes necesitan comunicarse sus creencias/conocimiento ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

22 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Comunicación a nivel simbólico Para que un mensaje de un agente sea entendido por otro, los agentes deben asignar algún significado a las constantes usadas en el mensaje Requeriremos una Ontología para hacer la correspondencia entre una constante y un significado Paso de mensajes dinámico Los agentes deben primero descubrir si comparten un conocimiento mutuo de las constantes del dominio para poder continuar la comunicación (comparten la ontología) ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

23 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Conocimiento mutuo Los sistemas software necesitan poseer un conocimiento mutuo completo para poder interaccionar Los agentes software pueden tener conocimiento mutuo completo acerca de los objetivos de otros agentes, sus estrategias (acciones que pueden usar) y sus utilidades (beneficio de sus acciones) Interacciones basadas en el supuesto de completo conocimiento se clasifican como cooperación y coordinación En muchos casos la suposición de conocimiento completo puede no ser cierta: competición ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

24 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Indeterminismo: Toma de decisiones Los puntos de decisión de los sistemas software son deterministas Cuando el razonamiento se basa en un único flujo de control asumimos consecuencias a largo plazo (objetivos finales) Los agentes software (inteligentes) están dotados de mecanismos de razonamiento La Toma de decisiones involucra múltiples flujos de control: Pensamos también en consecuencias inmediatas Reaccionamos a estímulos Planteamos objetivos a corto plazo Replanteamos objetivos a largo plazo ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

25 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Abstracciones Agentes, entidades autónomas, elementos de control independientes, situación en un entorno, interacción entre ellas. Entorno, mundo de entidades y recursos que el agente percibe, controla, explota o consume. Roles e interacciones, funcionalidades, actividades, responsabilidades y patrones de interacción. Reglas de organización, restricciones a roles e interacciones, o relaciones entre roles y entre protocolos (sistemas abiertos/cerrados). Estructuras y patrones de organización, topología de interacción entre patrones, régimen de control de actividades (eficiencia, robustez, grado de abertura). ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

26 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Computación orientada a agentes Dos visiones diferenciadas sobre desarrollo de agentes: 1 El punto de vista de la inteligencia artificial (fuerte): Un sistema multiagente es una sociedad de individuos (agentes software inteligentes) que interaccionan intercambiando conocimiento y negociando entre ellos para lograr sus propios intereses o un objetivo global. 2 El punto de vista de la ingeniería de software (débil): Un sistema multiagente es un sistema software compuesto por múltiples elementos de control independientes y encapsulados (agentes) interaccionando entre ellos en el contexto de una aplicación específica. ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

27 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Visión de la ingeniería del software Se focaliza en las características de los agentes que tienen impacto en el desarrollo de software: Concurrencia, interacción, múltiples elementos de control La inteligencia puede verse como una forma particular de control independiente, las conversaciones como una forma particular de interacción. Es más general: Diferentes sistemas software, incluso si no se conciben como basados en agentes, pueden caracterizarse en términos de sistemas multiagente débiles ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

28 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Característica básicas de los agentes Autonomía y proactividad (delegación de responsabilidades) Encapsulamiento del control como dimensión de la modularidad Conceptualmente más simple de abarcar que un único (o múltiples e interdependientes) elemento de control Consciente del contexto Separación clara entre las partes computacionales del sistema (agentes) y los recursos del entorno ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

29 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Característica básicas de los agentes Interactividad No hay un único protocolo de interacción Comunicación, coordinación Interacción colaborativa o competitiva Protocolo de interacción como una dimensión adicional del desarrollo de software (computation as interaction) ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

30 Ingeniería de software orientada a agentes Ingeniería de software orientada a agentes Característica adicionales de los agentes Dimensión social (definición de protocolos, organizaciones) Entornos abiertos (necesidad de estándares, infraestructuras que soporten la interacción) Control de agentes egoístas, comportamientos maliciosos y agentes programados incorrectamente Aprendizaje y capacidades adaptativas (mejorar la efectividad de las acciones, adaptación al cambio en el entorno) ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

31 Metodologías de software 1 Ingeniería de software 2 Ingeniería de software orientada a agentes 3 Metodologías de software 4 Metodologías de software orientadas a agentes ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

32 Metodologías de software Metodologías de software Definen el marco conceptual de la metodología Definen las abstracciones a usar para modelar el software: Orientada a datos, flujos, objetos,... Introducen una disciplina el proceso de desarrollo Qué producir y cuando Qué artefactos producir ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

33 Metodologías de software Proceso del software: Actividades Actividades genéricas en todos los procesos de software Especificación, qué debería hacer el sistema y cuales son las restricciones de desarrollo Desarrollo, proceso de producción del sistema software Validación, comprobar que el software es lo que el cliente quiere Evolución, cambiar el software en respuesta a los cambios Cuál es el proceso del software ideal? No existe un proceso ideal ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

34 Metodologías de software Procesos del software Diferentes sistemas requieren diferentes procesos de desarrollo, por ejemplo: En sistemas de software en tiempo real se ha de especificar todo completamente desde el principio En dominios en los que los requerimientos pueden ir cambiando dinámicamente la especificación y el desarrollo suelen ir la vez Eso quiere decir que el conjunto genérico de actividades puede organizarse de diferentes maneras y ser descrito a diferentes niveles de detalle para diferentes tipos de software El uso de procesos inadecuados puede reducir la calidad y utilidad del producto desarrollado ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

35 Metodologías de software Modelos de procesos del software Un modelo de proceso de software es una representación simplificada de un proceso de software presentada desde una perspectiva específica Un modelo de proceso indica: 1 Alrededor de qué fases debe organizarse el proceso, en que orden deben ejecutarse 2 Cuando deben ocurrir las interacciones y coordinaciones entre el trabajo de las diferentes fases Básicamente define un esqueleto alrededor del cual organizar y detallar un proceso real ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

36 Metodologías de software Metodologías de software Procesos genéricos En cascada, Fases separadas de especificación y desarrollo Desarrollo iterativo, especificación, desarrollo y validación están entrelazados Ingeniería basada en componentes, el sistema se construye a partir de componentes existentes Analisis Especificacion Diseño Implementacion Prueba Mantenimiento ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

37 Metodologías de software Metodologías de software Definición Una metodología de software es el conjunto de guías que cubren el ciclo de vida completo del desarrollo del sistema técnica y organizativamente: Ciclo de vida completo del proceso Conjunto comprensible de conceptos y modelos Conjunto completo de técnicas (reglas, guías, heurísticas) Conjunto de entregables Lenguaje de modelado Conjunto de métricas Control de calidad Estándares de codificación (y otros) Guías para la organización del desarrollo ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

38 Metodologías de software orientadas a agentes 1 Ingeniería de software 2 Ingeniería de software orientada a agentes 3 Metodologías de software 4 Metodologías de software orientadas a agentes ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

39 Metodologías de software orientadas a agentes Metodologías orientadas a agentes La computación basada en agentes cambia la forma en la que los sistemas complejos y distribuidos son conceptualizados e implementados introduciendo nuevas abstracciones Los lenguajes de modelado y metodologías previas no son suficientes para el modelado de los sistemas basado en agentes Son necesarias metodologías nuevas y específicas para el desarrollo de estos sistemas: Definiendo el conjunto de abstracciones necesarias Adaptando las metodologías existentes o creando nuevas Produciendo nuevas herramientas de desarrollo ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

40 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Estas deben estar centradas en las abstracciones específicas de la orientación a agentes Usar por ejemplo metodologías orientadas a objetos produciría falta de alineamiento entre las abstracciones (clases, objetos, cliente-servidor no tienen relación con agentes) Estas metodologías pueden incluir abstracciones más complejas: Sobre las que modelar el software y organizar el proceso de desarrollo (roles, organizaciones, responsabilidades, creencias, deseos, intenciones,...) Que no tienen porque trasladarse directamente a entidades concretas del sistema (p.ej. un rol es un aspecto de un agente, no un agente) ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

41 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Fase de análisis La fase de análisis consiste en entender: Cuáles son los actores principales que interaccionan en el sistema Cómo el sistema interacciona con esos actores Qué tiene que hacer el sistema (globalmente) En la fase de análisis vemos el sistema como una entidad cerrada para no anticipar decisiones de diseño ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

42 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Fase de análisis Asociamos agentes con las entidades de los escenarios que se analizan Dentro de esos escenarios asignamos: Roles, responsabilidades y capacidades Patrones de interacción entre agentes El objetivo es tener una visión neutra del problema Hay metodologías específicas que no usan la palabra agente para denotar las entidades en la fase de análisis ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

43 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Fase de análisis Analogía cinematográfica Agentes software = Actores representando papeles Casos de uso = Guión Ingeniero de software = Productor/director ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

44 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Fase de diseño La fase de diseño ha de incluir al menos: Cuáles son los principales componentes que interaccionan dentro del sistema Cuáles son las responsabilidades y capacidades de cada componentes del sistema Cómo los componentes interaccionan para implementar el sistema (su arquitectura) ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

45 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Fase de diseño En AOP se asocia agentes con los componentes que se usan para construir el sistema A partir de ahí se refinan: Roles, responsabilidades y capacidades Patrones de interacción entre agentes A diferencia del análisis, hay que escoger qué agentes usar y como interaccionan ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

46 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Metodologías relevantes GAIA: desarrollo como el diseño de una organización TROPOS: enfocada especialmente en el análisis de requerimientos ADELFE: desarrollo de agentes adaptativos PASSI: metodología paso a paso de requerimientos a código que integra modelos de diseño y conceptos de orientación a objetos e inteligencia artificial Prometheus: se focaliza en el diseño organizacional y en el de la arquitectura interna del agente (diseño de sistemas de agentes BDI) ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

47 Metodologías de software orientadas a agentes Extensiones de metodologías orientadas a objetos Parece apropiado construir métodos y herramientas para software orientado a agentes por encima de los de orientación a objetos Permite una transición más suave en la migración entre estas tecnologías Mejora la accesibilidad a las metodologías y herramientas de orientación a agentes a la comunidad actual de desarrolladores en orientación a objetos UML es un formalismo bastante extendido en la representación de software OO Ha habido diferentes intentos de extender UML para incluir conceptos de agentes ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

48 Metodologías de software orientadas a agentes AUML AUML (Agent Unified Modeling Language) se basa en UML (revisado por el grupo de modelado de FIPA) UML 2.0 extendido con: Clase especial agente Concepto de roles Diagramas de interacción de protocolos de agentes Protocolos en capas, imbricados, entrelazados Extendiendo los diagramas de comportamiento para adecuarlos al concepto de rol Siendo un avance aun quedan elementos que no se pueden representar satisfactoriamente ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

49 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Más allá de los agentes Estas metodologías no solo sirven para agentes Muchos de los sistemas software actuales tienen características similares a las de los agentes y los sistemas multiagente Pueden utilizarse por ejemplo en: Servicios web y aplicaciones en internet Cloud computing / GRID computing Sistemas P2P Redes de sensores (Internet of Things) Aplicaciones para la Future Internet Obviamente AOSE puede estar a un nivel de abstracción excesivo para sistemas simples ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

50 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Están para quedarse? Como un paso más en la evolución de la ingeniería del software AOSE es el paso siguiente natural en la evolución de un amplio conjunto de paradigmas de ingeniería de software como orientación a objetos, patrones de diseño y diseño basado en componentes Apropiado para sistemas abiertos, en red y sistemas distribuidos Sus características está alineadas con el desarrollo en este tipo de entornos (p. ej.: Internet) ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

51 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Próximo paso en la IS Reemplazará a la orientación a objetos? No, AOSE suplementa OO y se beneficia de ello Similaridades: Ambas aceptan el principio de encapsulamiento y ocultación de información y reconocen la importancia de las interacciones Diferencias: OO da mínimo soporte para especificar y manejar relaciones organizacionales (relaciones se definen solo como herencia jerárquica) Objetos encapsulan estado y comportamiento, no encapsulan toma de decisiones sobre las acciones Los objetos al ser pasivos son menos escalables ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

52 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Próximo paso en la IS Reemplazará a la orientación a objetos? No, AOSE suplementa OO y se beneficia de ello Similaridades: Ambas aceptan el principio de encapsulamiento y ocultación de información y reconocen la importancia de las interacciones Diferencias: OO da mínimo soporte para especificar y manejar relaciones organizacionales (relaciones se definen solo como herencia jerárquica) Objetos encapsulan estado y comportamiento, no encapsulan toma de decisiones sobre las acciones Los objetos al ser pasivos son menos escalables ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

53 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Próximo paso en la IS Reemplazará a la orientación a objetos? No, AOSE suplementa OO y se beneficia de ello Similaridades: Ambas aceptan el principio de encapsulamiento y ocultación de información y reconocen la importancia de las interacciones Diferencias: OO da mínimo soporte para especificar y manejar relaciones organizacionales (relaciones se definen solo como herencia jerárquica) Objetos encapsulan estado y comportamiento, no encapsulan toma de decisiones sobre las acciones Los objetos al ser pasivos son menos escalables ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

54 Metodologías de software orientadas a agentes Metodologías orientadas a agentes Problemas Los agentes han de perseguir unos objetivos globales y reaccionar a las interacciones con el entorno Hay que encontrar un equilibrio entre estas dos actividades Como consecuencia es, hasta cierto punto, impredecible qué objetivos se alcanzarán y cuando Los agentes deciden en tiempo de ejecución sus interacciones Incertidumbre sobre qué interacciones sucederán, con quién o cuándo Incertidumbre sobre el resultado de una interacción La composición de agentes que interaccionan puede resultar en comportamientos que no se pueden predecir a priori (comportamiento emergente) ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/ / 52

Ingeniería de Software en SOA

Ingeniería de Software en SOA Ingeniería de Software en SOA ECSDI LSI-FIB-UPC cbea Curso 2014/2015 ECSDI (LSI-FIB-UPC cbea) Ingeniería de Software en SOA Curso 2014/2015 1 / 51 Índice 1 Directrices para la IS en SOA 2 Modelo de referencia

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

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

Desarrollo de Sistemas Multi-Agente con INGENIAS

Desarrollo de Sistemas Multi-Agente con INGENIAS Desarrollo de Sistemas Multi-Agente con INGENIAS Juan Pablo Soto Alarcos Research Group Escuela Superior de Informática Universidad de Castilla - La Mancha INDICE Introducción INGENIAS Objetivo Principios

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

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

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

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

INGENIAS: Desarrollo dirigido por modelos de SMA

INGENIAS: Desarrollo dirigido por modelos de SMA INGENIAS: Desarrollo dirigido por modelos de SMA Juan Pavón Mestras jpavon@pdi.ucm.es Dep. de Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid http://grasia.fdi.ucm.es Objetivo

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

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

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

Componentes de los SBC

Componentes de los SBC Componentes de los SBC Componentes de los SBC Queremos construir sistemas con ciertas características: Resolución de problemas a partir de información simbólica Resolución mediante razonamiento y métodos

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

DISEÑO DE COMPONENTES DE SOFTWARE *

DISEÑO DE COMPONENTES DE SOFTWARE * DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP * Resumen del capítulo 10 de libro de [Pressman 2010] V:18-11-2008 (c) P. Gomez-Gil, INAOE.

Más detalles

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases 3.2 TÉCNICA DE MODELADO DE OBJETOS (OMT) (JAMES RUMBAUGH). 3.2.1 Introducción. En este documento se trata tanto el OMT-1 como el OMT-2, el primero contenido en el Libro Modelado y Diseño Orientado (Metodología

Más detalles

La inteligencia artificial distribuida (IAD) es una de las ramas de la inteligencia artificial (IA), la cual estudia sistemas inteligentes formados por un conjunto de varios componentes. Lic. Patricia

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

Análisis del Sistema de Información

Análisis del Sistema de Información Análisis del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD ASI 1: DEFINICIÓN DEL SISTEMA... 6 Tarea ASI 1.1: Determinación del Alcance del Sistema... 6 Tarea ASI 1.2: Identificación

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

Más detalles

Ciclo de vida del Software

Ciclo de vida del Software Tema 2: Ciclo de vida del Software Marcos López Sanz Índice Qué es el ciclo de vida del Software? La norma 12207-2008 Modelos de desarrollo Qué es el Ciclo de Vida del SW? Es una sucesión de etapas por

Más detalles

Tema 2. Ingeniería del Software I feliu.trias@urjc.es

Tema 2. Ingeniería del Software I feliu.trias@urjc.es Tema 2 Ciclo de vida del software Ingeniería del Software I feliu.trias@urjc.es Índice Qué es el ciclo de vida del Software? El Estándar 12207 Modelos de proceso Qué es el Ciclo de Vida del SW? Definición

Más detalles

Tema: Agentes en la Inteligencia Artificial.

Tema: Agentes en la Inteligencia Artificial. Sistemas Expertos e Inteligencia Artificial. Guía No. 3 1 Facultad: Ingeniería Escuela: Computación Asignatura: Sistemas Expertos e Inteligencia Artificial Tema: Agentes en la Inteligencia Artificial.

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

Un sistema de control inteligente de entrada/salida de humanos a un recinto siguiendo la metodología VigilAgent Tomás de Teresa Trancón

Un sistema de control inteligente de entrada/salida de humanos a un recinto siguiendo la metodología VigilAgent Tomás de Teresa Trancón Un sistema de control inteligente de entrada/salida de humanos a un recinto siguiendo la metodología VigilAgent Tomás de Teresa Trancón Tomás de Teresa Trancón, Un sistema de control inteligente de entrada/salida

Más detalles

Tema 1 Introducción a la Ingeniería de Software

Tema 1 Introducción a la Ingeniería de Software Tema 1 Introducción a la Ingeniería de Software Curso Ingeniería de Software UMCA Profesor Luis Gmo. Zúñiga Mendoza 1. Software En la actualidad todo país depende de complejos sistemas informáticos. Podemos

Más detalles

BPM: Articulando Estrategia, Procesos y Tecnología

BPM: Articulando Estrategia, Procesos y Tecnología BPM: Articulando Estrategia, Procesos y Tecnología Resumen: La competitividad es el imaginario que dirige las acciones empresariales en la actualidad. Lograr condiciones que permitan competir con mayores

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

Desarrollo de SBC. cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 1 / 41

Desarrollo de SBC. cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 1 / 41 Desarrollo de SBC Ingeniería de los SBC Desarrollo de SBC El punto más importante del desarrollo de SBC es la extracción del conocimiento Requiere la interacción entre el Ingeniero del Conocimiento y el

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

Introducción a los Sistemas Multi Agentes

Introducción a los Sistemas Multi Agentes Introducción a los Sistemas Multi Agentes Mg. Jose Luis Jurado Departamento de Sistemas Facultad de Ingeniería Electrónica y Telecomunicaciones Conceptualización Qué son? Por qué otro paradigma? Otra moda

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

Boletín de Asesoría Gerencial* Business Process Management (BPM)

Boletín de Asesoría Gerencial* Business Process Management (BPM) Espiñeira, Sheldon y Asociados * No. 11-2009 *connectedthinking Contenido Haga click en los enlaces para navegar a través del documento Haga click en los enlaces para llegar directamente a cada sección

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

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

Modelado Avanzado con Casos de Uso. Diseño de Software Avanzado Departamento de Informática

Modelado Avanzado con Casos de Uso. Diseño de Software Avanzado Departamento de Informática Modelado Avanzado con Casos de Uso Especificación Gráfica de Casos de Uso Una simple secuencia de acciones no puede describir adecuadamente la riqueza de situaciones que se pueden presentar en un caso

Más detalles

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Introducción Este documento recopila las preguntas, opiniones y respuestas que se produjeron en un pequeño curso sobre las

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

FUNDAMENTOS DE LA TEORÍA DE SISTEMA

FUNDAMENTOS DE LA TEORÍA DE SISTEMA FUNDAMENTOS DE LA TEORÍA DE SISTEMA AL TERMINAR LA CLASE UD PODRÁ RESPONDER Qué es un sistema? Cómo pueden ser definidos los sistemas? Cuáles son los parámetros de un sistema? Cuáles son las característica

Más detalles

Ejemplo: agencia de viajes por internet

Ejemplo: agencia de viajes por internet Introducción Modelado de casos de uso Propósito y definición Casos de uso y extracción de requisitos Carácter hipotético de los casos de uso El modelo de casos de uso Notación. Actores y casos de uso.

Más detalles

CICLO DE VIDA DEL SOFTWARE

CICLO DE VIDA DEL SOFTWARE CICLO DE VIDA DEL SOFTWARE 1. Concepto de Ciclo de Vida 2. Procesos del Ciclo de Vida del Software 3. Modelo en cascada 4. Modelo incremental 5. Modelo en espiral 6. Prototipado 7. La reutilización en

Más detalles

Índice. http://www.dicampus.es

Índice. http://www.dicampus.es Módulo 2 UML Índice Introducción a UML Lenguaje Unificado de Modelado (UML) Diagramas UML Diagramas de casos de uso Diagramas estructurales: Clases Diagramas estructurales: Objetos Diagramas de interacción:

Más detalles

Tema 3 Metodologías de Desarrollo de Software

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

Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI)

Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI) Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI) OFERTAS TECNOLÓGICAS 1) GESTIÓN ORGANIZACIONAL Y LOGÍSTICA INTEGRADA: TÉCNICAS Y SISTEMAS DE INFORMACIÓN 2) GESTIÓN

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

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

ANÁLISIS Y DISEÑO DE SISTEMAS

ANÁLISIS Y DISEÑO DE SISTEMAS ANÁLISIS Y DISEÑO DE SISTEMAS Clase XVIII: Modelo Dinámico Diagramas de Actividades Primer Cuatrimestre 2013 Diagrama de Actividades (DA) Un grafo o diagrama de actividad (DA) es un tipo especial de máquina

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

Planeación del Proyecto de Software:

Planeación del Proyecto de Software: Apéndice A. Cuestionarios del Sistema Evaluador Nivel2. Requerimientos de Administración: Goal 1: Los requerimientos del sistema asociados a software están bien controlados y existe un estándar para los

Más detalles

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones Univ. Cantabria Fac. de Ciencias Patricia López Modelo de Casos de Uso vs Modelo de Análisis Modelo de Casos de Uso Modelo de Análisis Descrito con el

Más detalles

Diseño orientado a los objetos

Diseño orientado a los objetos Diseño orientado a los objetos El Diseño Orientado a los Objetos (DOO) crea una representación del problema del mundo real y la hace corresponder con el ámbito de la solución, que es el software. A diferencia

Más detalles

RBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC

RBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC RBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC Proyecto Integrador de Tecnologías Computacionales Autor: Roberto García :: A00888485 Director: Jorge A. Torres Jiménez Contenido Introducció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

Desarrollo de Ontologías

Desarrollo de Ontologías Desarrollo de Ontologías ECSDI LSI-FIB-UPC cbea Curso 2014/2015 ECSDI (LSI-FIB-UPC cbea) Desarrollo de Ontologías Curso 2014/2015 1 / 31 Índice 1 Introducción 2 Metodologías de desarrollo ECSDI (LSI-FIB-UPC

Más detalles

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Cenditel, Mayo 2011 Licencia de Uso Copyright (c) 2010, Alvarez J., Solé S., Briceño R., Fundación CENDITEL. La Fundación CENDITEL

Más detalles

Modelado de un Sistema Multi-Agente mediante la aplicación de la metodología INGENIAS con el Ingenias Development Kit

Modelado de un Sistema Multi-Agente mediante la aplicación de la metodología INGENIAS con el Ingenias Development Kit Modelado de un Sistema Multi-Agente mediante la aplicación de la metodología INGENIAS con el Ingenias Development Kit Juan A. Botía MASTER TITA, Convocatoria 2007/2008 Ingeniería de Agentes Software y

Más detalles

Pauta de Informe de Proyecto

Pauta de Informe de Proyecto Departamento de Informática Universidad Técnica Federico Santa María Pauta de Informe de Proyecto ILI-236 Profesores: Hernán Astudillo y Marcello Visconti 1 Introducción... 3 2 Plan de trabajo... 3 3 Análisis...

Más detalles

Aplicación de Agentes en Sistemas de Automatización de la Fabricación

Aplicación de Agentes en Sistemas de Automatización de la Fabricación IX Congreso de Ingeniería de Organización Gijón, 8 y 9 de septiembre de 2005 Aplicación de Agentes en Sistemas de Automatización de la Fabricación Antonio José Calderón Godoy 1, Andrés García Higuera 2

Más detalles

Desarrollo Ágil. Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I

Desarrollo Ágil. Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I Desarrollo Ágil Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I Coordinación de Ciencias Computacionales INAOE 2011 Preguntas

Más detalles

Carrera: SCD-1011 SATCA 1 2-3-5

Carrera: SCD-1011 SATCA 1 2-3-5 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Ingeniería de Software Carrera: Ingeniería en Sistemas Computacionales Clave de la asignatura: SATCA 1 SCD-1011 2-3-5 2.- PRESENTACIÓN Caracterización

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Diseño de Procesos al Servicio de la Gestión

Diseño de Procesos al Servicio de la Gestión Gestión y servicios Tecnológicos Ltda. Diseño de Procesos al Servicio de la Gestión www.gyst.cl info@gyst.cl Gestión y servicios Tecnológicos Ltda. En Algunas Empresas... En numerosos proyectos de variada

Más detalles

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA Resumen AUTORIA CARLOS CABALLERO GONZÁLEZ TEMATICA INFORMÁTICA ETAPA ESO-BACHILLERATO-CFGM(ESI,ASI,DSI) Se describe la revolución que supuso la incursión

Más detalles

PROCESO Y PROYECTO DE INGENIERIA DE SOFTWARE. Carlos Barra Peñaloza *

PROCESO Y PROYECTO DE INGENIERIA DE SOFTWARE. Carlos Barra Peñaloza * 1 PROCESO Y PROYECTO DE INGENIERIA DE SOFTWARE Carlos Barra Peñaloza * El Ciclo de Vida del Software. El Ciclo de Vida del Software (CVS) describe todo el proceso de software de un sistema dado, desde

Más detalles

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail josejuan_avina@gmail.com

Más 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

PATRONES. Experto. Solución:

PATRONES. Experto. Solución: PATRONES. Experto. Asignar una responsabilidad a la clase que tiene la información necesaria para cumplirla. Cuál es el principio fundamental en virtud del cual asignaremos las responsabilidades a los

Más detalles

Evolución histórica 60 -. Metodologías

Evolución histórica 60 -. Metodologías TEMA 1 INTRODUCCIÓN Historia Evolución de las técnicas de programación Qué es orientado a objetos? Factores cruciales que miden la calidad del software Externos Internos La familia Orientada a objetos

Más detalles

M.T.I. Arturo López Saldiña

M.T.I. Arturo López Saldiña M.T.I. Arturo López Saldiña Hoy en día, existen diversas aproximaciones al tema de cómo hacer que las personas trabajen dentro de una organización de manera colaborativa. El problema se vuelve más difícil

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

PLAN DE ESTUDIOS Y CONTENIDOS MÍNIMOS

PLAN DE ESTUDIOS Y CONTENIDOS MÍNIMOS CARRERAS DE DOS AÑOS TECNICATURA EN PROGRAMACIÓN DE COMPUTADORAS PLAN DE ESTUDIOS Y CONTENIDOS MÍNIMOS Resolución UB 004/14 ANEXO Tabla general de asignaturas del Plan de Estudios y Obligaciones Académicas

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

Herramientas automáticas y semiautomáticas que apoyan a la aplicación de los métodos.

Herramientas automáticas y semiautomáticas que apoyan a la aplicación de los métodos. Unidad I Introducción a la ingeniería del software y sistemas de información Las economías de todos las paises son cada vez más y más dependientes del Software Importancia del Software 10 Cada vez más

Más detalles

Repetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos

Repetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos I. INTRODUCCIÓN El reciente aumento de aplicaciones en donde se utiliza la computadora ha sido posible debido a un hardware de bajo costo, por lo cual la demanda de software ha crecido de forma exponencial.

Más detalles

Convergencia, Interoperabilidad y. Fernando González-Llana Gerente de Cuenta AGE T-Systems

Convergencia, Interoperabilidad y. Fernando González-Llana Gerente de Cuenta AGE T-Systems Convergencia, Interoperabilidad y Arquitecturas de Servicios Gerente de Cuenta AGE T-Systems Palabras clave Convergencia digital, Interoperabilidad, Semántica, IDABC, SOA, Módulos Comunes, Protección de

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

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

DIPLOMADO EN TECNOLOGÍAS DE LA INFORMACIÓN

DIPLOMADO EN TECNOLOGÍAS DE LA INFORMACIÓN DIPLOMADO EN TECNOLOGÍAS DE LA INFORMACIÓN MODULO I: Análisis y Diseño de Sistemas El alumno se familiarizará y describirá los conceptos y aspectos fundamentales del Análisis y Diseño Orientado a Objetos

Más detalles

Modelo de Negocios para la Seguridad de la Información.

Modelo de Negocios para la Seguridad de la Información. Modelo de Negocios para la Seguridad de la Información. El Modelo de Negocios de Seguridad de la Información (BMIS, Business Model for Information Security) se originó en el Institute for Critical Information

Más detalles

Tema 4. Diseño arquitectónico.

Tema 4. Diseño arquitectónico. Tema 4. Diseño arquitectónico. Introducción, Objetivos del Diseño. Ingeniería del Software II 2011 Para la transformación del modelo de análisis en un modelo de diseño del sistema, se definen los objetivos

Más detalles

CICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software

CICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software 3.010 CONCEPTO DE CICLO DE VIDA Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software IEEE 1074 Un marco de referencia que contiene los

Más detalles

Programación de SMAs

Programación de SMAs Programación de SMAs Juan A. Botía Departamento de Ingeniería de la Información y las Comunicaciones Universidad de Murcia 5 o Curso, Ing. Superior en Informática Juan A. Botía (Departamento de Ingeniería

Más detalles

Consideraciones para implementaciones BPM y EDA

Consideraciones para implementaciones BPM y EDA Consideraciones para implementaciones BPM y EDA Jesús Buriticá IBM Software Group Brand Architect jburitic@ve.ibm.com Agenda Manejando los conceptos sobre BPM y EDA Abordar una iniciativa BPM/EDA Algunos

Más detalles

Ingeniería de Software. Procesos. Proyecto de Ingeniería. Metodologías. Metodologías. Metodologías. Metodologías de desarrollo

Ingeniería de Software. Procesos. Proyecto de Ingeniería. Metodologías. Metodologías. Metodologías. Metodologías de desarrollo Ingeniería de Software Procesos Laboratorio de Ingeniería de Software 2004 La ingeniería de software trata sobre la aplicación de practicas y métodos para construir productos de software que cumplan las

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

Service Oriented Architecture: Con Biztalk?

Service Oriented Architecture: Con Biztalk? Service Oriented Architecture: Con Biztalk? Pablo Abbate Servicios Profesionales Danysoft SOA supone una nueva forma de pensar acerca de la arquitectura IT para las empresas. De hecho, es una asociación

Más detalles

TECNÓLOGO EN DESARROLLO DE SOFTWARE

TECNÓLOGO EN DESARROLLO DE SOFTWARE PERFIL DE EGRESO Diseña, codifica, desarrolla e implementa software a la medida, web y móvil, de manera segura bajo los estándares internacionales; Diseña, gestiona, administra y da mantenimiento a infraestructuras

Más detalles

METODOLOGÍA TRADICIONAL.

METODOLOGÍA TRADICIONAL. METODOLOGÍA TRADICIONAL. Teniendo en cuenta la filosofía de desarrollo de las metodologías, aquellas con mayor énfasis en la planificación y control del proyecto, en especificación precisa de requisitos

Más detalles

Programación Orientada a Objetos INTRODUCCIÓN Y CONCEPTOS

Programación Orientada a Objetos INTRODUCCIÓN Y CONCEPTOS Programación Orientada a Objetos INTRODUCCIÓN Y CONCEPTOS Programación OO Vista Macro: La programación orientada a objetos trata sobre el desarrollo de software utilizando un paradigma que descompone el

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

Patrones de software y refactorización de código

Patrones de software y refactorización de código Patrones de software y refactorización de código Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos.

Más detalles

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar Gobierno Municipal del Cantón Bolívar Versión: Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Plan de Desarrollo de Software Universidad

Más detalles

Documento de Competencias. Facultad de Informática, UPV/EHU. 1 Estructura general del Grado TE1 TE2 TE3 TE4 TE5 TE6 TE7 TE8

Documento de Competencias. Facultad de Informática, UPV/EHU. 1 Estructura general del Grado TE1 TE2 TE3 TE4 TE5 TE6 TE7 TE8 Documento de Competencias Grado en INGENIERÍA INFORMÁTICA Facultad de Informática, UPV/EHU 1 Estructura general del Grado 1.1 Fundamentos de Tecnología de los Principios de Diseño de Sistemas Digitales

Más detalles

dmnet Arquitectura Empresarial de Procesos

dmnet Arquitectura Empresarial de Procesos dmnet Arquitectura Empresarial de Procesos 23 de mayo 2010 Que los sistemas productivos sean técnica y operacionalmente capaces de generar el valor económico proyectado es sólo una condición necesaria.

Más detalles

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos 3.3 EL MÉTODO DE BOOCH. 3.3. Introducción. El método cuenta con una notación expresiva y bien definida que le permite al diseñador comunicar sus ideas y concentrarse en problemas más serios. Para la captura

Más detalles

2. Conceptos básicos Abstracción La abstracción como un proceso mental natural La abstracción en el desarrollo de software

2. Conceptos básicos Abstracción La abstracción como un proceso mental natural La abstracción en el desarrollo de software 2. Conceptos básicos Hoy en día las aplicaciones son demasiado voluminosas y complejas para ser manejadas por una sola persona. Las aplicaciones de software son complejas porque modelan la complejidad

Más detalles

Master en Gestion de la Calidad

Master en Gestion de la Calidad Master en Gestion de la Calidad 3. La Calidad en la Actualidad La calidad en la actualidad 1 / 9 OBJETIVOS Al finalizar esta unidad didáctica será capaz: Conocer la calidad en la actualidad. La familia

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Técnica de modelado de objetos (I) El modelado orientado a objetos es una técnica de especificación semiformal para

Más detalles

F A B R I C I O M U Ñ O Z S. T E N I E N T E T É C N I C O D E A V I A C I Ó N

F A B R I C I O M U Ñ O Z S. T E N I E N T E T É C N I C O D E A V I A C I Ó N PROPUESTA DE IMPLEMENTACIÓN DE UNA METODOLOGÍA PARA EL DESARROLLO DE SISTEMAS ORIENTADOS A SERVICIOS EN EL DEPARTAMENTO DE DESARROLLO DE SISTEMAS DE LA DIRECCIÓN DE SISTEMAS DE INFORMACIÓN Y COMUNICACIONES

Más detalles