Está en la página 1de 4

UNIVERSIDAD TECNOLÓGICA NACIONAL

FACULTAD REGIONAL TUCUMÁN

DISEÑO DE SISTEMAS

EJERCICIO N° 1
DIAGRAMAS DE INTERACCIÓN

2019

Página 1 de 4
DISEÑO DE SISTEMAS EJ N° 1

LA UNIVERSIDAD

Los ​alumnos ​y ​docentes ​de una universidad reciben ​becas ​por sus calificaciones o
trabajos.
El monto que perciben varía de acuerdo a las características de cada uno:

● En ambos casos se parte de un básico, es decir que existe un ​Básico


Alumno y un ​Básico Docente​. Se trata del monto base a partir del cual se
genera el importe de la beca.

● La beca de un alumno depende de la edad de éste y el curso en el que se


encuentra. La fórmula es:

B eca = ((BasicoAlumno − Edad) * (Curso/100)) + BasicoAlumno

● La beca de un docente depende de su antigüedad:

B eca = B asicoDocente + (BasicoDocente * Antigüedad/100)

Se requiere una aplicación que permita efectuar las ​liquidaciones de las becas,
dado un determinado mes.
Una vez que las liquidaciones son generadas, éstas son enviadas, a través de ​APIs*
a los Sistemas principales de Alumnos y Docentes.

Necesidades de datos:
Alumnos: Legajo, Nombre, Curso, Domicilio, Fecha Nacimiento
Docentes: Legajo, Nombre, Antigüedad, Domicilio
Domicilio: Calle, Número, Piso, Departamento, Localidad

Tarea:

● Realizar los diagramas de colaboración. Teniendo en cuenta el siguiente código:

static​ ​void​ Main()


{
​Universidad​.NuevoAlumno(100, " ​ Luis A."​, 1, ​DateTime​.Now);
​Universidad​.NuevoDocente(200, ​"Jorge D."​, 2);
​Universidad​.LiquidarBecas(5);
}

Tener en cuenta el Anexo con la definición de las clases

Página 2 de 4
DISEÑO DE SISTEMAS EJ N° 1

ANEXO

Definición de Clases

public​ ​static​ ​class​ ​Universidad ​{


​private​ ​static​ ​List​<​Beneficiario​> _beneficiarios = ​new​ ​ArrayList​<​Beneficiario​>();
​private​ ​static​ ​List​<​Liquidacion​> _liqidaciones = ​new​ ​ArrayList​<​Liquidacion​>();

​public​ ​static​ ​void​ nuevoAlumno(​int​ legajo, ​string​ nombre, ​int​ curso, ​Date​ fecha) {
​Alumno ​a = ​new​ ​Alumno​(legajo, nombre, curso, fecha);
_beneficiarios.Add(a);
}

​public​ s​ tatic​ ​void​ nuevoDocente(​int​ legajo, ​string​ nombre, ​int​ antiguo) {


​Docente ​d = ​new​ ​Docente​(legajo, nombre, antiguo);
_beneficiarios.Add(d);
}

​public​ ​static​ ​void​ liquidarBecas(​int​ mes) {


​int​ c = _beneficiarios.Count();
​for​ (​int​ i = 0; i < n; i++)
{
​Beneficiario ​b​ = ​_beneficiarios[i];
​Liquidacion ​l = ​new​ ​Liquidacion​(b);
l.Liquidar();
_liqidaciones.Add(l);
}
}
}

public​ ​static​ ​class​ ​Configuracion​{


​public​ ​static​ ​float​ BasicoAlumno()
{
​return​ 1500;
}
​public​ ​static​ ​float​ BasicoDocente()
{
​return​ 2000;
}
}

public​ ​abstract​ ​class​ ​Beneficiario​ {


​protected​ ​int​ _legajo;
​protected​ ​string​ _nombre;

​public​ ​abstract​ ​float​ calcularBeca();

​public​ i​ nt​ getLegajo() { ​return​ _legajo; }


​public​ v​ oid​ setLegajo(​int​ legajo) { _legajo = legajo; }

​ tring​ getNombre() { ​return​ _nombre; }


public​ s
​ ublic​ v
p ​ oid​ setNombre(​string​ nombre) { _nombre = nombre; }
}

Página 3 de 4
DISEÑO DE SISTEMAS EJ N° 1

public​ ​class​ ​Alumno​: ​Beneficiario​ {


​private​ ​int​ _curso;
​private​ ​Date​ _fechaNacimiento;

​public​ Alumno(​int​ legajo, ​string​ nombre, ​int​ curso, ​Date​ fecha) {


_legajo = legajo;
_nombre = nombre;
_curso = curso;
_fechaNacimiento = fecha;
}

​public​ i​ nt​ getCurso() { ​return​ _curso; }


​public​ v​ oid​ setCurso(​int​ curso) { _curso = curso; }

​public​ D​ ate​ getFechaNacimiento() {​return​ _fechaNacimiento;}


​public​ v​ oid​ setFechaNacimiento(​Date​ fecha) {_fechaNacimiento = fecha;}

​public​ ​override​ ​float​ CalcularBeca(){


​//TODO: calcular
​return ​0​;
}
}

public​ ​class​ ​Docente​ : ​Beneficiario​ {


​private​ ​int​ _antiguo;

​public​ Docente(​int​ legajo, ​string​ nombre, ​int​ antiguo){


_legajo = legajo;
_nombre = nombre;
_antiguo = antiguo;}

​public​ i​ nt​ getAntiguo(){ ​return​ _antiguo; }


​public​ v​ oid​ setAntiguo(​int​ antiguo) {_antiguo = antiguo; }

​public​ ​override​ ​float​ CalcularBeca(){


​//TODO: calcular
return​ ​0​;
}
}

public​ ​class​ ​Liquidacion​ {


​private​ ​int​ _mes;
​private​ ​float​ _monto;
​private​ ​Beneficiario​ _beneficiario;

​public​ Liquidacion(​Beneficiario​ beneficiario) {


_beneficiario = beneficiario;
}

​ nt​ getMes() { ​return​ _mes; }


public​ i
​public​ v​ oid​ setMes(​int​ mes) { _mes = mes; }

​ loat​ getMonto() { ​return​ _monto; }


public​ f
​public​ v​ oid​ setMonto(​float​ monto) { _monto = monto; }

​public​ ​Beneficiario​ getBeneficiario() {


​return​ _beneficiario;
}

​public​ ​void​ Liquidar(){


_monto = _beneficiario.CalcularBeca();
}
}

Página 4 de 4

También podría gustarte