MultiTouchit!
Nicole Bieber
Carolina Haber
Valentina Silva
AGENDA

Presentación del equipo

Presentación del producto y del proyecto

Proceso de ingeniería de software

Estrategia de desarrollo

Planificación para el resto del proyecto

Evidencia de ejecución

Gestión de riesgos

Ingeniería de software – Actividades de apoyo

Demo
AGENDA

Presentación del equipo

Presentación del producto y del proyecto

Proceso de ingeniería de software

Estrategia de desarrollo

Planificación para el resto del proyecto

Evidencia de ejecución

Gestión de riesgos

Ingeniería de software – Actividades de apoyo

Demo
PRESENTACIÓN DEL EQUIPO Y
ROLES

La asignación de roles satisface los intereses de cada integrante del
grupo, la experiencia de cada uno y sus cualidades.

Nicole Bieber - Ingeniero de requerimientos, SCM .

Carolina Haber- Responsable de la investigación, SQA y Testing.

Valentina Silva - Gerente de proyecto, Arquitecto y diseñador
AGENDA

Presentación del equipo

Presentación del producto y del proyecto

Proceso de ingeniería de software

Estrategia de desarrollo

Planificación para el resto del proyecto

Evidencia de ejecución

Gestión de riesgos

Ingeniería de software – Actividades de apoyo

Demo
PRODUCTO
 Propósito: permitir al usuario obtener y manipular
diferentes objetos (imágenes, videos y música) de acuerdo
a diferentes gestos multitouch.
 Multitouch:
 Técnica de interacción persona-computador
al hardware que la implementa.
y
 Reconoce simultáneamente múltiples puntos de
contacto.
 Touch vs. Multitouch:
A diferencia de “Touch”, son capaces de detectar más de
un punto de contacto al mismo tiempo.
OBJETIVOS DEL PROYECTO
Proyecto de interés común a todas las integrantes del equipo
(tecnología nueva y novedosa). => Motivación del equipo, trabajo
interesante, ameno y placentero para el mismo. => Proyecto exitoso.


Llevar a la práctica los conocimiento adquiridos.
Aprovechar la oportunidad de trabajar con la tecnología multitouch,
actualmente en pleno auge.


Adquirir la experiencia de trabajar con un cliente real.
ALCANCE DEL PROYECTO

Software desarrollado.

Investigación sobre las tecnologías y lenguajes a utilizar.
Es deseable para el grupo realizar la implantación del software en
algún establecimiento comercial (Cliente Colonia).

ALCANCE DEL PRODUCTO

El alcance del producto a desarrollar es el análisis y desarrollo de un
sistema multitouch que aplique a cualquier contexto.

El producto permite obtener y manipular diferentes objetos de acuerdo
a diferentes gestos.
- Gestos para imágenes: cortar, seleccionar, arrastrar, rotar, ampliar o
acercar, entre otros.
- Gestos para videos: seleccionar, comenzar, retroceder, avanzar, parar,
Pausar, entre otros.
- Gestos para música: escuchar, detener, avanzar y retroceder, toque,
entre otros.
¿CÓMO SE LLEGÓ A LA DEFINICIÓN
DEL PRODUCTO?

FASE DE INVESTIGACIÓN:

Investigación de Sistemas Operativos

Investigación de Programación Orientada a Gestos

Resultados: Documentos entregados al cliente y ESRE (alto nivel).

FASE DE RELEVAMIENTO:



Identificación de requerimientos:

Reuniones con el cliente.

Tormenta de ideas.

Prototipos
Especificación de Requerimientos.
VALIDACIÓN DE REQUERIMIENTOS:

ESRE.

Prototipos.
REQUERIMIENTOS
 REQUERIMIENTOS FUNCIONALES
Id
RF1
RF2
RF3
RF4
RF5
RF6
RF7
RF8
RF9
RF10
RF11
Nombre del Requerimiento
Visualizar vista central
Visualizar vista lateral de objetos manipulables (Galería)
Visualizar vista superior de gestos disponibles para cada objeto a manipular y ayuda
Mover objeto desde vista lateral a vista central
Mover objetos desde vista central a vista lateral
Manipulación de imágenes
Manipulación de Videos y Música
Manipulación del Canvas
Visualizar información de un gesto
Búsqueda de objetos
Bluetooth
 REQUERIMIENTOS NO FUNCIONALES
Id
Nombre del Requerimiento
RNF1
Lenguaje de programación
RNF2
Usabilidad
RNF3
Eficiencia
RNF4
Sistema Operativo y prestaciones mínimas del equipo
RNF5
Aplicación MT4j
EVOLUCIÓN DE PROTOTIPOS
 PROTOTIPOS EN PAPEL
