20.04.2014 Views

Desarrollo de Soluciones Cliente-Servidor para la Verificación ...

Desarrollo de Soluciones Cliente-Servidor para la Verificación ...

Desarrollo de Soluciones Cliente-Servidor para la Verificación ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

50 Capítulo 3. Base Tecnológica<br />

punto origen, el nivel final <strong>de</strong> <strong>la</strong> pirámi<strong>de</strong> constituye <strong>la</strong> imagen completa. Por lo tanto,<br />

el objetivo <strong>de</strong>l algoritmo estudiado se basa en obtener, <strong>para</strong> un punto x en <strong>la</strong> imagen I,<br />

su correspondiente posición y = x + d en <strong>la</strong> imagen J. Con todos estos datos aplicados<br />

a diferentes puntos <strong>de</strong> <strong>la</strong> imagen es posible realizar un seguimiento a lo <strong>la</strong>rgo <strong>de</strong>l tiempo<br />

<strong>de</strong> los puntos que más nos interesen, como por ejemplo <strong>la</strong> posición <strong>de</strong> los ojos, nariz y<br />

boca <strong>para</strong> realizar estimaciones <strong>de</strong> pose a lo <strong>la</strong>rgo <strong>de</strong> <strong>la</strong> sesión. Es <strong>de</strong>cir, se pue<strong>de</strong> utilizar<br />

<strong>la</strong> posición re<strong>la</strong>tiva entre ojos, nariz y boca <strong>para</strong> mo<strong>de</strong><strong>la</strong>r <strong>la</strong> pose <strong>de</strong>l estudiante y po<strong>de</strong>r<br />

medir el tiempo que éste presenta una pose frontal, con el fin <strong>de</strong> proporcionar una medida<br />

<strong>de</strong>l tiempo <strong>de</strong> atención.<br />

3.5. Patrones <strong>de</strong> diseño<br />

Durante el transcurso <strong>de</strong> esta Tesis se ha realizado el diseño y <strong>de</strong>sarrollo <strong>de</strong> software<br />

muy diverso, <strong>de</strong>s<strong>de</strong> arquitecturas cliente-servidor que ofrecen control <strong>de</strong> acceso biométrico<br />

y monitorización <strong>de</strong> usuario en el entorno Web, hasta módulos in<strong>de</strong>pendientes que<br />

proporcionan verificación e i<strong>de</strong>ntificación biométrica <strong>de</strong> acuerdo al estándar BioAPI. Con<br />

el fin <strong>de</strong> ofrecer <strong>la</strong> mejor solución posible, antes <strong>de</strong> abordar cada una <strong>de</strong> esas tareas fue<br />

necesario realizar un primer esfuerzo en <strong>la</strong>bores <strong>de</strong> documentación en temas <strong>de</strong> Arquitecturas<br />

Orientadas a Servicios, Servicios Web, Seguridad, Patrones <strong>de</strong> diseño (Fachada, DataAccessObject,<br />

Factoría, ValueObject, Singleton, Mo<strong>de</strong>l-View-Controller...), lenguajes<br />

<strong>de</strong> programación (Java, C/C++, PHP,...), estándares, etc. El resultado <strong>de</strong> este proceso <strong>de</strong><br />

documentación se resume en <strong>la</strong> adquisición <strong>de</strong> los conocimientos necesarios <strong>para</strong> el <strong>de</strong>sarrollo<br />

<strong>de</strong> software basado en componentes con bajo acop<strong>la</strong>miento y alta cohesión. Esto<br />

se traduce en <strong>la</strong> creación <strong>de</strong> componentes reutilizables. En esta sección presentaremos <strong>la</strong><br />

solución software conocida como patrones <strong>de</strong> diseño[Patrones <strong>de</strong> diseño GoF, WWW].<br />

3.5.1. Origen<br />

En 1979 el arquitecto Christopher Alexan<strong>de</strong>r aportó al mundo <strong>de</strong> <strong>la</strong> arquitectura el<br />

libro The Timeless Way of Building, en él proponía el aprendizaje y uso <strong>de</strong> una serie <strong>de</strong><br />

patrones <strong>para</strong> <strong>la</strong> construcción <strong>de</strong> edificios <strong>de</strong> una mayor calidad. En pa<strong>la</strong>bras <strong>de</strong> este autor,<br />

Cada patrón <strong>de</strong>scribe un problema que ocurre infinidad <strong>de</strong> veces en nuestro entorno, así<br />

como <strong>la</strong> solución al mismo, <strong>de</strong> tal modo que po<strong>de</strong>mos utilizar esta solución un millón <strong>de</strong><br />

veces más a<strong>de</strong><strong>la</strong>nte sin tener que volver a pensar<strong>la</strong> otra vez.<br />

Los patrones que Christopher Alexan<strong>de</strong>r y sus colegas <strong>de</strong>finieron, publicados en un<br />

volumen <strong>de</strong>nominado A Pattern Language, son un intento <strong>de</strong> formalizar y p<strong>la</strong>smar <strong>de</strong><br />

una forma práctica generaciones <strong>de</strong> conocimiento arquitectónico. Los patrones no son<br />

principios abstractos que requieran su re<strong>de</strong>scubrimiento <strong>para</strong> obtener una aplicación satisfactoria,<br />

ni son específicos a una situación particu<strong>la</strong>r o cultural, son algo intermedio.<br />

Un patrón <strong>de</strong>fine una posible solución correcta <strong>para</strong> un problema <strong>de</strong> diseño <strong>de</strong>ntro <strong>de</strong> un<br />

contexto dado, <strong>de</strong>scribiendo <strong>la</strong>s cualida<strong>de</strong>s invariantes <strong>de</strong> todas <strong>la</strong>s soluciones.<br />

Más tar<strong>de</strong>, en 1987, Ward Cunningham y Kent Beck usaron varias i<strong>de</strong>as <strong>de</strong> Alexan<strong>de</strong>r<br />

<strong>para</strong> <strong>de</strong>sarrol<strong>la</strong>r cinco patrones <strong>de</strong> interacción hombre-or<strong>de</strong>nador (HCI) y publicaron un<br />

artículo en OOPSLA-87 titu<strong>la</strong>do Using Pattern Languages for OO Programs.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!