sábado, 17 de mayo de 2014

APO1 - Nivel 1 en C#: El Empleado

Tabla de Contenido

0. Introducción
1. Enunciado
1.1 Interfaz Gráfica de Usuario
2. Requerimientos
2.1 R1: Ingresar la información del empleado
2.2 R2: Actualizar el salario básico del empleado
2.3 R3: Calcular la edad del empleado
2.4 R4: Calcular la antigüedad del empleado
2.5 R5: Calcular las prestaciones del empleado
3. Modelo del Mundo del Problema
4. Interfaz Gráfica de Usuario (Versión Extendida)
5. Pruebas Unitarias
6. Documentación de la Aplicación
7. Exploración de Código Fuente C#
7.1 Modelo
7.2 GUI
8. Recursos
9. Conclusiones
10. Glosario
11. Literatura & Enlaces

0. Introducción

A través de esta primera aplicación que desarrollaremos siguiendo el paradigma de problema-solución (el cual es la motivación de la introducción a la algorítmica o programación en curso universitario o técnico). Veremos que el análisis es una pieza (proceso) fundamental para proponer una solución en un sistema de cómputo. Nuestro programa será capaz de interactuar con el usuario a través de una interfaz gráfica que ofrece varios servicios: captura de la información de un empleado a través de un formulario, actualización del salario de un empleado, entre otras. Por otro lado, veremos el uso de un entorno de desarrollo integrado como herramienta de trabajo para el desarrollo de la solución. ¡Manos a la obra!

[Nota: Se respetará cada uno de los elementos que pertenecen al proyecto de Cupi2 [1] del Departamento de Ingeniería de Sistemas y Computación [2] de la Universidad de los Andes [3], incluyendo el enlace de referencia. El texto en cursiva indica un extracto literal de la fuente; de lo contrario se dicta explícitamente.]

1. Enunciado

Desde [1]:

Se quiere una aplicación que permita manejar la información de un empleado. El empleado tiene nombre, apellido, sexo, fecha de nacimiento y una imagen asociada. Además, como trabaja en una determinada compañía tiene una fecha de ingreso a la misma y un salario básico.

En la aplicación se puede:
  1. Modificar el salario del empleado, y
  2. realizar algunos cálculos con la información disponible:

    (a) Edad actual,
    (b) Antigüedad en la empresa, y
    (c) Prestaciones a las que tiene derecho.
Para el cálculo de las prestaciones se utiliza la fórmula:
Fórmula de cálculo de las prestaciones de un empleado.
Donde:
  • p: prestaciones
  • a: antigüedad
  • s: salario

1.1 Interfaz Gráfica de Usuario (GUI)

En la Figura 1 [4] se muestra la interfaz de usuario tentativa para la aplicación. Esta interfaz debe permitir manipular los datos requeridos en la primera parte de esta sección.
Fórmula de cálculo de las prestaciones de un empleado.
Figura 1. Vista previa interfaz gráfica de Sistemas de Empleados.

2. Requerimientos

A continuación el listado de requerimientos funcionales para la aplicación Sistema de Empleado [5].

2.1 R1: Ingresar la información del empleado

Código: R1


Descripción: Ingresar la información del empleado.

Resumen: Se requiere la información básica de un empleado. Dicha información comprende datos personales y de vinculación a la empresa.

Entradas:
  • Nombre del empleado: Cadena de caracteres alfabéticos que representa el nombre del empleado.
  • Apellido del empleado: Cadena de caracteres alfabéticos que representa el nombre del empleado.
  • Género: Sexo o género. Carácter m o M (masculino), f o F (femenino).
  • Fecha de nacimiento: Cadena que representa un objeto de fecha para la fecha de nacimiento del empleado.
  • Fecha de ingreso: Cadena que representa la fecha de ingreso del empleado a la empresa.
  • Salario básico: Valor decimal para representar el salario básico del empleado.

Resultados:

La información del empleado ha sido admitida.

2.2 R2: Actualizar el salario básico del empleado

Código: R2

Descripción: Actualizar el salario básico del empleado.

Resumen: Permitir la modificación del salario básico de un empleado y actualizar dicha información.

Entradas:
  • Salario básico: Valor decimal que representa el nuevo salario básico del empleado.
Resultados: Nuevo salario básico del empleado.

2.3 R3: Calcular la edad del empleado

Código: R3

Descripción: Calcular la edad del empleado.

Resumen: Calcular e informar los años cumplidos del empleado.

Entradas:

  • Fecha nacimiento: La fecha de nacimiento del empleado.
Resultados: Edad calculada del empleado.

2.4 R4: Calcular la antigüedad del empleado

Código: R4

Descripción: Calcular la antigüedad del empleado

Resumen: Calcular e informar la cantidad de años que ha trabajado el empleado para la compañía.

