Download Práctica SinAuto (Grupo 2)

Document related concepts
no text concepts found
Transcript
Práctica SinAuto
(Grupo 2)
Mikel Cano Linazasoro
Oscar Ruiz de Infante Díaz de Durana
Guillermo Feijóo Gavari
Aitor Gonzalez Bilbao
Mikel Femia Ramos
Josu Arruti Bilbao
D.O.P.
OBJETIVOS
1. Comprometerse a llegar a cabo el proyecto SinAuto.
2. Consensuar los entornos de desarrollo para la realización del
proyecto.
3. Integrar la aplicación SinAuto con un gestor de mensajes.
4. Integrar mediante un servicio XML los movimientos bancarios con
la aplicación.
METODO DE TRABAJO
Métodos Tácticos
1.
Dividir el trabajo entre los miembros del grupo, realizando para ello
reuniones previas.
2.
El desarrollo del proyecto tendrá lugar en las instalaciones
universitarias del Campus de Ibaeta.
3. Por unanimidad hemos llegado a lo siguientes cargos dentro del
grupo.
Secretario: Guillermo Feijoó
Coordinador: Josu Arruti
Métodos operativos
1. Política de Copias de Seguridad: Usaremos el programa SECOFI que realizan copias de
seguridad automáticamente.
2. Durante cada reunión el secretario hará un acta de cada reunión
3. Elegir las herramientas adecuadas para llevar a cabo el proyecto:
Entorno de desarrollo -> Eclipse.
Lenguaje de programación -> JSP.
Gestor de bases de datos -> MySQL
Herramientas de Comunicación: Correo Electrónico, Messenger, Skype.
Editor de Diagramas UML: para Windows DIA, para Mac OmniGraffle.
Editor de Diagramas Gantt: Para Windows Gantt. Project (multiplataforma),
Microsoft Project para Mac Omniplan.
Realización de Documentos y Presentaciones: Microsoft Office y Openoffice.
Dopdf: conversor de documentos office en pdf.
Copias de seguridad: SECOFI y Google Code.
ALCANCE
Planificación del tiempo:
Las entregas que se van a realizar durante este curso 2008-2009 vienen detalladas a
continuación.
–
–
–
–
–
–
–
–
–
–
13/10/2008 Enunciado de la práctica
20/10/2008 Entrega: Configuración de grupos
03/11/2008 Entrega: DOP
24/11/2008 Entrega: Captura de Requisitos
15/12/2008 Entrega: Análisis
13/01/2009 Entrega: Diseño + Partes + Actas + Informe de Situación
23/02/2009 Entrega: Primera Iteración + Partes + Actas + Informe de Situación
23/03/2009 Entrega: Segunda Iteración + Partes + Actas + Informe de Situación
08/05/2009 Entrega: Tercera Iteración (Producto) + Memoria
11-12-14/05/2009 Entrega: Presentaciones públicas
Diagrama EDT
Previsión de esfuerzo:
Nombre DOP Captura de requisitos Análisis Diseño Implementación Exposición del trabajo Total horas
Oscar
Guillermo
Aitor
Mikel C.
Mikel F.
Josu
5
5
5
5
5
5
10
10
10
10
10
10
40
40
40
40
40
40
55
55
55
55
55
55
80
80
80
80
80
80
1
1
1
1
1
1
191
191
191
191
191
191
Total
30
60
240
330
480
6
1146
PLAN DE CONTINGENCIA
Servicios y Materiales Utilizados.
Equipos: Nuestro grupo dispondrá de un portátil por persona.
Sistemas Operativos: En general se utilizara Windows XP Professional para la elaboración del
proyecto. Solo un par de miembros del grupo disponen de otros sistemas menos utilizados, estos
son, MacOSX y Windows Vista 32- bit.
Software de desarrollo: El equipo desarrollara el proyecto en Java con la herramienta programación
Eclipse.
Sistemas Gestores de bases de datos: En principio se utilizara MySQL para la creación de la
contendrá datos (usuarios, coches, ...).
Sistemas de copias de seguridad: Para prevenir perdidas de datos se optara por una copia datos
de una tarea se vean actualizados. Para dicho cometido sitio subversión para ir actualizando las
implementaciones.
Servicios de contacto: Se hará mediante mail, msn, y móvil, en caso de incidencia.
Servicios de documentación: Se utilizara toda la documentación disponible tanto en Internet como
en bibliotecas, para resolver cualquier tipo de duda referente a cualquier tema relacionado con el
desarrollo del proyecto. Cuando la documentación no solvente el problema se tendrá que recurrir
al grupo o al profesor de la asignatura para pedir ayuda.
Identificación de riesgos y soluciones
Se organizaran reuniones cada vez que una incidencia tenga carácter urgente. Se
intentara llegar a una solución para abordar la incidencia. Se creará un informe de la incidencia, y
se prestara atención al progreso de la tarea. Si un componente del grupo no puede ir a la reunión
por cualquier motivo, será informado mediante un mail de la reunión.
Analizaremos soluciones cuando los problemas planteados no puedan tener una solución
factible. En este caso, se tendrá que recurrir a otros recursos:
1. Se tendrá que organizar una reunión urgente, lo antes posible.
2. Se abordara el problema para comprender su magnitud.
3. Se intentara alcanzar la solución mas optima.
Metodología para la prevención
Copias de seguridad
Para que el proyecto pueda estar actualizado y además protegido de la perdida de datos, lo
recomendable a seguir sera la creación de un sistema distribuido de copias de seguridad o un sitio
subversión para tener actualizado en todo momento el proyecto.
Si se opta por el primer caso, en cada equipo se tendría que instalar un software de respaldo
de datos, para que cada cierto tiempo esa información que se esta trabajando se copie en algún
servidor o en el equipo de un compañero para así disponer de una copia.
La segunda opción, seria la de crear un sitio subversión para tener actualizado el proyecto,
pero se tendría que automatizar un sistema de copias de seguridad por si el sistema fallase en
cualquier momento.
Mantenimiento de los equipos
Si lo que se pretende es no tener problemas de hardware, los equipos tendrán que ser
revisados periódicamente para verificar su estado. Se recomienda software que analice el estado de
los discos duros mediante la tecnología S.M.A.R.T. para comprobar su estado. Además de un
riguroso control de las temperaturas del sistema para evitar problemas.
Perdida irrecuperable de datos
Frente a esta situación hay dos posibilidades, que el disco duro haya sufrido daños físicos, o
que tan solo hayan sido lógicos. Si es la primera situación, el disco duro tiene pocas posibilidades
de ser recuperado, así como su información, para ellos existen empresas que recuperan datos, pero
sus precios oscilan entre 300-5000€ dependiendo de la magnitud del fallo y de la perdida. Si el caso
es el segundo, se puede intentar una recuperación de los datos con software especializado en ello.
FACTIBILIDAD
Después de realizar el DOP y estudiar todos los puntos que se deben tener en cuenta para
realizar el proyecto de una aplicación para gestionar una empresa de alquiler de vehículos, hemos
comprobado que disponemos de los recursos humanos y materiales necesarios para llevarlo a cabo,
por lo cual consideramos factible la materialización de dicho proyecto y el cumplimiento de los
plazos de entrega acordados.
DESARROLLO TECNICO
ARQUITECTURA DEL SISTEMA
Estas son las 3 capas de arquitectura utilizadas:
Capa de Presentación
Ocupa el nivel más alto de la aplicación. Muestra la información relacionada con los
contenidos de la aplicación, así como el resultado de la interacción de los usuarios con ellos.
Además, se comunica con las otras capas.
Capa de lógica de la aplicación
Proporciona la computación necesaria para la aplicación. La elección de la tecnología para
realizar dicha computación es una de las grandes decisiones a las que se enfrenta el grupo de
desarrolladores, y deben analizarse bien las características de la aplicación para que dicha elección
sea un acierto.
Capa de datos
Esta capa proporciona la capacidad de gestionar los datos de la aplicación, y generalmente
es un SABDR,( Sistema Administrador de Bases de Datos Relacionales), el encargado de la misma.
Gracias a ésto, se pueden abstraer los datos del resto de la aplicación, mejorando así la modularidad
de la aplicación.
ELECCIÓN TECNOLÓGICA
Capa de Presentación:
En ésta capa, cabe destacar la elección de la tecnología JSP, ( Java Server
Pages). Un JSP es una página Web con etiquetas especiales y código Java
incrustado. Permite generar contenido dinámico para web, en forma de documentos
HTML ,XML o de otro tipo. El funcionamiento general de la tecnología JSP es que el
Servidor de Aplicaciones interpreta el código contenido en la página JSP para
construir el código Java a generar. Éste código será el que genere el documento
(típicamente HTML) que se presentará en la pantalla del Navegador del usuario.
Capa de lógica de negocio:
Para toda la implementación de ésta capa, el grupo decidimos usar la
tecnolgía Java, por sus ya conocidas ventajas en cuanto a accesibilidad,
internacionalización y localización, inclusión de un tipo de caracteres básicos
Unicode incorporado en el lenguaje, etc... Además, casi todos los miembros del
grupo estaban ya familiarizados con el entorno de desarrollo JDK, por tanto nos
pareció la elección natural
Capa de datos:
Para la gestión de los datos, decidimos usar la tecnología MySQL. MySQL es un sistema
de gestión de base de datos relacional, multihilo y multiusuario. Usa tablas y columnas para
contener datos, los cuales pueden relacionarse por medio de claves. Se caracteriza por ser
robusto, seguro y proporcionar velocidad y flexibilidad. MySQL es parte del Movimiento Open
Source y su licencia es GPL. Esto permite a los usuarios disfrutar de sus utilidades sin costo
alguno.
Para poder combinar las tecnologías Java y MySQL, elegimos el conector JDBC. JDBC es
una API a nivel de SQL que permite incrustar sentencias SQL como argumentos de métodos en
las interfaces JDBC.
Implantación en producción:
Para desarrollar la capa de lógica de negocio y la capa de presentación hemos utilizado
Eclipse IDE for Java EE Developers. Contiene todo lo necesario para desarrollar aplicaciones
de Java para empresas (Java EE). Proporciona soporte para Java EE 5, editor gráfico para
HTML/JSP/JSF, herramientas para manejar una base de datos, y soporte para las aplicaciones
de servidor. Para facilitar el manejo de Apache Tomcat hemos utilizado el plugin
com.sysdeo.eclipse.tomcat.
Como servidor web con soporte de JSP hemos utilizado Apache Tomcat. Este servidor
funciona como un contenedor de JSP desarrollado bajo el proyecto Jakarta en la Apache
Software Foundation. Tomcat implementa las especificaciones de los servlets y de Java Server
Pages (JSP) de Sun Microsystems. La versión de Apache Tomcat que hemos utilizado es 6.0.16
que tiene soporte las especificaciones para servlets 2.5 y JSP 2.1.
Diseño
- Esquema de base de datos:
GESTION DEL PROYECTO
1300
1250
1200
1150
1100
1050
Horas reales / Horas planificadas
Tiempo invertido
Formación 10%
Procesos tácticos 30%
Procesos operativos 60%
BIBLIOGRAFIA
Libros:
– Head First Java
– Beginning Jsp 2: From Novice To Professional
– Bases de Datos con Java
Direcciones web:
- Motores de búsqueda como www.google.es
- http://es.wikipedia.org/wiki/Java_Server_Pages