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

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

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

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

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

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

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

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

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

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

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

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

BASES DE DATOS. 1.1 Funciones de un DBMS

BASES DE DATOS. 1.1 Funciones de un DBMS BASES DE DATOS Un DBMS, son programas denominados Sistemas Gestores de Base de Datos, abreviado SGBD, en inglés Data Base Management System (DBMS) que permiten almacenar y posteriormente acceder a los

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

Tecnología de objetos distribuidos y arquitectura de componentes. Índice. Bibliografía. Introducción. Tema V

Tecnología de objetos distribuidos y arquitectura de componentes. Índice. Bibliografía. Introducción. Tema V Bibliografía Tema V Tecnología de objetos distribuidos y arquitectura de componentes. Szyperski, C. 1998. Component Software. Addison-Wesley. Ruiz Cortés, 1998. A. CORBA: Una visión general. http://www.lsi.us.es/~aruiz

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

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida INFORMÁTICA II 1 CONTENIDO 2 1 Programación orientada a objetos - POO 2 Clases 3 Constructores y destructores 4 Definiciones 5 Entrada y salida PROGRAMACIÓN ORIENTADA A OBJETOS Los lenguajes de programación

Más detalles

Programación orientada a

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

Más detalles

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

PROGRAMACION ORIENTADA A OBJETOS CON PHP

PROGRAMACION ORIENTADA A OBJETOS CON PHP PROGRAMACION ORIENTADA A OBJETOS CON PHP COMO SE DEFINE EN PHP La programación orientada a objetos es una metodología de programación avanzada y bastante extendida, en la que los sistemas se modelan creando

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

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

Pooi, un intérprete de un lenguaje orientado a objetos basado en prototipos para la educación

Pooi, un intérprete de un lenguaje orientado a objetos basado en prototipos para la educación Actas de las XX JENUI. Oviedo, 9-11 de julio 2014 ISBN: 978-84-697-0774-6 Páginas: 201-205 Pooi, un intérprete de un lenguaje orientado a objetos basado en prototipos para la educación Baltasar García

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

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

LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba

LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba La computadora, a diferencia de otras herramientas que en general apoyan el esfuerzo físico de los humanos, fue inventada

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

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

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

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

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

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

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

Programación orientada a objetos TEMA 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS POO

Programación orientada a objetos TEMA 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS POO Programación orientada a objetos TEMA 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS Cristina Cachero Pedro J. Ponce de León (1 Sesión) Versión 0.7 POO Indice El progreso de la abstracción Definición

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 Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

BASES DE DATOS MIS 308

BASES DE DATOS MIS 308 2. MODELOS DE DATOS Introducción 2.1 Entidad relación 2.2 Jerárquico 2.3 De red 2.4 Relacional Introducción Hoy en día las empresas manejan una gran cantidad de datos. Cualquier empresa que se precie debe

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

PROGRAMACIÓN ORIENTADA A OBJETOS EDUCATIVA EN UNA MÁQUINA VIRTUAL BASADA EN PROTOTIPOS J.

PROGRAMACIÓN ORIENTADA A OBJETOS EDUCATIVA EN UNA MÁQUINA VIRTUAL BASADA EN PROTOTIPOS J. PROGRAMACIÓN ORIENTADA A OBJETOS EDUCATIVA EN UNA MÁQUINA VIRTUAL BASADA EN PROTOTIPOS J. Baltasar García Perez-Schofield 1, Emilio García Roselló 1, David Martínez Torres 2, Manuel Perez Cota 1 1 Departamento

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

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

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

Migración de datos automática a partir de la información de los esquemas conceptuales 1

Migración de datos automática a partir de la información de los esquemas conceptuales 1 Migración de datos automática a partir de la información de los esquemas conceptuales 1 J.Pérez 1, J.A.Carsí 1, I.Ramos 1, V.Anaya 1, J.Silva 1, Departamento de Sistemas Informáticos y Computación Universidad

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

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

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

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

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

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

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

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

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

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

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización Página 1 de 19 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 6 Situación Contraste externo Actualización

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

Conexión de Reglas de Negocios con Aspectos: estrategias y herramienta

Conexión de Reglas de Negocios con Aspectos: estrategias y herramienta Conexión de Reglas de Negocios con Aspectos: estrategias y herramienta Sandra Casas y Cecilia Fuentes Zamorano UARG, Universidad Nacional de la Patagonia Austral Campus Universitario, Piloto Riversa s/n

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

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

CAPITULO 1. Introducción a los Conceptos Generales de Bases de Datos Distribuidas

CAPITULO 1. Introducción a los Conceptos Generales de Bases de Datos Distribuidas CAPITULO 1 Introducción a los Conceptos Generales de 1.1 Preliminares Las empresas necesitan almacenar información. La información puede ser de todo tipo. Cada elemento informativo es lo que se conoce

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

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

Depto de Cs e Ing. de la Computación Universidad Nacional del Sur Click to add title Mejorando los tiempos de desarrollo Frameworks Diego C. Martínez - DCIC-UNS 2 Patrones de Diseño, según GoF Los patrones de diseño son básicamente descripciones de objetos que se comunican

Más detalles

