Java - carPooling proyecto JAVA

 
Vista:

carPooling proyecto JAVA

Publicado por Richard (1 intervención) el 01/06/2017 18:22:38
Hola muy buenos días lawebdelprogramador como estan,,,
les pido un gran enorme favor que me ayuden con este proyecto de java....Explicación

el proyecto que tengo esta todo completo en el código JAVA en eclipse, pero me piden que a ese mismo proyecto crear un nuevo atributo el cual es el siguiente.

Informar cuántos conductores tienen un carro con modelo superior a determinado año.

Sobre este nuevo requerimiento se debe:
1. Analizar el requerimiento.
2. Descomponer el requerimiento en pasos. (Utilizar técnica de descomposición de requerimientos y del experto sobre el requerimiento.
3. Crear nuevo atributo
4. Desarrollar el contrato, signatura y cuerpo del método dar del atributo creado.
5. Desarrollar el contrato, signatura y cuerpo de cada uno de los métodos adicionales que requiere para cumplir con el nuevo requerimiento

con mas importancia ayudenme a resolver el 3 4 y 5

creo que es en esta clase Conductor donde hay que hacer lo que necesito,,,,

por favor Ayudenme..Muchas Gracias

/**
* Clase que representa a un conductor.
*/
public class Conductor
{

// -----------------------------------------------------------------
// Atributos
// -----------------------------------------------------------------

/**
* Nombre completo del conductor.
*/
private String nombre;

/**
* Cédula del conductor.
*/
private String cedula;

/**
* Placa del carro que maneja el conductor.
*/
private String placaCarro;

/**
* Modelo del carro que maneja el conductor.
*/
private String modeloCarro;

/**
* Ruta donde se encuentra la foto del conductor.
*/
private String rutaFoto;

/**
* Carrera actual del conductor.
*/
// TODO Parte 2 punto A: Declare el atributo carreraActual de tipo Carrera.
private Carrera carreraActual;

/**
* Representa la cantidad de asientos disponibles del carro.
*/
private int cantidadAsientosDisponibles;

// -------------------------------------------------------------
// Constructor
// -------------------------------------------------------------

/**
* Crea el conductor con los valores dados por parámetro. <br>
* <b> post: </b> El nombre, la cédula, la placa y el modelo del carro y la foto fueron inicializados con los valores dados por parámetro.<br>
* La carrera fue inicializada en null. <br>
* @param pNombre Nombre del conductor. pNombre != null && pNombre != "".
* @param pCedula Cédula del conductor. pCedula != "" && pCedula != null.
* @param pPlaca Placa del carro conductor. pPlaca != null && pPlaca != "".
* @param pModeloCarro Modelo del carro del conductor. pModeloCarro != null && pModeloCarro != "".
* @param pRutaFoto Ruta donde se encuentra la foto del conductor. pImagen != null && pImagen != "".
*/
public Conductor( String pNombre, String pCedula, String pPlaca, String pModeloCarro, String pRutaFoto, int pCantidadAsientos )
{
nombre = pNombre;
cedula = pCedula;
placaCarro = pPlaca;
modeloCarro = pModeloCarro;
rutaFoto = pRutaFoto;
// TODO Parte 2 punto B: Inicialice el atributo carreraActual según la documentación dada.
carreraActual = null;
cantidadAsientosDisponibles = pCantidadAsientos;
}

// -----------------------------------------------------------------
// Métodos
// -----------------------------------------------------------------

/**
* Retorna el nombre completo del conductor.
* @return Nombre del conductor.
*/
public String darNombre( )
{
return nombre;
}

/**
* Retorna la cédula del conductor.
* @return Cédula del conductor.
*/
public String darCedula( )
{
return cedula;
}

/**
* Retorna la placa del carro que maneja el conductor.
* @return Placa del carro que maneja el conductor.
*/
public String darPlacaCarro( )
{
return placaCarro;
}

/**
* Retorna el modelo del carro que maneja el conductor.
* @return Modelo del carro que maneja el conductor.
*/
public String darModeloCarro( )
{
return modeloCarro;
}

/**
* Retorna la ruta de la foto del conductor.
* @return Ruta de la foto del conductor.
*/
public String darRutaFoto( )
{
return rutaFoto;
}

/**
* Retorna la cantidad de asientos disponibles del carro del conductor.
* @return Cantidad de asientos disponibles en el carro del conductor.
*/
// TODO Parte 2, punto 4: Copie el contrato y la implementación.
public int darCantidadAsientosDisponibles( )
{
return cantidadAsientosDisponibles;
}

/**
* Retorna la carrera asignada al conductor.
* @return Carrera asignada al conductor.
*/
public Carrera darCarreraActual( )
{
return carreraActual;
}

/**
* Indica si el conductor está disponible.
* @return True si el conductor está disponible, false de lo contrario.
*/
public boolean estaDisponible( )
{
// TODO Parte 2 Punto C: Completar el método según la documentación dada.
if(carreraActual == null )
return true;
return false;
}

/**
* Asigna una carrera al conductor usando los datos recibidos por parámetro.<br>
* <b>post: </b> La carrera actual fue creada y asignada.
* @param pNombre Nombre del usuario. pNombre != null && pNombre != "".
* @param pTelefonoCelular Número de teléfono celular del usuario. pTelefonoCelular > 0.
* @param pMedioDePago Medio de pago del usuario. pMedioDePago pertenece{Carrera.PAGO_TARJETA, Carrera.PAGO_EFECTIVO}.
* @param pOrigen Origen de la carrera. pOrigen != null && pOrigen != "".
* @param pDestino Destino de la carrera. pDestino != null && pDestino != "".
* @param pCantidadPasajeros Cantidad de pasajeros de la carrera. pCantidadPasajeros > 0.
*/
public void asignarCarrera( String pNombre, int pTelefonoCelular, String pMedioDePago, String pOrigen, String pDestino, int pCantidadPasajeros )
{
carreraActual = new Carrera( pNombre, pTelefonoCelular, pMedioDePago, pOrigen, pDestino, pCantidadPasajeros );
}


// TODO Modifique el contrato del método según la implementación.
public void terminarCarrera( int pDuracion, double pDistancia ) throws Exception
{
// TODO Modificar método
if( estaDisponible() )
{
throw new Exception( "El conductor no tiene ninguna carrera asignada." );
}
carreraActual.terminarCarrera( pDuracion, pDistancia );
}

/**
* Calcula el costo adicional de la carrera teniendo en cuenta la tarifa de duración y la tarifa de distancia recibidas por parámetro.
* @param pTarifaDuracion Tarifa sobre la duración de la carrera a tener en cuenta. pTarifaDuracion > 0.
* @param pTarifaDistancia Tarifa sobre la distancia de la carrera a tener en cuenta. pTarifaDistancia > 0.
* @return Costo adicional de la carrera.
*/
public double calcularCostoAdicional( double pTarifaDuracion, double pTarifaDistancia )
{
return pTarifaDuracion * carreraActual.darDuracion( ) + pTarifaDistancia * carreraActual.darDistancia( );
}

/**
* Termina el servicio que tiene el conductor actualmente si la carrera ya terminó.<br>
* <b> pre: </b> El conductor tiene una carrera actual.<br>
* <b> post: </b> La carrera actual fue modificada a null.
* @return True si terminó el servicio, false si la carrera no estaba terminada.
*/
public boolean terminarServicio( )
{
// TODO Parte 2 Punto F: Complete el método según la información dada.
if (carreraActual.darEstado().equals(Carrera.TERMINADA))
{
carreraActual = null;
return true;
}
return false;
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder