• No se han encontrado resultados

Diseño de la arquitectura del sistema

5 | Arquitectura e Implementación

5.1 Diseño de la arquitectura del sistema

Con el fin de conseguir una mayor eficiencia y rendimiento del sistema de cara a los años anteriores, era necesario modificar la arquitectura del sistema. Aunque se tomó como base el diseño de los anteriores trabajos, el objetivo de este TFG era la reducción en la medida de lo posible de las múltiples clases utilizadas anteriormente con el fin de reducir el coste de recursos del dispositivo.

En la figura 11 muestra el diagrama de clases UML de la arquitectura del magnificador.

Figura 11.Diseño UML Prototipo Magnificador

5.1.1

Diseño del Magnificador

A partir de la arquitectura del programa modificada por Alejandro en su TFG, se intentaron reducir el número de actividades. Dicha reducción ha sido posible en la actualidad, la cual puede verse modificada con la introducción de las funcionalidades aun por implementar de la aplicación. Al empezar la implementación desde el inicio, las actividades han sido renombradas.

x La clase “MagnificadorActivity” ha pasado a ser la clase “MainActivity”. Esta clase es la encargada de gestionar el modo de visualización en modo cámara sobre la superficie de la pantalla. Además de ello, es la encargada de gestionar la transición entre modo cámara y modo imagen tomando una foto con las características escogidas por el usuario. A diferencia con los trabajos anteriores, aun no se ha visto implementada la gestión de gestos, únicamente la opción del zoom, así como de la presentación de mensajes por la pantalla. x La clase “CapturedPicture” ha pasado a ser la clase “ImagenPausada”. Esta clase es la

encargada de gestionar el modo de visualización en modo imagen sobre la superficie de la pantalla. Al igual que en la clase de trabajos anteriores, dicha clase actualmente solo se utiliza para mostrar la imagen capturada, sin posibilidad de realizar ninguna otra acción.

x Para el funcionamiento que antes realizada la clase “ImageViewTouch” ahora existe la clase “TouchImageView”, que es la clase encargada del desarrollo del zoom sobre la imagen capturada, así como del desplazamiento por la misma una vez se ha realizado dicho zoom.

Actualmente se puede observar la reducción de 4 clases con respecto al diseño de años anteriores. Dicha reducción tiene como consecuencia una mejora significativa en la eficiencia y rendimiento de la aplicación actual. Esta reducción de clases puede verse alterada en un futuro por la posible necesidad de la adición de clases para la introducción del filtro de “Alto Contraste” aun sin implementar.

A su vez, actualmente no existe ninguna clase especial para el reconocimiento de gestos, a diferencia de las 6 clases utilizadas en trabajos anteriores para el mismo motivo. Dicha reducción podrá verse alterada por la necesidad de introducir las mismas clases usadas para la gestión de los gestos. Dicho reconocimiento podría ser introducido en una única clase, introduciendo todos los posibles valores para diferenciar cada uno de los diferentes gestos, reduciendo así la utilización de recursos, y mejorando la eficiencia.

5.1.2

Diseño de los menús

Respecto al diseño de los menús, se han realizado modificaciones en el nombrado de las clases, dejándolas en castellano para un mejor entendimiento. Además, aquellas clases utilizadas para la implementación de la visualización de menús con 1 sola opción aún no han sido introducidas debido a la falta de tiempo para la realización de las mismas.

El renombramiento de clases ha sido el siguiente:

x La clase “MainActivity” de los trabajos anteriores ha pasado a llamarse “MenuPrincipal”. Dicha clase contiene las opciones de Modo, Colores, Cámara y Ajustes. En la figura 16 muestra el diagrama de dicha clase.

x La clase “ModesActivity” de los trabajos anteriores ha pasado a llamarse “MenuModo”. Dicha clase contiene las opciones de Normal, Grises, Invertido y Alto Contraste. En la figura 17 muestra el diagrama de dicha clase.

x La clase “ColorsActivity” de los trabajos anteriores ha pasado a llamarse “MenuColores”. Dicha clase contiene las opciones de Fondo claro y Fondo Oscuro. A diferencia de otros años, ha dicha clase se accede no solo pulsando el botón de selección de Colores del menú principal, sino también a la hora de seleccionar el modo de Alto Contraste en el menú de modos. En la figura 18 muestra el diagrama de dicha clase.

x La clase “BrightBackActivity” de los trabajos anteriores ha pasado a llamarse “MenuFondoClaro”. Dicha clase contiene las opciones de alto contraste de: fondo blanco con letra azul, negra o roja y fondo amarillo con letras azul, negra o roja. En la figura 19 muestra el diagrama de dicha clase.

x La clase “DarkBackActivity” de los trabajos anteriores ha pasado a llamarse “MenuFondoOscuro”. Dicha clase contiene las opciones de alto contraste de: letra blanco con fondo azul, negro o rojo y letra amarilla con fondo azul, negro o rojo. En la figura 20 muestra el diagrama de dicha clase.

x La clase “CameraSettingsActivity” de los trabajos anteriores ha pasado a llamarse “MenuCamara”. Dicha clase contiene las opciones de configuración del flash, estabilizador y macro. En la figura 21 muestra el diagrama de dicha clase.

x La clase “SettingsActivity” ha pasado a llamarse “MenuAjustes”. Dicha clase aún no se encuentra implementada debido a la falta de tiempo en la realización de la misma. En la figura 22 muestra el diagrama de dicha clase.

Documento similar