MultiTouchit!
Nicole Bieber
Carolina Haber
Valentina Silva
AGENDA

Presentación del proyecto

Presentación del producto

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 proyecto

Presentación del producto

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
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.

AGENDA

Presentación del proyecto

Presentación del producto

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.
El producto consiste en dos módulos bien definidos:
 Módulo multitouch
 Módulo administración
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.
MÓDULO MULTITOUCH
 REQUERIMIENTOS FUNCIONALES
Id
RF1
RF2
RF3
RF4
RF5
RF6
RF7
RF8
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
Visualizar información de un gesto
 REQUERIMIENTOS NO FUNCIONALES
Id
RNF1
RNF2
RNF3
RNF4
RNF5
Nombre del Requerimiento
Lenguaje de programación
Usabilidad
Eficiencia
Sistema Operativo y prestaciones mínimas del equipo
Aplicación MT4j
MÓDULO ADMINISTRACIÓN
 REQUERIMIENTOS FUNCIONALES
Id
RF1
RF2
Nombre del Requerimiento
Login
ABM de objetos manipulables
 REQUERIMIENTOS NO FUNCIONALES
Id
RNF1
RNF2
RNF3
Nombre del Requerimiento
Lenguaje de programación
Usabilidad
Eficiencia
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.
ARQUITECTURA

La arquitectura consiste básicamente en dos aplicaciones que se
comunican con un repositorio digital (DSpace) ya sea para almacenar o
obtener datos. El repositorio digital se comunica con la base de datos
PostgreSQL.
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.
Capa de presentación: permite una forma flexible
de crear interfaces personalizables.
Escenas: Organizan los diferentes aspectos de
una solicitud. Encapsulan y separan claramente el
procesamiento de entrada y presentación de una
aplicación respecto a otra.

Componentes:
Estructura
jerárquica
de
componentes que permite la composición de los
componentes de la interfaz de usuario en una
estructura de árbol.

Canvas: Componente raíz de cada escena en
MT4j. Es un componente con una funcionalidad
especial y actúa como el enlace entre la capa de
procesamiento de entrada global de transformación
y la capa de presentación. Todos los eventos de
entrada pasan a través del componente canvas que
luego propaga el evento a su destino.

La capa de abstracción de hardware da soporte a
hardware de entradas diferentes.
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).

AGENDA

Presentación del proyecto

Presentación del producto

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.
Se utilizará la metodología ágil de Scrum que promueve las
iteraciones en el desarrollo a lo largo de todo el ciclo de vida
del proyecto.

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 proyecto

Presentación del producto

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 proyecto

Presentación del producto

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 5, comenzando con el módulo de
Administración.
 Creación del Repositorio Digital.
 Alta de objetos manipulables.
 Queda pendiente para la iteración 7 algunos detalles del módulo
Multitouch.
 Queda pendiente una mejora en la interfaz del módulo Multitouch
para el final.
¿CÓMO SEGUIMOS?
 Iteración 5 – Repositorio Digital.
 Iteración 6 – Comunicación del Módulo Multitouch con
repositorio digital. Módulo Administración.
 Iteración 7 – Módulo Administración. Cosas pendientes
del Módulo Multitouch.
 Iteración 8 – Nuevos requerimientos.
 Pruebas.
AGENDA

Presentación del proyecto

Presentación del producto

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
CRONOGRAMA
 CRONOGRAMA GENERAL
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.

86.5
90
80
70
68
60
50
Horas hombre
Horas estimadas
40
Horas reales
30
15
20
9
10
3
2
0
Actividades
preventivas
Actividades de
evaluación
Actividades
correctivas
Actividades de SQA
AGENDA

Presentación del proyecto

Presentación del producto

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

Inicialmente de los riegos identificados con mayor magnitud eran los
siguientes:


El cliente no da lineamientos claros.

No se encuentra suficiente información para realizar la investigación.
Luego surgieron otros riesgos con mayor impacto:

Integrantes con experiencia insuficiente en el uso de las tecnologías
y en herramientas de trabajo.

El cliente no proporciona el hardware necesario.
AGENDA

Presentación del proyecto

Presentación del producto

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 4 – Interacción de videos y música
Funcionalidades
Resultado
1. ¿Se visualizan correctamente los gestos en la vista superior al
seleccionar una música de la vista central?
SI
2. ¿Se abre la ventanita de ayuda del gesto seleccionado de la vista
superior?
SI
Comentarios
3. ¿Se muestra la música en el panel central al hacer doble click sobre
SI
la misma desde el panel lateral?
4. ¿Se muestra la música en la lista de componentes del panel
lateral?
SI
5. ¿Funciona correctamente el gesto Arrastrar sobre la música en el
panel central?
SI
6. ¿Funciona correctamente el gesto Play sobre la múscia en el panel
SI
central?
7. ¿Funciona correctamente el gesto Pausa sobre la múscia en el
panel central?
SI
8. ¿Funciona correctamente el gesto Stop sobre la música en el panel
SI
central?
9. ¿Funciona correctamente el gesto Avanzar y Retroceder sobre la
música en el panel central?
SI
10. ¿Están todos los gestos de los videos limitados al panel central?
NO
11. ¿Están todos los gestos de música limitados al panel central?
SI
12. ¿Están todos los gestos de las imágenes limitados al panel
central?
NO
13. ¿Se aceptan los tipos de videos AVI, mp4 y MOV?
SI
PORCENTAJE DE FUNCIONAMIENTO: 85%
Sólo está limitado el gesto drag
para los videos.
Se verificará en la próxima
iteración.
Sólo está limitado el gesto drag
para las imágenes.
Se verificará en la próxima
iteración.
ESTRATEGIA DE TESTING

FUTURO:
elaboración de casos de prueba
ejecución de casos de prueba
análisis de los resultados de las pruebas
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
 Se realizan respaldos cada 1 mes y medio.
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 proyecto

Presentación del producto

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Á…
Descargar

Nicole Bieber Carolina Haber Valentina Silva