Programación Orientada a Objetos: Clases versus Prototipos 1

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

Download "Programación Orientada a Objetos: Clases versus Prototipos 1"

Transcripción

1 Programación Orientada a Objetos: Clases versus Prototipos 1 Pedro Cuesta Morales Departamento de Lenguajes y Sistemas Informáticos Universidad de Vigo Resumen: En este artículo se introducen los aspectos básicos de la programación orientada a objetos con prototipos, en comparación al modelo tradicional basado en clases. Este nuevo enfoque está basado en la creación de objetos por copia de un prototipo, objeto con estructura, comportamiento y estado definidos. Al no utilizar clases el papel que éstas desempeñan se lleva a cabo mediante mecanismos alternativos. Los lenguajes basados en prototipos difieren en el mecanismo de compartir propiedades, la forma de propagar cambios en los objetos, los modelos de herencia y de tipos. Entre sus ventajas hay que destacar que facilitan la realización de cambios individuales a objetos y permiten comportamiento dinámico. La principal limitación de este modelo es la falta de herramientas apropiadas. Palabras clave: clase, objeto, prototipo, herencia, delegación, persistencia, Self, Omega, Kevo. 1. Introducción. El objetivo fundamental de este artículo es presentar las características básicas de la programación orientada a objetos con prototipos, como una forma diferente de abordar el desarrollo de software. La mayoría de herramientas orientadas a objetos están basadas en la utilización de clases, sin embargo, los lenguajes basados en prototipos no utilizan ninguna noción formal de clase, los objetos se crean mediante un proceso de copia o clonación, a partir de otros objetos ya existentes o prototipos. La distinción entre el modelo de clases y el de prototipos refleja una disputa filosófica tradicional acerca de la representación de abstracciones [Taivalsaari 97]. Platón vio formas (estables, abstractas, descripciones "ideales" de cosas) que tienen una existencia más real que las instancias de esas cosas. Lenguajes basados en clases, como Smalltalk o C++, son platónicos en su uso explícito de clases para representar similitud entre colecciones de objetos. Lenguajes basados en prototipos, como Self, Omega o Kevo, representan otra visión en la cuál no se confía tanto en la ventajosa categorización y clasificación, sino que se intenta que los conceptos del dominio del problema sean tan tangibles e intuitivos como sea posible. Un argumento típico a favor del acercamiento basado en prototipos, lo constituye el hecho de que parece ofrecer mejores resultados tratar primero con ejemplos específicos y después con 1 Publicado en Novática, num. 144, Páginas 69-72, Marzo-Abril 2000.

2 generalizaciones de estos, que inicialmente comprender los principios generales de abstracción, para posteriormente aplicarlos a casos particulares [Lieberman 86]. Este artículo comienza con una revisión del papel que desempeñan las clases en la programación orientada a objetos. A continuación se introducen los aspectos básicos de la creación de objetos mediante prototipos. Se hace un estudio comparativo de diversos lenguajes con prototipos existentes y se presentan sus principales diferencias. Se describen algunas de las ventajas y limitaciones de los sistemas basados en prototipos, para finalizar con algunas conclusiones generales sobre este nuevo enfoque de programación. 2. Papel de las Clases en el Modelo OO. Uno de los pilares fundamentales del modelo de objetos es la utilización de clases. La programación con prototipos permite demostrar un hecho importante, las clases no suponen una necesidad práctica en el desarrollo orientado a objetos [Hallman 97]. Los lenguajes basados en prototipos prescinden de ellas y sus funciones se llevan a cabo mediante mecanismos alternativos. En el modelo orientado a objeto estándar, uno de los principales papeles de una clase es definir la estructura y comportamiento de un conjunto de objetos. Mediante una clase se detallan los atributos y métodos que compartirán todas sus instancias y que determinan su estado y comportamiento. Los objetos se crean siempre a partir de una clase, una plantilla a partir de la cual se construyen nuevos objetos ("fabrica de objetos"). La clase es el vehículo principal para llevar a cabo la herencia, y permitir que una clase derivada puede extenderse y/o modificar la definición de su clase base. Constituye la estructura básica de reutilización del modelo orientado a objetos. Las clases se organizan jerárquicamente, una nueva clase permite reutilizar la estructura y comportamiento de otras previamente definidas. Además, las clases constituyen el mecanismo básico para soportar la estructura de tipos de algunos lenguajes orientados a objetos. En ellos, asociado a una jerarquía de clases se dispone de una jerarquía de tipos. Cada nombre de clase sirve para identificar tanto a la clase como a su correspondiente tipo. Por ejemplo, el nombre Pila puede usarse como identificador de tipo para declarar una variable, como en Pila *p, y en otro contexto el mismo nombre denota la clase, como en p=new Pila. En el primer caso Pila da información al compilador sobre el uso apropiado de la

