0% encontró este documento útil (0 votos)
11 vistas15 páginas

Clases y GUI para Proyecto Aeropuerto

El documento describe la estructura de un proyecto de software para la gestión de un aeropuerto, incluyendo la creación de clases en el backend como Aeropuerto, Vuelo y Pasajero, así como su serialización a JSON. También se detalla la implementación de una interfaz gráfica de usuario (GUI) en el frontend, incluyendo la validación de datos y la integración entre el backend y el frontend. Se presentan ejemplos de código en C# para ilustrar la funcionalidad de las clases y la interacción del usuario.

Cargado por

dalwin.lagos
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas15 páginas

Clases y GUI para Proyecto Aeropuerto

El documento describe la estructura de un proyecto de software para la gestión de un aeropuerto, incluyendo la creación de clases en el backend como Aeropuerto, Vuelo y Pasajero, así como su serialización a JSON. También se detalla la implementación de una interfaz gráfica de usuario (GUI) en el frontend, incluyendo la validación de datos y la integración entre el backend y el frontend. Se presentan ejemplos de código en C# para ilustrar la funcionalidad de las clases y la interacción del usuario.

Cargado por

dalwin.lagos
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Estructura del proyecto:

B. Crear Clases en el Proyecto BackEnd

Para un aeropuerto, podríamos tener clases como Aeropuerto, Vuelo,


Pasajero, Embarque, Piloto, etc. Aquí un ejemplo de clases básicas:

csharp

// Clase Base

public abstract class Persona

public int Id { get; set; }

public string Nombre { get; set; }

public string Apellido { get; set; }

public string Nacionalidad { get; set; }

public DateTime FechaNacimiento { get; set; }

public string DocumentoIdentidad { get; set; }

public abstract void MostrarInformacion();

// Clase Derivada

public class Pasajero : Persona

public string NumeroTicket { get; set; }

public string Clase { get; set; }

public string Destino { get; set; }

public string Asiento { get; set; }

public override void MostrarInformacion()


{

[Link]($"Pasajero: {Nombre} {Apellido}, Ticket:


{NumeroTicket}, Destino: {Destino}");

// Otra Clase Derivada

public class Piloto : Persona

public string NumeroLicencia { get; set; }

public int AniosExperiencia { get; set; }

public string Aerolinea { get; set; }

public override void MostrarInformacion()

[Link]($"Piloto: {Nombre} {Apellido}, Licencia:


{NumeroLicencia}, Aerolinea: {Aerolinea}");

3. Guardar Clases en Archivo JSON

C. Serializar Clases a JSON

Utiliza [Link] para serializar y deserializar objetos:

csharp

using [Link];

// Serializar

public void GuardarPersona(Persona persona)

var json = [Link](persona);


[Link]($"{[Link]}.json", json);

// Deserializar

public Persona CargarPersona(int id)

var json = [Link]($"{id}.json");

return [Link]<Persona>(json);

4. Implementación de la GUI

D. Diseño de la GUI

Crea formularios en el proyecto FrontEnd con buenos diseños, íconos


en botones y menús. Por ejemplo, un formulario para gestionar
pasajeros:

Añade un Form para gestionar pasajeros.

Añade controles como TextBox, Button, DataGridView y MenuStrip.

Utiliza íconos en los botones para mejorar la experiencia del usuario.

csharp

// Ejemplo de manejo de eventos en el FrontEnd

private void btnGuardar_Click(object sender, EventArgs e)

var pasajero = new Pasajero

Id = [Link]([Link]),

Nombre = [Link],

Apellido = [Link],
Nacionalidad = [Link],

FechaNacimiento = [Link]([Link]),

DocumentoIdentidad = [Link],

NumeroTicket = [Link],

Clase = [Link],

Destino = [Link],

Asiento = [Link]

};

// Llamar método del BackEnd para guardar pasajero

[Link](pasajero);

[Link]("Pasajero guardado exitosamente.");

5. Validaciones y Métodos

E. Validaciones

Añade validaciones a las entradas de datos:

csharp

public class Validaciones

public static bool ValidarPersona(Persona persona)

if ([Link]([Link]))

throw new ArgumentException("El nombre es obligatorio.");

if ([Link]([Link]))

throw new ArgumentException("El apellido es obligatorio.");

// Otras validaciones

return true;

}
}

