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
Código
/** * Clase que representa a un conductor. */ public class Conductor { // ----------------------------------------------------------------- // Atributos // ----------------------------------------------------------------- /** * Nombre completo del conductor. */ /** * Cédula del conductor. */ /** * Placa del carro que maneja el conductor. */ /** * Modelo del carro que maneja el conductor. */ /** * Ruta donde se encuentra la foto del conductor. */ /** * 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 != "". */ { 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. */ { return nombre; } /** * Retorna la cédula del conductor. * @return Cédula del conductor. */ { return cedula; } /** * Retorna la placa del carro que maneja el conductor. * @return Placa del carro que maneja el conductor. */ { return placaCarro; } /** * Retorna el modelo del carro que maneja el conductor. * @return Modelo del carro que maneja el conductor. */ { return modeloCarro; } /** * Retorna la ruta de la foto del conductor. * @return Ruta de la foto del conductor. */ { 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. */ { carreraActual = new Carrera( pNombre, pTelefonoCelular, pMedioDePago, pOrigen, pDestino, pCantidadPasajeros ); } // TODO Modifique el contrato del método según la implementación. { // TODO Modificar método if( estaDisponible() ) { } 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; } }
MOD: Etiqueta GeSHi.