3 variable p, y en el segundo determina la estructura y comportamiento del objeto creado dinámicamente a través del operador new. 3. Prototipos. Los prototipos constituyen un nuevo concepto en el modelo de objetos, que es utilizado en lenguajes como Self u Omega en sustitución de las clases para la construcción de objetos. La estructura y comportamiento de un conjunto de objetos no se describe mediante una clase, sino a través de un prototipo, que no es más que un objeto prefabricado, con una estructura, contenido y comportamiento predefinido, que se utiliza para crear nuevos objetos mediante un proceso de copia [Blaschek 94]. En los lenguajes basados en clases, los objetos se crean mediante un algoritmo (Figura 1). Cada clase determina la estructura, el comportamiento, y los valores iniciales de las variables de instancia del objeto recientemente creado. Sólo pueden crearse objetos de clases existentes y para crear un objeto con una estructura y/o comportamiento diferente es obligatorio definir previamente una nueva clase. En contraste, los prototipos son ya objetos inicializados, ocupan almacenamiento y tienen estado propio. Cada nuevo objeto se crea copiando un prototipo (Figura 1), proceso a través del cual adquiere la misma estructura, estado y comportamiento que el prototipo de partida. Posteriormente puede adaptarse mediante cambios individuales. Clase C Nuevo Prototipo P Copiar Objeto C Objeto P Figura 1: Creación de objetos con clases y prototipos

4 Las clases son estáticas, cuando comienza la ejecución de un programa basado en clases no existe ningún objeto. Los prototipos son dinámicos, cuando una aplicación basada en prototipos arranca, necesita que ya estén creados por lo menos un prototipo de cada uno de los diferentes tipos de objetos básicos que se van a utilizar, para poder realizar las pertinentes copias. Esto implica que se necesita un mecanismo para que cada vez que se invoca la aplicación se puedan usar los prototipos. Típicamente, esto se consigue mediante objetos persistentes que pueden activarse o almacenarse para su uso posterior. 4. Modelos. No existe un modelo estándar de sistema basado en prototipos, por el contrario, lenguajes existentes (Agora, Cecil, Kevo, Newton Script, Obliq, Omega, Self, etc.) presentan características muy diferentes entre sí. Aspecto importante teniendo en cuenta que los conceptos del lenguaje tienen una influencia considerable en la manera en la que un programador aborda la solución de un problema dado. Algunas de las variaciones principales vienen dadas en función de: El mecanismo de compartir propiedades: en el lenguaje Self [Ungar 87], por ejemplo, gracias a la delegación y a la utilización de objetos de rasgos, es posible concentrar en un objeto comportamiento común. Esto conduce a obtener una jerarquía, con dos categorías de objetos: objetos de rasgos, que representan comportamiento compartido, y objetos de datos, que son los objetos reales. En el lenguaje Kevo [Taivalsaari 92], por el contrario, el sistema mantiene automáticamente una jerarquía de comportamiento, las variables compartidas se implementan en un objeto especial llamado Root. La propagación de cambios en los objetos: en Self los cambios afectan a un objeto individual y se utiliza la delegación para aplicar los cambios a un grupo de objetos. Sin embargo cambios globales a la estructura de todos los objetos de un cierto tipo no son fáciles de aplicar. Para superar esta limitación, el lenguaje Kevo utiliza operaciones de módulo, que permiten aplicar cambios a objetos individuales o a grupos de objetos. El modelo de herencia: existen dos estrategias básicas para implementar la herencia: delegación y concatenación o copia (independientemente de si el sistema esta basado en clases o en prototipos) [Taivalsaari 96]. La delegación [Stein 87] se utiliza en Self y permite delegar la

