Sunteți pe pagina 1din 16

PROCESO DE GESTION HUMANA

Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

EXAMEN TÉCNICO PARA INGENIERO DE DESARROLLO

NOMBRE Raul Leonardo Martínez Ramírez FECHA 23/02/2020

PARTE I. Evaluación sobre conocimientos de UML

1. Indique para cada una de las sentencias a continuación, si es verdadera (V) ó


falsa (F):

a. F UML es un lenguaje de programación


b. F UML es una metodología
c. V Los modelos ayudan a visualizar sistemas nuevos ó existentes.
d. F Los modelos son realizaciones concretas de un sistema.
e. V Los modelos ayudan a comunicar decisiones al equipo de un proyecto.

2. para cada enunciado seleccione las respuestas correctas:

a. ¿Cuáles diagramas le dan una perspectiva estática a un sistema?

o Diagrama de clases
o Diagrama de secuencia
o Diagrama de objetos
o Diagrama de componentes
o Diagrama de colaboración

b. ¿Cuáles diagramas le dan una perspectiva dinámica a un sistema?

o Diagrama de casos de uso


o Diagrama de estado
o Diagrama de secuencia
o Diagrama de actividades
o Diagrama de clases
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

3. Relacione las definiciones de los diagramas UML con el nombre de los mismos

Diagrama Definición
1) Diagrama de casos 3) Representa una foto en tiempo
de uso de ejecución de objetos de
software y sus interrelaciones

2) Diagrama de clases 6) Representa un flujo de tareas


que podrían ser ejecutadas, ya
sea por un usuario, o por un
sistema

3) Diagrama de objetos 9) Representa una colección de


componentes y muestra como
estos son distribuidos en uno o
más nodos de hardware

4) Diagrama de 1) Representa el conjunto de


colaboración comportamientos de alto nivel,
que el sistema debe ejecutar para
un actor dado

5) Diagrama de 4) Representa una colección de


secuencia objetos que trabajan juntos para
soportar algún comportamiento
del sistema

6) Diagrama de 2) Representa una colección de


actividades clases de software y sus
interrelaciones

7) Diagrama de estados 10) Representa una colección


paquetes y otros elementos del
modelo

8) Diagrama de 8) Representa una colección de


componentes componentes físicos de software y
sus interrelaciones

9) Diagrama de 7) Representa un conjunto de


despliegue estados que un objeto puede
experimentar y las condiciones
que causan que el objeto pase de
un estado a otro

10) Diagrama de 5) Representa una colección de


paquetes objetos que trabajan juntos para
soportar algún comportamiento
del sistema, desde una
perspectiva orientada al orden de
ejecución en el tiempo.
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

4. Relacione los diagramas mostrados a continuación con su nombre en UML:

1)
5) Diagrama de objetos

6) Diagrama de estados
2)

4) Diagrama de
componentes
3)

1) Diagrama de despliegue

4)

3) Diagrama de clases

5)

8) Diagrama de secuencia

6)

7) Diagrama de paquetes

7)

2) Diagrama de casos de
8) uso
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

5. Caso práctico de análisis

Lucasian Labs ha sido contratada para construir una aplicación que permita la
autenticación de usuarios a otras aplicaciones previamente construidas. Esta
aplicación a su vez, debe permitir autenticarse contra un repositorio central de
datos (Base de Datos Oracle).

Todos los usuarios se identifican mediante el nombre de una cuenta (login) y una
clave asociada (password). Una vez que el usuario sea autenticado, este debe ser
redirigido a un menú donde se selecciona la aplicación a la que desea ingresar. Por
el contrario, si no se pudo realizar la autenticación, el usuario debería ser
informado.

La aplicación también debe permitir la creación de usuarios, los cuales tienen


asociados los siguientes datos: nombre, primer apellido, segundo apellido, clave,
cuenta de usuario, tipo documento de identidad, número documento de identidad.

Para realizar la autenticación se deben tener en cuenta los siguientes estados de los
usuarios:

 Activo. El usuario es creado y se encuentra activo en la compañía y puede


ingresar a la aplicación.
 Inactivo. El usuario ya no trabaja para la compañía o se ha cumplido la fecha de
expiración y no puede ingresar a la aplicación.
 Bloqueado. El usuario ha sido bloqueado por administrador de la aplicación y no
puede ingresar a la aplicación, se debe volver a activar para que el usuario
ingrese a al aplicación ó inactivar para desactivarlo definitivamente.

Describa en un diagrama de estados, los estados que puede tener un usuario, las
transiciones de estado que pueden darse y las condiciones que permiten esas
transiciones.
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

Para el proceso de autenticación se debe tener en cuenta lo siguientes puntos:

 Validar que la cuenta de usuario existe, si no existe no permitir ingreso.


 Validar si el password si corresponde a la cuenta de usuario, si no corresponde
