EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de 2011
|
|
- Virginia Ramos Sosa
- hace 8 años
- Vistas:
Transcripción
1 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando las que son falsas (para cada lista pueden haber varias sentencias correctas o ninguna): 1. Sobre clases y objetos a. Es una buena práctica no permitir el acceso directo los métodos desde el exterior del objeto. b. Es una buena práctica no permitir el acceso directo a los atributos desde el exterior del objeto. c. Sabremos que un método no devuelve valor alguno cuando no haya partícula sintáctica alguna entre el modificador de acceso y el nombre del método en su cabecera. d. Una excepción a la regla mencionada en la opción b. se produce cuando los atributos se usan para definir constantes públicas en un programa. 2. Sobre herencia: a. En orientación a objetos está permitido que una subclase pueda tener como atributos objetos instancias de subclases de su misma superclase. b. Un objeto instancia de una superclase es también instancia de su subclase. c. Desde un método de la subclase se tiene acceso directo a los atributos privados de su superclase. d. Si una clase es subclase de otra no puede estar relacionada con otras clases diferente a su superclase. 3. Sobre abstracción: a. Los objetos iteradores devueltos por las diferentes implementaciones de lista implementan un interfaz común pero utilizan mecanismos diferentes para recorrer las listas implementadas. b. En java el polimorfismo permite generar código que aparentemente ejecuta métodos de objetos instancia de una superclase cuando en realidad está ejecutando métodos de objetos instancia de alguna de sus subclases. c. Una clase abstracta es idéntica en todo a una clase normal excepto por el hecho de que los diseñadores saben que no deberían invocar a un constructor de dicha clase, aunque si lo hacen, no hay ningún problema. d. Los interfaces no permiten implementar polimorfismo PROBLEMA. Se pretende diseñar un sistema de monitorización de trenes de metro y de control de incidencias en las líneas. A continuación se listan una serie de requisitos que la aplicación debe satisfacer: R1: El controlador gestionará todas las líneas que conformen el metro de la ciudad en la que la aplicación se instale. Cada línea tendrá asignado un color como identificador. R2: El sistema guardará información de las estaciones que forman parte de cada una de las líneas. Para cada estación, el sistema guardará su nombre.
2 R3: El sistema guardará información de los tramos de vía que forman parte de cada una de las líneas. Un tramo de vía conecta dos estaciones. Obviamente, una estación puede ser conectada a varias estaciones mediante los tramos correspondientes (ello implica que dicha estación forma parte de varias líneas). R4: Para cada tramo el sistema debe guardar información de su longitud en Km y la velocidad media de tránsito de los trenes por dicho tramo. R5: El sistema guardará información de los trenes que circulan por cada una de las líneas. Cada tren tiene un identificador alfanumérico. El sistema debe poder guardar el identificador alfanumérico del conductor. El sistema debe poder monitorizar el tramo por el que el tren esté circulando (si está en marcha) o la estación en la que se encuentra detenido (cuando así suceda). R6: El controlador controlará todas aquellas incidencias que se produzcan en el devenir de la actividad del metro. R7: Para toda incidencia se calculará un nivel de gravedad, cuyos posibles valores son: LEVE, MODERADA o ALTA. Además el sistema debe guardar un código identificador y la hora y el minuto de inicio de la incidencia. R8: El sistema gestionará dos tipos de incidencia. El primero será una incidencia de estación. Para las incidencias de este tipo el nivel de gravedad se calcula en función del número de líneas de las que la estación forme parte (1 línea: LEVE; 2 líneas: MODERADA; más de 2 líneas: ALTA). R9: El segundo tipo de incidencia es la incidencia de circulación parada entre dos estaciones de metro (no necesariamente contiguas). Para este tipo de incidencias, el nivel de gravedad lo determina el número de tramos afectados (1 ó 2: LEVE; entre 3 y 5: MODERADA; más de 5: ALTA. A continuación se muestra un diagrama de clases parcial (faltan clases, atributos, relaciones entre clases e incluso cardinalidades) de la aplicación.
3 2. (2 PUNTOS) Completad el diagrama UML a partir del texto de los requisitos. Para ello: a. Sustituid los símbolos? por la cardinalidades pertinentes en aquellas relaciones del diagrama anterior en cuyos extremos aparezcan dichos símbolos. b. Añadid aquellas clases que identifiquéis en los requisitos y no aparezcan en el diagrama. b. Añadid también las relaciones que consideréis oportunas a partir de dichos requisitos (incluyendo nombre, cardinalidad y direccionalidad en las asociaciones). c. Añadid a cada clase los atributos que deduzcáis de los requisitos. d. Los requisitos R8 y R9 especifican dos formas distintas de calcular la gravedad de una incidencia. Cómo se implementa en Orientación a Objetos tal especificación? El método +calculagravedad(): int es un método polimórfico que deberán sobreescribir ambas subclases de Incidencia, DeEstacion y DeCirculacion, adaptándolo a sus características. 3. (2,5 PUNTOS) A partir del diagrama UML resultante en el apartado anterior, escribid, para todas las clases, excepto para InterfazUsuario, la parte de código de la definición de comenzando con el public class. correspondiente a la declaración de los todos los atributos de las clases, incluyendo aquellos que aparecen al implementar las relaciones. public class InterfazUsuario{ private Controlador controlador;
4 public class Controlador{ private Map<String, Tren> trenes; private Map<String, Linea> lineas; private Map<String, Incidencia> incidencias; public class Incidencia{ protected String codigo; protected int hora, minuto; public class DeEstacion extends Incidencia{ private int numlineas; public class DeCirculacion extends Incidencia{ private int numtramos; public class Linea{ private Map<String, Estacion> estaciones; private List<Tramo> tramos; private String color; public class Estacion{ private String nombre; private List<Tramo> tramos; public class Tramo{ private double longitud; private double velocidad; private Estacion estaciones[]; public class Tren{ private String identificador; private Tramo tramo; private Estacion estación; private Conductor conductor; public class Conductor{ private String identificador; Los casos de uso de la aplicación serán:
5 1. Crear una nueva línea de metro sin estaciones. 2. Añadir una estación a una línea. 3. Añadir un nuevo tramo entre dos estaciones ya existentes de una línea pero no conectadas por ningún tramo. 4. Tren circulando por un tramo. 5. Tren en estación. 6. Listar estados de los trenes de todas las líneas. 7. Listar todas las incidencias de estación de todas las líneas. 8. Listar todas las incidencias de paradas de servicio de todas las líneas. 9. Dar de alta una incidencia. 10. Dar de baja una incidencia. 4. (1,5 PUNTOS) Desarrollad de forma completa EL CASO DE USO 3. Número de caso de uso: 3 Nombre del caso de uso: AñadirTramoALinea Precondiciones: usuario ha seleccionado opción de añadir tramo a línea Postcondiciones: tramo creado entre dos estaciones de una línea. ESCENARIO PRINCIPAL: 1. Usuario indica el color de la línea. 2. Usuario indica nombre de estación en un extremo del nuevo tramo. 3. Usuario indica nombre de estación en otro extremo del nuevo tramo. 4. Sistema comprueba que la línea existe. 5. Sistema comprueba que las dos estaciones existen. 6. Sistema comprueba que tramo no existe. 7. Sistema crea nuevo tramo. 8. Sistema conecta las dos estaciones mediante el tramo. ESCENARIOS ALTERNATIVOS: 4.a Sistema comprueba que la línea no existe. 1. Sistema notifica error. 2. Fin de caso de uso. 5.a Sistema comprueba que alguna de las estaciones no existe 1. Sistema notifica error. 2. Fin de caso de uso. 6.a Sistema comprueba que tramo ya existe 1. Sistema notifica error. 2. Fin del caso de uso. 5. (1 PUNTO) Generad el diagrama de secuencias correspondiente al ESCENARIO PRINCIPAL DEL CASO DE USO 3. El escenario principal es el que conduce a la del tramo de línea entre dos estaciones dadas. A modo de ayuda, se os comenta que el proceso de diseño llega a la conclusión de que cuando el desee crear un nuevo tramo y pasado los datos pertinentes al interfaz de usuario, éste invocará al siguiente método del Controlador:
6 public Tramo creartramodelínea(string color, String nombreestacion1 String nombreestacion2) ; Dicho método admite los argumentos mostrados y crea (si puede) y devuelve el tramo. Comentad brevemente cómo habéis identificado las operaciones que deben construirse, y razonad la asignación de cada función a una cierta clase. Asignación de responsabilidades: creartramodelinea(): patrón Controlador. El objeto Controlador es el encargado de gestionar los eventos entrantes al Sistema. getlinea(): patrón Experto. El objeto Controlador conoce todas las líneas que componen la red de metro. getestacion(): patrón Experto. El objeto Linea conoce todas las estaciones que la componen. gettramo(): patrón Experto. El objeto Linea conoce todas los tramos que la componen. creatramo(): patrón Creador. El objeto Linea agrega objetos de tipo Tramo. addtramo(): patrón Experto. El objeto Estación guarda los tramos que llegan/salen de ella. 6. (1 PUNTO) Detallad completamente las cabeceras de los métodos que hayáis identificado en la pregunta anterior, indicando las clases que los contienen. Comentad brevemente cómo los habéis identificado y razonad su asignación a las clases correspondientes. Clase Controlador: public Tramo creartramodelinea (String color, String estacion1, String estacion2); public Linea getlinea (String color);
7 Clase Linea: public Estacion getestacion (String nombre); public Tramo gettramo (String nombre); public Tramo creatramo(estacion e1, Estacion e2); Clase Estacion: public void addtramo (Tramo t); Justificación de la asignación de responsabilidades detallada en la pregunta anterior. 7. (1,25 PUNTOS) Finalmente generad el código de la función creartramodelinea( ) teniendo en cuenta escenario principal y todos los escenarios alternativos. Si lo consideráis oportuno podéis añadir en la cabecera indicaciones de lanzamiento de excepciones. public Tramo creartramodelinea(string color, String nombreestacion1 String nombreestacion2) throws NoExisteLineaException, NoExisteEstacionException, TramoExistenteException { Linea l = this.getlinea(color) ; if(linea == null) throw new NoExisteLineaException(color) ; Estacion e1 = l.getestacion(nombreestacion1) ; Estacion e2 = l.getestacion(nombreestacion2) ; if ((e1 == null) (e2 == null)) throw new NoExisteEstacionException(); if (null!= l.gettramo(e1, e2)) throw new TramoExistenteException(); Tramo tramo = l.creatramo(e1, e2); return tramo ;
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 detallesTema 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 detallesProgramació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 detallesProgramació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 detallesClases 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 detallesRESUMEN 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 detallesUso 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 detallesM 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 detalles2.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 detallesJava 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 detallesPHP 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 detallesPatrones 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 detallesIntroducció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 detallesFUNDAMENTOS 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 detalles1. 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 detallesProgramació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 detallesUniversidad 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 detallesLenguajes 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 detallesSolució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 detallesProgramació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 detallesIntroducció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 detallesEjercicios - 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 detallesINGENIERÍA DEL SOFTWARE I. Univ. Cantabria Fac. de Ciencias. Especificación de Requisitos. Práctica 2
INGENIERÍA DEL SOFTWARE I Práctica 2 Especificación de Requisitos Univ. Cantabria Fac. de Ciencias María Sierra y Patricia López Nociones de UML para Requisitos: Casos de Uso Caso de Uso Una descripción
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer
Más detallesGUIA 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 detallesTécnicas de Desarrollo de Programas Ingeniería Informática Curso 2008 / 2009. Ejercicios de Patrones de Diseño:
Técnicas de Desarrollo de Programas Ingeniería Informática Curso 2008 / 2009 Ejercicios de Patrones de Diseño: Iterator, Composite, Strategy, Observer, Decorator, Visitor Ejercicio 1 (examen de junio año
Más detallesCapitulo III. Diseño del Sistema.
Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje
Más detallesPatrones 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 detallesProgramación orientada a objetos
Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!
Más detallesclass 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 detallesPrá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 detallesUNIDAD 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 detallesRepaso 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 detallesProgramación Orientada a Objetos. Java: Excepciones
Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España
Más detallesANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN
ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN Clase 6: Ingeniería de Requerimientos Metododología y Ejemplo Primer Cuatrimestre 2015 Mg. María Mercedes Vitturini
Más detallesConceptos. 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 detallesTEMA 8: DIAGRAMA DE CLASE EN UML
TEMA 8: DIAGRAMA DE CLASE EN UML Diagramas en UML El bloque de construcción básico de UML es un Diagrama Introducción a UML 2 1 Diagrama de Clase Los diagramas de clases son los más utilizados en el modelado
Más detallesEjercicio 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 detallesPartes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.
Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;
Más detallesProgramació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 detallesProgramación Avanzada SOLUCIÓN EXAMEN FEBRERO 2011
Programación Avanzada SOLUCIÓN EXAMEN FEBRERO 2011 Por favor siga las siguientes indicaciones: Escriba con lápiz y de forma prolija. Escriba las hojas de un solo lado Escriba su nombre y número de documento
Más detallesPROGRAMACIÓ 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 detallesCaso práctico Alquiler de películas en un vídeo-club
Caso práctico Alquiler de películas en un vídeo-club Adaptado de Refactoring Martin Fowler, 2000 Supongamos que tenemos que desarrollar una aplicación que gestione los alquileres de DVDs en un vídeo-club.
Más detallesJava: Clases Abstractas e Interfaces
Clases abstractas e interfaces Java: Clases Abstractas e Interfaces Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl A nivel conceptual,
Más detallesDefinició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 detallesINSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++
5.- Herencia Múltiple. Un hecho natural es que una persona tenga más de un pariente mayor, esta situación también se puede dar en la herencia de clases, naturalmente este tipo de herencia involucra un
Más detallesNotació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 detallesPrimer 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 detallesModelo de Objetos Distribuidos
Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo
Más detallesSegunda práctica de Programación 2
Segunda práctica de Programación 2 La segunda práctica consistirá en el diseño y posterior implementación como proyecto de Netbeans de dos versiones sobre el mismo problema. El tema central de ambas versiones
Más detallesALGORITMICA 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 detallesPOLIMORFISMO "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 detallesSOLUCION 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 detallesTutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:
Tutorial de UML Introducción: El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que comprende
Más detallesDISEÑ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 detallesProyecto Help Desk en plataforma SOA Modelo de Dominio Versión 1.3. Historia de revisiones
Proyecto Help Desk en plataforma SOA Modelo de Dominio Versión.3 Historia de revisiones Fecha Versión Descripción Autor 8/08/2005.0 Se presenta modelo de dominio, restricciones y observaciones. 25/08/2005.
Más detallesFactory method (Gamma et al.)
Factory method (Gamma et al.) Define una interfaz para crear un objeto pero deja a las subclases decidir que clase instanciar Motivación: Consideremos un framework que presenta múltiples documentos al
Más detallesProgramación Orientada a Objetos. Java: Excepciones
Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España
Más detallesCONTENIDOS. 1. Completar el ejemplo de Herencia: Superclase Persona-Subclase Alumno
CONTENIDOS 1. Completar el ejemplo de Herencia: Superclase Persona-Subclase Alumno 2. Redefinición de métodos. 3. Jerarquía de clases. 4. Ejecución de los pasos de mensajes con Herencia. 5. Problemas con
Más detallesDEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma
DEPARTAMENTO: Informática MATERIA: Programación NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma 1. Objetivos. Competencias Profesionales, Personales y Sociales 1.1 Objetivos del ciclo formativo La
Más detallesTema 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 detalles2.4 Modelado conceptual
2.4 Modelado conceptual 2.4. Búsqueda de conceptos Un modelo conceptual muestra clases conceptuales significativas en un dominio del problema; es el artefacto más importante que se crea durante el análisis
Más detallesDIAGRAMA DE CLASES EN UML
DIAGRAMA DE CLASES EN UML Mg. Juan José Flores Cueto jflores@usmp.edu.pe Ing. Carmen Bertolotti Zuñiga cbertolotti@usmp.edu.pe INTRODUCCIÓN UML (Unified Modeling Language) es un lenguaje que permite modelar,
Más detallesEjercicios del tema 7: Clases y objetos
Metodología y Tecnología de la Programación ESI-UCLM Ejercicios del tema 7: Clases y objetos 1. a) Diseñe e implemente en Java una clase para trabajar con triángulos isósceles. Para ello, defina las variables
Más detalles15. Parámetros o argumentos
Programación orientada a objetos con Java 161 15. Parámetros o argumentos Objetivos: a) Profundizar en el concepto de parámetro de una clase e indicar su mecanismo de funcionamiento. b) Interpretar el
Más detallesCapítulo VI. Diagramas de Entidad Relación
Diagramas de Entidad Relación Diagramas de entidad relación Tabla de contenido 1.- Concepto de entidad... 91 1.1.- Entidad del negocio... 91 1.2.- Atributos y datos... 91 2.- Asociación de entidades...
Más detallesDiagrama 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 detallesDiagramas de Clase en UML 1.1
Diagramas de Clase en UML. Francisco José García Peñalvo Licenciado en Informática. Profesor del Área de Lenguajes y Sistemas Informáticos de la Universidad de Burgos. fgarcia@.ubu.es Carlos Pardo Aguilar
Más detallesCurso 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 detallesExamen de Prácticas de Programación Ingeniería Informática
Examen de Prácticas de Programación Ingeniería Informática Septiembre 2007 1) (3.5 puntos) Se pretende desarrollar un programa para gestionar las reparaciones de coches realizadas en un garaje. Del análisis
Más detallesTEMA 7: DIAGRAMAS EN UML
TEMA 7: DIAGRAMAS EN UML Diagramas en UML El bloque de construcción básico de UML es un Diagrama Introducción a UML 2 1 Modelo de Casos de Uso (MCU) Todos los casos de uso constituyen el MCU que describe
Más detallesIntroducción al UML. Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación
Introducción al UML Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación Contenido Qué es UML?. Diagramas Utilizados en UML. Ejemplos. Qué es UML UML es un Lenguaje de Modelado
Más detallesRelaciones entre Clases Programación Avanzada Prim. 2009 FCC-Buap Profesor: M. C. Miguel Rodríguez Hernandez
Relaciones entre Clases Programación Avanzada Prim 2009 FCC-Buap Profesor: M C Miguel Rodríguez Hernandez Asociación Es una relación binaria general que describe una actividad entre dos clases Se describe
Más detallesSINAUTO. (Captura Requirimientos) GRUPO 03
SINAUTO (Captura Requirimientos) GRUPO 03 Iker Jauregi ikerjauregivicente@hotmail.com Iñigo Arregui bateman2012@gmail.com Javier Arce arcjav@hotmail.com Jorge García. jgfand@gmail.com Patxi Campos.patxi948@wanadoo.es
Más detallesDCU Diagramas de casos de uso
DCU Diagramas de casos de uso Universidad de Oviedo Departamento de Informática Contenidos Introducción Elementos básicos Más sobre los actores Más sobre los casos de uso Más sobre las asociaciones Otros
Más detallesElementos requeridos para crearlos (ejemplo: el compilador)
Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción
Más detallesContenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones
Contenidos 1. Justificación del uso de funciones. 2. Declaración de funciones: prototipos. 3. Prototipos y ficheros de cabecera. 4. Polimorfismo (sobrecarga de funciones). 5. Argumentos formales y actuales.
Más detallesUNIVERSIDAD 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 detallesPatrones 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 detallesISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA
ARREGLOS EN JAVA I I N T R O D U C C I Ó N En las sesiones anteriores, los datos manejados en los programas han sido datos simples (carácter, entero, reales) En un gran número de problemas es necesario
Más detallesCAPITULO V. HERRAMIENTA CASE (Rational Rose, C++)
CAPITULO V HERRAMIENTA CASE (Rational Rose, C++) 5.1 HERRAMIENTA CASE La documentación del UML ha propiciado el desarrollo de herramientas CASE, las cuales cubren el ciclo de vida del software y además
Más detallesProgramación Orientada Objetos. Problemas, soluciones y Programas
Programación Orientada Objetos Problemas, soluciones y Programas Objetivos pedagógicos Explicar el proceso global de solución de un problema usando un programa de computador. Esto incluye las etapas que
Más detallesDiagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado
Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado DIAGRAMAS DE CLASES RELACIONES ENTRE CLASES Una vez que tengamos todas nuestras clases, será necesario que estas se asocien, con el fin de mostrar la
Más detalles1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)
1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los
Más detallesTema 2. El lenguaje de programación Java (Parte 1)
Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de
Más detallesTema: Herencia Simple y Múltiple en C++.
Programación II. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia Simple y Múltiple en C++. Objetivos Específicos Crear clases a través de la herencia de clases
Más detallesEstructura 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 detalles1.- INTRODUCCIÓN 2.- PARÁMETROS
1.- INTRODUCCIÓN Hemos diseñado una aplicación que facilite el envío a las entidades bancarias de las de cobro por domiciliación. La entrada de esta aplicación pueden ser, tanto ficheros cuyos formatos
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 8 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante ÍNDICE ÍNDICE... 1 1. INTRODUCCIÓN... 1 1.1 EJERCICIO 1: HERENCIA Y POLIMORFISMO I... 1 1.2 EJERCICIO
Más detallesINDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)
APRENDERAPROGRAMAR.COM INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:
Más detallesEscuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I. Bernal. Iván Bernal, Ph.D. 4
Programación Orientada a Objetos Clase # 6 Reutilización del código Jueves, 2 de Mayo de 2002 Iván Bernal, Ph.D. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec Agenda Prueba de medio bimestre.
Más detallesRelaciones entre clases: Diagramas de clases UML
Relaciones entre clases: Diagramas de clases UML Las relaciones existentes entre las distintas clases nos indican cómo se comunican los objetos de esas clases entre sí: Los mensajes navegan por las relaciones
Más detallesBASE 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 detallesAlgunas Herramientas de Apoyo al Análisis y Diseño de Software. Agustín J. González ELO329: Diseño y programación orientados a objetos
Algunas Herramientas de Apoyo al Análisis y Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos Resumen Para desarrollar software hay varias herramientas de gran utilidad
Más detallesVisual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario
Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),
Más detallesConstructores y Destructores
Ya se ha apuntado que C++ no permite crear objetos sin dar un valor inicial apropiado a todas sus variables miembro. Esto se hace por medio de unas funciones llamadas constructores, que se llaman automáticamente
Más detallesATLAS MANUAL DE USUARIO ARBOL ACCESIBLE
ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE Versión 1.3 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario del NORMATIVA
Más detallesa) 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 detallesProgramación Orientada a Objetos en C#.NET CAPÍTULO 5 H E R E N C I A. Ing. Bruno López Takeyas, M.C. http://www.itnuevolaredo.edu.
CAPÍTULO 5 H E R E N C I A 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué ventajas ofrece la herencia a un programador? Cuál es la diferencia entre herencia simple y herencia múltiple?
Más detallesConcurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
Más detalles