5 responsabilidad de la ejecución de un método. En Self un objeto esta formado por un conjunto de slots con nombre que pueden evaluarse por medio de mensajes, la evaluación de un slot siempre devuelve un objeto. Cada objeto contiene un slot etiquetado con parent, que contiene una referencia a otro objeto padre cuyas propiedades serán compartidas. Si un mensaje recibido por un objeto no puede ligarse dentro del mismo, se delega la responsabilidad para seleccionar el método a su objeto padre. Como los slots son asignables y por tanto se pueden modificar, es posible cambiar dinámicamente el comportamiento de un objeto. Otro modelo diferente es el del lenguaje Kevo, que implementan la herencia por copia de slots. Los objetos no comparten slots, cada uno mantiene su propia copia lógica. Omega [Blasheck 94] utiliza un modelo más tradicional de herencia basado en copia. La delegación es más eficiente en espacio y la copia en tiempo, ya que simplifica el proceso de resolución de mensajes. El modelo de tipos: al igual que los lenguajes con clases, los basados en prototipos pueden utilizar asignación de tipos estática o dinámica, pero tanto la delegación como la posibilidad de realizar cambios individuales impiden la utilización del modelo estático. Por esta razón Self y Kevo son lenguajes tipeados dinámicamente, ambos tienen en común la característica de permitir cambios individuales a objetos sin afectar a otros objetos: dos objetos similares, tras sufrir cambios en su estructura, interface o comportamiento, pertenecerán a diferentes tipos. De la misma manera, la delegación de Self hace que la interface de un objeto cambie cuando cambia la de su padre. Por otro lado, el modelo estático de tipos, evita errores al permitir al compilador verificar el uso apropiado de las variables declaradas de un tipo. Omega prohibe delegación y cambios individuales de objetos y opta por un modelo de tipos estático. SELF KEVO OMEGA Mecanismo para compartir comportamiento Delegación Concatenación y operaciones de módulo Herencia Modelo de herencia Delegación Concatenación Concatenación Modelo de tipos Dinámico Dinámico Estático Modificaciones individuales Si Si No Herencia dinámica Si No No

6 5. Ventajas. Permiten cambios individuales: en los sistemas basados en clases todos los objetos de una misma clase tienen las mismas propiedades, cuando se necesita realizar cualquier cambio, hay que realizarlo sobre la clase y no es posible efectuarlo sobre los objetos individuales. O lo que es similar, si la definición de una clase cambia, todas sus instancias deben adaptarse a tal cambio. Sin embargo, en los lenguajes basados en prototipos es posible realizar cambios individuales a objetos sin afectar a otros objetos. Esta adaptación de cada objeto permite una especialización individual requerida en numerosas ocasiones en la programación orientada a objetos. Facilitan la construcción de redes de objetos: un programa orientado a objetos se caracteriza porque está formado por una red de objetos que interactúan entre sí. Es importante, por tanto, no sólo la descripción de los objetos, sino cómo se conectan, cuándo se crean, qué relaciones se establecen entre ellos, etc. Como las clases son descripciones estáticas se necesita un esfuerzo extra para describir el comportamiento dinámico de la red de objetos que conforman el sistema. En los sistemas basados en prototipos, se utiliza un acercamiento mucho más directo, ya que los objetos se crean realmente y es más fácil enlazar unos con otros. Permiten comportamiento dinámico: una característica que dota de mayor flexibilidad a los sistemas orientados a objetos, es la posibilidad de cambiar la estructura y/o el comportamiento de los objetos en tiempo de ejecución. En lenguajes basados en clases esto sólo es posible si se dispone de algún mecanismo para modificar la propia clase. En lenguajes como C++, no hay nada parecido y para modificar la clase hay que modificar el código fuente. Otros, como Smalltalk, permiten modificación dinámica de objetos a través del concepto de meta-clase, pero su uso lleva asociado problemas conceptuales que complican aún mas el modelo. Hay lenguajes basados en prototipos como Self, donde es posible cambiar dinámicamente el comportamiento de un objeto simplemente cambiando su padre. Adecuados para entornos distribuidos: los prototipos contienen tanto su estado como su comportamiento, y son independientes de las restricciones de las clases, esto los hace especialmente útiles en situaciones en las que los objetos deben migrar de un nodo a otro. En un lenguaje basado

