Está en la página 1de 11

SISTEMAS COMPUTACIONALES (PROGRAMACIÓN C SHARP.

NET)
PROYECTO PROGRAMADO SISTEMA DE PLANILLA CORPORATIVA

Mentor: José Gabriel Calvo Quirós

Lea la situación atentamente y brinde una solución programada. El proyecto y respaldo de


Base de Datos (.bak) debe de guardarse en una carpeta con el nombre del grupo, estar
comprimida y se debe de depositar en el Connect Campus.

En el caso de que proyecto supere los 50 MB, deberá de crear un archivo de texto con una
ruta compartida en One Drive o Google Drive con los permisos de edición.

Ventanas que se deben de diseñar:

1. Formulario de Menú

• Mostrar las opción de Archivo con las sub-opción Salir.


• Mostrar la opción Ingreso con las sub-opción Cálculo de Planilla por Empleado.
• Mostrar la opción Mantenimiento con las sub-opciones Empleados y Profesión.
• Mostrar la opción Reportes con las sub-opción Ingresos de Empleados por
Profesión.
• Mostrar la opción Ayuda con la sub-opción Manual de Usuario y Acerca de...

2. Formulario de Ingreso de Planilla

• Área específica de agrupación para incorporar y ver datos del empleado, según
lo que se indicará a continuación:

✓ Campo de ingreso de cédula. Numérico.


✓ Campo donde se mostrará nombre completo del empleado.
✓ Campo donde se mostrará la edad del empleado.
✓ Campo donde se mostrará la descripción de profesión del empleado.
✓ Campo donde se mostrará el género del empleado.

• Área específica de agrupación para incorporar los datos de carga para el cálculo
de la planilla, según lo que se indicará a continuación:

✓ Campos de ingreso de número de comprobante consecutivo. Número


consecutivo automático o manual.
✓ Campo de ingreso para fecha y hora de ingreso a planilla.
✓ Campo de escogencia de las horas ordinarias. Estas serán solamente
de 40 y 48 horas.

Página 1 de 11
✓ Campo de escogencia de las horas extras. Estas serán solamente de 1
a 5 horas.
✓ Campo donde se mostrará el costo de la hora según la profesión del
empleado. Solo lectura.

• Área específica de agrupación para incorporar los datos relacionados a la


aplicación o no del bono al empleado por medio de escogencia manual, según
lo que se indicará a continuación:

✓ Campo u opción de selección para dar bono.


✓ Campo u opción de selección para no dar bono.

• Área específica de agrupación para incorporar el dato relacionado a los años


laborados en la empresa por parte del empleado, según lo que se indicará a
continuación:

✓ Campo de ingreso para fecha de ingreso a la empresa.

• Contenedor de datos para visualizar los cálculos realizados, con sus respectivos
nombres de columna para identificarlos. Estos serán monto salario bruto, monto
de bono, monto de CCSS - Enfermedad y maternidad, monto de CCSS -
Invalidez y Muerte, monto de Aporte Trabajador Banco Popular, monto del
impuesto de Renta y el salario neto.
• Botones para realizar las acciones de:

✓ Grabar cálculos.
✓ Consultar por cédula y fecha/hora los cálculos del empleado.
✓ Limpiar los datos contenidos del formulario.
✓ Salir del formulario.

3. Formulario de Mantenimiento Ingreso y Modificación de Empleado.

• Área específica de agrupación para incorporar los datos del empleado, según lo
que se indicará a continuación:

✓ Campo de ingreso de cédula.


✓ Campo de ingreso de nombre.
✓ Campo de ingreso de primer apellido.
✓ Campo de ingreso de segundo apellido.
✓ Campo de ingreso para fecha de nacimiento.
✓ Campo de escogencia para el género. Estos serán M o F.

• Área específica de agrupación para incorporar el dato de la profesión del


empleado, según lo que se indicará a continuación:
✓ Campo de escogencia para la profesión.

Página 2 de 11
• Contenedor de datos para visualizar los datos ingresados, con sus respectivos
nombres de columna para identificarlos. Estos serán cédula, nombre y apellidos
concatenados, fecha de nacimiento, género, código de profesión y descripción
de profesión.
• Botones para realizar las acciones de:

