Crear cuenta
Examen oficial · A2

Segundo ejercicio, apartado A - Programador/a, Grupo II (Universidad de Oviedo, 2024)

Universidad de Oviedo

16 abril 202432 ejercicios de desarrolloA2Ejercicio

Ejercicios de desarrollo

Este examen es de desarrollo: se puede consultar y estudiar, pero no tiene corrección automática.

32 preguntas o ejercicios de desarrollo. No tienen corrección automática ni cuentan para la nota. Se muestra la solución solo si el tribunal la publicó.

  • 32 con respuesta oficial
  1. Supuesto 1: Ejercicio 1 (puntuación máxima: 1,5 puntos)

    Dado el siguiente diagrama UML de clases, responda a las siguientes preguntas:
    Cada una de estas preguntas se valora con un máximo de 0,3 puntos.

    Ejercicio 1 · Apartado a). Dentro de la clasificación de diagramas UML de clases, ¿se corresponde a un diagrama de comportamiento o de estructura?

    Diagrama UML de clases con elementos señalados por las letras A a J.
    Descripción de la imagen

    Clases Frame, Window (open, close, move, display, handleEvent), Event, DrawingContext (control), ConsoleWindow y DialogBox (boundary), DataController (control), Shape en cursiva (draw, erase, move, resize), Circle (atributos privados radius y center; operaciones area, circum, setCenter y setRadius), Rectangle, Polygon y Point, y una nota «The main window of the application.». Flechas rotuladas: A, línea discontinua de Window a Event; B, triángulo de herencia hacia Shape; C, clase DrawingContext; D, la nota; E, rombo blanco entre Window (1) y Shape; F, línea entre DialogBox y DataController; G, atributos de Circle; H, rombo negro entre Circle (1) y Point; I, operaciones de Circle; J, nombre de Shape.

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    Estructura

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=4

  2. Ejercicio 1 · Apartado b). Del anterior diagrama identifique al menos una relación con multiplicidad 1 a *, indicando las entidades implicadas.

    Diagrama UML de clases con elementos señalados por las letras A a J.
    Descripción de la imagen

    Clases Frame, Window (open, close, move, display, handleEvent), Event, DrawingContext (control), ConsoleWindow y DialogBox (boundary), DataController (control), Shape en cursiva (draw, erase, move, resize), Circle (atributos privados radius y center; operaciones area, circum, setCenter y setRadius), Rectangle, Polygon y Point, y una nota «The main window of the application.». Flechas rotuladas: A, línea discontinua de Window a Event; B, triángulo de herencia hacia Shape; C, clase DrawingContext; D, la nota; E, rombo blanco entre Window (1) y Shape; F, línea entre DialogBox y DataController; G, atributos de Circle; H, rombo negro entre Circle (1) y Point; I, operaciones de Circle; J, nombre de Shape.

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    Window - shape
    Circle - point

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=4

  3. Ejercicio 1 · Apartado c). Identifique si hay algún atributo público. Si existe, indique el nombre.

    Diagrama UML de clases con elementos señalados por las letras A a J.
    Descripción de la imagen

    Clases Frame, Window (open, close, move, display, handleEvent), Event, DrawingContext (control), ConsoleWindow y DialogBox (boundary), DataController (control), Shape en cursiva (draw, erase, move, resize), Circle (atributos privados radius y center; operaciones area, circum, setCenter y setRadius), Rectangle, Polygon y Point, y una nota «The main window of the application.». Flechas rotuladas: A, línea discontinua de Window a Event; B, triángulo de herencia hacia Shape; C, clase DrawingContext; D, la nota; E, rombo blanco entre Window (1) y Shape; F, línea entre DialogBox y DataController; G, atributos de Circle; H, rombo negro entre Circle (1) y Point; I, operaciones de Circle; J, nombre de Shape.

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    No hay

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=4

  4. Ejercicio 1 · Apartado d). Identifique si existe alguna clase abstracta. Si existe, indique el nombre.

    Diagrama UML de clases con elementos señalados por las letras A a J.
    Descripción de la imagen

    Clases Frame, Window (open, close, move, display, handleEvent), Event, DrawingContext (control), ConsoleWindow y DialogBox (boundary), DataController (control), Shape en cursiva (draw, erase, move, resize), Circle (atributos privados radius y center; operaciones area, circum, setCenter y setRadius), Rectangle, Polygon y Point, y una nota «The main window of the application.». Flechas rotuladas: A, línea discontinua de Window a Event; B, triángulo de herencia hacia Shape; C, clase DrawingContext; D, la nota; E, rombo blanco entre Window (1) y Shape; F, línea entre DialogBox y DataController; G, atributos de Circle; H, rombo negro entre Circle (1) y Point; I, operaciones de Circle; J, nombre de Shape.

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    Shape

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=4

  5. Ejercicio 1 · Apartado e). Identifique los siguientes elementos en el diagrama anterior, indicando la letra correspondiente: Dependencia, Clase de control, Asociación, Agregación, Nota, Atributo, Clase abstracta, Generalización, Operación, Composición.

    Diagrama UML de clases con elementos señalados por las letras A a J.
    Descripción de la imagen

    Clases Frame, Window (open, close, move, display, handleEvent), Event, DrawingContext (control), ConsoleWindow y DialogBox (boundary), DataController (control), Shape en cursiva (draw, erase, move, resize), Circle (atributos privados radius y center; operaciones area, circum, setCenter y setRadius), Rectangle, Polygon y Point, y una nota «The main window of the application.». Flechas rotuladas: A, línea discontinua de Window a Event; B, triángulo de herencia hacia Shape; C, clase DrawingContext; D, la nota; E, rombo blanco entre Window (1) y Shape; F, línea entre DialogBox y DataController; G, atributos de Circle; H, rombo negro entre Circle (1) y Point; I, operaciones de Circle; J, nombre de Shape.

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    Dependencia: A
    Clase de control: C
    Asociación: F
    Agregación: E
    Nota: D
    Atributo: G
    Clase abstracta: J
    Generalización: B
    Operación: I
    Composición: H

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=4

  6. Supuesto 2: Ejercicio 2 (puntuación máxima: 1,5 puntos)

    Se muestra un diagrama de clases de la fase de diseño representando la utilización de varios patrones de diseño. Posteriormente se muestran trozos de código de varias partes de la implementación.
    Observe atentamente el siguiente diagrama y los bloques de código adjuntos.
    Bloque 1
    package EJ1; public class UserService implements IUsuariosModel { private IUserDAO userDAO; private Logger logger; public UserService() { this.userDAO = XXX-1-XXX this.logger = XXX-2-XXX } [...]Bloque 2package EJ1; public class Main { public static void main(String[] args) { IUsuariosModel usuariosmodel = XXX-3-XXX; IUsuariosView usuariosView = new UsuariosView(); IUsuariosController usuariosController = XXX-4-XXX; XXXXXXXXX.mostrarUsuario("Juan", "juan@example.com"); } }Teniendo en cuenta el correcto uso de los patrones de diseño utilizados en el diagrama y una correcta compilación y ejecución, conteste a las siguientes preguntas:
    Cada una de estas preguntas se valora con un máximo de 0,3 puntos.

    Ejercicio 2 · Apartado a). ¿Qué sentencia va en el campo oculto XXX-1-XXX?

    Diagrama de clases de diseño con fábricas, DAO, servicio, logger y modelo-vista-controlador.
    Descripción de la imagen

    Interfaces IUser, IUserDAO, IUsuariosModel, IUsuariosController e IUsuariosView; clase abstracta AbstractUserDaoFactory con getUsuarioDAO() y su subclase UserDAOFactory; UserDAOImpl implementa IUserDAO; User implementa IUser; UserService implementa IUsuariosModel y tiene userDAO (IUserDAO) y logger (Logger); LoggerFactory con getLogger(class1: Class): Logger; UsuariosView implementa IUsuariosView; UsuariosController implementa IUsuariosController, con constructor UsuariosController(usuarioService: IUsuariosModel, usuariosView: IUsuariosView).

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    UserDAOFactory.getUsuarioDAO();

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=6

  7. Ejercicio 2 · Apartado b). ¿Qué sentencia va en el campo oculto XXX-2-XXX?

    Diagrama de clases de diseño con fábricas, DAO, servicio, logger y modelo-vista-controlador.
    Descripción de la imagen

    Interfaces IUser, IUserDAO, IUsuariosModel, IUsuariosController e IUsuariosView; clase abstracta AbstractUserDaoFactory con getUsuarioDAO() y su subclase UserDAOFactory; UserDAOImpl implementa IUserDAO; User implementa IUser; UserService implementa IUsuariosModel y tiene userDAO (IUserDAO) y logger (Logger); LoggerFactory con getLogger(class1: Class): Logger; UsuariosView implementa IUsuariosView; UsuariosController implementa IUsuariosController, con constructor UsuariosController(usuarioService: IUsuariosModel, usuariosView: IUsuariosView).

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    LoggerFactory.getLogger(UserService.class);

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=6

  8. Ejercicio 2 · Apartado c). ¿Qué sentencia va en el campo oculto XXX-3-XXX?

    Diagrama de clases de diseño con fábricas, DAO, servicio, logger y modelo-vista-controlador.
    Descripción de la imagen

    Interfaces IUser, IUserDAO, IUsuariosModel, IUsuariosController e IUsuariosView; clase abstracta AbstractUserDaoFactory con getUsuarioDAO() y su subclase UserDAOFactory; UserDAOImpl implementa IUserDAO; User implementa IUser; UserService implementa IUsuariosModel y tiene userDAO (IUserDAO) y logger (Logger); LoggerFactory con getLogger(class1: Class): Logger; UsuariosView implementa IUsuariosView; UsuariosController implementa IUsuariosController, con constructor UsuariosController(usuarioService: IUsuariosModel, usuariosView: IUsuariosView).

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    new UserService();

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=6

  9. Ejercicio 2 · Apartado d). ¿Qué sentencia va en el campo oculto XXX-4-XXX?

    Diagrama de clases de diseño con fábricas, DAO, servicio, logger y modelo-vista-controlador.
    Descripción de la imagen

    Interfaces IUser, IUserDAO, IUsuariosModel, IUsuariosController e IUsuariosView; clase abstracta AbstractUserDaoFactory con getUsuarioDAO() y su subclase UserDAOFactory; UserDAOImpl implementa IUserDAO; User implementa IUser; UserService implementa IUsuariosModel y tiene userDAO (IUserDAO) y logger (Logger); LoggerFactory con getLogger(class1: Class): Logger; UsuariosView implementa IUsuariosView; UsuariosController implementa IUsuariosController, con constructor UsuariosController(usuarioService: IUsuariosModel, usuariosView: IUsuariosView).

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    new UsuariosController(usuariosmodel, usuariosView);

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=6

  10. Ejercicio 2 · Apartado e). ¿Qué línea de código incluirías al final del método main para que se cree un usuario de nombre "pepe" y de email "pepe@uniovi.es"?

    Diagrama de clases de diseño con fábricas, DAO, servicio, logger y modelo-vista-controlador.
    Descripción de la imagen

    Interfaces IUser, IUserDAO, IUsuariosModel, IUsuariosController e IUsuariosView; clase abstracta AbstractUserDaoFactory con getUsuarioDAO() y su subclase UserDAOFactory; UserDAOImpl implementa IUserDAO; User implementa IUser; UserService implementa IUsuariosModel y tiene userDAO (IUserDAO) y logger (Logger); LoggerFactory con getLogger(class1: Class): Logger; UsuariosView implementa IUsuariosView; UsuariosController implementa IUsuariosController, con constructor UsuariosController(usuarioService: IUsuariosModel, usuariosView: IUsuariosView).

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    usuariosmodel.registrarUsuario("pepe", "pepe@uniovi.es");

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=6

  11. Supuesto 3: Ejercicio 3 (puntuación máxima: 2 puntos)

    A continuación, se muestra el código fuente de un programa Java, basado en Spring y Maven, que utiliza las dependencias necesarias para compilar y ejecutarse correctamente y sin errores sobre una máquina virtual OpenJDK 11.
    Persona.java
    package es.uniovi.sic.examen.gestoraccesos; import java.util.Objects; import lombok.Getter; import lombok.Setter; @Getter @Setter public class Persona { private String nombre; private String apellidos; private String dni; public Persona(String nombre, String apellidos, String dni) { this.nombre = nombre; this.apellidos = apellidos; this.dni = dni; } @Override public int hashCode() { return Objects.hash(dni); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Persona other = (Persona) obj; return Objects.equals(dni, other.dni); } }GestorAccesos.javapackage es.uniovi.sic.examen.gestoraccesos; import java.util.HashSet; import java.util.Set; import org.springframework.stereotype.Service; import lombok.Getter; @Service @Getter public class GestorAccesos { private int contadorAccesos; private Set<Persona> personasQueHanAccedido; public GestorAccesos() { contadorAccesos = 0; personasQueHanAccedido = new HashSet<Persona>(); } public void registrarNuevoAcceso(Persona persona) { contadorAccesos++; personasQueHanAccedido.add(persona); } }GestorTaquilla.javapackage es.uniovi.sic.examen.gestoraccesos; import java.util.Set; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class GestorTaquilla { public static void main(String[] args) { ApplicationContext contexto = new ClassPathXmlApplicationContext("applicationContext.xml"); GestorAccesos gestorAccesos1 = (GestorAccesos) contexto.getBean("gestorAccesos"); gestorAccesos1.registrarNuevoAcceso(new Persona("María", "Fernández García", "12345678A")); gestorAccesos1.registrarNuevoAcceso(new Persona("Marcos", "Martínez Rodríguez", "98765432B")); gestorAccesos1.registrarNuevoAcceso(new Persona("Carmen", "López González", "11222333C")); System.out.println("1.- Valor del atributo contadorAccesos en gestorAccesos1: " + gestorAccesos1.getContadorAccesos()); System.out.println("2.- Tamaño de la colección personasQueHanAccedido en gestorAccesos1: " + gestorAccesos1.getPersonasQueHanAccedido().size()); boolean resultado = (gestorAccesos1.getContadorAccesos() > 2) ? true : false; System.out.println("3.- Resultado: " + resultado); Set<Persona> personas = gestorAccesos1.getPersonasQueHanAccedido(); personas.forEach(p -> System.out.println("4.-" + p.getDni())); GestorAccesos gestorAccesos2 = (GestorAccesos) contexto.getBean("gestorAccesos"); Persona persona = new Persona("Manuel", "Sánchez Pérez", "44555666D"); gestorAccesos2.registrarNuevoAcceso(persona); gestorAccesos2.registrarNuevoAcceso(persona); gestorAccesos2.registrarNuevoAcceso(persona); System.out.println("5.- Valor del atributo contadorAccesos en gestorAccesos2: " + gestorAccesos2.getContadorAccesos()); System.out.println("6.- Tamaño de la colección personasQueHanAccedido en 2: " + gestorAccesos2.getPersonasQueHanAccedido().size()); String cadena1 = new String("cadena"); String cadena2 = new String("cadena"); System.out.println("7.- " + (cadena1 == cadena2)); System.out.println("8.- " + (cadena1.equals(cadena2))); } }Los dos siguientes ficheros se muestran como referencia, pero no tienen impacto en la funcionalidad del programa, ya que en el enunciado se asegura que el programa compila y funciona correctamente.
    Fichero de configuración de Spring applicationContext.xml
    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:component-scan base-package="es.uniovi.sic.examen.gestoraccesos"/> </beans>Fichero de configuración de Maven pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>es.uniovi.sic.eadmon</groupId> <artifactId>examen</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Examen</name> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.3.32</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.32</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> <scope>provided</scope> </dependency> </dependencies> </project>En base a todos estos ficheros se deben indicar los valores que se muestran por la salida estándar a través de las sentencias System.out.println del método main de la clase GestorTaquilla cuando esta clase es ejecutada.
    Cada una de estas preguntas se valora con un máximo de 0,25 puntos.

    Ejercicio 3 · Apartado a). - Valor del atributo contadorAccesos en gestorAccesos1:

    Informática y Ofimática Puntuación máxima: 0,250

    Ver respuesta oficial

    3

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=10

  12. Ejercicio 3 · Apartado b). - Tamaño de la colección personasQueHanAccedido en gestorAccesos1:

    Informática y Ofimática Puntuación máxima: 0,250

    Ver respuesta oficial

    3

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=10

  13. Ejercicio 3 · Apartado c). - Resultado:

    Informática y Ofimática Puntuación máxima: 0,250

    Ver respuesta oficial

    true

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=10

  14. Ejercicio 3 · Apartado d). -

    Informática y Ofimática Puntuación máxima: 0,250

    Ver respuesta oficial

    11222333C
    98765432B
    12345678A

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=10

  15. Ejercicio 3 · Apartado e). - Valor del atributo contadorAccesos en gestorAccesos2:

    Informática y Ofimática Puntuación máxima: 0,250

    Ver respuesta oficial

    6

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=10

  16. Ejercicio 3 · Apartado f). - Tamaño de la colección personasQueHanAccedido en 2:

    Informática y Ofimática Puntuación máxima: 0,250

    Ver respuesta oficial

    4

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=10

  17. Ejercicio 3 · Apartado g). -

    Informática y Ofimática Puntuación máxima: 0,250

    Ver respuesta oficial

    false

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=10

  18. Ejercicio 3 · Apartado h). -

    Informática y Ofimática Puntuación máxima: 0,250

    Ver respuesta oficial

    true

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=10

  19. Supuesto 4: Ejercicio 4 (puntuación máxima: 1,5 puntos)

    Sobre el diagrama Activiti BPMN v5 anterior responda a las siguientes preguntas:

    Ejercicio 4 · Apartado a). Una vez que se inicia la ejecución del flujo Activiti anterior, el proceso se ejecuta de forma ininterrumpida hasta llegar a un punto del proceso. ¿En qué punto se para la ejecución de este flujo hasta que se requiere la intervención humana para continuar? Indique el nombre de la tarea Activiti en la que se para la ejecución. (Puntuación máxima: 0,4 puntos)

    Diagrama BPMN «Examen» con tareas de correo, de servicio y de usuario y una pasarela exclusiva.
    Descripción de la imagen

    Inicio → «Enviar correo con confirmación de recepción» (tarea de correo) → «Generar fichero de datos» (tarea de servicio con evento de error de borde que lleva a «Enviar correo con aviso de error») → «Tarea de usuario - Aceptar propuesta» → pasarela exclusiva: «Si se acepta» → «Almacenar en BD» (tarea de servicio con evento de error de borde hacia «Enviar correo con aviso de error») → fin; «Si no se acepta» → «Enviar correo con comunicación de rechazo» → fin. «Enviar correo con aviso de error» también termina en el fin.

    Informática y Ofimática Puntuación máxima: 0,400

    Ver respuesta oficial

    Tarea de usuario - Aceptar propuesta

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=12

  20. Ejercicio 4 · Apartado b). ¿Cuántos correos electrónicos se envían durante el proceso completo si el usuario acepta la propuesta y no se lanza ninguna excepción durante todo el proceso? (Puntuación máxima: 0,3 puntos)

    Diagrama BPMN «Examen» con tareas de correo, de servicio y de usuario y una pasarela exclusiva.
    Descripción de la imagen

    Inicio → «Enviar correo con confirmación de recepción» (tarea de correo) → «Generar fichero de datos» (tarea de servicio con evento de error de borde que lleva a «Enviar correo con aviso de error») → «Tarea de usuario - Aceptar propuesta» → pasarela exclusiva: «Si se acepta» → «Almacenar en BD» (tarea de servicio con evento de error de borde hacia «Enviar correo con aviso de error») → fin; «Si no se acepta» → «Enviar correo con comunicación de rechazo» → fin. «Enviar correo con aviso de error» también termina en el fin.

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    1

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=12

  21. Ejercicio 4 · Apartado c). ¿Cuántos correos electrónicos se envían durante el proceso completo si se lanza una excepción durante la ejecución de la tarea "Generar fichero de datos"? Teniendo en cuenta que: • La excepción lanzada es de tipo org.activiti.engine.delegate.BpmnError. • La tarea "Generar fichero de datos" es de tipo Service Task y está configurada de la siguiente forma: Task type: Delegate expresión; Delegate expression: ${generadorFicheroDeDatos} • Siendo generadorFicheroDeDatos un bean de Spring que se corresponde con un objeto de una clase que implementa org.activiti.engine.delegate.JavaDelegate. (Puntuación máxima: 0,4 puntos)

    Diagrama BPMN «Examen» con tareas de correo, de servicio y de usuario y una pasarela exclusiva.
    Descripción de la imagen

    Inicio → «Enviar correo con confirmación de recepción» (tarea de correo) → «Generar fichero de datos» (tarea de servicio con evento de error de borde que lleva a «Enviar correo con aviso de error») → «Tarea de usuario - Aceptar propuesta» → pasarela exclusiva: «Si se acepta» → «Almacenar en BD» (tarea de servicio con evento de error de borde hacia «Enviar correo con aviso de error») → fin; «Si no se acepta» → «Enviar correo con comunicación de rechazo» → fin. «Enviar correo con aviso de error» también termina en el fin.

    Informática y Ofimática Puntuación máxima: 0,400

    Ver respuesta oficial

    2

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=12

  22. Ejercicio 4 · Apartado d). ¿Qué usuarios pueden ejecutar la tarea "Tarea de usuario - Aceptar propuesta" teniendo en cuenta que tiene configuradas las siguientes propiedades?: • activiti:candidateUsers="kermit, gonzo" • activiti:candidateGroups="management, accountancy" Teniendo en cuenta que la asignación de usuarios a grupos es la siguiente: • El usuario kermit pertenece al grupo management. • El usuario gonzo pertenece al grupo it. • El usuario piggy pertenece al grupo accountancy. • El usuario animal pertenece al grupo it. (Puntuación máxima: 0,4 puntos)

    Diagrama BPMN «Examen» con tareas de correo, de servicio y de usuario y una pasarela exclusiva.
    Descripción de la imagen

    Inicio → «Enviar correo con confirmación de recepción» (tarea de correo) → «Generar fichero de datos» (tarea de servicio con evento de error de borde que lleva a «Enviar correo con aviso de error») → «Tarea de usuario - Aceptar propuesta» → pasarela exclusiva: «Si se acepta» → «Almacenar en BD» (tarea de servicio con evento de error de borde hacia «Enviar correo con aviso de error») → fin; «Si no se acepta» → «Enviar correo con comunicación de rechazo» → fin. «Enviar correo con aviso de error» también termina en el fin.

    Informática y Ofimática Puntuación máxima: 0,400

    Ver respuesta oficial

    kermit, gonzo, piggy

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=13

  23. Supuesto 5: Ejercicio 5 (puntuación máxima: 2 puntos)

    Dadas las siguientes tablas, con los scripts de creación que se indican y los siguientes datos. Responda a las siguientes preguntas:create table alumnos ( id INT8, dni VARCHAR(12) not null, nombre VARCHAR(20) not null, primerApellido VARCHAR(20) not null, segundoApellido VARCHAR(20), fechaNacimiento DATE );create table profesores ( id INT8, dni VARCHAR(12) not null, nombre VARCHAR(20) not null, primerApellido VARCHAR(20) not null, segundoApellido VARCHAR(20), fechaNacimiento DATE, sueldoMes SMALLFLOAT);Tabla AlumnosID DNI NOMBRE PRIMERAPELLIDO SEGUNDOAPELLIDO FECHANACIMIENTO 1 11 ANGEL MARTINEZ GARCIA 2002-10-10 2 12 MARIA FLOREZ GARCIA 2001-10-10 3 13 ANA FLOREZ GARCIA 1960-10-10 4 14 CARMEN FLOREZ GARCIA 1970-10-10 5 15 COVADONGA FLOREZ PEREZ 1990-10-10 6 16 BELEN FLOREZ JIMENEZ 1999-10-10 7 17 INES FLOREZ GONZALEZ 1996-10-10Tabla ProfesoresID DNI NOMBRE PRIMERAPELLIDO SEGUNDO APELLIDO FECHA NACIMIENTO SUELDOMES 1 11 ANGEL MARTINEZ GARCIA 2002-10-10 NULL 2 12 MARIA FLOREZ GARCIA 2001-10-10 5 3 14 CARMEN FLOREZ GARCIA 1970-10-10 4 4 15 COVADONGA FLOREZ GARCIA 1990-10-10 2 5 99 LUIS MAGIA GARCIA 1975-10-10 2 0 88 DAVID MELOSO GOMEZ 1986-10-10 NULL 0 18 JAVIER DIAZ GOMEZ 1986-10-10 2Cada una de estas preguntas se valora con un máximo de 0,4 puntos.

    Ejercicio 5 · Apartado a). Dada la siguiente gráfica de las distintas joins entre las tablas Alumnos A y Profesores B, identifique cada gráfica con su correspondiente consulta:SELECT * FROM ALUMNOS A LEFT JOIN PROFESORES B ON A.DNI=B.DNI WHERE B.DNI IS NULL SELECT * FROM ALUMNOS A INNER JOIN PROFESORES B ON A.DNI=B.DNI SELECT * FROM ALUMNOS A LEFT JOIN PROFESORES B ON A.DNI=B.DNI SELECT * FROM ALUMNOS A FULL OUTER JOIN PROFESORES B ON A.DNI=B.DNI SELECT * FROM ALUMNOS A RIGHT JOIN PROFESORES B ON A.DNI=B.DNI WHERE A.DNI IS NULL SELECT * FROM ALUMNOS A RIGHT JOIN PROFESORES B ON A.DNI=B.DNI SELECT * FROM ALUMNOS A FULL OUTER JOIN PROFESORES B ON A.DNI=B.DNI WHERE A.DNI IS NULL OR B.DNI IS NULL

    Gráfica «SQL JOINS» con siete diagramas de Venn numerados del 1 al 7 sobre los conjuntos A y B.
    Descripción de la imagen

    1: todo A sombreado. 2: solo la parte de A fuera de B. 3: solo la intersección. 4: todo B. 5: solo la parte de B fuera de A. 6: A y B completos. 7: A y B sin la intersección.

    Informática y Ofimática Puntuación máxima: 0,400

    Ver respuesta oficial

    Consulta (en el orden de la tabla) → gráfica:
    LEFT JOIN … WHERE B.DNI IS NULL → 2
    INNER JOIN → 3
    LEFT JOIN → 1
    FULL OUTER JOIN → 6
    RIGHT JOIN … WHERE A.DNI IS NULL → 5
    RIGHT JOIN → 4
    FULL OUTER JOIN … WHERE A.DNI IS NULL OR B.DNI IS NULL → 7

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=15

  24. Ejercicio 5 · Apartado b). Indique la sentencia SQL para conocer la media del sueldo de los profesores.

    Informática y Ofimática Puntuación máxima: 0,400

    Ver respuesta oficial

    select avg(sueldoMes) from profesores

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=16

  25. Ejercicio 5 · Apartado c). Indique la sentencia SQL para conocer los alumnos que son también profesores para los que no se conozca su sueldo.

    Informática y Ofimática Puntuación máxima: 0,400

    Ver respuesta oficial

    select * from alumnos a, profesores b
    where a.dni=b.dni and sueldoMes is null

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=16

  26. Ejercicio 5 · Apartado d). Indique la sentencia SQL para conocer la estadística de cuantos alumnos hay por año de nacimiento.

    Informática y Ofimática Puntuación máxima: 0,400

    Ver respuesta oficial

    select year(fechaNacimiento),count(*) from alumnos
    group by 1

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=16

  27. Ejercicio 5 · Apartado e). Indique la sentencia SQL para conocer los profesores que no son alumnos.

    Informática y Ofimática Puntuación máxima: 0,400

    Ver respuesta oficial

    select * from alumnos a right join profesores b on a.dni = b.dni where a.dni is null

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=16

  28. Supuesto 6: Ejercicio 6 (puntuación máxima: 1,5 puntos)

    Dado el siguiente fragmento de un fichero pom.xml. Responda a las preguntas sobre él.<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <parent> <groupId>***</groupId> <artifactId>***</artifactId> <version>***</version> </parent> <modelVersion>***</modelVersion> <groupId>***</groupId> <artifactId>***</artifactId> <packaging>***</packaging> <version>***</version> <name>***</name> <description>***</description> ... <properties> <maven.javadoc.skip>true</maven.javadoc.skip> ... <scm> <developerConnection> ... <modules> <module>s1</module> ... <distributionManagement> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> ... <dependencies> <dependency> <groupId>***</groupId> <artifactId>build-tools</artifactId> <version>***</version> </dependency> </dependencies> </project>Cada una de estas preguntas se valora con un máximo de 0,3 puntos.

    Ejercicio 6 · Apartado a). ¿A través de qué etiqueta se declara la información sobre el proyecto padre? ¿Qué otras etiquetas se engloban en la información sobre el padre?

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    <parent> <groupId> <artifactId> <version>

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=18

  29. Ejercicio 6 · Apartado b). Según lo indicado en el xlmns del pom anterior, ¿qué se debe incluir en la etiqueta <modelVersion>?

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    4.0.0

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=18

  30. Ejercicio 6 · Apartado c). ¿Dentro de qué etiqueta se incluyen las definiciones de las propiedades?

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    <properties>

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=18

  31. Ejercicio 6 · Apartado d). Si se define la property <java.source.version>1.8</java.source.version>, ¿cómo se puede acceder a esa property posteriormente desde el propio fichero pom.xml?

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    ${java.source.version}

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=18

  32. Ejercicio 6 · Apartado e). ¿Con qué etiqueta se especifica la lista de dependencias?

    Informática y Ofimática Puntuación máxima: 0,300

    Ver respuesta oficial

    <dependencies>

    Fuente: https://www.uniovi.es/documents/39158/3499168/Acuerdo%2B16-04-2024.pdf/f57da9b9-0156-8a62-4cf4-f4591b503352?t=1713438102912#page=18

Fuentes oficiales

Universidad de Oviedo: acuerdo que publica la «plantilla de respuestas correctas» del segundo ejercicio, apartado A, con el cuestionario. Respuestas orientativas según la Comisión.

Más exámenes de Programador

Ver todos