7 en clases, un objeto consta de dos partes: su instancia y su clase, sin alguna de las dos el objeto está incompleto (sin la instancia no tiene estado y sin la clase no tendría comportamiento). En un sistema distribuido, esto plantea el problema de que siempre que se maneje un objeto, hay que manejar la clase a la que pertenece. Si por ejemplo, el objeto obj que pertenece a la clase clase_obj, se envía de un entorno local a un entorno remoto, hay dos posibilidades: que el entorno remoto que va a utilizar el objeto disponga en su jerarquía de una copia de la clase clase_obj, o sino cuando se envía el objeto obj, también debe enviarse su correspondiente clase clase_obj. 6. Limitaciones. Las principales limitaciones del modelo basado en prototipos, que son necesarias resolver para que este modelo este listo para satisfacer las demandas de la industria del software, son: Implementación complicada: los prototipos dan lugar a numerosos problemas técnicos que necesitan resolverse y que hace que las herramientas de programación no sean muy eficientes. Es difícil conservar la identidad de los objetos y las relaciones entre ellos, ya que continuamente se están manipulando prototipos y una modificación a uno de ellos puede tener un efecto adverso en objetos creados con posterioridad (problema conocido como alteración o corrupción del prototipo [Blaschek 94]). Falta de herramientas apropiada: la mayoría de los lenguajes basados en prototipos existentes hoy en día son proyectos de investigación, que no han sido distribuidos comercialmente y que por tanto no se han utilizado por un gran número de programadores, como por ejemplo sucede con C++ o Smalltalk. Falta de metodologías: para conseguir que los sistemas basados en prototipos estén preparados para el desarrollo de aplicaciones (hoy en día cada vez de mayor complejidad) es necesario disponer de metodologías y herramientas automáticas que guíen el proceso de desarrollo de software. La principal cuestión que hay que tener en cuenta para resolver estos problemas es decidir si se pueden adaptar las metodologías actuales basadas en clases o si por el contrario interesa crear nuevas metodologías que partan de cero y se centren en los aspectos básicos de los sistemas basados en prototipos.

8 7. Conclusiones. Una de las principales contribuciones de este artículo ha sido la justificación de que la no utilización de clases puede aportar ventajas sustanciales al modelo de objetos. Además se han perfilado las ideas básicas de un modelo poco conocido, pero que ha sido ampliamente estudiado y debatido en la comunidad científica. Lenguajes con prototipos como Self, basado en la utilización de delegación, suponen un enfoque bastante nuevo de programación orientada a objetos, que permite explotar el cambio dinámico en el estado y/o comportamiento de objetos, para su adaptación a nuevas necesidades, algo que sucede a menudo y que no está resuelto en el modelo tradicional basado en clases. Otros como Kevo, y su modelo de concatenación de slots, produce un grado alto de localidad en cada objeto, que los hace especialmente apropiados para ambientes distribuidos, aspecto fundamental hoy en día, si tenemos en cuenta que cada vez las redes de computadores cobran mayor importancia. Todas estas ideas plasmadas en diferentes lenguajes de programación, no tratan de ser alternativas a los lenguajes tradicionales basados en clases, sino que constituyen diferentes propuestas que explotan algunas de las características del modelo de prototipos, pero que distan de constituir proyectos que realmente puedan utilizarse en el desarrollo comercial de software. Referencias [Blaschek 94] [Hallman 97] [Lieberman 86] [Stein 87] [Taivalsaari 92] G. Blaschek, "Object-Oriented Programming with Prototypes", Springer-Verlag, B. Hallman, "Are Classes Necesary?", Journal of Object-Oriented Programming, Vol. 10, nº 5, Sep H. Lieberman, "Using Prototypical Objects to implemented Shared Behavior in Object Oriented Systems", OOPSLA'86 ACM Sigplan Notices, Vol. 21, nº11, Nov L.A. Stein, "Delegation is inheritance", OOPSLA'87 ACM Sigplan Notices, Vol. 22, nº 12, Dic A. Taivalsaari, "Kevo, a prototype-based object-oriented language based on concatenation and module operations", Technical Report DCS-197-1R, University of Victoria (Ca), Jun [Taivalsaairi 96] A. Taivalsaari, "On the Notion of Inheritance",

9 ACM Computer Surveys, Vol. 28, nº 3, Sep [Taivalsaari 97] [Ungar 87] A.Taivalsaari, "Classes versus Prototypes: Some Philosophical and Historical Observations", Journal of Object-Oriented Programming, Vol. 10, nº 7, Nov./Dec D. Ungar, E.B. Smith, "Self: the power of simplicity", OOPSLA'87 ACM Sigplan Notices, vol, 22, nº 12, Oct

Lenguajes de programación orientados a objetos y basados en prototipos

