Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Interrogación 1
Indicaciones
Si sufre un problema de fuerza mayor durante el día Viernes de la interrogación, debe escribir cuanto
antes a mfsepulveda@uc.cl
Te encuentras trabajando para un gran proyecto hidroeléctrico de monitoreo. El sistema que estás construyendo
se alimenta de un servidor central que contiene la información de la central hidroeléctrica. El sistema que existe
se llama ClosedFlows, el cual es suministrado por una empresa externa que ofrece servicios y soluciones para
hidroeléctricas (Bantley). El sistema de monitoreo que estás construyendo debe alimentarse de la información de
los distintos servicios de ClosedFlows y avisar a los ingenieros comerciales del proyecto de acuerdo a ciertas
alertas que se explican más adelante en el enunciado.
● Un depósito: el embalse que contiene el agua. Se describe a partir del nivel de agua y el volumen
almacenado. Junto al depósito se encuentra la presa, la cual se encuentra a una altura sobre los
cimientos, posee una longitud de coronación y se mide en base al volumen del hormigón.
● La central: que contiene el generador, las turbinas y el transformador para operar la energía que llega a
través de las tuberías. Se mide a través del salto y el caudal.
● Red de distribución: La red de distribución se compone de los distintos transformadores o estaciones, la
red de transporte que conecta las distintas estaciones con los consumidores o la demanda final. La
capacidad instalada de la planta es de alrededor de 200MW.
A través de los sistemas de ClosedFlows puedes adquirir todas las estadísticas que necesites a través de su
integración, entre estas las relacionadas a la hidroeléctrica en sí (depósito, central y red de distribución), siempre
y cuando se realice la autenticación con el sistema a través del protocolo de ClosedFlows en SAML. Por otra
parte, para la información de la distribución, el servidor se conecta con cada distribuidora de energía que le
otorga la información de la demanda de energía. Está información llega al sistema interno de ClosedFlows y
también también facilitan a sus colaboradores API's para conectarse con autenticación simple a través de token.
El sistema de monitoreo que estás construyendo monitorea principalmente el precio de la energía que se está
produciendo. Para calcular el precio primero se debe monitorear el costo, conocido como LCOE, y se calcula en
base a la capacidad, la inversión, los costos fijos, los costos variables, el factor de planta y la vida útil (todos
valores que contiene ClosedFlows). Con este valor se debe calcular un precio de la energía y el precio de la
potencia para así obtener el llamado Precios de nudo. Por otra parte, se debe alimentar de la información de la
demanda (información de cada distribuidora), obteniendo los precios a nivel de distribución. Finalmente, como
el mercado de la energía se encuentra regulado, existe una fijación de precio (valor que se obtiene a través de
una API del ministerio de energía).
1) ¿Qué metodología de trabajo propone para abordar este proyecto? Considerar su respuesta en dos
partes: metodología con el equipo no técnico y metodología en cuanto al software en cuestión.
Responder en un máximo de 6 líneas. [10 puntos]
2) Realice un diagrama de despliegue del sistema. Puede usar https://draw.io/, usar un software de
diagramado a gusto o realizar el diagrama en papel y tomar una foto. Lo importante es respetar la
notación y las convenciones. Recuerde ser concreto y no dejar detalles importantes fuera. [15 puntos]
3) Realice un diagrama de clases que abstraiga el sistema de monitoreo que estará desarrollando, poniendo
énfasis en la sección de alerta sobre el precio final del usuario. Puede usar https://draw.io/, usar un
software de diagramado a gusto o realizar el diagrama en papel y tomar una foto. Lo importante es
respetar la notación y las convenciones. Recuerde ser concreto y no dejar detalles importantes fuera.
[15 puntos]
Pregunta 2 [30 puntos]
Considere el siguiente código en C# y su equivalente en Ruby el cual es parte de un programa de juego de cartas
con baraja inglesa. En base a lo anterior responda las siguientes preguntas.
public class Clover : Card
{
public int n;
public string c;
def getImage
nameCard = ""
if n > 10 || n <= 1
case n
when 11
nameCard = "J"
when 12
nameCard = "Q"
when 13
nameCard = "K"
when 1
nameCard = "Ace"
when 0
nameCard = "Joker"
end
end
1. ¿Cuál es la complejidad ciclomática de la función GetImage()? Explique cómo llegó a su resultado puede
utilizar un diagrama para apoyar su respuesta. [5 puntos]
2. Identifique y justifique para cada principio SOLID sí el principio se cumple, se transgrede o no aplica en la
clase. Utilice como máximo 5 líneas para cada principio. [15 puntos]
3. ¿Qué inconsistencias identifica en el código que afecten la mantenibilidad? Identifique a lo menos 2 y para
cada problema identificado ofrezca una solución. [10 puntos]
Pregunta 3 [20 puntos]
De acuerdo a los contenidos del curso y charlas de invitados, argumente y justifique a favor o en contra cada una
de las siguientes afirmaciones. Justifique en un máximo de 5 líneas. Si utiliza fuentes, citas o afirmaciones
externas, recuerde mencionar la fuente de su afirmación.