no permitir su ingreso.
 Validar el estado del usuario, si es diferente de Activo, no permitir el ingreso
 Validar si el usuario a cuales aplicaciones tienes acceso. Si no tiene asociado
ninguna aplicación, entonces no permitir su ingreso. Adicionalmente validar que
la aplicación esté activa.
 Validar que la última fecha de ingreso no haya sido mayor a 30 días.
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

Describir en un modelo de base datos las tablas que soportarían el proceso de


autenticación y registro del usuario y acceso a las aplicaciones habilitadas.
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

PARTE II. Evaluación sobre conocimientos en programación

6. Relacione cada término de la izquierda con la definición a la derecha que le


corresponde, de acuerdo al paradigma Orientado a Objetos.

6)Generalización, capacidad de
1)Poliformismo resumir e identificar la parte
esencial de algo muy complejo

2)Objeto 3) Habilidad para derivar nuevas


clases de otras ya existentes, estas
clases adquieren los atributos y
métodos de la clase base

5) Un Molde para un objeto


3)Herencia

4) Agrupar estructuras de datos y


4)Encapsulamiento la lógica que actúa sobre esa
estructura de datos, en una unidad

9) Medida de cuanto una entidad


5)Clase (componente o clase) soporta un
solo propósito dentro de un
sistema.

1)Mecanismo por el cual el mismo


6)Abstracción método invocado sobre una
variable se comporta de una
manera diferente dependiendo del
tipo de objeto al cual esta
referenciando la variable.

2)Una instancia de una clase.


7)Asociación

7)Una relación entre dos clases y


8)Acoplamiento por lo tanto por dos objetos
creados a partir de las mismas.

9)Cohesión 8)Grado en el cual las clases de un


sistema son dependientes de otras
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

7. Ejercicios de prácticos de Algoritmia

Elaborar un algoritmo que reciba 3 números e imprima cuál es el mayor , medio e


intermedio
DECLARAR VARIABLES
- primerNumero,segundoNumero,tercerNumero como enteros igual a 0
RECIBIR VARIABLES
- leer primer numero en variable primerNumero
- leer segundo numero en variable segundoNumero
- leer tercer numero en la variable tercerNumero
COMPARAR VARIABLES
- SI primerNumero >= segundoNumero & segundoNumero >= tercerNumero
- Imprimir “Mayor : primerNumero Medio : segundoNumero Menor : tercerNumero“
- SINO, SI primerNumero >= tercerNumero & tercerNumero >= segundoNumero
- Imprimir “Mayor : primerNumero Medio : tercerNumero Menor : segundoNumero“
- SINO, SI segundoNumero>= primerNumero & primerNumero >= tercerNumero
- Imprimir “Mayor : segundoNumero Medio : primerNumero Menor : tercerNumero “
- SINO, SI segundoNumero>= tercerNumero & tercerNumero>= primerNumero
- Imprimir “Mayor : segundoNumero Medio : tercerNumero Menor :primerNumero “
- SINO, SI tercerNumero>= primerNumero & primerNumero>= segundoNumero
- Imprimir “Mayor : tercerNumero Medio : primerNumero Menor :segundoNumero “
- SINO
- Imprimir “Mayor : tercerNumero Medio : segundoNumero Menor :primerNumero

Elaborar un algoritmo que valide si un año es bisiesto. Un año es bisiesto si es


divisible por 4. Excepto si es divisible entre 100, entonces no es bisiesto (como
2100, 2200, etc.) excepto si es divisible entre 400, entonces sí (como 2000, 2400)
DECLARAR VARIABLES
- año como entero igual a 2020
- añoDivisiblePorCuatro como booleano igual a falso
- añoDivicibleporCien como booleano igual a falso
- añoDivicibleporCuatrocientos como booleano igual a falso
PROCESO
- SI el residuo del año dividido entre 4 es igual a 0 entonces
añoDivisiblePorCuatro es igual a verdadero
- SI el residuo del año dividido entre 100 es diferente a 0 entonces
añoDivisiblePorCien es igual a verdadero
- SI el residuo del año dividido entre 400 es igual a 0 entonces
añoDivicibleporCuatrocientos es igual a verdadero

- SI añoDivisiblePorCuatro es verdadero & añoDivisiblePorCien es verdadero &


añoDivicibleporCuatrocientos es igual a verdadero entonces
-imprimir “El año es bisiesto”
-SINO
-imprimir “El año no es bisiesto”
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

Escribe un programa monedas (M) que calcule el número mínimo de monedas