Lenguajes de programación orientados a objetos y basados en prototipos Lenguajes de programación orientados a objetos y basados en prototipos Grupo IMO Área de Lenguajes y Sistemas Informáticos Departamento de Informática Conferencia en la Escuela Superior de Informática,

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

Curso de Doctorado: Tecnologías de Objetos

Curso de Doctorado: Tecnologías de Objetos Curso de Doctorado: Tecnologías de Objetos Grupo IMO Área de Lenguajes y Sistemas Informáticos Departamento de Informática J. Baltasar García Perez-Schofield http://webs.uvigo.es/jbgarcia/ Implementación

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

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

FORMACIÓN Principios de la programación orientada a objetos

FORMACIÓN Principios de la programación orientada a objetos FORMACIÓN Principios de la programación orientada a objetos En un mercado laboral en constante evolución, la formación continua de los profesionales debe ser una de sus prioridades. En Galejobs somos conscientes

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

Introducción a los Tipos Abstractos de Datos

Introducción a los Tipos Abstractos de Datos Página 1 de 8 Introducción a los Tipos Abstractos de Datos Introducción: Concepto de abstracción Abstracción funcional y abstracción de datos Construcción de tipos abstractos de datos Especificación de

Más detalles

Tema 1. Introducción a los TAD

Tema 1. Introducción a los TAD Tema 1. Introducción a los TAD Objetivos En este tema nos ocupamos inicialmente del concepto de abstracción, dedicando la mayor atención a la abstracción de datos, estudiando aspectos relacionados con

Más detalles

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación

Más detalles

Implantación de Aplicaciones Web Fecha: 20-09-13

Implantación de Aplicaciones Web Fecha: 20-09-13 Página 1 de 24 RESUMEN DE LA PROGRAMACIÓN ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED CURSO AC. 2012 / 2013 ÁREA / MATERIA / MÓDULO PROFESIONAL Implantación de Aplicaciones Web (84 horas 4 horas semanales)

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

Introducción a Bases de Datos

Introducción a Bases de Datos de a M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl II Semestre - 2007 y del s: Sistemas de y del s: de y del s: Objetivos de la Unidad Dar a conocer las características,

Más detalles

Programación generativa

Programación generativa ujuarez@itorizaba.edu.mx Instituto Tecnológico de Orizaba 15 de octubre de 2010 Agenda 1 Introducción Panorama general Problemática 2 Implementación generativa Bibliotecas activas Bibliotecas activas:

Más detalles

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

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

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

Introducción. Metadatos

Introducción. Metadatos Introducción La red crece por momentos las necesidades que parecían cubiertas hace relativamente poco tiempo empiezan a quedarse obsoletas. Deben buscarse nuevas soluciones que dinamicen los sistemas de

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS. Dámaso López Aragón

BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS. Dámaso López Aragón BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS Dámaso López Aragón Introducción En la actualidad, la orientación a objetos es una nueva forma de comprender los problemas y modelar el negocio de una empresa,

Más detalles

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

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

Más detalles

Análisis de Requisitos

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

Más detalles

Introducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO)

Introducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO) Diseño Orientado a Objetos. Metodología enfocada a la solución de problemas complejos. Complejidad del software. Problemas difíciles de precisar. Definición de requerimientos vago y cambio en el desarrollo

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

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución

Más detalles

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa. BASES DE DATOS Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa. La creación de una base de datos debe ser realizada cuidadosamente procurando

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

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

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

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

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

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

Más detalles

Una Arquitectura para una Herramienta de Patrones de Diseño

Una Arquitectura para una Herramienta de Patrones de Diseño Una Arquitectura para una Herramienta de Patrones de Diseño José Sáez Martínez 1, Jesús García Molina, Pedro J. Jiménez García Departamento de Informática, Lenguajes y Sistemas. Campus de Espinardo C.P.

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

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

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

Más detalles

Administración de Variabilidad en una línea de producto basada en modelos

Administración de Variabilidad en una línea de producto basada en modelos Administración de Variabilidad en una línea de producto basada en modelos Kelly Garcés Carlos Parra Hugo Arboleda Andres Yie Rubby Casallas Universidad de los Andes, Bogotá k-garces @uniandes.edu.co Universidad

Más detalles

INGENIERIA DE SOFTWARE I INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE

INGENIERIA DE SOFTWARE I INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE INGENIERIA DE SOFTWARE I INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE Agenda El software. Definición de software Dominios de aplicación Software heredado La naturaleza de las webapps Ingeniería del software