6. Integración y Ejecución

F. Integrar BackEnd con FrontEnd

Asegúrate de que el FrontEnd instancie y utilice las clases del


BackEnd:

csharp

private Backend backend = new Backend();

SEGUNDA OPCION DE ESTRUCTURA: 2. Clases del Backend

Vamos a definir algunas clases básicas:

Clase Aeropuerto

csharp
public class Aeropuerto

public string Nombre { get; set; }

public string Ubicacion { get; set; }

public int Capacidad { get; set; }

public List<Vuelo> Vuelos { get; set; }

public string CodigoIATA { get; set; }

public string Pais { get; set; }

public List<Pasajero> Pasajeros { get; set; }

public Aeropuerto()

Vuelos = new List<Vuelo>();

Pasajeros = new List<Pasajero>();

Clase Vuelo

csharp

public class Vuelo

public string NumeroVuelo { get; set; }

public string Aerolinea { get; set; }

public string Origen { get; set; }

public string Destino { get; set; }

public DateTime HoraSalida { get; set; }

public DateTime HoraLlegada { get; set; }

public List<Pasajero> Pasajeros { get; set; }

public Vuelo()
{

Pasajeros = new List<Pasajero>();

Clase Pasajero

csharp

public class Pasajero

public string Nombre { get; set; }

public string DocumentoIdentidad { get; set; }

public string Telefono { get; set; }

public string Email { get; set; }

public DateTime FechaNacimiento { get; set; }

// Método para validar el email

public bool EsEmailValido()

return [Link]("@");

3. Archivo JSON

Para almacenar la información de las clases, puedes


usar [Link] para serializar y deserializar a JSON. Aquí tienes
un ejemplo básico de cómo guardar y cargar datos:

csharp

using [Link];

using [Link];

public class JsonHandler

{
private const string filePath = "[Link]";

public void GuardarDatos(Aeropuerto aeropuerto)

var jsonData = [Link](aeropuerto,


[Link]);

[Link](filePath, jsonData);

public Aeropuerto CargarDatos()

if (![Link](filePath))

return new Aeropuerto();

var jsonData = [Link](filePath);

return [Link]<Aeropuerto>(jsonData);

4. Interfaz de Usuario (GUI)

Usando WinForms o WPF para construir la GUI. Aquí hay un ejemplo


simple de cómo podrías crear un formulario para agregar un nuevo
vuelo.

csharp

public partial class Form1 : Form

private Aeropuerto aeropuerto;

private JsonHandler jsonHandler;

public Form1()

{
InitializeComponent();

jsonHandler = new JsonHandler();

aeropuerto = [Link]();

private void btnAgregarVuelo_Click(object sender, EventArgs e)

Vuelo vuelo = new Vuelo

NumeroVuelo = [Link],

Aerolinea = [Link],

Origen = [Link],

Destino = [Link],

HoraSalida = [Link],

HoraLlegada = [Link]

};

[Link](vuelo);

[Link](aeropuerto);

[Link]("Vuelo agregado correctamente.");

5. Buen Diseño de la GUI

Para asegurar una buena experiencia de usuario:

 Diseño de la interfaz: Usa un diseño claro y coherente, con


botones representativos y alineación adecuada.

 Uso de íconos: Estiliza los botones y utiliza íconos fácilmente


identificables.

 Menús: Agrega un menú principal para navegar entre las


funcionalidades del sistema (ej. Agregar Vuelo, Ver Vuelos, etc.).
 Validaciones: Implementa validaciones en los campos del
formulario antes de procesar la entrada del usuario (puedes
usar mensajes de error para notificar al usuario).

6. Validaciones

Asegúrate de aplicar validaciones en la entrada de datos. Por


ejemplo, verifica que todos los campos sean completados antes de
crear un nuevo vuelo.

csharp

if ([Link]([Link]) || !
[Link]([Link]))

[Link]("Por favor, ingrese un número de vuelo válido.");

return;

Ejemplo de [Link]:

csharp

public abstract class Persona

public int Id { get; set; }

public string Nombre { get; set; }

public string Apellido { get; set; }


public string Nacionalidad { get; set; }

public DateTime FechaNacimiento { get; set; }

public string DocumentoIdentidad { get; set; }

public abstract void MostrarInformacion();

Ejemplo de [Link]:

csharp

public class Pasajero : Persona

public string NumeroTicket { get; set; }

public string Clase { get; set; }

public string Destino { get; set; }

public string Asiento { get; set; }

public override void MostrarInformacion()

[Link]($"Pasajero: {Nombre} {Apellido}, Ticket:


{NumeroTicket}, Destino: {Destino}");

C. Crear el Proyecto FrontEnd

1. Agregar un proyecto de aplicación de Windows Forms:

o Haz clic derecho en la solución en el Explorador de


Soluciones.

o Selecciona Agregar > Nuevo Proyecto.

o Busca Windows Forms App (.NET) y selecciónalo.

o Dale un nombre al proyecto, por ejemplo, Frontend, y haz


clic en Crear.
2. Configurar el proyecto FrontEnd para usar el proyecto
BackEnd:

o Haz clic derecho en el proyecto Frontend.

o Selecciona Agregar > Referencia de Proyecto.

o Marca la casilla de Backend y haz clic en Aceptar.

2. Diseñar la Interfaz de Usuario (GUI)

D. Crear el Formulario Principal

1. Agregar un formulario para gestionar pasajeros:

o En el proyecto Frontend, abre [Link] o el formulario


principal.

o Añade controles como TextBox, Button, DataGridView y


MenuStrip desde la Caja de Herramientas.

o Coloca y configura los controles para mejorar la


experiencia del usuario (añade íconos, alineación, etc.).

E. Código del Formulario

Ejemplo de código para [Link]:

csharp

using System;

using [Link];

using Backend; // Referencia al proyecto BackEnd

public partial class Form1 : Form

private GestorDeArchivos gestor = new GestorDeArchivos();

public Form1()

InitializeComponent();

}
private void btnGuardar_Click(object sender, EventArgs e)

try

var pasajero = new Pasajero

Id = [Link]([Link]),

Nombre = [Link],

Apellido = [Link],

Nacionalidad = [Link],

FechaNacimiento =
[Link]([Link]),

DocumentoIdentidad = [Link],

NumeroTicket = [Link],

Clase = [Link],

Destino = [Link],

Asiento = [Link]

};

[Link](pasajero);

[Link](pasajero);

[Link]("Pasajero guardado exitosamente.");

catch (Exception ex)

[Link]($"Error: {[Link]}");

}
3. Serializar Clases a JSON en el Proyecto BackEnd

F. Implementar Métodos de Serialización

Ejemplo de [Link]:

csharp

using [Link];

using [Link];

public class GestorDeArchivos

public void GuardarPersona(Persona persona)

var json = [Link](persona);

[Link]($"{[Link]}.json", json);

public Persona CargarPersona(string fileName)

var json = [Link]($"{fileName}.json");

return [Link]<Persona>(json);

4. Validaciones y Métodos

G. Implementar Validaciones

Ejemplo de [Link]:

csharp

public class Validaciones

public static bool ValidarPersona(Persona persona)

{
if ([Link]([Link]))

throw new ArgumentException("El nombre es obligatorio.");

if ([Link]([Link]))

throw new ArgumentException("El apellido es obligatorio.");

if ([Link] > [Link])

throw new ArgumentException("La fecha de nacimiento no


puede ser en el futuro.");

// Otras validaciones

return true;

También podría gustarte