Está en la página 1de 3

Nombre: Brissa Higuita Patiño

Fecha: Julio 21/2021


ANALISIS RETO 2
PROGRAMACIÓN BASICA

1. DESCRIPCIÓN DEL RETO:


Se debe diseñar el diagrama de clases en UML utilizando una de las herramientas
mencionadas en los videos que supla las necesidades planteadas en el siguiente
enunciado:

 El software necesita gestionar información sobre las empresas, sus


empleados y sus clientes. Donde los empleados y clientes poseen datos
como el nombre, los apellidos, documento de identidad y correo electrónico.
 Además, cada empleado tiene asignado un salario único, y los empleados
que son administrativos tienen una categoría, así como un conjunto de
empleados subordinados. De los clientes además se necesita conocer su
dirección de correspondencia y el teléfono.
 Un empleado siempre tendrá asignado un cargo, el cual tiene un nombre y un
nivel jerárquico dentro de la empresa.
 La empresa tiene una razón social (nombre), un NIT y una dirección. Y podrá
tener o no clientes asociados, pero siempre necesitará empleados.
 El software necesita mostrar los datos de empleados y clientes, además de
proveer las operaciones CRUD de cada entidad.
El diseño debe estar acompañado de un documento donde se explique el análisis y
los elementos que se agregan en el diseño.

2. ANÁLISIS DEL RETO:

Para realizar el reto se necesita:


 Relaciones:
o Cliente y empleado tienen una relación de herencia con persona
o Cliente tiene una relación con empresa de agregación
o Empleado tiene una relación con empresa de composición
o Empleado tiene una relación consigo mismo de agregación
o Cargo tiene una relación con empleado de composición
o Categoría tiene una relación con empleado de agregación

 Clases:
o Programa:
 La que se le indica MAIN
 Se ejecutarán todos los métodos:
 Asignar subordinado
 Mostrar empleado
 Mostrar cliente

o Persona:
 Se le asignan sus atributos:
 Nombre
 Apellido
 Documento
 Correo
 Se encapsulan para crear GET Y SET de cada uno
 Nombre: getNombre() y setNombre()
 Apellido: getApellido() y setApellido()
 Documento: getDocumento() y setDocumento()
 Correo: getCorreo() y setCorreo()
 Se crean el constructor para la clase persona

o Empleado:
 Se le asignan sus atributos:
 Salario
 Jefe
 Cargo
 Lista Subordinados
 Se encapsulan para crear GET y SET de cada uno
 Salario: getSalario() y setSalario()
 Jefe: getJefe() y setJefe()
 Cargo: getCargo() y setCargo()
 Lista Subordinados: getSubordinados() y
setSubordinados()
 Se crea el constructor con herencia de la clase Persona
 Se crea el método para asignar subordinados
 Se crea el método para mostrar los datos del empleado

o Cliente:
 Se le asignan sus atributos:
 Dirección
 Teléfono
 Empresa
 Se encapsulan para crear GET y SET de cada uno
 Dirección: getDireccion() y setDirreccion()
 Teléfono: getTelefono() y setTelefono()
 Empresa: getEmpresa() y setEmpresa
 Se crea el constructor con herencia de la clase Persona
 Se crea el método para mostrar los datos de los clientes

o Empresa:
 Se le asignan sus atributos:
 Nombre
 Nit
 Dirección
 Empleado 1
 Se encapsulan para crear GET y SET de cada uno
 Nombre: getNombre() y setNombre()
 Nit: getNit() y setNit()
 Dirección: getDireccion() y setDirreccion()
 Empleado: getEmpleado() y setEmpleado()
 Se crea el constructor para la clase empresa

o Cargo:
 Se le asignan sus atributos:
 Nombre Cargo
 Nivel Cargo
 Se encapsulan para crear GET y SET de cada uno
 Nombre Cargo: getNombreCargo() y setNombreCargo()
 Nivel Cargo: getNivelCargo() y setNivelCargo()
 Se crea el constructor para la clase cargo

o Categoría:
 Se le asignan sus atributos:
 Nombre Categoria
 Nivel Categoria
 Se encapsulan para crear GET y SET de cada uno
 Nombre Categoria: getNombreCategoria () y
setNombreCategoria ()
 Nivel Categoria: getNivelCategoria () y setNivelCategoria
()
 Se crea el constructor para la clase categoría.

También podría gustarte