necesarias para conseguir exactamente la cantidad M. Las nominaciones de las
monedas son de 2, 5, 10 y 50 pesos.
DECLARAR VARIABLES
- monedasDe1 como entero igual a m
- monedasDe2 como entero igual a 0
- monedasDe5 como entero igual a 0
- monedasDe10 como entero igual a 0
- monedasDe50 como entero igual a 0
PROCESO
-monedasDe50 = (monedasDe1 – monedasDe1 % monedasDe50 )/50-
-monedasDe1 = monedasDe1 % 50;
-monedasDe10 = (monedasDe1 – monedasDe1 % monedasDe10 )/10
-monedasDe1 = monedasDe1 % 10;
-monedasDe5 = (monedasDe1 – monedasDe1 % monedasDe5 )/5
-monedasDe1 = monedasDe1 % 5;
-monedasDe2 = (monedasDe1 – monedasDe1 % monedasDe2 )/2
-monedasDe1 = monedasDe1 % 2;
-imprimir “Monedas de 50: monedasDe50”
-imprimir “Monedas de 10: monedasDe10”
-imprimir “Monedas de 5: monedasDe5”
-imprimir “Monedas de 2: monedasDe2”
-imprimir “Monedas de 1: monedasDe1”
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

PARTE III. Cocimientos Lenguaje Programación JAVA.

EJERCICIO ENFOCADO EN EL MANEJO DE EXCEPCIONES

A partir de una clase llamada Calculadora se le deben implementar dos métodos:


dividir y aplicarPotencia. Ambos métodos deben retornar un valor numérico.
El método dividir recibe dos números.
El método aplicarPotencia calcula y retorna la potencia de un número, este método
debe recibir 2 enteros, n y p y retornar n a la p.
Se debe tener en cuenta las siguientes validaciones:
 Si n ó p son negativos debe generar la excepción “Ni n ni p deben ser
negativos”
 Si n ó p son cero debe generar la excepción “Ni n ni p pueden ser cero”
 Método para calcular la potencia Math.power(n,p);
Enfocarse en el manejo de las Excepciones, no olvidar que un valor divido por ZERO
genera una excepción aritmética.

public class Calculadora{

public double dividir(int n,int p) throws Exception {


validarNumeros(n,p);
return n/p;
}

private void validarNumeros(int n, int p) throws Exception {


if(n<0 || p<0)
throw new Exception("Ni n ni p deben ser negativos");
if(n==0 || p==0)
throw new Exception("Ni n ni p pueden ser cero");
}

public double aplicarPotencia(int n,int p) throws Exception {


validarNumeros(n,p);
return Math.pow(n, p);
}

}
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

Cuando una clase hereda de otra clase hereda todo sus métodos, los cuales pueden
ser sobre escritos cambiando su comportamiento. Se debe crear una clase llamada
Futbol que herede de la clase Deportes y sobreescriba los métodos getNombre y
getNumeroJugadores retornando “futbol” y 11 respectivamente. Adicionalmente se
debe implementar un método que almacene en la clase los goles realizados por un
Jugador.

public class Deportes {


String getNombre (){
return "Generic Sports";
}
String getNumeroJugadores (){
System.out.println( "Each team has n players in " + getNombre () );
}
}

class Futbol extends Deportes{

private Jugador jugador = new Jugador();


@Override
String getNombre() {
return "futbol";
}

@Override
void getNumeroJugadores() {
System.out.println("11");
}

void golesDelJugador(int numeroDeGoles){


this.jugador.setGoles(numeroDeGoles);
}

}
class Jugador{
int goles;

public int getGoles() {


return goles;
}

public void setGoles(int goles) {


this.goles = goles;
}
}
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

PARTE IV. Manejo Expresiones Lambda y API Stream.

Cree una expresion Lambda que reciba 2 parametros enteros y retorne el resultado de
multiplicarlos.