Más detalles

M III ABSTRACCIÓN Y CLASIFICACIÓN

M III ABSTRACCIÓN Y CLASIFICACIÓN M III ABSTRACCIÓN Y CLASIFICACIÓN COMPLEJIDAD Y ABSTRACCIÓN La abstracción en el desarrollo del programario En todo el proceso de abstracción siempre hay una parte de la situación o del problema que se

Más detalles

AUDITORIA ESPECIFICA SEGURIDAD LOGICA Y FISICA SISTEMAS ORIENTADOS A OBJETOS

AUDITORIA ESPECIFICA SEGURIDAD LOGICA Y FISICA SISTEMAS ORIENTADOS A OBJETOS AUDITORIA ESPECIFICA SEGURIDAD LOGICA Y FISICA SISTEMAS ORIENTADOS A OBJETOS Presentado por: ANDRÉS RINCÓN MORENO 1700412318 JORGE ARMANDO MEDINA MORALES 1700321660 Profesor: Carlos Hernán Gómez. Asignatura:

Más detalles

PROGRAMACIÓN III (Curso de Adaptación)

PROGRAMACIÓN III (Curso de Adaptación) PROGRAMACIÓN III (Curso de Adaptación) 1.- Datos de la Asignatura Código 101152 Plan ECTS 6 Carácter OBLIGATORIO Curso 2º Periodicidad 1º SEMESTRE Área Departamento Lenguajes y Sistemas Informáticos INFORMÁTICA

Más detalles

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

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

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

Resumen. Funcionamiento. Advertencia

Resumen. Funcionamiento. Advertencia Resumen Módulo: Librería: IMPEXP.DLL Acoplable a: FactuCont 5, versiones monopuesto y red Descripción: Permite exportar datos de documentos, clientes, proveedores y artículos en un solo fichero para poder

Más detalles

Implantación y Aceptación del Sistema

Implantación y Aceptación del Sistema y Aceptación del Sistema 1 y Aceptación del Sistema ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD IAS 1: ESTABLECIMIENTO DEL PLAN DE IMPLANTACIÓN...5 Tarea IAS 1.1: De finición del Plan de... 5 Tarea IAS

Más detalles

Estructura de Bases de datos. Leonardo Víquez Acuña

Estructura de Bases de datos. Leonardo Víquez Acuña Estructura de Bases de datos Leonardo Víquez Acuña Lenguajes de Bases de Datos Un sistema de bases de datos proporciona Un lenguaje de definición de datos para especificar el esquema de la base de datos

Más detalles

WEBBER: USO DE COMPONENTES PARA LA ARMONIZACIÓN DE CONTENIDOS Y METADATOS

WEBBER: USO DE COMPONENTES PARA LA ARMONIZACIÓN DE CONTENIDOS Y METADATOS WEBBER: USO DE COMPONENTES PARA LA ARMONIZACIÓN DE CONTENIDOS Y METADATOS Autores: Introducción Diego R. López RedIRIS diego.lopez@rediris.es El trabajo necesario para mantener un servidor de información

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

ISO 19103. Lenguaje de Esquema Conceptual

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

Más detalles

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

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

Carrera: SCM - 0426 3-2-8. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Carrera: SCM - 0426 3-2-8. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos. 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Programación orientada a objetos Ingeniería en Sistemas Computacionales SCM - 0426

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

Planificación de Sistemas de Información

Planificación de Sistemas de Información Planificación de Sistemas de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...1 ACTIVIDAD 1: INICIO DEL PLAN DE SISTEMAS DE INFORMACIÓN...4 Tarea 1.1: Análisis de la Necesidad del...4 Tarea 1.2: Identificación

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

Analizar, diseñar, desarrollar e implementar soluciones orientadas a objetos utilizando encapsulamiento, herencia, polimorfismo y archivos.

Analizar, diseñar, desarrollar e implementar soluciones orientadas a objetos utilizando encapsulamiento, herencia, polimorfismo y archivos. Nombre de la asignatura: Programación Orientada a Objetos Créditos: 2-3- 5 Aportación al perfil Desarrollar, implementar y administrar software de sistemas o de aplicación que cumpla con los estándares

Más detalles

Planificación de Sistemas de Información

Planificación de Sistemas de Información Planificación de Sistemas de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ACTIVIDAD 1: INICIO DEL PLAN DE SISTEMAS DE INFORMACIÓN... 4 Tarea 1.1: Análisis de la Necesidad del... 4 Tarea 1.2: Identificación

