Modificar empleado Buscar emplead

Anuncio
REALIZAR LOS DIAGRAMAS DE SECUENCIA Y EL DIAGRAMA DE CLASES DE
DISEÑO PARA LAS TRANSACCIONES:
Modificar empleado
Buscar empleado
Ver lista de empleados
1. Especificación de Requisitos
Mantener Empleados
*
*
Empleado RRHH
1.1 Caso de Uso: Mantener Empleados
Este caso de uso permite que el usuario realice el mantenimiento de la información de los empleados en el
sistema. Esto incluye crear y modificar empleados del sistema
1.1.1 Flujo básico
El usuario selecciona “Añadir Empleado”.
2. El sistema muestra un formulario en blanco.
3. El usuario ingresa la siguiente información en el sistema: código, nombre y apellido, tipo de empleado (jefe
de área, obrero o asistente), sexo y conocimiento de idiomas (inglés o alemán).
4. El sistema verifica que se haya ingresado toda la información del empleado. Si todo es correcto el sistema
registra el empleado en el sistema y muestra un mensaje de operación realizada.
5. Los pasos 2-4 son repetidos para cada empleado nuevo. Cuando el usuario termina de añadir empleados el caso
de uso finaliza.
1.1.2
1. El
2. El
3. El
4. El
5. El
área,
6. El
Flujo alternativo “Modificar empleado”
usuario selecciona “Modificar un Empleado”.
sistema muestra un formulario en blanco.
usuario ingresa el número de empleado a ser buscado.
sistema busca el empleado y muestra su información.
usuario modifica uno o más campos del empleado tales como: nombre y apellido, tipo de empleado (jefe de
obrero o asistente), sexo y conocimiento de idiomas (inglés o alemán) y selecciona aceptar.
sistema guarda los datos modificados y el caso de uso finaliza.
1.1.3 Flujo excepcional
Si en el paso 3 del flujo alternativo “Modificar empleado” el usuario ingresa el código de un empleado que no
existe el sistema muestra un mensaje de error.
2. Análisis
2.1 Clases de análisis
Empleado
-Codigo
-Nombre
-Tipo
-Sexo
-Ingles
-Aleman