EVOLUCIÓN DE PROTOTIPOS
EVOLUCIÓN DE PROTOTIPOS
EVOLUCIÓN DE PROTOTIPOS
 INTERFAZ INICIAL
EVOLUCIÓN DE PROTOTIPOS
 INTERFAZ ACTUAL
TECNOLOGÍA

La tecnología utilizada es Java.
Asimismo se utiliza una API open source de programación orientada
a gestos que es MT4j.

MT4j proporciona un conjunto de herramientas para el desarrollo de
aplicaciones multi-touch en Java.

Por otro lado, se utiliza la librería Lucene como mecanismo de
búsqueda de objetos manipulables.

ARQUITECTURA

A nivel de capas lógicas, la aplicación se divide en diferentes capas que se
comunican a través de eventos enviados desde una capa a la otra.
DISEÑO
DISEÑO
ENTREGABLES PARA EL CLIENTE

Documento de resultados de la investigación.

Producto desarrollado.

Código fuente del mismo.
Documentos generados durante la realización del proyecto (ESRE,
documento de diseño, arquitectura, entre otros).

Demo.
AGENDA

Presentación del equipo

Presentación del producto y del proyecto

Proceso de ingeniería de software

Estrategia de desarrollo

Planificación para el resto del proyecto

Evidencia de ejecución

Gestión de riesgos

Ingeniería de software – Actividades de apoyo

Demo
DEFINICIÓN DEL PROCESO

El proceso de trabajo elegido es un proceso ágil.

Algunas de las premisas ágiles son:
La gestión de requerimientos debe contemplar la
posibilidad de cambios.

La comunicación va a ser fluida entre los participantes
del equipo ya que se va a trabajar en forma conjunta.


El lugar de trabajo será compartido.

Acceso continuo con el cliente.
CICLO DE VIDA

El ciclo de vida elegido es el evolutivo debido a que los
requerimientos son cambiantes y no están claros, por lo se van
a ir definiendo y cambiando a medida que pasa el tiempo.
¿CÓMO ESTAMOS TRABAJANDO?

En forma conjunta.

Compromiso del equipo.
Se planifica semanalmente, estableciendo objetivos a corto plazo y
evaluando dichos objetivos.

AGENDA

Presentación del equipo

Presentación del producto y del proyecto

Proceso de ingeniería de software

Estrategia de desarrollo

Planificación para el resto del proyecto

Evidencia de ejecución

Gestión de riesgos

Ingeniería de software – Actividades de apoyo

Demo
ESTRATEGIA DE DESARROLLO
Planificación en iteraciones con duración fija de aproximadamente
15 días.


Asignación de tareas de construcción entre las distintas integrantes.

Fases de cada iteración:
REQUERIMIENTOS
DISEÑO
IMPLEMENTACIÓN
PRUEBAS
AGENDA

Presentación del equipo

Presentación del producto y del proyecto

Proceso de ingeniería de software

Estrategia de desarrollo

Planificación para el resto del proyecto

Evidencia de ejecución

Gestión de riesgos

Ingeniería de software – Actividades de apoyo

Demo
¿DÓNDE ESTAMOS?
 Estamos en la Iteración 8.
 Arreglar errores obtenidos en pruebas
 Implementar funcionalidad para subir objeto vía bluetooth
 Implementar base de datos para guardar los objetos
 Acomodar la interfaz para que sea independiente del dispositivo
¿CÓMO SEGUIMOS?
 idem anterior.
AGENDA

Presentación del equipo

Presentación del producto y del proyecto

Proceso de ingeniería de software

Estrategia de desarrollo

Planificación para el resto del proyecto

Evidencia de ejecución

Gestión de riesgos

Ingeniería de software – Actividades de apoyo

Demo
MÉTRICAS DE DESVÍO DEL
CRONOGRAMA
MÉTRICAS DE CALIDAD
Métrica de Procesos: se analizó la relación entre las horas
totales estimadas vs. Las horas de las actividades preventivas,
de evaluación y correctivas.

MÉTRICAS DE CALIDAD
Métrica del Producto: se analizó el resultado de la ejecución
de los casos de prueba, según criterio establecido.

AGENDA

Presentación del equipo

Presentación del producto y del proyecto

Proceso de ingeniería de software

Estrategia de desarrollo

Planificación para el resto del proyecto

Evidencia de ejecución

Gestión de riesgos

Ingeniería de software – Actividades de apoyo