3. DIAGRAMAS DE CLASES...19 3.1. INTRODUCCIÓN... 19 3.2. DIAGRAMAS DE CLASES... 19 3.2.1. Perspectivas...20 3.2.2. Clases...20 3.2.2.1.

3. DIAGRAMAS DE CLASES...19 3.1. INTRODUCCIÓN... 19 3.2. DIAGRAMAS DE CLASES... 19 3.2.1. Perspectivas...20 3.2.2. Clases...20 3.2.2.1. 3. DIAGRAMAS DE CLASES...19 3.1. INTRODUCCIÓN... 19 3.2. DIAGRAMAS DE CLASES... 19 3.2.1. Perspectivas...20 3.2.2. Clases...20 3.2.2.1. Compartimento del nombre...21 3.2.2.2. Compartimento de la lista

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

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

2.1 Ingeniería de Software

2.1 Ingeniería de Software Capítulo 2 Marco Teórico Se pretende desarrollar un software que pueda ser aplicado como una herramienta útil para la administración de una empresa. Es necesario tener en cuenta que, en todo desarrollo

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

rg.o cm a Espec e i c fica c ci c ó i n ó n d e e r e r q e uer e i r mi m en e tos o l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s

rg.o cm a Espec e i c fica c ci c ó i n ó n d e e r e r q e uer e i r mi m en e tos o l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s Especificación de requerimientos Diseño de bases de datos Documento de especificación del sistema 1. Definición del problema 2. Descripción funcional 2. 3. Restricciones 4. Diagramas de flujo de datos

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

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

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

Tema I: Bases de Datos y Sistema Gestor de Bases de Datos

Tema I: Bases de Datos y Sistema Gestor de Bases de Datos 1 - Concepto de Base de Datos. Modelos y lenguajes de descripción. Tema I: Bases de Datos y Sistema Gestor de Bases de Datos 1.1 - Introducción. Objetivos de las Bases de Datos. 1.2 - Concepto de Base

Más detalles

MODELADO DE OBJETOS DE DATOS

MODELADO DE OBJETOS DE DATOS Manual Página Web MODELADO DE OBJETOS DE DATOS MANUALES ESPECIALES Documento: Manual Páginas Web (SemanticWebBuilder). Fecha de Elaboración: Marzo de 2009. INFOTEC CONACYT FIDEICOMISO. Página i Glosario

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

Tema 3: Bases de datos en Entorno Web

Tema 3: Bases de datos en Entorno Web Tema 3: Bases de datos en Entorno Web 1. Introducción. Un sistema de bases de datos proporciona un control centralizado de los datos. Esto contrasta con la situación que prevalece actualmente, donde a

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 18 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 5 Situación RD 1201/2007 Actualización

Más detalles

12.1. Definición de un fichero XML

12.1. Definición de un fichero XML XML 12 XML son las siglas de Extensible Markup Language y desde hace unos años se ha convertido en un estándar para el manejo de datos debido a la facilidad con la que los propios usuarios pueden crear

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

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

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

Indizen Labs imade. Marco de Desarrollo Aplicaciones de Indizen

Indizen Labs imade. Marco de Desarrollo Aplicaciones de Indizen Indizen Labs imade Marco de Desarrollo Aplicaciones de Indizen Índice de contenidos Indizen Labs Introducción a imade Metodología imade Arquitectura imade Herramientas imade Indizen Labs Indizen Labs Son

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

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

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

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

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

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

Especificación de requerimientos

Especificación de requerimientos Especificación de requerimientos 1. Requerimientos funcionales y no funcionales 2. Especificación de requerimientos en lenguaje natural 3. Herramientas de especificación Modelado de datos Diagramas entidad/relación

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

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

Yalù Galicia Hernàndez. Yalú Galicia Hdez. (FCC/BUAP)

Yalù Galicia Hernàndez. Yalú Galicia Hdez. (FCC/BUAP) Yalù Galicia Hernàndez Yalú Galicia Hdez. (FCC/BUAP) 1 Introducción Qué es la Programación Orientada a Objetos? Conceptos básicos Abstracción Jerarquía Encapsulación Objeto Clase Herencia Polimorfismo

Más detalles

Búsqueda sobre catálogos basada en ontologías

Búsqueda sobre catálogos basada en ontologías Búsqueda sobre catálogos basada en ontologías Alianis Pérez Sosa, Yuniel Eliades Proenza Arias Universidad de las Ciencias Informáticas. Carretera a San Antonio Km 2 ½, Reparto Torrens, La Lisa, Ciudad

Más detalles

Fundamentos del diseño de software

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

Más detalles

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

Unidad 1. Introducción a los conceptos de Bases de Datos

Unidad 1. Introducción a los conceptos de Bases de Datos Unidad 1 Introducción a los conceptos de Bases de Datos 1.1 Definición de Base de Datos Dato: Conjunto de caracteres con algún significado, pueden ser numéricos, alfabéticos, o alfanuméricos. Información:

Más detalles

Introducción a la plataforma.net

Introducción a la plataforma.net Introducción a la plataforma.net Autora: Mª del Pilar Pavón Rosano DNI: 52.923.715-W INTRODUCCIÓN Este artículo está dirigido a los profesores y profesoras del módulo Diseño y Realización de Servicios

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

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

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

Más detalles

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

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