Código=identificador del empleado. Es un número entero.
Nombre=nombre y apellidos del empleado.
Tipo=identificador que indica el tipo de empleado (0=jefe de
área,1=obrero,2=asistente)
Sexo=indica si el sexo del empleado es masculino (0) o femenino (1)
Ingles=indica si el usuario sabe inglés (verdadero o falso)
Aleman=indica si el usuario sabe alemán (verdadero o falso)
2.2 Lista de transacciones
La lista de operaciones para el caso de uso “Mantener Empleados” es:
a)
b)
c)
Agregar empleado
Modificar información de un empleado
Buscar empleado
public class VentanaPrincipal : System.Windows.Forms.Form
{
private MenuItem menuEmpleado;
private MenuItem menuItemNuevoEmpleado;
private MenuItem menuItemMostrarEmpleado;
private MenuItem menuItem4;
private MenuItem menuItemSalir;
private MainMenu mnuMenu;
private MenuItem menuItemAyuda;
private MenuItem menuItemAcercaDe;
private GestorEmpleado gesemp;
public VentanaPrincipal(GestorEmpleado gesemp)
{
InitializeComponent();
this.gesemp=gesemp;
}
private void InitializeComponent()...
private void menuItemNuevoEmpleado_Click(object sender, System.EventArgs e)
{
AgregarEmpleadoDlg dlg=new AgregarEmpleadoDlg(gesemp);
dlg.ShowDialog();
}
private void menuItemMostrarEmpleado_Click(object sender, System.EventArgs e)
{
ModificarEmpleadoDlg dlg=new ModificarEmpleadoDlg(gesemp);
dlg.ShowDialog();
}
private void menuItemSalir_Click(object sender, System.EventArgs e)
{
Close();
}
private void menuItemAcercaDe_Click(object sender, System.EventArgs e)
{
MessageBox.Show("Ejemplo de clase 'Mantenimiento de Empleados'");
}
static void Main()
{
GestorEmpleado gesemp=new GestorEmpleado();
Application.Run(new VentanaPrincipal(gesemp));
}
public class ModificarEmpleadoDlg : Form
{
private Empleado empleado=null;
protected Label lbCodigo;
protected TextBox txtCodigo;
protected Label lbNombre;
protected GroupBox groupSexo;
protected GroupBox groupIdiomah
protected Label lbTipo;
protected TextBox txtNombre;
protected RadioButton radioMasculino;
protected RadioButton radioFemenino;
protected CheckBox chkIngles;
protected CheckBox chkAleman;
protected ComboBox cmbTipo;
protected Button btnActualizar¨
private System.Windows.Forms.Button cmdBuscar;
protected Button btnSalir;
private GestorEmpleado gesemp;
public ModificarEmpleadoDlg(GestorEmpleado gesemp)
{
this.gesemp=gesemp;
InitializeComponent();
}
private void InitializeComponent()...
private void cmdBuscar_Click(object sender, System.EventArgs e)
{
int cod=Convert.ToInt32(txtCodigo.Text);
empleado=gesemp.BuscarEmpleado(cod);
if (empleado==null)
{
MessageBox.Show("No existe empleado");
return;
}
chkAleman.Checked=empleado.obtAleman();
chkIngles.Checked=empleado.obtIngles();
txtNombre.Text=empleado.obtNombre();
if (empleado.obtSexo()==1)
radioFemenino.Checked=true;
else
radioFemenino.Checked=false;
cmbTipo.SelectedIndex=empleado.obtTipo();
}
private void btnAceptar_Click(object sender, System.EventArgs e)
{
if(empleado==null)
{
MessageBox.Show("No ha seleccionado un empleado");
return;
}
string nom=txtNombre.Text;
bool ing=chkIngles.Checked;
bool ale=chkAleman.Checked;
int sexo=0;
int tipo=0;
if (radioFemenino.Checked)
sexo=1;
tipo=cmbTipo.SelectedIndex;
empleado.ActualizarDatos(nom,tipo,ing,ale,sexo);
}
}
public class Empleado
{
private int codigo;
private string nombre;
private int tipo;
private bool ingles;
private bool aleman;
private int sexo;
public Empleado(){}
public Empleado(int codigo, string nombre, int tipo, bool ingles, bool aleman, int sexo)
{
this.codigo=codigo;
this.nombre=nombre;
this.tipo=tipo;
this.ingles=ingles;
this.aleman=aleman;
this.sexo=sexo;
}
public int obtCodigo()
{ return codigo;}
public string obtNombre()
{ return nombre;}
public int obtTipo()
{ return tipo;}
public bool obtIngles()
{ return ingles;}
public bool obtAleman()
{ return aleman; }
public int obtSexo()
{ return sexo;}
public void ActualizarDatos(string nombre, int tipo, bool ingles, bool aleman, int sexo)
{
this.nombre=nombre;
this.tipo=tipo;
this.ingles=ingles;
this.aleman=aleman;
this.sexo=sexo;
}
}
public class GestorEmpleado
{
private Empleado[] empleados;
private int numempleados;
public GestorEmpleado()
{
numempleados=0;
empleados=new Empleado[20];
}
public void AgregarEmpleado(int codigo,string nombre,int tipo,bool ingles,bool aleman,int sexo)
{
empleados[numempleados++]=new Empleado(codigo,nombre,tipo,ingles, aleman, sexo);
}
public Empleado ObtenerEmpleado(int i)
{
return empleados[i+1];
}
public Empleado BuscarEmpleado(int codigo)
{
for(int i=0;i<numempleados;i++)
{
if(empleados[i].obtCodigo==codigo)
return empleados[i];
}
return null;
}
}
Descargar