Más detalles

Introducción a Protégé

Introducción a Protégé FACULTAD DE INFORMÁTICA LICENCIATURA EN DOCUMENTACIÓN SISTEMAS DE REPRESENTACIÓN Y PROCESAMIENTO AUTOMÁTICO DEL CONOCIMIENTO Práctica 1 1ª Parte Introducción a Protégé Febrero 2003 1. Objetivo La presente

Más detalles

Bases de Datos Tema 4 Modelo Entidad/Interrelación (ERM de Chen)

Bases de Datos Tema 4 Modelo Entidad/Interrelación (ERM de Chen) Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes s/n. 402 Sevilla Tlf/Fax 954 557 39 E-mail lsi@lsi.us.es Web www.lsi.us.es E.T.S.

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

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

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes INDICE Parte I. Conceptos 1 1. El estudio de los lenguajes de programación 1.1. Por qué estudiar lenguajes de programación? 2 1.2. Breve historia de los lenguajes de programación 1.2.1. Desarrollo de los

Más detalles

Especificación de Requisitos del Sistema de Registro y Control de Bienes Muebles de la ULA (ULA_SRCBM, versión 1.0)

Especificación de Requisitos del Sistema de Registro y Control de Bienes Muebles de la ULA (ULA_SRCBM, versión 1.0) Proyecto: Actualización del Sistema de Información de Muebles Documento: Especificación de s del Sistema de Registro y Control de Muebles ULA (ULA_SRCBM, versión 1.0) Elaborado por: William J. Montilva

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

Curso de Python Inicial

Curso de Python Inicial Logo IAA-CSIC Curso organizado por el Gabinete de Formación del CSIC Curso de Python Inicial Clases Contenidos 1. Paradigmas de la Programación 2. Programación Orientada a objetos 3. Clases 4. Objetos

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

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS Los lenguajes de consulta constituyen una funcionalidad importante de los SGBDOO. El usuario puede recuperar los datos especificando simplemente las condiciones

Más detalles

I.3 APLICACIÓN DE UN RECONOCEDOR DE LENGUAJE NATURAL RESTRINGIDO A LA RECUPERACIÓN DE DATOS Gabriel Cordero Sánchez*

I.3 APLICACIÓN DE UN RECONOCEDOR DE LENGUAJE NATURAL RESTRINGIDO A LA RECUPERACIÓN DE DATOS Gabriel Cordero Sánchez* I.3 APLICACIÓN DE UN RECONOCEDOR DE LENGUAJE NATURAL RESTRINGIDO A LA RECUPERACIÓN DE DATOS Gabriel Cordero Sánchez* Resumen En este documento se muestra la estructura funcional de un reconocedor de lenguaje

Más detalles

Capítulo III. El lenguaje de programación Avenue.

Capítulo III. El lenguaje de programación Avenue. Capítulo III El lenguaje de programación Avenue. En este capítulo se describe el lenguaje de programación Avenue y el entorno de programación de aplicaciones de Arcview. Además se darán a conocer los pasos

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

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

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

Tipos Abstractos de Datos

Tipos Abstractos de Datos Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal

Más detalles

Introducción. Herencia y Polimorfismo. Ejemplos (I) Ejemplos (II) Control de Acceso. Herencia

Introducción. Herencia y Polimorfismo. Ejemplos (I) Ejemplos (II) Control de Acceso. Herencia Introducción Herencia y Polimorfismo Se pueden definir jerarquías de clases, con clases generales que definen el comportamiento común a unos objetos y clases específicas que sólo añaden o redefinen el

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

1. PROCESOS DEL PROJECT MANAGEMENT

1. PROCESOS DEL PROJECT MANAGEMENT INDICE 1. PROCESOS DEL PROJECT MANAGEMENT 1.1 Procesos del Proyecto 1.2 Grupos de Proceso 1.3 Interacciones del Proceso 1.4 Adaptación de las interacciones del proceso 2. AREAS DEL CONOCIMIENTO DEL PROJECT

Más detalles

Planificación y Control de Proyectos de Software mediante MS Project

Planificación y Control de Proyectos de Software mediante MS Project Práctica 2 Planificación y Control de Proyectos de Software mediante MS Project E n esta práctica vamos a introducirnos en la Planificación y Control de Proyectos de Software mediante herramientas informáticas

Más detalles

