PRESENTACIÓN MULTIPLAN
Grupo 3
Componentes del Grupo
Alexis Loyola David Montero David Salinas Ekaitz Virto Iñigo Aragón Raquel Montero Xabier Arrondo
DESARROLLO TÉCNICO
CAPTURA DE REQUERIMIENTOS ANALISIS ARQUITECTURA DEL SISTEMA ELECCIÓN TECNOLÓGICA CAPA
PRESENTACIÓN DISEÑO IMPLEMENTACIÓN PRUEBAS PLAN DE IMPLANTACIÓN
Captura de Requerimientos
Análisis
Hemos reciclado los métodos de la iteración anterior que muestran la Información total de las excursiones a anular.
Así como el método que muestra la lista de SMS’s de los clientes afectados.
Arquitectura del Sistema
Tres niveles: Capa de presentación Capa de negocio Capa de gestión de datos
Ventajas: Reusable Portable Cambiable
Elección Tecnológica Capa de Presentación
Google Web ToolkitVentajas: Ajax en Java Similar AWT-Swing.
import com.google.gwt.user.client.ui.Button;
...
private Button bAceptar= new Button();
Capacidad integración de aplicaciones Google: gmail, gmaps. etc.
No programación en Javascript.
Html en Java. Desventajas: Mala documentación. Compilación complicada
Diseño
Implementación Capa de Gestión de Datos
MySql + SqlYog Procedimientos Almacenados
Integridad BD Principios ACID ( procedimiento
almacenado Split) Atomicidad Consistencia Aislamiento Durabilidad
ImplementaciónCapa de Negocio
• ECLIPSE EUROPA V.3.3.1.1• Driver mysql-connector-java-5.1.5.
Implementación Capa de Presentación
Estructura de proyecto en Gwt Cliente (JavaScript)
- Interfaz Servicios: métodos invocados por la aplicación que están en servidor
public interface Servicios extends RemoteService {public List obtExcursiones(String pTE);
}
-Interfaz ServiciosAsincronos: mismos métodos de Servicios transformados en Void + parámetro Callback.
public interface ServiciosAsync { public void obtExcursiones(String pIdTE,AsyncCallback callback);}
Servidor (Java)-Clase ServiciosImplementados: llama a métodos de capa de negocio ( clases java compiladas (.class) en librerías).
public class ServiciosImpl extends RemoteServiceServlet implements Servicios {public String obtTipoExcursion(String pIdTE){
return gestorCTE.obtenerTipoExcursion(pIdTE);}
}
Implementación Capa de Presentación
Estructura de proyecto en Gwt
Implementación Capa de Presentación
Objeto AsyncCallback: permite recoger los resultados de los métodos invocados del servidor sin esperar el resultado y verifica corrección de la comunicación.
Gracias a la clase ServiciosAsincronos es posible definir un objeto “servicios” a partir de las dos interfaces que me permitirá trabajar de manera asíncrona con el AsyncCallback
private final ServiciosAsync servicios=(ServiciosAsync)GWT.create(Servicios.class);
AsyncCallback callback= new AsyncCallback(){
public void onSuccess(Object result){
//recojo en result el resultado de la llamada y lo mostraría
}
public void onFailure(Throwable caught){
//mostrar mensaje de error en comunicación}
};
servicios.obtTipoExcursion(idTE,callback);
Pruebas
Se han realizado diversas pruebas que han permitido localizar y corregir los siguientes errores:
En PlanificarExcursiones no se mostraban las excursiones que no tenían reservas asociadas. SOL: LOJ en lugar de IJ
En GestionarExcursiones no se mostraban las excursiones que no tenían reservas asociadas. Sol: LOJ en lugar de IJ
En Gestionar y Planificar Excursiones no se mostraban bien los SMS de los clientes afectados cuando no había reservas asociadas a una excursión.
En CrearExcursion no se mostraba por defecto el abono.
Etc.
Plan de Implantación
1- Instalación de Apache Tomcat. La instalación de Tomcat en Windows puede ser
realizada utilizando el instalador para Windows. 2- Instalación de MySql y SqlJog
La base de datos está instalada en la máquina servidora de la aplicación. No RMI.
3- Instalación de la aplicación Multiplan. La instalación de Multiplan resulta sencilla, pues la
aplicación se encuentra compilada de tal forma que únicamente hay que copiar dichos archivos en la siguiente dirección * C:\Archivos de programa\Apache Software Foundation\Tomcat 6.0\webapps\ROOT.
Una vez se haya realizado la copia de los archivos de la página web iniciamos el servicio de Tomcat y accedemos mediante Internet Explorer
Gestión del proyecto
Método de trabajo - Coordinador permanente
- Secretario Temporal- División de trabajo en Subgrupos- Reuniones Frecuentes (2 semanales)
Incidencias- Atraso del plazo de entrega 1º Iteración- Entrega de 2º Iteración no compilabe
Hemos seguido el PUD
Gestión del proyecto
GANT
Gestión del proyecto
Horas planificadas vs. horas reales:
Horas Totales Planificadas ----- 1000
Horas Totales Reales ------------- 973
Desglose por iteraciones
0
50
100
150
200
250
P R P R P R P R P R P R P R
DopCaptura RequerimientosAnalisisDiseno1ºIteracion2ºIteracion3ºIteracion
Gestión del proyecto
Desglose Por tareas
DOP
0
2
4
6
8
10
12
14
16
18
20
D M R E A D S I X
Dop Planificado
Dop Real
Gestión del proyecto
Desglose Por tareas
Captura de Requerimientos
0
5
10
15
20
25
30
D M R E A D S I X
Captura deRequerimientosPlanificada
Captura deRequerimientos Real
Gestión del proyecto
Desglose Por tareas
Análisis
0
5
10
15
20
25
D M R E A D S I X
Analisis Planificado
Analisis Real
Gestión del proyecto
Desglose Por tareas
Diseño
0
5
10
15
20
25
D M R E A D S I X
Diseño Planificado
Diseño Real
Gestión del proyecto
Desglose Por tareas
1º Iteración
0
5
10
15
20
25
30
D M R E A D S I X
1ºIteracionPlanificado
1ºIteracionReal
Gestión del proyecto
Desglose Por tareas
2º Iteración
0
5
10
15
20
25
30
35
40
45
50
D M R E A D S I X
2ºIteracionPlanificado
2ºIteracionReal
Gestión del proyecto
Desglose Por tareas
3º Iteración
0
5
10
15
20
25
30
35
40
45
50
D M R E A D S I X
3ºIteracionPlanificado
3ºIteracionReal
Gestión del proyecto
Conclusiones de la gestión- Plazos Cumplimentados
-Aplicación final funcional.
- Secretario = Incremento horas trabajo
- Mala distribución de horas de trabajo en alguna iteración
Conclusiones
Conocimientos Adquiridos:
- Planificación/Gestión/Desarrollo de un proyecto de Software
-Trabajo en grupos grandes (Sobrecoste)
- División por capas de un proyecto
-Reforzado conocimientos en tecnologías conocidas
- Nuevas tecnologías útiles para el mundo Laboral