✓ Grabar datos del empleado.


✓ Modificar datos del empleado. Todos menos cédula.
✓ Limpiar los datos contenidos del formulario.
✓ Salir del formulario.

4. Formulario de Mantenimiento Ingreso y Modificación de datos de las


Profesiones.

• Área específica de agrupación para incorporar los datos de la profesión, según


lo que se indicará a continuación:

✓ Campo de ingreso de código de la profesión. Número consecutivo


automático o manual.
✓ Campo de ingreso de descripción del nombre de la profesión.
✓ Campo de ingreso de costo por hora de la profesión.

• Contenedor de datos para visualizar los datos ingresados, con sus respectivos
nombres de columna para identificarlos. Estos serán código de la profesión,
descripción de la profesión y costo de la hora.
• Botones para realizar las acciones de:

✓ Grabar datos de la profesión.


✓ Modificar datos de la profesión. Todos menos código de la profesión.
✓ Limpiar los datos contenidos del formulario.
✓ Salir del formulario.

Requerimientos Funcionales del Formulario Ingreso de Planilla

➢ Por medio del campo Cédula al digitarla, se debe activar el evento de presionar tecla
ENTER para realizar consulta a las tablas Empleado y Profesión, consultar a la Base
de Datos el nombre y apellidos del empleado concatenado para depositarlo en el campo
respectivo del formulario. Adicionalmente en el mismo evento, se debe de realizar el
cálculo de la edad para colocarla en su campo y realizar la consulta para mostrar
descripción de la profesión del empleado. De no existir el colaborar, se deberá invocar
al formulario Empleado para ingresarlo como nuevo con los datos respectivos, la

Página 3 de 11
cédula digitada se debe de trasladar a este formulario, es decir, no se debe de digitar
de nuevo.
➢ El evento grabar (botón), insertará en la tabla Planilla de la Base de Datos lo siguiente:
cédula, número de comprobante consecutivo, fecha y hora de ingreso a planilla , horas
ordinarias, horas extras, salario por hora según profesión y antigüedad en años.
➢ El evento grabar (botón), insertará en la tabla Salario de la Base de Datos lo siguiente:
cédula, número de comprobante consecutivo, fecha y hora de ingreso a planilla, monto
salario bruto, monto de bono, monto de CCSS - Enfermedad y maternidad, monto de
CCSS - Invalidez y Muerte, monto de Aporte Trabajador Banco Popular, monto del
impuesto de Renta y el monto de salario neto.
➢ Los campos monto de bono y antigüedad en años deben de ser calculados antes del
insertadas a las tablas Planilla y Salario. En el caso de antigüedad se debe de realizar
un cálculo en base a la fecha de ingreso y el año actual para determinar cuánto tiempo
tiene el empleado de laborar para la empresa, el campo monto de bono, respecto a la
antigüedad asignará un monto según estos rangos, aplicando la diferenciación de
montos por ser hombre o mujer.

Monto Bono Monto Bono


Rango
Mujeres Hombres

Antigüedad menor igual a 1 año ₡ 500,00 ₡ 150,00

Antigüedad mayor a 1 año y menor igual a 2 años ₡ 5.500,00 ₡ 5.000,00

Antigüedad mayor a 2 años y menor a 10 años ₡ 15.000,00 ₡ 10.000,00

Antigüedad mayor igual a 10 años y menor a 20 años ₡ 40.000,00 ₡ 40.000,00

Antigüedad mayor igual a 20 años ₡ 80.000,00 ₡ 80.000,00

➢ Solamente en el caso donde en la opción se indique que no se desea dar bono al


empleado (opción o selección No), este tendrá un valor 0, pero sí se calculará la
antigüedad en años.
➢ Los campos monto de CCSS - Enfermedad y maternidad, monto de CCSS - Invalidez
y Muerte y monto de Aporte Trabajador Banco Popular deben de ser calculados antes
de insertar a la tabla Salario, respecto a estos, los siguientes porcentajes serán
calculados al salario bruto.

Página 4 de 11
Deducción Porcentaje

CCSS - Enfermedad y maternidad 5,50%

CCSS - Invalidez y Muerte 3,84%