Tecnología de Programación

Tecnología de Programación Tecnología de Programación Clase 6 Diego C. Martínez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Lenguaje de modelado unificado UML (Unified Modeling Language)

Más detalles

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

ADMINISTRACIÓN DE PROYECTOS

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

Más detalles

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II BASE DE DATOS Comenzar presentación Base de datos Una base de datos (BD) o banco de datos es un conjunto

Más detalles

forma de entrenar a la nuerona en su aprendizaje.

forma de entrenar a la nuerona en su aprendizaje. Sistemas expertos e Inteligencia Artificial,Guía5 1 Facultad : Ingeniería Escuela : Computación Asignatura: Sistemas expertos e Inteligencia Artificial Tema: SISTEMAS BASADOS EN CONOCIMIENTO. Objetivo

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

BASES DE DATOS. Ivon Tarazona Oriana Gomez

BASES DE DATOS. Ivon Tarazona Oriana Gomez BASES DE DATOS Ivon Tarazona Oriana Gomez Introducción Introducción Ventajas e (Unified Modeling Language) Es un lenguaje usado para especificar, visualizar y documentar los diferentes aspectos relativos

Más detalles

CommonKADS: Nivel de concepto

CommonKADS: Nivel de concepto Francisco J. Martín Mateos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Objetivos del nivel de concepto Especifica la estructura de la información y del conocimiento

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

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

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

Más detalles

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

ABAP IV. ORIENTACIÓN A OBJETOS, UNA VISIÓN GLOBAL

ABAP IV. ORIENTACIÓN A OBJETOS, UNA VISIÓN GLOBAL ABAP IV. ORIENTACIÓN A OBJETOS, UNA VISIÓN GLOBAL 1 Reservados todos los derechos. El contenido de esta obra está protegido por la Ley, que establece penas de prisión y/o multas, además de las correspondientes

Más detalles

Capítulo 1. Introducción

Capítulo 1. Introducción Capítulo 1. Introducción El WWW es la mayor fuente de imágenes que día a día se va incrementando. Según una encuesta realizada por el Centro de Bibliotecas de Cómputo en Línea (OCLC) en Enero de 2005,

Más detalles

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo Laboratorio de Redes de Neuronas Artificiales y Sistemas Adaptativos Universidade

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

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

Más detalles

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

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

Patrones de diseño. Programación III.I.T.I. de Sistemas. Contenidos. Información sobre patrones de diseño. Motivación. Departamento de Informática Universidad de Valladolid Programación III.I.T.I. de Sistemas Patrones 1 Contenidos Programación III.I.T.I. de Sistemas Patrones de diseño Patrones de diseño Introducción Conceptos

Más detalles

Arquitectura y seguridad

Arquitectura y seguridad En el desarrollo del SIGOB nos hemos enfrentado a diversos problemas que nos han llevado a investigar y desarrollar nuestras propias tecnologías. En este documento presentamos cada uno de los desarrollos

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

Introducción En este apartado se va a proporcionar una apreciación global del SRS.

Introducción En este apartado se va a proporcionar una apreciación global del SRS. INTRODUCCIÓN Se pretende desarrollar una aplicación web para la gestión de un restaurante que ofrece espectáculos en fechas determinadas con el fin de poner en práctica los principios de planificación

Más detalles

MODELADO DE OBJETOS. {brossi,pbritos,rgm}@itba.edu.ar

MODELADO DE OBJETOS. {brossi,pbritos,rgm}@itba.edu.ar MODELADO DE OBJETOS Bibiana ROSSI, Paola BRITOS y Ramón GARCIA MARTINEZ, CAPIS - Centro de Actualizacion Permanente en Ingeniería de Software Escuela de Posgrado. ITBA. 0. INTRODUCCION {brossi,pbritos,rgm}@itba.edu.ar

Más detalles

Tema X: Introducción al Paradigma Orientado. a Objetos. Diana Marcela Sánchez Fúquene Ingeniería del Software de Gestión. www.kybele.urjc.

Tema X: Introducción al Paradigma Orientado. a Objetos. Diana Marcela Sánchez Fúquene Ingeniería del Software de Gestión. www.kybele.urjc. Tema X: Introducción al Paradigma Orientado Diana Marcela Sánchez Fúquene Ingeniería del Software de Gestión a Objetos Índice Introducción Elementos Clases y Objetos Mensajes y Métodos Atributos y Estado

Más detalles