Entradas:
  • Fecha de ingreso: Fecha en que el empleado ingresó a la compañía.
Resultados: Antigüedad o años que lleva el empleado en la compañía.

2.5 R5: Calcular las prestaciones del empleado

Código: R5

Descripción: Calcular las prestaciones de un empleado.

Resumen: A partir del salario básico, deducir el valor de las prestaciones del empleado. La fórmula para lograrlo es:

Donde:
  • p: prestaciones
  • a: antigüedad
  • s: salario
Entradas:

  • Fecha de ingreso: Fecha en que el empleado ingresó a la compañía.
  • Salario básico: Valor decimal que representa el valor del salario básico del empleado.
Resultados: Valor calculado de las prestaciones.

3. Modelo del Mundo del Problema

En la Figura 2 [5] se muestra el modelo conceptual adaptado a las construcciones disponibles (e.g., propiedades -Propiedades en C#-) en el lenguaje de programación C#.
Modelo del mundo del problema.
Figura 2. Modelo del mundo del problema (Adaptación de [5]).

4. Interfaz Gráfica de Usuario (Versión Extendida)

En la Figura 3 se muestra la interfaz gráfica de usuario actualizada con los controles visuales del Framework .NET:
Diagrama de clases para la interfaz gráfica de usuario (GUI)
Figura 3. Diagrama de clases para la interfaz gráfica de usuario (GUI).


[Nota: He incluido nuevos elementos o estilos gráficos para facilitar la lectura respecto al original [10].]

5. Pruebas Unitarias

En la Figura 4 se presenta el diagrama de pruebas para las clase Empleado y Fecha:
Diagrama de clases de prueba.
Figura 4. Diagrama de clases de prueba.

[Nota: He incluido nuevos elementos o estilos gráficos para facilitar la lectura respecto al original [11].]

6. Documentación de la Aplicación

7. Exploración de Código Fuente C#

7.1 Modelo
Figura 5. Conjunto de artefactos del Modelo.

Archivo Empleado.cs:

Archivo Fecha.cs:

7.2 GUI
Conjunto de artefactos de la GUI.
Figura 6. Conjunto de artefactos de la GUI.


Archivo ControlDatos.cs:



Archivo InputBox.cs:

[Nota: No se adjuntan los archivos fuente de las clases parciales de ControlConsultas, ControlDatos, ControlExtensiones, ControlSalario.]

8. Resursos

8.3 Aplicación en Ejecución

8.3.1 Capturas de pantalla
OrtizOL Sistema Manejador de Empleados
Figura 7. OrtizOL Sistema Manejador de Empleados.

Contraste visual de las aplicaciones.
Figura 8. Contraste visual de las aplicaciones (a la derecha original; a la izquierda producto de la traducción).

8.3.2 Vídeo

9. Conclusiones

En esta primera traducción hemos adquirido nuevo conocimiento en el uso de varios artefactos y herramientas de la plataforma .NET. En primera lugar hemos manipulado elementos del lenguaje C# necesarios para construir el modelo de un problema, la interfaz gráfica de usuario para la interacción. En este último caso hemos recurrido a Visual Studio 2013 para elaborar varios artefactos con la ayuda del editor de código fuente. Luego creamos un proyecto de pruebas de artefactos del mundo del problema para validar su correcto funcionamiento.

10. Glosario

  • Control
  • Empleado
  • Fórmula
  • GUI
  • Interfaz Gráfica de Usuario
  • Modelo
  • Prestaciones

11. Literatura & Enlaces

[1]: Cupi2 - http://cupi2.uniandes.edu.co/sitio/
[2]: - Ingeniería de Sistemas y Computación - http://sistemas.uniandes.edu.co/main/
[3]: Universidad de los Andes - Colombia - http://www.uniandes.edu.co/
[4]: Enunciado - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-1/el-empleado/enunciado-1592
[5]: Modelo Conceptual - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-1/el-empleado/modeloconceptual-n1empleado
[6]: Propiedades en C# | OrtizOL - Experiencias Construcción Software (xCSw) - http://ortizol.blogspot.com/2013/10/propiedades-en-c.html
[7]: How to: Add or Remove Resources - http://msdn.microsoft.com/en-us/library/3bka19x4(v=vs.80).aspxx
[8]: Icon Finder - https://cdn4.iconfinder.com/data/icons/free-large-boss-icon-set/128/Manager.png
[9]: Administrator, Employee, Male, Man, User icon | Icon Search Engine | Iconfinder - https://www.iconfinder.com/icons/22176/administrator_employee_male_man_user_icon#size=128
[10]: Interfaz - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-1/el-empleado/interfaz-n1empleado
[11]: Pruebas - http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-1/el-empleado/pruebas-n1empleado


J

1 comentario:

  1. porque no lo muestran terminado e inicial-izado con todos sus objetos y métodos

    ResponderEliminar

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.