Aporte Trabajador Banco Popular 1,00%

➢ El cálculo de salario bruto es mensual por lo tanto las horas ordinarias corresponden
a una semana (40h/48h), un mes tiene 4,35 semanas. Adicionalmente, debe sumar el
monto del bono obtenido según el género y antigüedad.
➢ La hora extra se calcula duplicando el costo de salario por hora, según profesión.
➢ Debe de calcular el impuesto de renta sobre el salario bruto, según la siguiente tabla.

Como guía del cálculo puede ver el siguiente enlace:


https://www.youtube.com/watch?v=3Dz8twRUT1Q

➢ Para el cálculo del monto de salario neto debe de restar al monto de salario bruto los
montos de deducciones (monto de CCSS - Enfermedad y maternidad, monto de CCSS
- Invalidez y Muerte, monto de Aporte Trabajador Banco Popular, monto del impuesto
de Renta).

Como guía del cálculo puede ver el siguiente enlace:


https://www.elempleo.com/cr/calculadora-salarial/

Página 5 de 11
➢ El evento consultar (botón), solamente hará una consulta a la tabla Salario de todos los
registros contenidos, ya sea, de todos los empleados o de uno específico en búsqueda
por cédula. Esta consulta SQL tendrá una relación entre llaves para incorporar
adicionalmente junto con la tabla Empleados, los campos nombre, primero apellido y
segundo apellido concatenado, es decir no se deben de mostrar por separado, ejemplo,
CARLOS GARCIA MORALES y los datos de la tabla Salario, monto salario bruto,
monto de bono, monto de CCSS - Enfermedad y maternidad, monto de CCSS -
Invalidez y Muerte, monto de Aporte Trabajador Banco Popular, monto del impuesto
de Renta y el salario neto.
➢ Una vez se concluya la inserción a la Base de Datos se deberá inmediatamente invocar
al evento consultar para mostrar en el Datagridview los campos nombre, primero
apellido, segundo apellido concatenados, monto salario bruto, monto de bono, monto
de CCSS - Enfermedad y maternidad, monto de CCSS - Invalidez y Muerte, monto de
Aporte Trabajador Banco Popular, monto del impuesto de Renta y el salario neto.
➢ Obligatoriamente, se debe utilizar programación orientado a objetos, aplicando
abstracción, encapsulamiento, polimorfismo o herencia.
➢ Absolutamente necesario el uso de excepciones (try, catch) para el control de
excepciones, en todas las operaciones hacia la Base de Datos.

Requerimientos No Funcionales del Formulario Ingreso de Planilla

➢ El campo Empleado (concatenado nombre + apellidos) del formulario debe de estar


como solo lectura.
➢ El campo edad del empleado debe de estar como solo lectura.
➢ El campo descripción de profesión del empleado debe de estar como solo lectura.
➢ El campo género del empleado debe de estar como solo lectura.
➢ Debe de crear validaciones de campos según el tipo de dato a procesar (numérico,
cadena). El sistema de encontrar una violación no deberá permitir digitar y debe de
mostrar una alerta por medio de un MessageBox o una etiqueta sobre lo sucedido.
➢ MessageBox personalizados, deben de tener el mensaje para el cliente según lo que se
desea comunicar, un título de ventana, el tipo de botón y el icono del mensaje
personalizado.

Página 6 de 11
➢ Obligatoriamente, todos los campos deben de estar llenos para grabar en la Base de
Datos. De no cumplirse, se deberá de alertar al cliente por medio de un MessageBox o
por medio de un control de error creado por usted.
➢ Obligatoriamente, los campos cédula y fecha de ingreso deben de estar llenos para
consultar en la Base de Datos. De no cumplirse, se deberá de alertar al cliente por
medio de un MessageBox o por medio de un control de error creado por usted.
➢ Para las opciones de escogencia de bono. No se debe de permitir ambas, de hacerlo se
debe de mostrar una alerta por medio de un MessageBox.
➢ El campo fecha de ingreso no puede ser en futuro, de estarlo se debe de mostrar una
alerta por medio de un MessageBox.
➢ Formulario debe de mostrar título: Sistemas de Planilla – Ingreso a Nómina.
➢ De guardarse satisfactoria (botón guardar) el registro en la Base de Datos se debe de
informar. En caso contrario también.
➢ La función del botón limpiar es dejar vacías las cajas de texto y el datagrid y la función
del botón Salir es cerrar el formulario.
➢ Formulario debe de estar centrado en pantalla, no puede ser modificado en tamaño, se
debe de suprimir los controles de maximizar, minimizar y cerrar la aplicación.

