Documentos de Académico
Documentos de Profesional
Documentos de Cultura
talla de zapatos
Mster Oficial en Software Libre
Especialidad Desarrollo de Aplicaciones de Software Libre
Autor:
Consultor:
Gregorio Robles
08/01/2013
RESUMEN
Grandes Zapatos es una empresa dedicada exclusivamente a satisfacer las
necesidades de aquellas personas que usan zapatos de tallas grandes y que llevan aos
sin poder encontrar aquello que buscan.
A travs www.grandeszapatos.com, se pretende la venta de zapatos de tallas grandes
de marcas conocidas, tanto para hombre (47 o ms) como para mujer (41 o ms),
basando su estrategia en: la eleccin de las marcas, la atencin al cliente y la
comunicacin en redes sociales.
Uno de los elementos claves para que no se compren zapatos por Internet es que la
gente no se las pueda probar.
En este proyecto se aborda el estudio y desarrollo de una aplicacin basada en
software libre (Android) que permite romper dicha barrera de compra, aconsejando al
usuario su talla para un determinado fabricante de zapatos.
ndice
CAPTULO I INTRODUCCIN............................................................................1
I.1 OBJETIVOS.......................................................................................................................1
I.2 ESTADO DEL ARTE.............................................................................................................2
I.3 ESTRUCTURA DE LA MEMORIA DEL PROYECTO.........................................................................3
CAPTULO II
II.1
II.2
II.3
II.4
II.5
II.6
ESTUDIO DE VIABILIDAD.........................................................4
CAPTULO III
CAPTULO VI
CAPTULO VII
PRUEBAS E IMPLANTACIN...............................................33
CAPTULO VIII
CONCLUSIONES....................................................................35
iv
Figuras
Fig. 1: Imagen iFootGauge............................................................................................2
Fig. 2: Plan del Proyecto..............................................................................................12
Fig. 3: Arquitectura del Sistema...................................................................................13
Fig. 4: Caso de uso de la obtencin de tallas................................................................19
Fig. 5: Caso de uso de la actualizacin local del catlogo...........................................20
Fig. 6: Diseo Modular de la Aplicacin Android.......................................................22
Fig. 7: Recursos de Diseo en la aplicacin Android...................................................23
Fig. 8: Diagrama de Navegacin por la aplicacin. (p1)..............................................25
Fig. 9: Diagrama de Navegacin por la aplicacin. (p2)..............................................26
Fig. 10: Diagrama de Clases de la aplicacin...............................................................27
Fig. 11: Diseo de la Base de Datos del Catlogo para la Aplicacin Android............29
Fig. 12: Proceso Creacin y Publicacin Aplicacin Android.....................................33
Tablas
Tabla 1: Ejemplo equivalencias GZ..............................................................................5
Tabla 2: Distribucin de las diferentes versiones de Android....................................14
Tabla 3: Catlogo de Requisitos del Sistema.............................................................17
Tabla 4: Caso de uso Obtener Talla del Usuario.........................................................19
Tabla 5: Caso de uso Actualizacin catlogo en sistema local...................................20
Tabla 6: Ficheros especficos aplicaciones Android...................................................30
Apndices
Apndice I: Nociones bsicas de Fotogrametra de objetos cercanos..........................36
Referencias Bibliogrficas............................................................................................37
Abreviaturas
ADT
ASL
GPL
GZ
HTML
IDE
JDK
MVC
OHA
PHP
HypertText PreProcessor
REST
SDK
SQL
SSL
UI
User Interface
UML
UNE
vi
Captulo I . Introduccin
Captulo I Introduccin
I.1 Objetivos
El proyecto a presentar al finalizar el primer semestre del curso 2012-2013, como
Proyecto de Fin de Mster para el Mster en Software Libre impartido por la UOC, se
trata de una aplicacin para determinar la talla de zapatos, para la empresa
GrandesZapatos.com.
Para ayudar a sobrepasar la barrera que supone el hecho de no poder probar el calzado
cuando se compra por Internet, se ha decidido ofrecer una aplicacin que oriente al
usuario a travs de tecnologa fotogrfica a conocer su talla y ofrecerle, segn el
modelo de zapato a elegir y el fabricante cul es el que le conviene.
En resumen, se trata de un proyecto de aplicacin a los procesos de marketing y
comercio electrnico, de la tecnologa de realidad aumentada [1]: que ayuda a
enriquecer nuestra percepcin de la realidad, con una nueva lente gracias a la cual la
informacin del mundo real se complementa con la del digital.
Los principales objetivos del proyecto son :
Crear una aplicacin informtica la cual, mediante una fotografa del pie,
recomiende al usuario qu talla gasta de una determinada marca y modelo.
Dicha aplicacin debe estar disponible para terminales mviles con tecnologa
Android [2]
Utilizar recursos y metodologas propias del Software Libre, de tal forma que
el software desarrollado y el conocimiento generado sea de utilidad para la
comunidad. Se tendrn en cuenta las posibles sinergias con la comunidad del
Software Libre.
Captulo I . Introduccin
I.2 Estado del Arte
En el momento de inicio del proyecto, se ha investigado la existencia en el mercado de
alguna tecnologa similar a lo que nos estbamos planteando.
Se ha visto la existencia de la aplicacin iFootGauge [4], una aplicacin para
telfonos iPhone, que tambin permite medirse el pie con la cmara del mvil. En la
siguiente imagen se puede ver su funcionamiento:
No es software libre
Tiene un coste
Aparentemente no funciona muy bien
Sirve unicamente para Estados Unidos
Nuestro planteamiento es realizar una aplicacin software libre, sin coste para el
usuario, funcional y que sea til para el mercado nacional.
Captulo I . Introduccin
I.3 Estructura de la memoria del Proyecto
En este apartado explicar brevemente los apartados de los que se compone este
documento.
Portada
Resumen
Abreviaturas utilizadas
Plan del Proyecto, donde se planifica el trabajo a llevar a cabo dentro de los
lmites temporales que marcan los tiempos acadmicos.
Anexos
Referencias Bibliogrficas
EUR
USA UK
CM
47
47 1/3 12,5
12
47,5
48
12,5 31
48
48 2/3 13,5
13
48,5
49 1/3 14
13,5 32
49
50
14
49,5
50 2/3 15
14,5 33
50
51 1/3 16
15
33,5
51
52 2/3 17
16
34,5
52
53 1/3 18
17
35,5
13
14,5
30,5
31,5
32,5
El problema es que con este sistema, aunque es vlido como referencia, se obliga al
usuario a mirar los datos en la pgina web. La idea sera obtener un modelo de datos
que basndose en la informacin de estas tablas y de la medida de pie en cm del
cliente, se le recomiende el n que le quedara bien de un determinado zapato.
II.3 Fundamentos Tericos Tallas de Zapatos
Para conocer la talla del usuario, cuando las marcas usan tallas europeas, es
relativamente sencillo conociendo la medida del pie en cm, puesto que est regulado
por la norma UNE 59850:1998 [5], y tan solo hay que multiplicar la medida del pie en
cm por 1,5. Dicho de otra forma, la diferencia entre dos n de talla europeos es de 6,66
mm. En todo caso hay que considerar que el pie se estira al caminar, debido a lo cual
es conveniente que la medida del zapato sea de aproximadamente un cm superior a la
medida del pie (medida del pie en actividad).
Muchas veces no se transforma bien la talla original del fabricante (cuando no se
utiliza en origen el sistema europeo) a la del comprador. La dificultad crece porque la
diferencia entre cada nmero no es igual en los distintos sistemas. As, por ejemplo, en
las tallas norteamericanas hay 1/3 de pulgada (8,47 mm) de diferencia entre cada talla
completa, mientras que en las europeas la diferencia es de 2/3 de centmetro (6,66
mm). Adems, los norteamericanos utilizan diferentes tallas para hombres y para
mujeres, lo cual complica las cosas cuando se trata de calzado unisex, pues hay que
indicar la talla de mujeres y la de hombres.
Para acabar de complicarlo, hasta hace poco en Espaa se utilizaba un sistema de
medida diferente al de otros pases europeos (se meda la huella del pie, mientras que
en los otros pases se meda su proyeccin). Por eso, desde hace unos aos hemos
tenido que sumar una talla a la que usbamos con anterioridad.
Crear una aplicacin informtica la cual, mediante una fotografa del pie, diga
al usuario qu talla gasta de una determinada marca.
Dicha aplicacin debe estar disponible para terminales mviles con tecnologa
Android, as como poder descargarse desde la tienda virtual
GrandesZapatos.com, que funciona sobre Prestashop.
10
11
12
13
Servidor Linux
Servidor Web Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.8g
PHP/5.2.11 with Suhosin-Patch
PHP 5.2.11
MySQL 5.1.38-log
PrestaShop 1.4.5.1
En cuanto a la plataforma mvil Android tenemos que saber que est diseado para
funcionar en diferentes tipos de sistemas y que coexisten a la vez dispositivos con
diversas versiones del mismo sistema operativo.
Con cada versin del mismo se implementa un nivel de la API, por eso resulta
conveniente tener en mente a la hora de desarrollar a que dispositivos objetivo nos
queremos dirigir.
En la pagina de Android Developers [9] localizamos la estadstica actualizada con los
dispositivos que estn funcionando en todo el mundo con una versin dada de la
plataforma. En la siguiente tabla podemos ver el % de distribucin de las diversas
versiones:
Plataforma
Nombre
API Distribucin
Android 1.5
Cupcake
0,3%
Android 1.6
Donut
0,7%
Android 2.1
Eclair
6,0%
Android 2.2
Froyo
23,1%
0,5%
2.3 2.3.2
2.3.4 2.3.7
Gingerbread 10
63,2%
Android 3.0
11
0,1%
Android 3.1
12
1%
Android 3.2
13
2,2%
14
0,5%
15
2,4%
4.0 4.0.2
Ice Cream
14
JDK [11]: Software que provee las herramientas de desarrollo necesarias para
desarrollar programas en lenguaje Java.
Diseo : Android Design [13], gua para el diseo de aplicaciones Android, con
posibles descargas de iconos, estilos..
15
Obtencin de requisitos
Se tratar de realizar un estudio ms pormenorizado sobre los requisitos que el que fue
hecho durante el estudio de viabilidad del sistema, a travs de las conversaciones
mantenidas con el responsable de la tienda GrandesZapatos.com
Se catalogarn y definirn los requisitos del sistema basndonos en las categoras
FURPS+ (Funcionality, Usability, Reliability, Performance, Support,...) definidas por
Craig Larman (UML y patrones) [17].
16
Categora
Prioridad
Descripcin
Implementacin
Empaquetamiento Alta
Legales
Alta
Funcionalidad
Alta
Aprobado
Funcionalidad
Alta
Aprobado
Funcionalidad
Baja
Mdulo de ayuda desde la tienda on-line para recoPropuesto mendar a un cliente otro modelo partiendo de la talla
GZ.
Legales
Alta
Aprobado
Legales
Alta
Aprobado
Legales
Alta
Aprobado
10 Econmicos
Alta
11 Econmicos
Alta
Aprobado
12 Usabilidad
Media
13 Fiabilidad
Media
14 Rendimiento
Media
15 Interfaz
Baja
Propuesto
16 Soporte
Media
Alta
17 Funcionalidad
Alta
Estado
17
18
Caso de Uso
Actores Primarios
Sistema
Participantes
Nivel
Condiciones previas
Operaciones
Se detecta si el dispositivo mvil incorpora cmara digital. Si no solo se
1
habilita la entrada manual de la medida.
Seleccionar si realizar la fotografa o
2 realizar el input de usuario de la medida en cm.
Se de la opcin de elegir al usuario un
3 producto de un determinado fabricante.
4 Se le recomienda la talla correcta.
19
Otro caso de uso considerado es la actualizacin del catlogo local al sistema mvil.
Para ello la opcin considerada es implementar un WebService en Prestashop donde se
puedan consultar los datos, como se puede ver en la Fig.5 . En la siguiente tabla
recogemos su definicin:
Caso de Uso
Actores Primarios
Sistema
Participantes
Nivel
Condiciones previas
Operaciones
1
20
21
Acceso a la tienda on-line: enlace de acceso que abrir la web de la tienda online para que el cliente pueda comprar, consultar la tienda...
22
23
24
25
* Hay que destacar que para poder medir el pie sobre la fotografa se ha tenido que
incluir una referencia, en este caso tendramos que fotografiarlo junto con una tarjeta
de crdito en el sentido longitudinal de esta y en funcin de esto el usuario tendr que
mover los renglones para que obtener una medida muy aproximada de su pie.
26
27
28
Fig. 11: Diseo de la Base de Datos del Catlogo para la Aplicacin Android
La tabla del catlogo creado se puede alimentar de forma sencilla con la misma
aplicacin, utilizando la funcin para importar un fichero csv, donde tendremos todos
los datos del catlogo de la tienda on-line segn son requeridos por la aplicacin.
29
Fichero
AndroidManifest.xml
/res/layout
/res/values
Propsito
Strings.xml
/res/drawable
/gen
R.java
android:versionCode="1"
android:versionName="0.0.1"
package="grandeszapatos.camerameasure"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-sdk android:minSdkVersion= "8" />
<supports-screens
android:anyDensity="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:theme="@style/CustomTheme.Black"
android:label="@string/app_name"
android:icon="@drawable/icono"
android:debuggable="true">
<activity
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:name=".SplashActivity"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:name=".MainActivity"
android:clearTaskOnLaunch="true"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation">
</activity>
<activity
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:name=".LengthActivity"
android:clearTaskOnLaunch="true"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation" >
</activity>
<activity
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:name=".measure.MeasureActivity"
android:clearTaskOnLaunch="true"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation" >
</activity>
<activity
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:name=".measure.InputcmActivity"
android:clearTaskOnLaunch="true"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation" >
</activity>
</application>
</manifest>
32
33
34
Software
Libre
Prestashop,
Considero que he tenido que utilizar demasiado tiempo en investigacin del uso de
libreras como OpenCV, implementacin mdulos Prestashop y configuracin de la
tienda virtual, as como en investigacin sobre la forma de realizar las tallas del
calzado, para lo cual tambin intent sin xito que me atendieran en el INESCOP [25],
todo lo cual se ha tenido que descartar del proyecto por diversas razones. Igualmente
todo ello lo considero de provecho, pese a que dicho tiempo se podra haber invertido
en mejoras en el proyecto.
VIII.3 Trabajo futuro
Como continuacin a este proyecto se pueden proponer distintas ampliaciones:
35
Apndices
Apndice I: Nociones bsicas de Fotogrametra de objetos cercanos.
Fotogrametra segn SAF (asociacin americana de Fotogrametra) es el conjunto de
ciencia, arte, y tecnologa que obtiene informaciones fiables acerca de objetos fsicos y
su entorno mediante procesos de registro, medida e interpretacin de imgenes fotogrficas y datos obtenidos a partir de energa electromagntica radiante o de fenmenos magnticos.
Restituidor
Instrumento capaz de obtener medidas precisas sobre imgenes fotogrficas y que
permite la formacin del modelo tridimensional. Necesita un mecanismo de visin estereoscpica
Se utiliza para Aplicaciones no topogrficas (Fotogrametra Terrestre): Cualquier cosa
que se pueda fotografiar desde dos posiciones.
Por ejemplo para determinar Forma y dimensiones de objetos fijos
- Estructuras para obtener deformaciones, despieces constructivos y realizar restauraciones.
- Arquitectura y arqueologa.
- Criminologa
En todos los casos el mtodo es el mismo:
- Toma de vistas, (al menos dos) con cmara especial.
- Determinacin de los elementos externos de cada haz.
- Identificacin de los rayos homlogos.
- Bsqueda de interseccin de estos rayos.
El objetivo final siempre es el mismo; obtener coordenadas a partir de fotografas.
36
Referencias Bibliogrficas
[1] Realidad Aumentada [on-line] URL: http://es.wikipedia.org/wiki/Realidad_aumentada
[2] Proyecto Software Libre Android [on-line] URL: http://www.prestashop.com/es/
[3] Prestashop [on-line] URL: http://source.android.com/
[4] Aplicacin iFootGauge [on-line] URL: https://itunes.apple.com/us/app/ifootgauge-whats-your-shoe/id412793207?mt=8
http://developer.android.com/resources/dashboard/pla-
tform-versions.html
37
http://doc.prestashop.com/pages/view-
page.action?pageId=3506384
[17] Craig Larman: UML y Patrones. Introduccin al anlisis y diseo orientado a objetos.
[18] Patrones de diseo Android [on-line] URL: http://www.androidpatterns.com/
[19] Web Services REST [on-line] URL:
http://en.wikipedia.org/wiki/Representational_state_transfer
http://www.inesco-
p.es/
38