INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 31 de MAYO de 2001

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

Download "INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 31 de MAYO de 2001"

Transcripción

1 INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 31 de MAYO de 2001 NOMBRE: GRUPO: 1.- Es posible que un sistema que no ofrezca mecanismos de HERENCIA presente la característica conocida por POLIMORFISMO? Razona la respuesta. (0,5 ptos.) No es posible. POLIMORFISMO es una característica OO que permite que variables del tipo (clase) X puedan contener instancias de subclases de X. No se pueden definir subclases si no hay HERENCIA NOTA: una respuesta contraria justificándola como que se puede tener POLIMORFISMO en un sistema que sólo ofrezca mecanismos de interfaces como el de Java será considerada válida. 2.- Qué es EXTENSIBILIDAD y REUTILIZACIÓN del software? Qué características propias de los sistemas OO favorecen la EXTENSIBILIDAD y la REUTILIZACIÓN y por qué? (1 pto.) EXTENSIBILIDAD es un factor de calidad del software que consiste en la facilidad de adaptación del software a nuevos requisitos o cambios en la especificación. REUTILIZACIÓN es otro factor de calidad que consiste en crear elementos de software que sirvan para construir distintas aplicaciones. El POLIMORFISMO, la LIGADURA DINÁMICA (así como el mecanismo de INTERFACES que se basa en ellos) favorecen la EXTENSIBILIDAD y REUTILIZACIÓN. Una clase que computa algo útil con objetos de una clase P (o interfaz I) PUEDE REUTILIZARSE para objetos de cualquier subclase de P (o clase que implemente I). Se PUEDE EXTENDER (y cambiar) el comportamiento de una clase definiendo una subclase que añada y/o redefina métodos existentes. La LIGADURA DINÁMICA asegurará que sean estos últimos los que se ejecuten. 3.- En el Proceso Unificado de Desarrollo de software, se considera que la CAPTURA DE REQUISITOS, ANÁLISIS, DISEÑO, IMPLEMENTACIÓN y PRUEBAS constituyen las FASES del proyecto? (0,5 ptos.) No. Son los FLUJOS DE TRABAJO (el conjunto de actividades) a realizar a lo largo del Ciclo de Vida del proyecto (que, por cierto, es el que se divide en FASES que terminan con ciertos HITOS, y que a su vez están formadas por ITERACIONES) 4.- Explica qué son los RESGUARDOS, en qué PARTE del ciclo de vida de un proyecto tienen importancia y cuál es su función. (0,5 ptos.) Un RESGUARDO es un programa/módulo que sustituye a otro y que se comporta como si se hubiera llamado al módulo real (aunque existen distintas posibilidades). Los RESGUARDOS se utilizan en el flujo de trabajo de PRUEBAS. Cuando se prueba un módulo que llama a otros módulos y no se sabe si estos últimos son correctos (en INTEGRACIÓN DESCENDENTE) se sustituyen por RESGUARDOS y así, si los resultados no son los esperados, entonces se sabe que el módulo erróneo es el que llama al RESGUARDO.