Requerimientos Funcionales de Formulario Empleado

➢ El evento grabar (botón), insertará en la tabla Empleados de la Base de Datos la


siguiente información: cédula, nombre, primer apellido, segundo apellido, fecha de
nacimiento, género (M/F) y código de profesión.
➢ El evento modificar (botón), actualizará nombre, primer apellido, segundo apellido,
fecha de nacimiento, género y código de profesión.
➢ Obligatoriamente, todos los campos deben de estar llenos para grabar en la Base de
Datos. De no cumplirse, se deberá de alertar al cliente por medio de un MessageBox o
por medio de un control de error creado por usted.
➢ Obligatoriamente, el campo cédula debe de estar lleno para modificar en la Base de
Datos. De no cumplirse, se deberá de alertar al cliente por medio de un MessageBox o
por medio de un control de error creado por usted.

Página 7 de 11
➢ Una vez se concluya la inserción a la Base de Datos se deberá inmediatamente invocar
un evento consultar para mostrar en el Datagridview los campos cédula, nombre,
primer apellido, segundo apellido, fecha de nacimiento, género (M/F), código de
profesión y descripción de profesión.
➢ Absolutamente necesario el uso de excepciones (try, catch) para el control de
excepciones, en todas las operaciones hacia la Base de Datos.
➢ Obligatoriamente, se debe utilizar programación orientado a objetos, aplicando
abstracción, encapsulamiento, polimorfismo o herencia.

Requerimientos No Funcionales de Formulario Empleado

➢ Las cajas de texto de nombre y apellidos solamente deberán aceptar letra mayúscula.
➢ Las cajas de texto de género solamente deberán aceptar un carácter.
➢ Debe de crear validaciones de campos según el tipo de dato a procesar (numérico,
cadena). El sistema de encontrar una violación no deberá permitir digitar y debe de
mostrar una alerta por medio de un MessageBox o una etiqueta sobre lo sucedido.
➢ MessageBox personalizados, deben de tener el mensaje para el cliente según lo que se
desea comunicar, un título de ventana, el tipo de botón y el icono del mensaje
personalizado.
➢ De guardarse satisfactoria (botón guardar) el registro en la Base de Datos se debe de
informar al cliente. En caso contrario también.
➢ Formulario debe de tener el siguiente título: “Ingreso de Empleados al Sistema”.
➢ La función del botón limpiar es dejar vacías las cajas de texto y la función del botón
Salir es cerrar el formulario.
➢ Formulario debe de estar centrado en pantalla, no puede ser modificado en tamaño, se
debe de suprimir los controles de maximizar, minimizar y cerrar la aplicación.

Requerimientos Funcionales de Formulario Profesión

➢ El evento grabar (botón), insertará en la tabla Profesión de la Base de Datos la siguiente


información: código de profesión, nombre de la profesión y monto de salario por hora
de la profesión. Deberá de utilizar los siguiente datos:

Página 8 de 11
Código Nombre de Profesión Salario por Hora

D-01 Digitador ₡ 2.000,00

AD-02 Analista de Datos ₡ 8.000,00

AS-03 Arquitecto de Software ₡ 10.000,00

ACS-04 Analista de Ciber Seguridad ₡ 15.000,00

GA-05 Gerente de Área ₡ 25.000,00

➢ El evento modificar (botón), actualizará nombre de la profesión y monto de salario por