Demo
RIESGOS DEL PROYECTO

Estrategia de Gestión de Riesgos:

Identificación de Riesgos. Herramienta: Tormenta de ideas.
Análisis Cuantitativo. Herramienta: Matriz de Probabilidad e
Impacto.


Selección de los riesgos de mayor magnitud.

Planes de Respuesta y Contingencia para riesgos de mayor magnitud.

Actualización de riesgos.
RIESGOS DEL PROYECTO

En las primeras fases del proyecto, los riegos identificados con mayor
magnitud eran los siguientes:

El cliente no da lineamientos claros.

Integrantes con experiencia insuficiente en el uso de las tecnologías
y en herramientas de trabajo.

Luego surgieron otros riesgos con mayor impacto:

Problemas de acceso y comunicación con el cliente.

El cliente no proporciona el hardware necesario.
AGENDA

Presentación del equipo

Presentación del producto y del proyecto

Proceso de ingeniería de software

Estrategia de desarrollo

Planificación para el resto del proyecto

Evidencia de ejecución

Gestión de riesgos

Ingeniería de software – Actividades de apoyo

Demo
ASEGURAMIENTO DE LA CALIDAD

Definición del Plan de Calidad.

Definición de estándar de Documentación.

Definición de estándar de Codificación.

Definición del proceso.
ESTRATEGIA DE TESTING

Pruebas informales.

Checklist de funcionalidades por iteración.
Iteración 7 – Búsqueda y reestructura de la interfaz
Funcionalidades
Resultado
Comentarios
1. ¿Se visualiza correctamente el teclado touch al presionar el botón de
SI
búsqueda?
2. ¿Funciona correctamente la funcionalidad de buscar?
SI
3. ¿Muestra mensaje al no encontrar nada?
SI
4. ¿Se visualizan tres opciones en el panel lateral para visualizar sólo
SI
imágenes, videos o música?
5. ¿Se visualizan sólo todas las imágenes al presionar el botón para ver
SI
imágenes?
6. ¿Se visualizan sólo todos los videos al presionar el botón para ver
SI
videos?
7. ¿Se visualizan sólo todas las músicas al presionar el botón para ver
SI
músicas?
8. ¿Se visualizan tres opciones en el panel superior para visualizar sólo
SI
los gestos de las imágenes, videos o músicas?
9. ¿Se visualizan sólo los gestos de las imágenes al presionar el botón
SI
para ver gestos de las imágenes?
10. ¿Se visualizan sólo los gestos de los videos al presionar el botón
SI
para ver gestos de los videos?
11. ¿Se visualizan sólo los gestos de las músicas al presionar el botón
SI
para ver los gestos de las músicas?
12. ¿Funciona correctamente la opción visualizar objetos utilizando
No funciona aún, sólo reconoce
NO
dispositivos.
bluetooth?
PORCENTAJE DE FUNCIONAMIENTO: 92%
ESTRATEGIA DE TESTING

Actualmente:
Elaboración de casos de prueba
Ejecución de casos de prueba
Análisis de los resultados de las pruebas
ESTRATEGIA DE TESTING

Futuro:
Testing de regresión
Pruebas de usabilidad
Realización de métricas de calidad
Análisis
GESTIÓN DE LA CONFIGURACIÓN
El repositorio elegido es el TortoiseSVN.
 Ubicación
 Se optó por el Google Code para guardar todo lo que es
documentos.
 Se optó por el Project Locker para gestionar el código. Éste es
utilizado a través de un plugin subVersion en eclipse, de manera
de poder acceder directa y fácilmente al repositorio.
 Respaldos
 Cada 1 mes y medio en dispositivos externos.
 En PCs
SEGUIMIENTO DEL PROYECTO
Para el seguimiento del proyecto, se estimó un promedio de 21 horas
semanales aproximadamente de trabajo.

Registro diario de horas de trabajo, indicando tarea, la fecha, cantidad
de horas y la fase dentro del proyecto.


Registro de horas de reuniones con el cliente, la tutora y tutores de rol.
Control del cumplimiento de las horas estipuladas por parte del grupo y
cada una de las integrantes.


Actualización del cronograma, Plan de Calidad y Plan de Proyecto.
AGENDA

Presentación del equipo

Presentación del producto y del proyecto

Proceso de ingeniería de software

Estrategia de desarrollo

Planificación para el resto del proyecto

Evidencia de ejecución

Gestión de riesgos

Ingeniería de software – Actividades de apoyo

Demo
DEMO
MÓDULO MULTITOUCH
CONTINUARÁ…