interface IFuncionLambda {

public int multiplicar(int a, int b);


}
class OtherClass {

public void lambda(){


IFuncionLambda lambda = (a,b) -> a*b;
System.out.println(lambda.multiplicar(5,4));
}

Cree una expresión Lambda que itere un Mapa y concatene cada llave con su
respectivo valor en un stringBuilder

Map<String, Integer> map = new TreeMap<>();


map.put("1",1);
map.put("2",2);
map.put("3",3);
map.put("4",4);
map.put("5",5);
StringBuilder stringBuilder = new StringBuilder();
map.forEach((k,v)->{
stringBuilder.append("key: "+k+" value: "+v+"\n");
});

System.out.println(stringBuilder.toString());
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

PARTE V. Caso Práctico de programación.

Se solicita construir un componente de negocio para la validación de un archivo de


cargue de datos de administradoras.

Se trata de un archivo plano en el cual cada registro se encuentra en su propia


línea y en cada línea los campos se encuentran separados por el carácter “;”. A
continuación se describe a que corresponde cada campo de cada registro:

Posición Tipo de Nombre campo Descripción campo Valores


dato Permitidos
1 A Código de laCorresponde al código(A-Za-z1-9-)*
administradora de la administradora. Es
requerido
2 A Nombre Nombre de la(A-Za-z1-9-)*
administradora. Es
requerido
3 A Código del tipoCorresponde al códigoNI
de identificación del tipo deCC
identificación. EsPA
requerido RC
4 A Numero Corresponde al número(1-9)*
identificación de identificación de la
administradora. Es
requerido
5 A Naturaleza Naturaleza de laPR
administradora. EsPU
requerido MI
6 A Múltiple ARP Indicador que permiteX: Indica que si
saber si laadmite múltiple
administradora permiteARP
múltiple ARP. No esNull: Es decir el
requerido campo viene vacío,
indica que no
permite múltiple
ARP
7 A FSP Indicador que permiteX: Indica que si
saber si laadmite FSP
administradora permiteNull: Es decir el
FSP. No es requerido campo viene vacío,
indica que no
permite FSP
8 A Fusionada Indicador que permiteX: Indica que se
saber si lafusionó
administradora fueNull: No ha sido
fusionada. No esfusionada
requerido
9 F Fecha fusión Fecha de fusión cuandoFecha en formato:
la administradora seDDMMYYYY
PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

Posición Tipo de Nombre campo Descripción campo Valores


dato Permitidos
fusionó. Solo es
requerido si se marca el
campo FUSIONADA con
X

Tabla de base de datos:

ADMINISTRADORA
Nombre campo Tipo Descripción
Id Number(5) PK, id generado por
secuencia
Código Varchar2(20) Código de la administradora
Nombre Varchar2(200) Nombre de la administradora
Cod_tp_id Varchar2(2) Código del tipo de
identificación (NI, CC, PA,
RC)
Nro_id Varchar2(50) Número de identificación
Naturaleza Varchar2(20) PRIVADA
MIXTA
PUBLICA
Múltiple_arp Number(1) Booleano:
0: No soporta múltiple ARP
1: Soporta múltiple ARP
FSP Number(1) Booleano:
0: No soporta FSP
1: Soporta FSP
Fusionada Number(1) Booleano:
0: Fusionada
1: No fusionada
Fecha fusión Date Fecha de fusión

Nombre secuencia de base de datos para generar ID:


SEQ_ID_ADMINISTRADORA

El componente debe:

 Leer los registros del archivo, validar los tipos de datos y valores permitidos para
cada campo, así como su obligatoriedad.
 Si el registro está bien debe insertar cada registro en la tabla de base de datos de
administradoras la cual se describe más adelante.

Además se deben tener en cuenta los siguientes puntos:


PROCESO DE GESTION HUMANA
Código:
EXAMEN TÉCNICO PARA INGENIERO DE
Fecha: 04/01/2016
DESARROLLO
Versión:
Elaboró: Fernando Uribe Revisó: Claudio Ahumada Aprobó: John Cortes
Arquitecto Director de Operaciones Director Ejecutivo

 Los registros del archivo deben quedar en la tabla de base de datos todos o
ninguno, es decir, si se encuentra algún error en alguno de los registros, no debe
quedar ningún registro de este archivo en la base de datos. Si no hay ningún error
en el archivo, entonces deben quedar todos los registros en la tabla de base de
datos.
 Al realizar las validaciones del archivo, el proceso no debe parar al primer error
encontrado, por el contrario debe ir acumulando los errores para todo el archivo y
generar un archivo de texto con los errores encontrados, donde cada línea
corresponda a cada error encontrado y debe referenciarse la línea del registro del
archivo plano donde se encontró el error, una descripción del error encontrado y el
campo para el cual se encontró el error.

Se evaluará de la prueba:
 El cumplimiento del comportamiento funcional, así como los dos requerimientos no
funcionales mencionados anteriormente.
 Manejo de excepciones
 Uso eficiente y correcto de recursos de entrada y salida (archivos, conexiones BD,
resultsets de base de datos.
 Transaccionalidad
 Implementación de las validaciones de datos sobre el archivo.
 Diseño del archivo de errores

NOTA 1: La tabla de bases de datos se debe crear en la maquina local con el motor
Oracle 11g y con las columnas según las especificaciones. Se debe enviar el script
de creación de la tabla y el proyecto en eclipse que contenga las clases que
solucionan el ejercicio.

NOTA 2: Adjuntar manual paso a paso donde indique como se debe configurar y
ejecutar el ejercicio. Definir o indicar el IDE utilizado para el desarrollo del ejercicio.

S-ar putea să vă placă și