hora de la profesión.
➢ Obligatoriamente, todos los campos deben de estar llenos para grabar en la Base de
Datos. De no cumplirse, se deberá de alertar al cliente por medio de un MessageBox o
por medio de un control de error creado por usted.
➢ Obligatoriamente, el campo código de profesión debe de estar lleno para modificar en
la Base de Datos. De no cumplirse, se deberá de alertar al cliente por medio de un
MessageBox o por medio de un control de error creado por usted.
➢ Una vez se concluya la inserción a la Base de Datos se deberá inmediatamente invocar
un evento consultar para mostrar en el Datagridview los campos código de profesión,
nombre de la profesión, monto de salario por hora de la profesión y descripción de
profesión.
➢ Absolutamente necesario el uso de excepciones (try, catch) para el control de
excepciones, en todas las operaciones hacia la Base de Datos.
➢ Obligatoriamente, se debe utilizar programación orientado a objetos, aplicando
abstracción, encapsulamiento, polimorfismo o herencia.

Requerimientos No Funcionales de Formulario Profesión

➢ Las cajas de texto de nombre de profesión solamente deberán aceptar letra mayúscula.
➢ Debe de crear validaciones de campos según el tipo de dato a procesar (numérico,
cadena). El sistema no debe continuar por el ingreso en el control.
➢ De guardarse satisfactoria (botón guardar) el registro en la Base de Datos se debe de
informar al cliente. En caso contrario también.
➢ Formulario debe de tener el siguiente título: “Ingreso de Profesiones al Sistema”.

Página 9 de 11
➢ La función del botón limpiar es dejar vacías las cajas de texto y la función del botón
Salir es finalizar el programa.
➢ Formulario debe de estar centrado en pantalla, no puede ser modificado en tamaño, se
debe de suprimir los controles de maximizar, minimizar y cerrar la aplicación.

Requerimientos Funcionales de Formulario Menú

➢ Manejar menú de opciones: Archivo, Ingreso Mantenimiento, Reportes y Acerca de.


➢ Opción Ingreso debe de tener la opción de Cálculo de Planilla por Empleado.
➢ Opción Mantenimiento debe de tener las opciones de ingreso de nuevos empleados y
nuevas profesiones.
➢ Opción Reportes deberá de mostrar un formulario con reporte de ingresos de
empleados por Profesión. Puede incluir filtros.
➢ Opción Acerca de debe de abrir el programa Word para mostrar manual de usuario.
Deberá de investigar sobre el llamado de aplicaciones externas.
➢ Opción Salir finalizará la aplicación.

Requerimientos No Funcionales de Formulario Menú

➢ Formulario debe de mostrar título: Sistemas de Planilla – Departamento de Recursos


Humanos.
➢ El formulario debe de estar maximizado.
➢ Deberá de soportar un único formulario hijo a la vez.

Diseño de la Base de Datos en Microsoft SQL Server

➢ Crear una Base de Datos con el nombre BD_RECURSO_HUMANO.


➢ Crear la tabla Empleado con los campos: cédula, nombre, primer apellido, segundo
apellido, fecha de nacimiento, género (M/F) y código de profesión. Llave primaria
cédula.
➢ Crear la tabla Planilla con los campos: cédula, número de comprobante consecutivo,
fecha y hora de ingreso a planilla , horas ordinarias, horas extras, salario por hora según
profesión y antigüedad en años. Llave primaria cédula y número de comprobante.
➢ Crear la tabla Salario con los campos: cédula, número de comprobante consecutivo,
fecha y hora de ingreso a planilla, monto salario bruto, monto de bono, monto de CCSS
Página 10 de 11
- Enfermedad y maternidad, monto de CCSS - Invalidez y Muerte, monto de Aporte
Trabajador Banco Popular, monto del impuesto de Renta y el monto de salario neto.
Llave primaria cédula, número de comprobante.
➢ No se puede eliminar información de las tablas.
➢ Crear las relaciones necesarias por medio de llaves foráneas.
➢ Crear respaldo .BAK de la Base de Datos.

Diseño de la Conexión de Visual Studio 2019 Community con Microsoft SQL Server

➢ Crear conexión de aplicación con la Base de Datos por medio un DLL llamado
libreriaConexion.
➢ Crear un método que se encargue de enviar las consultas SQL a la Base de Datos por
medio de Modelo de Datos Desconectados y llene resultados por medio de un
DATASET.
➢ Crear instalador .EXE para ejecutar aplicación desarrollada desde equipo local.

Página 11 de 11

También podría gustarte