100% encontró este documento útil (1 voto)
416 vistas3 páginas

Prueba Técnica POO - 20190410 PDF

Este documento describe dos historias de usuario para el desarrollo de un sistema de información para una compañía llamada ACME. La primera historia de usuario involucra la creación de una base de datos unificada de personas naturales y jurídicas. La segunda historia de usuario implica el desarrollo de productos de ahorro y crédito como cuentas de ahorro y tarjetas de crédito. Se solicita diseñar un modelo entidad-relación para soportar estas historias de usuario y consultas SQL para obtener información específica de los datos.

Cargado por

sandris muñoz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
416 vistas3 páginas

Prueba Técnica POO - 20190410 PDF

Este documento describe dos historias de usuario para el desarrollo de un sistema de información para una compañía llamada ACME. La primera historia de usuario involucra la creación de una base de datos unificada de personas naturales y jurídicas. La segunda historia de usuario implica el desarrollo de productos de ahorro y crédito como cuentas de ahorro y tarjetas de crédito. Se solicita diseñar un modelo entidad-relación para soportar estas historias de usuario y consultas SQL para obtener información específica de los datos.

Cargado por

sandris muñoz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

1.

Conceptos Básicos de Programación


Prueba Técnica 2. Algoritmos
3. Análisis y Modelado de Datos

1. Conceptos Básicos de Programación

a. ¿Qué es la Programación Orientada a Objetos (POO)?


b. ¿Cuál es la diferencia entre una Clase y una Interfaz?
c. ¿Cuál es la diferencia entre un método estático y uno no estático?
d. ¿Qué es un ciclo de Vida de Software?
e. ¿Cuál es la diferencia entre throw; y throw ex; dentro de un catch?

2. Algoritmos

Puede usar pseudocódigo o el lenguaje de su elección (C#, Java, etc.) para estos puntos.

a. Escriba un algoritmo que imprima los números del 1 al 100, pero con las siguientes
consideraciones:
Si el número es divisible por 3, se debe imprimir “Bin”
Si el número es divisible por 5, se debe imprimir “Go”
Si se cumplen ambas condiciones (divisible por 3 y por 5), se debe imprimir
“Bingo!”

b. Escriba un algoritmo para calcular e imprimir los primeros 50 números primos.

c. Dada una cadena de texto compuesta por n palabras separadas por espacio (n > 1), escriba
un algoritmo para escribir las palabras de la cadena en orden inverso. Asuma la cadena
como un array de caracteres.
Ejemplo: Input: “prueba de lógica”, Output: “lógica de prueba”
1. Conceptos Básicos de Programación
Prueba Técnica 2. Algoritmos
3. Análisis y Modelado de Datos

3. Análisis y Modelado de Datos

La compañía ACME dentro de su estrategia comercial desea implementar un nuevo modelo de


negocio orientado a los productos de ahorro y crédito que permita atraer nuevos clientes naturales y
jurídicos. Para lo anterior el equipo comercial ha definido algunos productos claves que competirán
con Bancos y Entidades Financieras pero con algunas condiciones de negocio que facilitará a los
clientes la obtención de productos financieros.

Proceso Actual

ACME no cuenta con un sistema de información que administre los clientes, productos, cuentas de
ahorros, créditos entre otros, y el gerente de tecnología de ACME lo ha contratado a usted para
diseñar un modelado de datos que soporte y administre este nuevo volumen de información basado
en el siguiente requerimiento:

Historias de Usuario

HU1 -> Crear Base Unificada de Personas

Se necesita crear una base unificada de personas que corresponda a colaboradores, clientes
persona natural, clientes corporativos, proveedores, accionistas, representantes legales, entre
otros roles que ACME pueda definir más adelante. Una persona puede tener más de un rol.
Ejemplo: una persona puede ser cliente, accionista y colaborador a la vez. Las personas están
categorizadas en “Personas Naturales” y “Personas Jurídicas”.

Para Persona Natural se requiere almacenar datos básicos del individuo tales como Tipo de
Documento, Número de Documento, Nombres, Apellidos, Departamento de Residencia, y
Municipio de Residencia. Las Personas Naturales pueden ser mayores de edad con Cedula
de Ciudadanía, menores de edad con Tarjeta de Identidad y extranjeros con Pasaporte o con
Cedula de Extranjería.

Para Persona Jurídica se requiere almacenar los datos básicos de la empresa tales como NIT,
Razón Social, Tipo de Empresa (Sociedad Anónima, Limitada, Sociedad Colectiva etc.),
Representante Legal y Composición Accionaria (De uno a muchos accionistas); tanto el
representante legal como la composición accionaria pueden ser Personas Naturales y/o
Jurídicas. Las personas jurídicas solo manejan el tipo de documento NIT.
1. Conceptos Básicos de Programación
Prueba Técnica 2. Algoritmos
3. Análisis y Modelado de Datos

HU2 -> Crear productos de Ahorro y Crédito

De acuerdo a la estrategia comercial, ACME desea crear dos nuevos productos orientados al
ahorro y el crédito rotativo llamados Cuenta de Ahorro y Tarjeta de Crédito.

Para el producto de Cuenta de Ahorro se requiere almacenar información de cuentas de


ahorro tales como el Número de Cuenta, Saldo Total, Saldo en Canje, Saldo Disponible y
Estado de la Cuenta (ACTIVA o INACTIVA), considerando que el Número de Cuenta debe
ser único y autogenerado. Asimismo, es necesario almacenar los movimientos que aumentan
o disminuyen los saldos de la cuenta como lo son Depósitos en Efectivo (+), Depósitos en
Cheques (+) y Retiros (-). Cada uno de estos movimientos debe asociarse a una Fecha de
Transacción y a un Número Único de Transacción. Las cuentas de ahorro pueden pertenecer
a más de un titular que puede ser una Persona Natural o una Persona Jurídica.

Para el producto Tarjeta de Crédito se requiere generar un contrato de crédito que almacene
los datos de la franquicia (Visa, MasterCard, American Express o Diners), el Número de
Tarjeta emitida, el Cupo Aprobado, el Cupo Disponible, el Estado de la Tarjeta (ACTIVA o
INACTIVA) y los movimientos que han afectado los cupos como son Compras Nacionales
(-), Cuota de Manejo(-), Pago de Tarjeta(+) y Retiros por Avance(-), cada transacción debe
almacenar la Fecha de la Transacción y un Numero Único de Transacción. Una tarjeta de
crédito solo puede ser asignada a un titular.

Para dar cumplimiento a esta necesidad es necesario que usted complete los siguientes puntos:

1. Construir un modelo entidad relación que soporte las dos historias de usuario. El modelo
entidad relación debe contener las tablas y sus respectivas relaciones, los campos, tipos de
datos e información de llaves primarias y foráneas.

2. Sobre el modelado diseñado por usted, construya consultas de SQL para obtener los
siguientes resultados

2.1. Deuda total de Tarjeta de Crédito por Franquicia.


2.2. Cliente con mayor Saldo en Canje.
2.3. Cliente con mayor saldo retirado de una Cuenta de Ahorros en un periodo
determinado. (Por fecha de transacción).
2.4. Cuenta de Ahorro con mayor número de titulares.
2.5. Saldo Total de todas las cuentas de ahorro de un cliente.
2.6. Numero de Cuentas de Ahorro activas de clientes extranjeros.
2.7. Listado de Accionistas que son clientes con su correspondiente Saldo Total de Deuda
de todas las tarjetas de crédito cuyo Saldo Total de Deuda sea mayor a UN MILLÓN
DE PESOS.

También podría gustarte