Upload
adda1507
View
230
Download
0
Embed Size (px)
Citation preview
8/13/2019 Nomina ABC Ltda1
1/5
NOMINA ABC Ltda
La empresa ABC Ltda requiere una aplicacin para generar e imprimir en pantallala Nminade sus colaboradores:
Para nempleados
Debe pedir los parmetros generales:Salario mnimo legal vigente, valor
auxilio de transporte, porcentaje para liquidar salud, porcentaje para liquidar
pensin, porcentaje para liquidar solidaridad pensional, mes a liquidar,
cantidad de empleados
Por cada empleado debe capturar: nombres completos, cantidad de
salarios, das laborados, valor total horas extras y recargos
Debe generar e impr imir la siguiente informacin:
Listado de todos los empleados especificando:Nombres, Salariobsico, Salario bruto, Valor auxilio de transporte, Valor horas extras,Total devengado, Bonificacin, Aporte a salud, Aporte a pensin,Fondo de solidaridad, Total deducido, Total a pagar
Consolidados acumulados(suma de los valores de todos losempleados):Total valor auxilio de transporte, Total horas extras,Total devengado, Total Bonificacin, Total Aporte a salud, Totalaporte a pensin, Total Fondo de solidaridad, Total deducido , Totalde la nomina
Contar la cantidad de personas que:reciban auxilio de transporte,tengan bonificacin, aporten a solidaridad pensional
Los factores y frmulas son las siguientes:
Factores para 2013
Salario mnimo legal vigente(Smlv): 589500
Porcentaje de salud: 0.04
Porcentaje de pensin: 0.04
Porcentaje de solidaridad pensional: 0.04
Aux_transporte = 70500
8/13/2019 Nomina ABC Ltda1
2/5
Frmulas
Salario Bsico = Smlv * cantidad de salarios
Salario Bruto = (Salario Bsico * das laborados)/30
Auxilio de transporte = (Aux_transporte * das laborados)/30
Total devengado = Salario Bruto + Auxilio de transporte + total horas extras Bonificacin = 10% del bsico
Aporte a salud = (Total devengado Auxilio de transporte) * porcentaje desalud
Aporte a pensin = (Total devengado Auxilio de transporte) * porcentajede pensin
Fondo de solidaridad = (Total devengado Auxilio de transporte) *porcentaje de solidaridad
Total deducido = Aporte a salud+ Aporte a pensin+ Fondo de solidaridad
Neto a pagar = Total devengado+ Bonificacin -Total deducido
Adems se deben tener presentes las siguientes condiciones:
El auxilio de transporte se paga a los colaboradores que tengan un salariobsico que no supere los 2 Smlv
La bonificacin aplica a los colaboradores que reciban un salario bsicomenor a 2 Smlv
El fondo de solidaridad se cobra a quienes devenguen ms de 4 Smlv
OTRAS ESPECIFICACIONES
La aplicacin debe presentar un men con las siguientes alternativas:
ABC Ltda- Nomina de empleados
Mes: XXXXX
1. Capturar datos2. Generar nomina3. Imprimir nomina4. Salir
Opciones[1,2,3,4]..Elija para continuar
------------------------------------------------------------------------------------------------------
CLASES
8/13/2019 Nomina ABC Ltda1
3/5
Debe tener la clase PrincipalABC con el mtodo main y cuatro(4) clases ms, as:
1. Clase ParametrosIniciales , para obtener los parmetros generales para la
Nomina
Importante!!!La imagen anterior representa una clase en UML, el
componente superior contiene el nombre de la clase, la parte intermediacontiene los atributos (o variables de instancia) y la tercer parte contiene losmtodos u operaciones, los cuales son la forma como interacta el objetocon su entorno (dependiendo de su visibilidad: private, protected o public).Ntese que los atributos estn subrayados, lo que significa que sonestticos, es decir van a mantener los valores, no se van a inicializar cadavez que se crea una instancia de la clase; para asignar esta caractersticase debe colocar el modificador static, luego del calificador de acceso, justoantes del tipo de datos. ej. Public staticdoubl smlv; este sera un atributopblico de tipo doble y que permanece esttico, es decir que la variable vaa mantener el valor almacenado cada vez que se crea una instancia de laclase (en otras palabras no se inicializa a cero)
As debe quedar el cdigo para la clase ParametrosIniciales :
public class ParametrosIniciales {
/*se declaran las variables para capturar los parmetros iniciales, deben serestticas para que conserven su valor al usarlas en otras clases*/
public static doubl smlv; //salario mmimo legal vigentepublic static doubl auxTransporte; //valor auxilio de transporte
public static doubl pSalud; //porcentaje de saludpublic static doubl pPension; //porcentaje de pensinpublic static doubl pSolidaridad; //porcentaje de solidaridadpublic static String mes; //mes a liquidarpublic static int n; //cantidad de empleados
Nombre de la clase
Atributos
Mtodos
8/13/2019 Nomina ABC Ltda1
4/5
public void capturarParametros() { //mtodo para capturar los datos
// espacio para escribir el cdigo que corresponde a la lgica delnegocio
}
}
2. Clase Empleadosque debe capturar los nombres, la cantidad de salarios, los
das trabajados en el mes y el valor a percibir por horas extras y recargo
nocturno
public classEmpleados {
/*se declaran arrays para almacenar la informacin bsica de los nempleados y se dimensionan con el valor que se haya pedido en ncorrespondiente a la cantidad de empleados, como n es static norequiere crear un objeto nuevo para instanciar la clase
ParametrosIniciales y puede ser accedida directamente as:nombreclase.variable ej. ParametrosIniciales.n*/
publicstatic String[] nombres= new String[ParametrosIniciales.n];publicstaticdoublecantSalarios[] =new double[ParametrosIniciales.n];publicstaticintdiasLaborados[]=new int[ParametrosIniciales.n];publicstaticdoublehorasExtras[]=new double[ParametrosIniciales.n];
//mtodo para capturar y almacenar los datos de nempleadospublic voidcapturardatos(){
// espacio para escribir el cdigo que corresponde a la lgica del
negocio
}
}
}
8/13/2019 Nomina ABC Ltda1
5/5
3. Clase Nominaque debe calcular la nmina de los ntrabajadores e imprimir los
resultados discriminados