2 5.- Programar el siguiente método (que es uno de los algoritmos reutilizables de JGL) (1,25 pto.) container Un contenedor. predicate Un predicado unario. Nuevo contenedor que tiene los elementos que satisfacen el predicado public static Container select( Container container, UnaryPredicate predicate ); perteneciente a la clase public final class Filtering public static Container select(container container, UnaryPredicate predicate) { Container nuevo = container.clone(); Object o; nuevo.clear(); Enumeration e = container.elements(); while (e.hasmoreelements()) { o=e.nextelement(); if (predicate.execute(o)) nuevo.add(o); return nuevo; 6.- Utilizando el algoritmo Filtering.select de JGL, se pide completar el siguiente código para que, dado un Array JGL que contiene varias personas (objetos de la clase Pers definida en el ANEXO), se obtenga otro Array JGL con solamente las personas pertenecientes al primer Array que sean rubias. (1,25 pto.)- Array contenedor = new Array( ); contenedor.add(new Pers("pepe",32,"RUBIO")); contenedor.add(new Pers("ana",33,"RUBIO")); contenedor.add(new Pers("pepe",30,"CASTAÑO"));... // COMPLETA ESTE CÓDIGO USANDO Filtering.select(...); Array res = Filtering.select(contenedor, new SeleccionarRubios()); Donde se define la clase: public class SeleccionarRubios implements UnaryPredicate { public boolean execute (Object o) { return (Pers)o.esRubio(); 7.- La interfaz de usuario asociada a un caso de uso llamado CONSULTAR PRECIO aparece a continuación, junto con la clase Java correspondiente: (2,5 ptos.)

3 import java.awt.*; import java.awt.event.*; public class ConsPrecioIU extends Frame { Label label1 = new Label(); Panel panel1 = new Panel(); Button button1 = new Button(); Button button2 = new Button(); Panel panel2 = new Panel(); GridLayout gridlayout1 = new GridLayout(3,2); Label label2 = new Label(); TextField textfield1 = new TextField(); Label label3 = new Label(); TextField textfield2 = new TextField(); Label label4 = new Label(); TextField textfield3 = new TextField(); public ConsPrecioIU() { super(); try { jbinit(); catch (Exception e) { e.printstacktrace(); private void jbinit() throws Exception { this.settitle("frame Title"); label1.settext("consultar PRECIO"); label1.setalignment(label.center); button1.setlabel("consultar Precio"); button1.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(actionevent e) { button1_actionperformed(e); ); button2.setlabel("cancelar"); button2.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(actionevent e) { button2_actionperformed(e); ); label2.settext("manzanas (Kg.)"); label3.settext("peras (Kg.)"); label4.settext("naranjas (Kg.)"); panel2.setlayout(gridlayout1); this.add(label1, BorderLayout.NORTH); this.add(panel1, BorderLayout.SOUTH); panel1.add(button1, null); panel1.add(button2, null); this.add(panel2, BorderLayout.CENTER); panel2.add(label2, null); panel2.add(textfield1, null); panel2.add(label3, null); panel2.add(textfield2, null); panel2.add(label4, null); panel2.add(textfield3, null); this.pack(); this.setvisible(true); void button1_actionperformed(actionevent e) { void button2_actionperformed(actionevent e) {

4 Se dispone también de una clase llamada Aviso que sirve para crear Dialog modales asociados al objeto Frame actual. La llamada new Aviso(this,"Pulsa Aceptar y me voy"); crearía lo siguiente: Además, nos han proporcionado los siguientes métodos, los cuales no sabemos ni a qué clase pertenecen ni qué es lo que hacen exactamente, pero nos han dicho que son útiles para acceder a los datos almacenados en la siguiente tabla de una BD Access. Además nos dicen que dicha BD es accesible por medio de una fuente de datos ODBC llamada PRODS public void inicializarbd () { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conexion=drivermanager.getconnection("jdbc:odbc:prods"); sentencia=conexion.createstatement(); catch(exception e){system.out.println("error"+e.tostring()); public float getprecio(string nombre) { try{ rs=sentencia.executequery("select PRECIO FROM PRODUCTOS "+ "WHERE NOMBRE='"+nombre+"'"); if (rs.next()) return rs.getfloat("precio"); catch (Exception e) {System.out.println("Error: "+e.tostring()); return 0; Se pide: Rellenar la clase ConsPrecioIU con el código necesario para que al pulsar el botón CONSULTAR PRECIO aparezca como resultado el precio de los productos escogidos. Por ejemplo, el resultado sería el siguiente: si los precios actuales fueran los que aparecen en la tabla ACCESS anterior y se hubiera pulsado el botón CONSULTAR PRECIO con los siguientes datos de entrada:

5 NOTA1: Sólo se admitirá una solución que A) Utilice una arquitectura lógica en 3 niveles. Indicar cuáles son esos niveles y qué partes de código y/o clases pertenecen a cada nivel. B) Sea extensible ante el siguiente cambio en la lógica del negocio. Se van a aplicar porcentajes de descuento a cada producto dependiendo de la cantidad de Kg. que se compre. Indicar por qué la solución propuesta es extensible ante ese cambio. NOTA2: Indicar CLARAMENTE dónde se debe añadir el código en la clase ConsPrecioIU y dónde hay que declarar los métodos inicializarbd () y getprecio(string nombre) SOLUCIÓN: El cuerpo del procedimiento void button1_actionperformed(actionevent e) { de la clase ConsPrecioIU podría ser: Precios p = new Precios(); // Creación de un objeto lógica del negocio float precio = p.calcularprecio(textfield1.gettext(), textfield2.gettext(), textfield3.gettext()); Aviso a = new Aviso(this,"Precio es: "+precio); Existirá una clase con la lógica del negocio Precios que además podrá contener los métodos que llaman al nivel de datos: inicializarbd () y getprecio(string nombre) y el siguiente: public float calcularprecio(string kgmanz, String kgper, String kgnar) { float m,p,n; try{m=float.parsefloat(kgmanz); catch (Exception ex) {m=0; try{p=float.parsefloat(kgper); catch (Exception ex) {p=0; try{n=float.parsefloat(kgnar); catch (Exception ex) {n=0; return m*getprecio("manzanas (Kg.)")+p*getPrecio("PERAS (Kg.)") + n*getprecio("naranjas (Kg.)"); NIVEL DE PRESENTACIÓN: ConsPrecioIU y Aviso NIVEL DE LÓGICA DEL NEGOCIO: Precios (que incluye el código JDBC) NIVEL DE DATOS: La base de datos Access Justificación de por qué la solución es extensible: En el momento en el que haya que extender la aplicación para tratar el nuevo requisito, NO AFECTARÁ AL NIVEL DE PRESENTACIÓN. Sólo se

6 verán afectados el NIVEL DE DATOS (habrá que añadir tablas que permitan almacenar los descuentos para cada producto) y el NIVEL LÓGICA DEL NEGOCIO (que tendrá que calcular los nuevos precios aplicando los descuentos). NOTA: no sería necesario ni recompilar el nivel de presentación (la clase ConsPrecioIU). De hecho, se podría cambiar la lógica del negocio (proporcionar una nueva clase Precios) en tiempo de ejecución y no haría falta ni volver a crear el objeto gráfico (instancia de ConsPrecioIU)!! Esto último es cierto porque la instancia del objeto con la lógica del negocio se crea en el método de respuesta al evento del botón. La solución proporcionada es válida pero puede ser mejorada en algunos aspectos: (esto no se pedía) 1.- Los métodos inicializarbd () y getprecio(string nombre) se pueden poner en otra clase aparte (por ejemplo AccesoBD), la cual puede ser Singleton y que controle que sólo haya una conexión abierta (llamando a inicializarbd () en el constructor de la clase) 2.- Se puede no crear el objeto de negocio (instancia de Precios) dentro del método de respuesta al evento sobre el botón sino en el constructor de ConsPrecioIU para que sólo se haga una vez. También se podría pasar como parámetro en el método constructor un objeto con la lógica del negocio a aplicar. 3.- Se pueden ahorrar llamadas a getprecio(string nombre) en el método calcularprecio(...) de Precios, si se calculan y almacenan los valores de getprecio("manzanas (Kg.)"), getprecio("peras ),...(por ejemplo en el constructor de Precios).Esto sería válido sólo si los precios no cambiaran a lo largo de la vida del objeto de negocio (objeto de Precios). 8.- Existe otro caso de uso que sirve para consultar la disponibilidad de los productos (1,5 ptos) Describe cómo se puede definir una clase REUTILIZABLE que sirva para generar la Interfaz de Usuario del caso de uso CONSULTAR PRECIOS, del caso de uso CONSULTAR DISPONIBILIDAD y de cualquier otro caso de uso que pueda definirse en el futuro y que necesite una interfaz de usuario similar. NOTA: aseguraros de que permita ejecutar distintas acciones al pulsar el botón, dependiendo de qué caso de uso se trate. SOLUCIÓN: Se puede aplicar el patrón de diseño INTERFAZ Clase Consultar Consultar(IntConsultar i) usa interfaz IntConsultar gettitulo(): String gettituloboton(): String ejecutarboton(string s1,s2,s3): void

7 La clase reutilizable Consultar sería como la clase anterior ConsPrecioIU con los siguientes cambios: (en negrita) import... public class Consultar extends Frame { Label label1 = new Label();... TextField textfield3 = new TextField(); IntConsultar interfaz; public Consultar (IntConsultar i) { super(); try { interfaz=i; jbinit(); catch (Exception e) { e.printstacktrace(); private void jbinit() throws Exception { this.settitle("frame Title"); label1.settext(interfaz.gettitulo()); label1.setalignment(label.center); button1.setlabel interfaz.gettituloboton()); button1.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(actionevent e) { button1_actionperformed(e); );... label2.settext("manzanas (Kg.)"); label3.settext("peras (Kg.)"); label4.settext("naranjas (Kg.)");... void button1_actionperformed(actionevent e) { interfaz.ejecutarboton(textfield1.gettext(), textfield2.gettext(), textfield3.gettext()); Donde la definición de la interfaz es la siguiente: public interface IntConsultar { public String gettitulo(); public String gettituloboton(); public void ejecutarboton(string s1,string s2,string s3); Con la clase reutilizable Consultar se puede ver cómo se podrían crear objetos de la clase ConsPrecioIU del ejercicio anterior (la cual ya no sería necesaria): Consultar c = new Consultar(new ConsultarPrecios()); Donde ConsultarPrecios sería: public class ConsultarPrecios implements IntConsultar { public String gettitulo() { return CONSULTAR PRECIO ;

8 public String gettituloboton() {return Consultar Precio ; public void ejecutarboton(string s1, String s2, String s3) { Precios p = new Precios(); float precio = p.calcularprecio(s1,s2,s3); Aviso a = new Aviso(this,"Precio es: "+precio); 9.- Describe también cómo se puede conseguir que la clase que genera el interfaz gráfico sea REUTILIZABLE para cualquier producto, esto es, permita CONSULTAR PRECIOS, DISPONIBILIDADES, etc. de un conjunto de N productos cualesquiera y no sirva sólo para MANZANAS, PERAS y NARANJAS (1 pto) NOTA: no es necesario programarlo, sino indicar qué clases, métodos, etc. se necesitarían. SOLUCIÓN: Se puede aplicar el patrón de diseño INTERFAZ Clase Consultar Consultar(IntConsultar i) usa interfaz IntConsultar gettitulo(): String gettituloboton(): String ejecutarboton(enumeration e): void getproductos(): Enumeration Se deja como ejercicio el programarlo (no era necesario hacerlo en el examen)

9 ANEXO public interface Container extends Cloneable, Serializable { * Return a shallow copy of myself. public Object clone(); * Return a string that describes me. public String tostring(); * Return true if I'm equal to a specified object. object The object to compare myself against. true if I'm equal to the specified object. public boolean equals( Object object ); * Return the number of objects that I contain. public int size(); * Return the maximum number of objects that I can contain. public int maxsize(); * Return true if I contain no objects. public boolean isempty(); * Remove all of my objects. public void clear(); * Return an Enumeration of the components in this container public Enumeration elements(); * Return an iterator positioned at my first item. public ForwardIterator start(); * Return an iterator positioned immediately after my last item. public ForwardIterator finish();

10 * Add an object to myself. If appropriate, return the object that * displaced it, otherwise return null. public Object add( Object object ); * Remove the element at a particular position. public Object remove( Enumeration pos ); * Remove the elements in the specified range. public int remove( Enumeration first, Enumeration last ); public interface BinaryPredicate extends Serializable { * Return the result of executing with two Object arguments. first The first object operand. second The second object operand. The boolean result of processing the input parameters. boolean execute( Object first, Object second ); public class Pers { private String nombre; private int dni; private String colorpelo; Pers(String n, int d, String c) { nombre=n; dni=d; colorpelo=c; public int getdni() {return dni; public String getnombre() {return nombre; public String getcolorpelo() {return colorpelo; public String esrubio() {return colorpelo.equals( RUBIO ); public String tostring() { return nombre + "/" + dni;

INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 29 de MAYO de 2006

INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 29 de MAYO de 2006 INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 29 de MAYO de 2006 NOMBRE: GRUPO: Las dos primeras preguntas son de test. Es obligatorio marcar las respuestas correctas usando un bolígrafo y dibujando

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia

Más detalles

Definición de clases: Herencia, polimorfismo, ligadura dinámica

Definición de clases: Herencia, polimorfismo, ligadura dinámica Tema 7 Definición de clases: Herencia, polimorfismo, ligadura dinámica Con alguna frecuencia es necesario definir clases de objetos entre las cuales hay elementos comunes. En una aplicación en la cual

Más detalles

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2 Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3

Más detalles

Ingeniería del Software Arquitectura Física en 3 niveles

Ingeniería del Software Arquitectura Física en 3 niveles Introducción En este laboratorio desplegaremos en 3 niveles físicos una aplicación que verifica si una cuenta y un password son correctos, basada en la que fue presentada en el laboratorio Separación entre

Más detalles

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

Más detalles

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

Más detalles

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

Más detalles

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Grados Ing. Inf. y Mat. Inf. Julio 2014 Algoritmos y Estructura de Datos Página 1 de 6

Grados Ing. Inf. y Mat. Inf. Julio 2014 Algoritmos y Estructura de Datos Página 1 de 6 Grados Ing. Inf. y Mat. Inf. Julio 201 Algoritmos y Estructura de Datos Página 1 de 6 Algoritmos y Estructura de Datos: Examen Julio (Solución) Grados Ing. Inf. y Mat. Inf. Julio 201 Departamento de Lenguajes,

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

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

Primer Parcial Septiembre 5 de 2009

Primer Parcial Septiembre 5 de 2009 Primer Parcial Septiembre 5 de 2009 Algoritmos y Lenguajes II Reglas del juego Tal como se le dijo antes, durante este examen usted no puede pedir ABSOLUTAMENTE nada prestado a sus compañeros, ni hablar

Más detalles

2.2.- Paradigmas de la POO

2.2.- Paradigmas de la POO 2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier

Más detalles

Práctica 4: Java Remote Method Invocation (RMI)

Práctica 4: Java Remote Method Invocation (RMI) Práctica 4: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción Hasta el momento hemos visto aplicaciones remotas donde un cliente utiliza un objeto remoto que ha sido publicado

Más detalles

APELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:...

APELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:... Cuadernillo de examen ASIGNATURA Laboratorio de Sistemas Operativos Abiertos (Java) CÓDIGO 321 CONVOCATORIA Extraordinaria de Septiembre de 2003 PLAN DE ESTUDIOS 1996 ESPECIALIDAD Sistemas CURSO 2002/2003

Más detalles

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I

Más detalles

Clases y Objetos. Informática II Ingeniería Electrónica

Clases y Objetos. Informática II Ingeniería Electrónica Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),

Más detalles

Metadatos en Plataformas ECM

Metadatos en Plataformas ECM Metadatos en Plataformas ECM understanding documents Ofrece tu sistema soporte para tipos documentales en bases de datos? Por qué debería importarte? Marzo, 2013 Basado en: Manejo de metadatos en plataformas

Más detalles

Solución Examen Junio 2007 (a) Ejercicio GeoTaxi (1h 20 min.) Diagrama de Casos de Uso y. Casos de uso (2,5 puntos) Modelo de Dominio (1,5 puntos)

Solución Examen Junio 2007 (a) Ejercicio GeoTaxi (1h 20 min.) Diagrama de Casos de Uso y. Casos de uso (2,5 puntos) Modelo de Dominio (1,5 puntos) Solución Examen Junio 2007 (a) Ejercicio GeoTaxi (1h 20 min.) Diagrama de Casos de Uso y Casos de uso (2,5 puntos) Modelo de Dominio (1,5 puntos) 1 Actores OPERADOR CLIENTE TAXISTA 2 Actor Cliente Identificarse

Más detalles

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte.

Más detalles

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos Conceptos ELO329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego se introduce la programación en binario, Se desarrolla

Más detalles

Uso de excepciones en Java

Uso de excepciones en Java Uso de excepciones en Java En Java, cuando se produce un error en un método, se lanza un objeto Throwable. Cualquier método que haya llamado al método puede capturar la excepción y tomar las medidas que

Más detalles

3.9 Patrón Distributed callback

3.9 Patrón Distributed callback 3.9 Patrón Distributed callback Motivación (1) Queremos que la aplicación de administración de los termostatos Monitorize la temperatura de algunos termostatos, avisándonos si ésta baja o sube por encima

Más detalles

Desarrollo de Servicios Web con JBuilder

Desarrollo de Servicios Web con JBuilder Artículos técnicos Grupo Danysoft: Desarrollo de Servicios Web con JBuilder Segunda parte Oscar Cristobal Ruiz Departamento Java Equipo Grupo Danysoft Enero 2003 - (902) 123146 www.danysoft.com Desarrollo

Más detalles

También añado a la clase Libro los siguientes métodos: (que programaré más adelante)

También añado a la clase Libro los siguientes métodos: (que programaré más adelante) 1.Creación de la capa de negocios La capa del Dominio de Negocios consta de una clase creada a partir de la tabla Libro a la que le he añadido los atributos no persistentes: CodPais, artic y digcontrol.

Más detalles

Clases abstractas e interfaces

Clases abstractas e interfaces Clases abstractas e interfaces Clases abstractas Una clase abstracta es una clase que no se puede instanciar se usa únicamente para definir subclases Cuándo es una clase abstracta? En cuanto uno de sus

Más detalles

EXCEPCIONES EN JAVA. Las sentencias que tratan las excepciones son try y catch. La sintaxis es:

EXCEPCIONES EN JAVA. Las sentencias que tratan las excepciones son try y catch. La sintaxis es: EXCEPCIONES EN JAVA Uno de los problemas más importantes al escribir aplicaciones es el tratamiento de los errores. Errores no previstos que distorsionan la ejecución del programa. Las excepciones de Java

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

Ejercicio 1 (3 puntos).-

Ejercicio 1 (3 puntos).- URJC Ingeniería Técnica de Gestión Abril 2011 Asignatura: SOFTWARE AVANZADO Normas: La prueba consta de 2 ejercicios. La máxima nota del examen es un 8. Siendo la práctica la que añade los 2 puntos que

Más detalles

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

Más detalles

Ejercicios - Persistencia en Android: ficheros y SQLite

Ejercicios - Persistencia en Android: ficheros y SQLite Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Carnet Nombre: Examen C++ Grupo A Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Pág.1 Índice 1. INTRODUCCIÓN... 1 2. EJERCICIO 1: AGENDA TELEFÓNICA (4.0 PTOS.)...1 3. EJERCICIO 2:

Más detalles

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida } REUTILIZACIÓN DE CLASES:MODELO DE HERENCIA EN JAVA Java soporta herencia simple pero no múltiple. Lo hace mediante el mecanismo de extensión de clase. A partir de él, una subclase se extiende (hereda)

Más detalles

Universidad de Cantabria corcuerp@unican.es

Universidad de Cantabria corcuerp@unican.es Herencia Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender los conceptos de herencia Comprender la forma de derivar una

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

Más detalles

Estructura de las Aplicaciones Orientadas a Objetos El patrón Modelo-Vista-Controlador (MVC)

Estructura de las Aplicaciones Orientadas a Objetos El patrón Modelo-Vista-Controlador (MVC) Estructura de las Aplicaciones Orientadas a Objetos El patrón Modelo-Vista-Controlador (MVC) Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial

Más detalles

Práctica sobre compartición de instancias remotas.

Práctica sobre compartición de instancias remotas. Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta

Más detalles

POLIMORFISMO "una interfaz, múltiples métodos".

POLIMORFISMO una interfaz, múltiples métodos. "una interfaz, múltiples métodos". 20/02/2007 Polimorfismo 2 Indice Definición y caracteristicas Objetivos. SOBRRESCRITURA-SOBRECARGA SOBRECARGA Clases y métodos abstractos INTERFACES (herencia múltiple)

Más detalles

RMI [Remote Method Invocation]

RMI [Remote Method Invocation] RMI [Remote Method Invocation] Cuando utilizamos sockets, hemos de preocuparnos de cómo se transmiten físicamente los datos entre los extremos de una conexión (a nivel de bytes, ya que usamos los streams

Más detalles

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 2 Definiendo situaciones y manejando casos Marcela Hernández Hoyos Qué vamos a aprender en este nivel: Diferencia entre clase y objeto Modelar características

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

Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro

Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro Estatuto if Este estatuto nos sirve para realizar alguna(s) instrucción(es) en vez de otra(s)

Más detalles

ELO329: Diseño y Programación Orientados a Objetos 20 de Junio de 2005. Certamen Final

ELO329: Diseño y Programación Orientados a Objetos 20 de Junio de 2005. Certamen Final Certamen Final 1. Se tiene una aplicación Java que muestra dos botones. Cuando presionamos el botón de la izquierda, incrementa el número mostrado en el botón de la derecha. Cuando presionamos el botón

Más detalles

Notación UML para modelado Orientado a Objetos

Notación UML para modelado Orientado a Objetos 1 Notación UML para modelado Orientado a Objetos 2 Notación UML para modelado Orientado a Objetos Índice 1.1. Qué es UML?.. 3 1.2. Por qué interesa UML en la asignatura de Programación Orientada a Objetos?3

Más detalles

Parsear HTML con htmlparser para Android Guillem Pérez

Parsear HTML con htmlparser para Android Guillem Pérez Parsear HTML con htmlparser para Android Guillem Pérez He escogido esta librería(http://htmlparser.sourceforge.net/) aunque no había muchos ejemplos porque la he visto realmente ligera y esta en java hay

Más detalles

Tema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos

Tema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos Tema 3: Genericidad en Java Tema 3: Genericidad en Java Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general: 1. Definición y Ventajas de la

Más detalles

2. Estructura de un programa en Java

2. Estructura de un programa en Java 24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 3 Clases y Objetos Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Clases y

Más detalles

Manual del Protocolo XML-RPC de Mensajería Negocios

Manual del Protocolo XML-RPC de Mensajería Negocios Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...

Más detalles

Patrones para persistencia (I) Ingeniería del Software II

Patrones para persistencia (I) Ingeniería del Software II Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura

Más detalles

13.1. Tablas dinámicas de Excel

13.1. Tablas dinámicas de Excel 13.1. Tablas dinámicas de Excel Una tabla dinámica consiste en el resumen de un conjunto de datos, atendiendo a varios criterios de agrupación, representado como una tabla de doble entrada que nos facilita

Más detalles

MANUAL DE AYUDA MODULO TALLAS Y COLORES

MANUAL DE AYUDA MODULO TALLAS Y COLORES MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3

Más detalles

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para

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

MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP

MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP Contacto Para las dudas con la instalación: Integración de Clientes (iclientes.inf@asmred.es) Para el contacto comercial: 91 327 28 80

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

Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta. Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO LAEFF - INTA raul@laeff.inta.es Qué es Java? Java es un lenguaje de programación orientado a objetos desarrollado por Sun

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles

1. Qué tipos de relación hay entre las siguientes clases?

1. Qué tipos de relación hay entre las siguientes clases? Ejercicios Tema 8: Herencia 1. Qué tipos de relación hay entre las siguientes clases? Personal de la Universidad PAS Profesor 1 n Estudiante a) herencia y asociación b) herencia y dependencia c) dependencia

Más detalles

Estructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo

Estructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo Estructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense

Más detalles

Programación en Java. Programación en OO

Programación en Java. Programación en OO Programación en OO Lección 4:Programación en OO 1. Herencia 2. Modificadores de Acceso 3. Interfaces Herencia Es la acción en la que una clase obtiene los métodos y propiedades definidos en otra clase,

Más detalles

Patrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype

Patrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype Temario Patrones de Diseño de Software Fundamentos de Ingeniería de SW Jocelyn Simmonds GOF: Patrones Creacionales Patrones Estructurales ILI-236 (JS) Patrones II 1 / 31 ILI-236 (JS) Patrones II 2 / 31

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

Manual para la utilización de PrestaShop

Manual para la utilización de PrestaShop Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º 1. Ejercicio (1 punto) Dado el array A={8, 3, 7, 1, 4, 9, 5, 2, 6 Describir cual es el estado del array A después de cada paso principal del algoritmo: InsertionSort. {8, 3, 7, 1, 4, 9, 5, 2, 6 {3, 8,

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

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

Más detalles

Benemérita Universidad Autónoma del Estado de Puebla

Benemérita Universidad Autónoma del Estado de Puebla Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 4 Profr: María del Carmen Cerón Garnica Alumno: Roberto

Más detalles

Examen Septiembre Curso 2001-2002 -- Programación en C++ Pág. 1

Examen Septiembre Curso 2001-2002 -- Programación en C++ Pág. 1 Examen Septiembre Curso 2001-2002 -- Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Convertidor Dec->Hex y Hex->Dec (5.0 ptos.)... 1 1.1.1 Apartado A (4.0 ptos.)... 1 1.1.2 Apartado B (1.0

Más detalles

Patrones de diseño. Sesión 1: Introducción y patrones básicos. Especialista Universitario Java Enterprise

Patrones de diseño. Sesión 1: Introducción y patrones básicos. Especialista Universitario Java Enterprise Sesión 1: Introducción y patrones básicos Titulo Módulo 2006-2007 Depto. Ciencia de la Computación e IA Titulo sesión-1 En el desarrollo de aplicaciones J2EE ( y no J2EE!) se presentan una y otra vez los

Más detalles

Programación Orientada a Objetos en JAVA

Programación Orientada a Objetos en JAVA Programación Orientada a Objetos en JAVA Jorge Pérez Introducción a la Computación Jorge Pérez Programación Orientada a Objetos en JAVA 1 / 36 Orientación a Objetos OO es un paradigma de modelación y programación

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 El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir

Más detalles

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA

Más detalles

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

Examen de Programación II (Ingeniería Informática)

Examen de Programación II (Ingeniería Informática) Examen de Programación II (Ingeniería Informática) Junio 2008 1) Lenguaje C 1.a) (1 punto) Escribir una función C que reciba dos strings como parámetros y retorne un nuevo string formado por los caracteres

Más detalles

EJEMPLO DE PRUEBAS UNITARIAS Y DE INTEGRACIÓN.

EJEMPLO DE PRUEBAS UNITARIAS Y DE INTEGRACIÓN. EJEMPLO DE PRUEBAS UNITARIAS Y DE INTEGRACIÓN. 1 Se desean realizar las pruebas unitarias y de integración de las 3 clases cuyo código se ofrece a continuación: Cliente.java: import java.util.vector; public

Más detalles

Finalmente, aprenderá a interceptar y a manejar muchos de los eventos comunes que tienen los componentes y los formularios de Windows Form.

Finalmente, aprenderá a interceptar y a manejar muchos de los eventos comunes que tienen los componentes y los formularios de Windows Form. Sistemas expertos e Inteligencia Artificial,Guía 1 Facultad : Ingeniería Escuela : Computación Asignatura: Sistemas expertos e Inteligencia Artificial Tema: INTRODUCCIÓN AL IDE C#. Objetivo Identificar

Más detalles

AGRUPA P R OBJET E OS 1

AGRUPA P R OBJET E OS 1 AGRUPAR OBJETOS 1 Son objetos que pueden almacenar un número arbitrario de objetos. Para formar colecciones usaremos la clase ArrayList. Para poder utilizar dicha clase habrá que importar el paquete java.util,

Más detalles

1. Visión general de RMI

1. Visión general de RMI 1. Visión general de RMI Java RMI permite al programador ejecutar métodos de objetos remotos utilizando la misma semántica que si fueran invocaciones locales (Véase Figura 1). Máquina Local (Cliente) Máquina

Más detalles

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría Java en 3 horas Ampliación de Sistemas Operativos Rodrigo Santamaría Generalidades Desarrollado por Sun Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas

Más detalles

PHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases

PHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases PHP y MySQL Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases Herencia de Objetos La herencia permite crear muchas clases que son similares entre si, sin tener

Más detalles

Introducción a ZEUS. Introducción. Curso Doctorado Sistemas Multi-agente. Zeus es una herramienta de desarrollo de SMA.

Introducción a ZEUS. Introducción. Curso Doctorado Sistemas Multi-agente. Zeus es una herramienta de desarrollo de SMA. Introducción a ZEUS Curso Doctorado Sistemas Multi-agente Introducción Zeus es una herramienta de desarrollo de SMA. 1 Introducción Está constituido fundamentalmente por 3 grupos funcionales: Biblioteca

Más detalles

INTERFAZ GRÁFICO DE USUARIO APLICACIONES DE EJEMPLO

INTERFAZ GRÁFICO DE USUARIO APLICACIONES DE EJEMPLO La Güeb de Joaquín Programación JAVA INTERFAZ GRÁFICO DE USUARIO APLICACIONES DE EJEMPLO 1 EJEMPLO: CALCULADORA 1 EJEMPLO: CALCULADORA 1.1 Definición del ejemplo 1.2 Diseño del interfaz gráfico de usuario

Más detalles

Kaldeera Advanced Forms 2009 Guía del usuario

Kaldeera Advanced Forms 2009 Guía del usuario Kaldeera Advanced Forms 2009 Guía del usuario Indice Usando Kaldeera Advanced Forms 2009... 3 Accediendo a la página de configuración... 3 Activando o desactivando la funcionalidad de Kaldeera Advanced

Más detalles

a) Cita y comenta brevemente los grados de acoplamiento. Clasifícalos y ordénalos en orden creciente al nivel de acoplamiento asociado.

a) Cita y comenta brevemente los grados de acoplamiento. Clasifícalos y ordénalos en orden creciente al nivel de acoplamiento asociado. Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE II: CONCEPTOS TEÓRICOS Y PRÁCTICOS DNI Apellidos y nombre 1. Responde a las siguientes cuestiones (2 puntos): a) Cita y comenta brevemente

Más detalles

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

Más detalles

Tema: Clases y Objetos en C++.

Tema: Clases y Objetos en C++. 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Objetivos Específicos Aplicar clases, objetos, propiedades, métodos y mensajes. Poner en práctica

Más detalles

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08 Tema 2 Técnicas básicas de POO Técnicas de Programación - Curso 2007/08 Contenido Principios de POO Encapsulación Herencia Polimorfismo Ejemplos Técnicas básicas Delegación Uso de interfaces Interfaces

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

Colecciones. Nadjet Bouayad-Agha Programación 2007

Colecciones. Nadjet Bouayad-Agha Programación 2007 Colecciones Nadjet Bouayad-Agha Programación 2007 ArrayList Un ArrayList es un array dinámico. No tiene restricciones de capacidad. Su tamaño se ajusta de forma dinámica. Constructor por defecto: new ArrayList().

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

MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP

MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP Contacto Para las dudas con la instalación: Integración de Clientes (iclientes.inf@asmred.es) Para el contacto comercial: 91 327 28 80

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes

Más detalles

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 Ejercicio 1. Un indice de referencias cruzadas de las palabras que aparecen en un texto es una tabla por palabras y, por cada

Más detalles