Director: Francisco Javier Llins Audet Departamento del director: Organizacin de Empresas (OE)
Titulacin: Ingeniera Tcnica en Informtica de Gestin
Centro: Facultat d'Informtica de Barcelona (FIB) Universidad: Universitat Politcnica de Catalunya (UPC) BarcelonaTech
i ndice
1. Introduccin .................................................................................................................. 1 1.1. Origen y motivacin ............................................................................................... 1 1.2. Objetivos ................................................................................................................ 1 2. Estudio de la viabilidad del sistema .............................................................................. 3 2.1. Estudio de la situacin actual ................................................................................ 3 2.2. Estudio de propuesta ............................................................................................. 3 2.2.1. Propuesta ........................................................................................................ 3 2.2.2. Requisitos ........................................................................................................ 5 2.2.3. Tecnologa ....................................................................................................... 5 2.3. Estudio de las alternativas ..................................................................................... 6 2.3.1. Anlisis de los sistemas de informacin actuales ........................................... 7 2.3.2. Valoracin de los sistemas de informacin actuales .................................... 10 2.3.3. Conclusin ..................................................................................................... 11 2.4. Valoracin de la solucin ..................................................................................... 12 2.4.1. Plan de accin ............................................................................................... 12 2.4.2. Estimacin de costes ..................................................................................... 19 2.4.3. Conclusin ..................................................................................................... 22 3. Proceso de anlisis del SI ............................................................................................ 23 3.1. Definicin del sistema .......................................................................................... 23 3.1.1. Alcance .......................................................................................................... 23 3.1.2. Identificacin del entorno tecnolgico ......................................................... 23 3.1.3. Especificacin de estndares y normas ........................................................ 26 3.2. Establecimiento de requisitos .............................................................................. 27 3.2.1. Requisitos funcionales y no funcionales ....................................................... 27 3.2.2. Especificacin de los casos de uso ................................................................ 28 3.3. Anlisis de los casos de uso ................................................................................. 38 3.3.1. Caligrafa ........................................................................................................ 39 3.3.2. Vocabulario ................................................................................................... 40
ii 3.3.3. Configuracin ................................................................................................ 43 3.3.4. Ahorcado ....................................................................................................... 43 3.3.5. Lecturas ......................................................................................................... 45 3.3.6. Temario ......................................................................................................... 47 3.4. Elaboracin del modelo de datos ........................................................................ 48 3.5. Definicin de interfaces de usuario ..................................................................... 50 3.5.1. Especificacin de los principios generales de la interfaz .............................. 50 3.5.2. Especificacin de los formatos individuales de la interfaz ........................... 51 3.5.3. Especificacin del comportamiento dinmico de la interfaz ........................ 56 3.6. Especificacin del plan de pruebas ...................................................................... 59 3.6.1. Definicin del alcance de las pruebas ........................................................... 59 3.6.2. Definicin de las pruebas de aceptacin del sistema ................................... 60 4. Proceso de diseo del SI ............................................................................................. 63 4.1. Definicin de la arquitectura del sistema ............................................................ 63 4.1.1. El ncleo Linux ............................................................................................... 63 4.1.2. Runtime de Android ...................................................................................... 64 4.1.3. Libreras nativas ............................................................................................ 64 1.4.4. Entorno de aplicacin.................................................................................... 65 1.4.5. Aplicaciones ................................................................................................... 65 4.2. Diseo de casos de uso reales ............................................................................. 65 4.2.1. Caligrafa ........................................................................................................ 65 4.2.2. Vocabulario ................................................................................................... 66 4.2.3. Configuracin ................................................................................................ 69 4.2.4. Ahorcado ....................................................................................................... 70 4.2.5. Lecturas ......................................................................................................... 71 4.2.6. Temario ......................................................................................................... 72 5. Proceso de mantenimiento ........................................................................................ 75 5.1 Especificacin del mantenimiento ........................................................................ 75 6. Conclusiones del proyecto .......................................................................................... 77 7. Bibliografa .................................................................................................................. 79 7.1. Pginas web ......................................................................................................... 79 7.1.1. Consultas de programacin .......................................................................... 79
iii 7.1.2. Consultas de diseo ...................................................................................... 80 7.1.3. Consultas del idioma ..................................................................................... 80 7.1.4. Consultas para la elaboracin de la memoria ............................................... 80 7.2. Libros .................................................................................................................... 81 7.2.1. Libros de ruso ................................................................................................ 81 7.2.2. Libros de programacin ................................................................................ 81 7.3. Aplicaciones mviles ............................................................................................ 82 7.3.1. Aplicaciones de ruso...................................................................................... 82 7.3.2. Aplicaciones de diseo .................................................................................. 82 7.4. Apuntes de la carrera ........................................................................................... 82
iv
1 1. ntroduccio n La realizacin del proyecto ha sido bastante diferente a lo que esperaba. Me ha sorprendido lo complejo que puede llegar a ser materializar una idea desde cero. En esta introduccin quiero mostrar cmo surgi la idea y hacer un breve resumen de la aplicacin que he realizado.
1.1. Origen y motivacin La idea de este proyecto surgi de una charla con mis compaeros de piso. Ambos queran aprender ruso en los ratos libres pero no encontraban ningn sistema que fuera completo. El principal problema que tiene una persona castellanoparlante a la hora de aprender ruso de forma autodidacta, es la falta de buen curso de iniciacin en el idioma. La mayora de los sistemas que mis compaeros haban probado no les proporcionaban una buena base para poder avanzar. Gracias a los problemas que ellos haban tenido con las carencias de los otros sistemas, idee gran parte de la funcionalidad de la aplicacin. Para la elaboracin del contenido segu varios cursos encontrados en: la red, libros y otras aplicaciones mviles. A partir de estos, cree un sistema ms fcil para iniciarse en el idioma. Adems, tuve la suerte de que mis compaeros iban probando los diversos bloques de aprendizaje, esto hizo que fuera ms fcil detectar si el sistema de aprendizaje empleado y la forma de presentarlo en la aplicacin, era adecuado. Hay que tener en cuenta que no es solo importante el material didctico, ya que, el medio tecnolgico usado debe estar implementado de una forma gil y fcil de manejar. Adems de ser ameno y amigable para el usuario.
1.2. Objetivos Este proyecto se empieza desde cero, es decir, no es una ampliacin de otra aplicacin que tenga, sino que se busca mejorar lo que ya existe en el mercado. A grandes rasgos, esta aplicacin pretende conseguir que una persona que no sabe nada de ruso pueda adquirir conocimientos del idioma equivalentes al primer curso de la escuela de idiomas, e incluso superarlo.
2 Los objetivos especficos que he fijado para conseguir un mejor aprendizaje del idioma, en comparacin con otros cursos bsicos existentes, son: Hacer hincapi en la pronunciacin, ya sea de las letras sueltas como de las palabras. Hacer hincapi en la caligrafa, la mayora de los cursos actuales no te ensean a escribir las letras a mano, ya que solo utilizan las letras de imprenta (ordenador). Ofrecer un vocabulario bsico como toma de contacto con el idioma, escrito siempre con letras de imprenta y a mano, adems de su pronunciacin. Ofrecer unas pequeas nociones de gramtica para poder empezar a desenvolverte en el idioma. Ofrecer ejercicios para reforzar lo aprendido. Por tanto, este curso destacar por ser una combinacin de todo lo existente, cuyos puntos fuertes sern la enseanza del abecedario ruso tanto con letras de imprenta como manuscritas, con el valor aadido de que no solo las sabrs identificar sino que tambin escribir.
3 2. Estudio de la viabilidad del sistema 2.1. Estudio de la situacin actual Como he comentado anteriormente, en el mercado actual no existen aplicaciones que enseen ruso desde cero de una forma completa. Cuando buscas aplicaciones para aprender el idioma, encuentras muchas que te ofrecen packs de vocabulario, donde te muestran cmo se escribe la palabra y su audio. Algunas veces tambin puedes encontrar su transcripcin fontica o alguna ayuda para pronunciarlo mejor. Adems, la mayora de estas aplicaciones estn pensadas para un pblico de habla inglesa, ya que las ayudas para pronunciar se basan en la pronunciacin inglesa. Otro problema es la caligrafa, en las aplicaciones mviles no te ensean a escribir ruso a mano. Por lo que, si quieres practicar el vocabulario aprendido que te ofrecen, has de escribirlo a ordenador o emular la letra de imprenta. Finalmente, la ltima carencia que se ha encontrado, es que no ensean nada de gramtica en estas aplicaciones. Cosa necesaria para poder aprender el idioma.
2.2. Estudio de propuesta 2.2.1. Propuesta Tras ver todas las carencias de las aplicaciones actuales, se ha ideado una aplicacin que alcanza el nivel equivalente al primer curso de la escuela oficial de idiomas. Donde se juntara la gramtica necesaria, la escritura y la pronunciacin del idioma. La aplicacin se dividir en cinco secciones distintas: Temario, vocabulario, caligrafa, el ahorcado y lecturas. En la primera seccin, Temario, estarn las explicaciones de gramtica necesarias para empezar a aprender el idioma y ejercicios para poder ponerlo en prctica y reforzar lo aprendido. Por ejemplo, empezar desde lo ms bsico, el abecedario. Mostrar todas las letras, tanto en formato imprenta como manuscrito, para que el usuario vaya familiarizndose con alfabeto. Adems, tambin se ensear como se pronuncia cada letra y se pondr un ejemplo. Otros temas que aparecern dentro de esta seccin son los sustantivos, adjetivos, pronombres etc.
4 Esta seccin es importante, ya que le da un valor aadido a la aplicacin respecto a las actuales en el mercado. La segunda seccin es Vocabulario, su funcin es agrupar distintos bloques de palabras basndose en su significado, por ejemplo, rojo, azul y verde pertenecern al bloque de colores. Dentro de vocabulario podremos encontrar diversos bloques como por ejemplo: animales, bebidas, comidas, colores o nmeros entre otros. Para darle un punto de valor aadido a esta seccin, se mostrarn las palabras del vocabulario siempre escritas en los dos formatos, es decir, a mquina y a mano. Adems, aparte de poder escuchar cmo se pronuncia cada palabra, se incluir la funcin de grabar al usuario mientras pronuncia y poder escucharse despus. Pudiendo as perfeccionar la pronunciacin. El tercer apartado es Caligrafa, aqu se ensear a escribir las letras del alfabeto ruso como si de un cuadernillo se tratara. De esta forma, el usuario no solo identifica las letras sino que aprende como se deben trazar. La cuarta seccin es un pequeo juego llamado Ahorcado, que anima al usuario a adivinar que palabra de las aprendidas en la seccin de vocabulario puede ser la respuesta correcta. Para ello el jugador tendr la respuesta codificada con guiones y deber ir pulsando las letras que considere correctas. En caso de acertar con la letra, se cambiarn los guiones afectados por la letra en cuestin. Si falla, se irn agregando partes al cuerpo del ahorcado. Si se completa la imagen del ahorcado antes de acertar la palabra, pierde, sino, gana. Al acabar la partida, si el usuario lo desea, podr escuchar la pronunciacin de la palabra. La ltima de las secciones mencionadas es Lecturas, donde el usuario podr encontrar una serie de textos en ruso cada vez con un poco ms de dificultad. Donde cada uno tendr disponible su audio y la traduccin al castellano. Es importante que el usuario no solo aprenda palabras sueltas, sino que pueda ver ejemplos de escritura e intente entender las frases en conjunto no por palabras. Finalmente, aunque no lo considero una de las secciones de la aplicacin por no aportar aprendizaje, hay una ltima seccin llamada Configuracin que explica mediante imgenes como se puede activar y desactivar el teclado ruso para algunos ejercicios de la aplicacin.
5 2.2.2. Requisitos Como toda aplicacin, existen unos requisitos mnimos. Son los siguientes: Independientemente de la tecnologa que se use, esta deber poder interactuar con el usuario mediante una pantalla tctil, ya que para algunos puntos clave de la aplicacin ser necesario. Es necesario que pueda reproducir audio. Es necesario que pueda grabar audio. Es necesario que pueda emitir pequeas vibraciones. Es necesario que disponga de un teclado con el alfabeto ruso.
2.2.3. Tecnologa Para esta aplicacin inicialmente se pens en Android 1 , este sistema operativo se puede encontrar en diferentes dispositivos, como por ejemplo en algunos de la marca Samsung 2 , HTC 3 o Motorola 4 . Android es un sistema operativo basado en Linux 5 , diseado principalmente para mviles y tablets tctiles. Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en 2005, pero hasta octubre del 2008 no se vendi el primer mvil con este sistema operativo. Tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, se han sobrepasado las 700.000 aplicaciones (de las cuales, dos tercios son gratuitas) disponibles para la tienda de aplicaciones oficial de Android: Google Play 6 , sin tener en cuenta aplicaciones de otras tiendas no oficiales para Android, como pueden ser la App Store de Amazon 7 o la tienda de aplicaciones Samsung Apps 8 . Aunque Google Play es la tienda de
1 Android: es un sistema operativo basado en Linux, diseado principalmente para mviles con pantalla tctil como tablets inicialmente desarrollados por Android Inc. 2 Samsung, marca que pertenece al grupo Samsung. Es una empresa surcoreana que goza de gran reconocimiento a nivel mundial y tambin es lder mundial en diversas ramas de la industria electrnica. 3 HTC: HTC Corporation, anteriormente High Tech Computer Corporation, 5 es un fabricante de smartphones taiwans 4 Motorola es una empresa estadounidense especializada en la electrnica y las telecomunicaciones, establecida en Schaumburg, Illinois, en las afueras de Chicago. 5 Linux es un ncleo libre de sistema operativo basado en Unix. Es uno de los principales ejemplos de software libre. Est licenciado bajo la GPL v2 y est desarrollado por colaboradores de todo el mundo. 6 Google Play, antes llamado Android Market, es una tienda de software en lnea desarrollada por Google para los dispositivos android. Es una aplicacin que est preinstalada en la mayora de los dispositivos Android y que permite a los usuarios buscar, obtener informacin y descargar aplicaciones publicadas por desarrolladores terceros. 7 App Store de Amazon un gestor de descargas de la tienda online Amazon.com para smartphones y tablets que tengan el sistema operativo Android. 8 Samsung apps es un gestor de descargas de la marca surcoreana Samsung para smartphones de la marca, que incluyen los que posean el sistema operativo Android (gama Galaxy) y Bada (gama Wave).
6 aplicaciones en lnea administrada por Google 9 , existe la posibilidad de obtener software externamente. Hay varios fabricantes que utilizan este sistema operativo, como puede ser HTC, Motorola, Samsung, Google por lo que hay una gran cantidad de telfonos en cada una de las gamas. Actualmente, la cuota de dispositivos Android en Espaa es de un 86.8%. Igual que hay una gran variedad de dispositivos, hay una gran variedad de usuarios. Android lo usan tanto los usuarios que buscan un telfono bsico como los que quieren el telfono ms puntero. Adems, la documentacin para Android es fcilmente localizable tanto por internet como en libros. Tambin hay que tener en cuenta, la ayuda de la gran comunidad de desarrolladores que plantean y solucionan las dudas en diversos foros.
2.3. Estudio de las alternativas En una sociedad altamente tecnolgica se pueden encontrar varias opciones a la hora de desarrollar una nueva aplicacin. De todas estas opciones he elegido centrarme en las siguientes plataformas como alternativas: Windows 8, es el ltimo sistema operativo que Microsoft 10 ha sacado al mercado, es compatible tanto para ordenadores como para tablets y mviles. BlackBerry OS, es el sistema operativo que llevan los dispositivos BlackBerry 11 . IOS, es el sistema operativo Apple, se puede encontrar en los dispositivos iPhone e iPad 12 . De estas plataformas vamos a analizar todo aquello que pueda ser decisivo para el xito en el siguiente apartado.
9 Google Inc es la empresa propietaria de la marca Google. 10 La marca Mircrosoft pertenece a Microsoft Corporation, una empresa multinacional de origen estadounidense, fundada el 4 de abril de 1975 por Bill Gates y Paul Allen. 11 BlackBerry: Es una marca de Smartphone que surgi pensada para ejecutivos o gente de negocio. Su sistema operativo fue desarrollado por Research In Motion (RIM). 12 IPhone e iPad: Son los nombres de los dispositivos mviles y tablets respectivamente que tiene la compaa Apple.
7 2.3.1. Anlisis de los sistemas de informacin actuales Para analizar los diversos sistemas de informacin seguir cinco puntos: sus caractersticas principales, la documentacin existente, la facilidad de uso, la opinin de los usuarios y xito en general, igual que se hizo en el apartado anterior con Android. 2.3.1.1. Windows 8 Este nuevo sistema operativo no hace mucho est circulando, a pesar de eso ha causado un gran impacto con las novedades que presenta y el bajo precio que ha supuesto actualizarse estando en promocin 13 . A principios de enero de este ao Windows 8 ya haba alcanzado las 60 millones de licencias vendidas. Con la llegada del Windows 8 hay muchas instituciones educativas en Espaa que sin duda se preguntan si el nuevo sistema operativo de Microsoft les ofrece ventajas significativas a sus estudiantes y vale la pena cambiar su antiguo sistema operativo por este. Dado el incremento de soporte tcnico y formacin al profesorado que supone cualquier migracin o actualizacin a un nuevo sistema operativo, los tcnicos y directores del centro deben sospesar las dificultades tcnicas iniciales con las ventajas educativas a largo plazo. Como punto de partida hay que entender que Windows 8 est diseado teniendo en mente ordenadores de pantalla tctil, tablets y dispositivos mviles. Microsoft quiere diferenciarse por permitir una experiencia de aprendizaje unificada, ofreciendo para ello un PC de sobremesa con Windows 8, su propio tablet Surface (con teclado incluido) y telfonos mviles con Windows Phone 8. El nmero de nuevas caractersticas es inmenso as que me centrar en las dos ms interesantes para el proyecto. La mejor sin duda es la uniformidad de uso en cualquier dispositivo, es decir, Microsoft quiere proporcionar la misma experiencia intuitiva de navegacin tanto cuando trabajas desde tu PC de escritorio, accedes desde tu tablet o escribes desde tu mvil. La otra caracterstica importante es la integracin con la tienda de aplicaciones para dispositivos mviles Windows 8, facilitando la compra e instalacin de las aplicaciones aprobadas por Microsoft. De esta forma cualquier aplicacin podr usarse desde ambos lados y trabajar pc o mvil sin perder datos.
13 Por 30 euros se poda actualizar tu sistema operativo a Windows 8 hasta finales de enero del 2013.
8 Sin embargo, la tienda de Microsoft tendr que esperar un tiempo para equiparse con la seleccin de aplicaciones educativas que estn disponibles para el iPad (Apple). En estos momentos hay ms de 33.000 aplicaciones educativas en el Apple Store 14 . De cara a los desarrolladores no presenta excesivo cambio, ya que se podr seguir implementando con los mtodos que se usaban antes. Aunque tendrn funcionalidades nuevas y algunas exigencias por parte de Microsoft para que se cumpla por ejemplo la uniformidad. La documentacin es fcil de encontrar y existen numerosos foros en la comunidad de desarrollo Microsoft donde poder preguntar los problemas que surjan. Un factor muy importante a tener en cuenta son los usuarios, pues al fin y al cabo, ellos son los que consumen el producto. La cantidad de gente que tiene Windows 8 es todava muy baja, tanto en pc como en el resto de opciones, no llega a un 1%. Se espera que poco a poco vaya incrementndose, pero aun as tiene un largo camino que recorrer. En el caso de pc, el sistema operativo ms utilizado es Windows 7 (casi un 45%) y despus Windows XP (casi un 40%). En cierta forma es preocupante que sea tan elevado el uso del XP, ya que est muy obsoleto. Probablemente sea tan alto debido a las empresas que se han quedado ah estancadas y por miedo al cambio no accedan a versiones superiores y actuales. En el resto de casos, la cuota de dispositivos con Windows en Espaa es de un 1,4% donde engloba el antiguo sistema y el recin presentado, as que, el porcentaje del nuevo debe ser nfimo. Los usuarios que actualmente tienen este sistema operativo en su mayora son desarrolladores y su opinin es bastante buena. Hara falta que ms gente comn hiciera el cambio para ver una opinin de personas que no tienen tanto nivel como los desarrolladores. 2.3.1.2. BlackBerry OS BlackBerry hace unos aos destacaba por ser tipo de dispositivo dedicado a los empresarios, en la actualidad se ha acercado al pblico juvenil, en parte gracias a su sistema de privado de mensajera. Actualmente la cuota de los dispositivos BlackBerry en Espaa es de un 6.3 %. Esta empresa cada vez va perdiendo ms cuota de mercado, y en consecuencia est
14 Apple Store es un servicio para el iPhone, iPod Touch, iPad, Mac OS X Snow Leopard y Mac OS X Lion creado por Apple Inc, que permite a los usuarios buscar y descargar aplicaciones informticas desarrolladas con el iPhone SDK y publicadas por Apple.
9 haciendo bastantes cambios en su sistema operativo, para adaptarse a las necesidades actuales. La mayor novedad que presenta es la posibilidad de ejecutar aplicaciones de Android en sus nuevos telfonos, gracias a una mquina virtual interna. Con este cambio se incrementan muchsimo el nmero de aplicaciones disponibles en su tienda. Por otro lado, la documentacin es fcil de encontrar y tambin existen grupos o foros de la comunidad de BlackBerry donde ayudan a resolver los problemas. Los dispositivos de esta plataforma son fciles de usar, tanto las tablets como los mviles. Por suerte, la forma de interactuar con el sistema operativo actual ha cambiado mucho en comparacin a hace unos aos, ya que antes era bastante limitado y poco intuitivo. Finalmente, los usuarios actuales son de todo tipo, tanto los iniciales empresarios como los jvenes. A pesar de eso, es un grupo reducido en comparacin con otras plataformas mviles. 2.3.1.3. IOS Apple se ha querido siempre caracterizar por ofrecer productos de alta calidad y exclusividad en sus dispositivos. Con esta publicidad, ha sido capaz de mover a grandes masas de usuarios hasta sus tiendas, creando incluso dependencia de sus productos. Esta empresa genera grandes beneficios cada ao, especialmente en Estados Unidos donde tiene una cuota de dispositivos de 35.2 % mientras que en Espaa es de tan solo un 2.9%. Los usuarios de este tipo de dispositivo suelen ser personas con poder adquisitivo, aunque hay de todo tipo debido a las antiguas ayudas de las compaas telefnicas a la hora de adquirir un nuevo telfono. Entre todos usuarios de las diversas plataformas, estos son los que ms descargan aplicaciones de pago. A diferencia de otras marcas, Apple tiene una gama bastante pequea de dispositivos. Cuando estrenan un modelo nuevo suelen dejar de producir el anterior. De cara al desarrollador, esto le facilita un poco el trabajo, ya que reduce las posibilidades de incompatibilidad entre los distintos dispositivos. Respecto al sistema operativo no hay mucho que decir, es bastante intuitivo y dispone de una gran cantidad de aplicaciones en su tienda online. Finalmente, el desarrollo para iOS es el inicialmente ms costoso de todos, ya que necesitas un ordenador Mac para ello y tener instalado su SDK, que es de pago anual. A cambio, la propia compaa te ofrece una gran cantidad de documentacin gratuita.
10 2.3.2. Valoracin de los sistemas de informacin actuales En este apartado obtendr unas conclusiones y una valoracin lo ms objetivas posibles de cada uno de los sistemas de informacin anteriores. Por un lado, he podido ver que en todos los casos, a nivel programacin existe una buena documentacin y gran variedad de foros donde poder consultar los problemas que surjan. Por otro lado, la forma de interactuar con el usuario no dista demasiado entre un sistema y otro, no s puede considerar algo decisivo. 2.3.2.1. Windows 8 Las herramientas de trabajo que ofrece son potentes, especialmente su caracterstica de uniformidad anteriormente explicada. Adems se adaptar perfectamente a las necesidades de la aplicacin. En contra, al ser un sistema operativo tan nuevo, la mayora de usuarios que lo utilizasen mediante un ordenador probablemente no tendran una pantalla tctil dado la escasez de modelos. Por otro lado est el uso mediante dispositivos mviles y tablets. Estos se han distribuido poco entre la poblacin, as que no tendra de base un gran mercado potencial. Respecto a los usuarios, pese a que el mercado va creciendo poco a poco, considero que no son fiables las opiniones que hay actualmente. Por tanto, en este punto no s podra valorar. 2.3.2.2. BlackBerry OS Esta plataforma est intentando resurgir con grandes cambios en el diseo, la accesibilidad, el tipo de usuario que buscan etc. Unos cambios desde mi punto de vista, acertados y necesarios. Los usuarios de esta plataforma ya no son tan especficos como en los inicios de la compaa, pero a pesar de eso, una aplicacin de aprendizaje de ruso no acaba de tener mucho futuro entre sus usuarios actuales. 2.3.2.3. IOS IOS es una gran plataforma para desarrollar que te proporciona todo el software o informacin que necesitas dentro de su SDK. El problema es para pequeos desarrolladores que no pueden permitirse comprar un Mac y mantener el entorno de programacin anualmente. Por un lado, no es una opcin atractiva para aquellas si nicamente quieres hacer prueba o un nico proyecto. Aunque por el otro, es la que menos problemas de compatibilidad puede producir.
11 2.3.2.4. Android Android ha evolucionado de una forma brutal en los pocos aos que tiene de vida, y aun tiene mucho ms que ofrecer. Es una gran plataforma para desarrollar si no tienes muchos recursos, ya que no necesita un gran ordenador para programar, y tanto el entorno como la informacin para llevarlo a trmino son gratuitos. La parte negativa es que hay una gran competencia, ya que es fcil acceder al desarrollo de las aplicaciones.
2.3.3. Conclusin Tras ver las distintas plataformas, con sus ventajas y desventajas, se tendra que evaluar cmo se adaptan a las necesidades de infraestructura tecnolgica. Dado que las necesidades de este proyecto son bsicas, no se puede excluir a ninguna plataforma por no cumplirlas. As que, para la seleccin me basar en la opinin de los usuarios, en su cuota de dispositivos y en una estimacin econmica global. 2.3.3.1. Windows 8 La cantidad de usuarios de Windows 8 an es demasiado baja y las opiniones de estos no las puedo considerar muy vlidas, ya que la mayora no son de un usuario corriente, sino de un desarrollador. Por otro lado, el coste para desarrollar no es alto. Se necesita un ordenador de gama media y el entorno de programacin. Este ltimo se puede conseguir gratuitamente al ser estudiante de la FIB. 2.3.3.2. BlackBerry OS Igual que en el caso anterior, la cantidad de usuarios no es elevada aunque sus usuarios s que estn contentos con la plataforma, considero que el perfil no se adapta al buscado por la aplicacin. Y su coste es el mismo que el anterior tambin, ya que el entorno de programacin es gratuito y nicamente se necesitara un ordenador de gama media. 2.3.3.3. IOS IOS pese a que tiene en Espaa una cuota de dispositivos bastante baja, tiene unos usuarios muy fieles a la plataforma. El coste para desarrollar aplicaciones para iOS es elevado, ya que necesitas un ordenador de Apple que son bastante ms caros que los otros ordenadores y su SDK es de pago tambin.
12 2.3.3.4. Android Tanto la cantidad de personas que estn utilizando esta plataforma como sus opiniones sobre esta son muy positivas. Igual que en los dos primeros casos, con un ordenador medio ya puedes desarrollar aplicaciones para esta plataforma y adems, el entorno es gratuito. Tras esta pequea comparacin entre las cuatro plataformas, la elegida para desarrollar el proyecto es la elegida inicialmente, es decir, Android. Debido a que el coste es bajo y dispone de muchos tipos de usuarios.
2.4. Valoracin de la solucin 2.4.1. Plan de accin La planificacin de este proyecto se muestra a partir de un Gantt. En el cul, se pueden observar grficamente que tareas se desarrollarn y en qu das suceder. Adems he aadido una tabla en donde las tareas estn estimadas en horas. Cabe decir que la dedicacin al proyecto no ha sido la misma durante estos meses. Por tanto, ha habido etapas en las que un da equivale a una dedicacin tres o cuatro horas mientras que en otras, el da corresponde a cinco o seis horas en promedio. A continuacin, muestro la tabla con el desglose de horas por tarea.
Tabla: Elaboracin de la propuesta
Fuente: Elaboracin propia
Elaboracin de la propuesta Ver problemas otras aplicaciones Idear funcionalidades - Requisitos Diseo inicial Definir contenido
Antes de mostrar el Gantt una breve explicacin de las tablas. El proyecto se dividi en dos fases a causa de un cambio en el diseo de la aplicacin, que prcticamente hizo que esta se iniciase de nuevo desde cero. Aunque la mayora de las funcionalidades ya implementadas eran fciles de adaptar al cambio. Fase 2 HORAS Programacin 140 Barra y men 10 Vocabulario 30 Ahorcado 10 Configuracin 10 Lecturas 15 Temario 50 Caligrafa 15 Testeo y bugs 70 General 10 Vocabulario 20 Ahorcado 5 Configuracin 5 Lecturas 5 Temario 20 Caligrafa 5 Contenido 139 Traducciones vocabulario 0 Audio vocabulario 0 Imgenes vocabulario 8 Iconos vocabulario 28 Imgenes ahorcado 3 Iconos ahorcado 3 Imgenes configuracin 3 Texto lecturas 24 Iconos lecturas 3 Imgenes temario 35 Iconos temario 2 Imgenes caligrafa 5 Iconos caligrafa 5 Fondos y botones varios 20 Horas totales: 349
15 Por otra parte, la ltima de las tablas, es decir, la tabla de Elaboracin de la propuesta, tuvo una duracin de tres semanas aproximadamente y he obviado las tablas que contienen el tiempo dedicado en la memoria y en el rediseo de la aplicacin, ya que se muestra directamente en el Gantt. Para facilitar el seguimiento del Gantt, dejo el listado de tareas, con su duracin en las siguientes tablas.
Tabla: Listado de tareas 1 Nombre de la tarea Duracin Inicio Fin Elaboracin de la propuesta 21 das 13/09/12 11/10/12 Ver problemas otras aplicaciones 10 das 13/09/12 26/09/12 Idear funcionalidades - Requisitos 10 das 13/09/12 26/09/12 Diseo inicial 11 das 27/09/12 11/10/12 Definir contenido 11 das 27/09/12 11/10/12
Fase I 56 das 15/10/12 31/12/12 Estructura 1 da 15/10/12 15/10/12 Traducciones vocabulario 10 das 16/10/12 29/10/12 Test y bugs: Vocabulario 2 das 05/11/12 06/11/12 Audio vocabulario 10 das 16/10/12 29/10/12 Vocabulario 14 das 16/10/12 02/11/12 Ahorcado 6 das 07/11/12 14/11/12 Imgenes ahorcado 1 da 08/11/12 08/11/12 Test y bugs: Ahorcado 2 das 15/11/12 16/11/12 Iconos ahorcado 1 da 08/11/12 08/11/12 Lecturas 8 das 19/11/12 28/11/12 Test y bugs: Lecturas 2 das 29/11/12 30/11/12 Caligrafa 8 das 03/12/12 12/12/12 Imgenes caligrafa 3 das 10/12/12 12/12/12 Test y bugs: Caligrafa 2 das 13/12/12 14/12/12 Imgenes configuracin 1 da 17/12/12 17/12/12 Fondos y botones varios 4 das 17/12/12 20/12/12
Rediseo 16 das 10/01/13 31/01/13
Fuente: Elaboracin propia
16
Tabla: Listado de tareas 2 Nombre de la tarea Duracin Inicio Fin Fase II 91 das 01/02/13 08/06/13 Lecturas 4 das 04/02/13 07/02/13 Test y bugs: Lecturas 2 das 11/02/13 12/02/13 Texto lecturas 6 das 01/02/13 08/02/13 Iconos lecturas 1 da 01/02/13 01/02/13 Caligrafa 5 das 18/02/13 22/02/13 Cambio: Imgenes caligrafa 2 das 11/02/13 12/02/13 Test y bugs: Caligrafa 2 das 25/02/13 26/02/13 Iconos caligrafa 3 das 13/02/13 15/02/13 Vocabulario 5 das 12/03/13 18/03/13 Cambio: Imgenes vocabulario 1 da 04/03/13 04/03/13 Iconos vocabulario 6 das 05/03/13 12/03/13 Test y bugs: Vocabulario 4 das 19/03/13 22/03/13 Configuracin 3 das 25/03/13 27/03/13 Test y bugs: Configuracin 1 da 28/03/13 28/03/13 Imgenes configuracin 1 da 25/03/13 25/03/13 Ahorcado 3 das 15/04/13 17/04/13 Test y bugs: Ahorcado 2 das 18/04/13 19/04/13 Cambio: Imgenes ahorcado 1 da 11/04/13 11/04/13 Cambio: Iconos ahorcado 1 da 12/04/13 12/04/13 Documentacin del proyecto 23 das 22/04/13 22/05/13 Temario 10 das 20/05/13 31/05/13 Imgenes temario 10 das 20/05/13 31/05/13 Iconos temario 1 da 31/05/13 31/05/13 Test y bugs: Temario 3 das 03/06/13 05/06/13 Test y bugs: General 3 das 05/06/13 07/06/13 Detalles varios 3 das 05/06/13 07/06/13
Fuente: Elaboracin propia
Y finalmente, el Gantt.
17
18
19 2.4.2. Estimacin de costes A partir de la informacin detallada en el punto anterior, se puede obtener parte de los costes que supondra desarrollar esta aplicacin. Para ser ms especfica, dividir los costes en cuatro tipos: Hardware: Los que tienen que ver con la maquinara utilizada. Software: Los que surgen a travs de las licencias utilizadas en el desarrollo del proyecto. Recursos humanos: Son los relacionados con el personal que participa en el proyecto. Gastos generales: Hacen referencia a los gastos que afectan indirectamente al proyecto. 2.4.2.1. Hardware Para el desarrollo del proyecto, se ha utilizado un porttil Sony Vaio con las siguientes caractersticas: Un procesador Intel Core i3 CPU M 330 a 2.13GHZ, con 4 Gb de RAM. El coste de este equipo fue de 435,5 euros (sin IVA), que inclua una licencia de Windows 7. Adems del porttil, se ha utilizado varios dispositivos Android para las pruebas del proyecto, aunque solo uno ha sido comprado. Este tiene un coste de 316 euros (sin IVA) y es un mvil Nexus de la marca Samsung. En el caso del porttil, se le estima una vida til de unos cuatro aos, mientras que al mvil de unos tres. Por tanto, el coste real para la aplicacin sera el equivalente a nueve meses dentro de su vida til. Es decir, que costara 81,47 y 79 euros respectivamente, como se puede ver en la siguiente tabla.
Tabla: Costes de hardware Descripcin Coste Vida til Tiempo de uso % Imputable Coste real Porttil con Windows 7 434,5 euros 48 meses 9 meses 18,75 81,47 Nexus 316 euros 36 meses 9 meses 25 79 Total: 160,47 Fuente: Elaboracin propia 2.4.2.2. Software Para la realizacin de este proyecto se ha utilizado el entorno de programacin Eclipse 15 . Adems de otras herramientas para generar el contenido tanto de la
15 Eclipse: Programa informtico compuesto por un conjunto de herramientas de programacin de cdigo abierto multiplataforma.
20 memoria como de la aplicacin. Ms adelante entrar en detalle, ahora simplemente evaluar sus costes. Los programas utilizados son: Windows 7, Eclipse, Photoshop 16 , ArgoUML 17 y el pack de ofimtica Microsoft Office 2010. En la seccin de hardware ya se evalu el coste del sistema operativo (Windows 7), por tanto lo obviaremos en esta seccin. Respecto al resto de software, por un lado estn los programas directamente gratuitos, que son Eclipse y ArgoUML. Y por el otro, los de pago, es decir, el pack de ofimtica y Photoshop. Aunque en ambos casos los he obtenido gratuitamente. En el caso del Photoshop, he adquirido una versin express, es decir, una versin que no tiene todas las funcionalidades del programa pero que te permite trabajar sin problemas. Mientras que en el caso del pack de ofimtica, he adquirido la licencia a travs de la universidad. Por tanto, dentro de esta seccin el coste total es de cero euros. 2.4.2.3. Recursos humanos Para calcular el coste de las personas involucradas se tiene en cuenta su rol, el precio del rol y las horas dedicadas por cada rol al proyecto. En este caso, las personas involucradas seran un desarrollador, un diseador y dos personas externas cuyas funciones eran probar la aplicacin reportando los errores encontrados y sugerencias. Por un lado, es necesario comentar que las dos personas externas son voluntarias y por tanto, no reciben ninguna remuneracin por ello. Por el otro lado, cabe decir, que el desarrollador ser el encargado de las funciones de testeo adems de las de programacin. Mientras que el resto de roles, son todos realizados por una nica persona, es decir, por m. Finalmente, comentar que el precio hora de cada rol est basado en la remuneracin que obtiene un estudiante en un convenio de prcticas.
16 Adobe Photoshop es el nombre, o marca comercial oficial. Es una aplicacin informtica en forma de taller de pintura y fotografa que trabaja sobre un lienzo y que est destinado a la edicin, retoque fotogrfico y pintura a base de imgenes de mapa de bits. 17 ArgoUML es una aplicacin de diagramado de UML escrita en Java y publicada bajo la Licencia BSD.
21
Tabla: Costes de recursos humanos Rol Euros hora Horas Coste Desarrollador 8 385 3080 Diseador 10 242 2420 Personal externo 0 - 0 Total: 5500 euros Fuente: Elaboracin propia
2.4.2.4. Gastos generales Los costes de este apartado tienen en cuenta el coste del alquiler y las facturas del sitio (agua, luz, calefaccin, internet). Dado que el proyecto ha sido realizado siempre en bibliotecas o salas de trabajo, no ha incrementado el coste del proyecto. 2.4.2.5. Total El coste total de la aplicacin es 5660,47 euros, como se puede ver desglosado en la siguiente tabla. Tabla: Coste total Tipo Coste Hardware 160,47 Software 0 Recursos 5500 Servicios y estructura 0 Total: 5660,47 Fuente: Elaboracin propia
A este coste se le debe aadir el IVA, por tanto, la siguiente tabla muestra el coste total. Tabla: Coste total con IVA Coste IVA Total 5660,47 21% 6849,17 Total: 6849,17 Fuente: Elaboracin propia
22 2.4.3. Conclusin El desarrollo de esta aplicacin es elevado, pero no es excesivamente importante por varios motivos. El primer motivo es que ha servido para aprender una gran cantidad de cosas tanto sobre Android como Photoshop y parte de este coste se podra considerar como una inversin de aprendizaje. Otro motivo es que se podra generar algn tipo de beneficio con ella, ya fuera mediante publicidad insertada dentro de la aplicacin, o hacindola de pago dentro del mercado Android. Pudiendo as cobrar algo por los esfuerzos realizados en su desarrollo. Finalmente, aunque la aplicacin no aportar ningn beneficio econmico, s que se puede utilizar como publicidad personal de cara a otras empresas. Como toma de contacto de tu trabajo.
23 3. Proceso de ana lisis del S 3.1. Definicin del sistema 3.1.1. Alcance Como ya he comentado anteriormente, el contenido de esta aplicacin es un curso de ruso para castellanoparlantes. La aplicacin consta de diferentes temas de aprendizaje. Cada tema est formado de uno o ms subtemas que contienen teora y ejercicios para reforzar lo aprendido. El usuario puede acceder sin lmites a cada uno de estos temas. Adems, tendr acceso ilimitado a todo el vocabulario, que consta de diversas palabras agrupadas en temas sencillos para tomar contacto con el idioma. Con este vocabulario se nutrir el juego de la aplicacin, es decir, el juego del ahorcado. Por tanto, todas las partidas que se realicen, utilizarn nicamente las palabras que se encuentren dentro del vocabulario. El usuario, tras finalizar una partida al ahorcado, podr escuchar el audio de la palabra. De la misma forma, tambin podr escuchar las palabras que encontrar en el vocabulario. En alguno de los ejercicios del temario, se necesitar usar el teclado propio del dispositivo. Este deber estar configurado en ruso. Para ello, la aplicacin ofrece al usuario, unos pasos de configuracin. Finalizo con dos puntos importantes. Por un lado, es importante que el usuario no aprenda nicamente palabras sueltas o nociones de gramtica. Debe poder verlo todo mezclado, es decir, ver el idioma mediante una lectura. Existirn varias lecturas en la aplicacin que tendrn el texto en los dos idiomas (ruso y castellano) y el audio de pronunciacin (en caso de las lecturas en ruso). Y por el otro lado, como coment anteriormente en otra seccin, es importante que el usuario pueda practicar como se trazan las letras del alfabeto ruso a mano. Para ello, se darn una serie de indicaciones permitiendo as saber cmo se escribe cada letra.
3.1.2. Identificacin del entorno tecnolgico En este apartado explicar las herramientas utilizadas para la creacin de la aplicacin. Empezar con lo necesario para programar en Android.
24 3.1.2.1. Entorno Como cualquier lenguaje de programacin se necesita un editor de texto, hay varias opciones como Netbeans 18 o Notepad++ 19 , pero he optado por Eclipse. Eclipse es un entorno de desarrollo integrado de cdigo abierto multiplataforma para crear aplicaciones. Este es usado como la principal herramienta de desarrollo para java, pero tambin podemos instalar plugins 20 para otros lenguajes.
Para utilizar java se necesita el Java Development Kit (JDK) 21 que se puede descargar gratuitamente. Pero nicamente con esto no se puede trabajar con Android, por tanto, se tiene que descargar su SDK 22 .
Hay que elegir el SDK en funcin del ordenador y el sistema operativo que se est usando. Las distintas opciones son:
Opciones de descarga
Fuente: http://developer.android.com/
Una vez descargado e instalado, se vern dos herramientas:
AVD Manager: Aqu se encuentran las mquinas virtuales que permiten ver la aplicacin en funcionamiento.
SDK Manager: Aqu se encuentran todas las herramientas instaladas y no instaladas. Donde cada carpeta es una versin de Android. Dentro de ellas se
18 NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programacin Java. 19 Notepad++ es un editor de texto y de cdigo fuente libre con soporte para varios lenguajes de programacin. De soporte nativo a Microsoft Windows. 20 Plugin: es una aplicacin que se relaciona con otra para aportarle una funcin nueva y generalmente muy especfica. 21 Java Development Kit o (JDK), es un software que provee herramientas de desarrollo para la creacin de programas en Java. 22 SDK: son las siglas en ingls de software development kit es generalmente un conjunto de herramientas de desarrollo software que le permite al programador crear aplicaciones para un sistema concreto.
25 encuentra el SDK que es bsicamente el elemento que se necesita para programar.
3.1.2.2. Photoshop Adobe Photoshop es el editor grfico ms avanzado que existe, capaz de hacer desde simples fotomontajes a complejos diseos 3D e ilustraciones. Son muchsimas sus funciones y posibilidades, aunque por suerte existen nmeros tutoriales para aprender a utilizarlo. Con este software crear o adaptar las imgenes utilizadas para la aplicacin.
3.1.2.3. Grabadora de audio En este caso, he utilizado la propia del ordenador, para obtener el audio necesario para las diversas secciones de la aplicacin.
3.1.2.4. Pack de ofimtica Microsoft Office 2010 Es un conjunto de programas de ofimtica de Microsoft con diferentes utilidades. En este caso se han utilizado: Microsoft Word 2010: Editor de texto con el que se ha realizado la memoria.
Microsoft Excel 2010: Hoja de clculo que permite hacer desde operaciones sencillas a tablas o grficos. Se han utilizado en algunos de los grficos del proyecto.
Microsoft PowerPoint: Programa diseado para hacer presentaciones con texto esquematizado, animaciones de texto e imgenes prediseadas o importadas del ordenador. Con este software se elaborar la presentacin.
Microsoft Proyect 2010: Es un software de administracin de proyectos, con el que se ha creado la planificacin de este.
3.1.2.5. ArgoUML ArgoUML es un editor UML gratuito. Sus puntos fuertes son la compatibilidad con el estndar UML 1.4, la exportacin a varios formatos grficos y la disponibilidad de perfiles para varios lenguajes de programacin. En este proyecto se ha utilizado para generar los casos de uso, diagramas de secuencia, el diagrama de estados y el modelo conceptual.
26 3.1.3. Especificacin de estndares y normas La realizacin de esta tarea permite considerar las referencias para el sistema de informacin en estudio, desde el punto de vista de estndares, normativas, leyes o recomendaciones, que deben tenerse en cuenta a lo largo de todo el proceso de desarrollo.
En este proyecto tendremos en cuenta dos cosas. Por un lado, la mtrica versin 3, con la que se ha elaborado el proyecto y por el otro, los estndares de Android, con los que se ha programado la aplicacin. La mtrica versin 3, ofrece a las Organizaciones un instrumento til para la sistematizacin de las actividades que dan soporte al ciclo de vida del software. Los objetivos que persigue la metodologa son los siguientes:
Proporcionar o definir Sistemas de informacin que ayuden a conseguir los fines de la Organizacin mediante la definicin de un marco estratgico para el desarrollo de los mismos.
Dotar a la Organizacin de productos software que satisfagan las necesidades de los usuarios dando una mayor importancia al anlisis de requisitos.
Mejorar la productividad de los departamentos de sistemas y tecnologas de la informacin y las comunicaciones, permitiendo una mayor capacidad de adaptacin a los cambios y teniendo en cuenta la reutilizacin en la medida de lo posible.
Facilitar la comunicacin y entendimiento entre los distintos participantes en la produccin de software a lo largo del ciclo de vida del proyecto, teniendo en cuenta su papel y responsabilidad, as como las necesidades de todos y cada uno de ellos.
Facilitar la operacin, mantenimiento y uso de los productos software obtenidos.
En una nica estructura, la metodologa mtrica versin 3, cubre distintos tipos de desarrollo: estructurado y orientado a objetos, facilitando a travs de interfaces la realizacin de los procesos de apoyo u organizativos: gestin de proyectos, gestin de configuracin, aseguramiento de calidad y seguridad.
Mtrica versin 3 ha sido concebida para abarcar el desarrollo completo de Sistemas de Informacin sea cual sea su complejidad y magnitud, por lo cual su estructura responde a desarrollos mximos y deber adaptarse y dimensionarse en cada momento de acuerdo a las caractersticas particulares de cada proyecto.
As pues los procesos de la estructura principal de mtrica versin 3 son los siguientes:
Planificacin de sistemas de informacin.
27 Desarrollo de sistemas de informacin.
Mantenimiento de sistemas de informacin.
La metodologa descompone cada uno de los procesos en actividades, y stas a su vez en tareas. Para cada tarea se describe su contenido haciendo referencia a sus principales acciones, productos, tcnicas, prcticas y participantes.
En Android, he seguido los parmetros de diseo que se especifican en la web oficial de desarrolladores Android 23 . Bsicamente, seguir tanto con la esttica de la ltima versin Android, como con sus controles.
3.2. Establecimiento de requisitos 3.2.1. Requisitos funcionales y no funcionales En esta aplicacin ser necesario que se cumplan los siguientes requisitos: 3.2.1.1. Requisitos funcionales Identificador: Pantalla tctil. Tipo: Funcional. Descripcin: El dispositivo debe permitir interactuar con el usuario mediante una pantalla tctil.
Identificador: Reproductor de audio. Tipo: Funcional Descripcin: El dispositivo debe reproducir audio.
Identificador: Grabador de audio. Tipo: Funcional Descripcin: El dispositivo debe grabar audio.
Identificador: Vibracin. Tipo: Funcional Descripcin: El dispositivo debe permitir la generacin de breves vibraciones.
23 La web es developer.android.com
28 Fuente: Elaboracin propia
Identificador: Teclado ruso. Tipo: Funcional. Descripcin: El dispositivo debe disponer de un teclado con el alfabeto ruso.
Identificador: Versin Android. Tipo: Funcional. Descripcin: El dispositivo debe tener una versin Android compatible con la aplicacin.
3.2.1.2. Requisitos no funcionales Identificador: Usable. Tipo: No funcional. Descripcin: El sistema debe ser sencillo de utilizar e intuitivo para los usuarios a los que va dirigido. Identificador: Extensible. Tipo: No funcional. Descripcin: El sistema debe ser fcilmente extensible. Se deben poder aadir nuevas funcionalidades y/o contenidos sin cambiar la estructura.
Identificador: Eficiente. Tipo: No funcional. Descripcin: El sistema debe ejecutarse de forma eficiente.
3.2.2. Especificacin de los casos de uso En este apartado se enumeran los diferentes casos de uso que hay en el sistema. Los he clasificado por grupos de funcionalidades. 3.2.2.1. Caligrafa Los casos de uso de este grupo hacen referencia a la escritura de letras a mano. A continuacin se muestra el diagrama de casos de uso de este grupo:
Casos de uso: Caligrafa
29 Nombre: Seleccionar letra. Descripcin: El usuario elige una de las letras disponibles para caligrafiar. Actor: Usuario. Condiciones previas: Ninguna. Curso tpico de los acontecimientos: 1. El sistema muestra todas las letras disponibles para dibujar. 2. El usuario indica al sistema que letra quiere. 3. El sistema muestra una pantalla donde caligrafiar la letra y las indicaciones para hacerlo.
Nombre: Dibujar letra. Descripcin: El usuario dibuja la letra que previamente haba seleccionado. Actor: Usuario. Condiciones previas: Previamente ha seleccionado una letra. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla donde caligrafiar la letra anteriormente escogida y las indicaciones para hacerlo. 2. El usuario dibuja en la pantalla la letra escogida, a partir de unas indicaciones.
Nombre: Limpiar pantalla. Descripcin: El usuario elimina la letra que haba dibujado. Actor: Usuario. Condiciones previas: El usuario est dibujando una letra. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla donde caligrafiar la letra anteriormente escogida y las indicaciones para hacerlo. 2. El usuario indica al sistema que limpie la pantalla. 3. El sistema vuelve a mostrar la pantalla en anterior sin los trazos que haba hecho el usuario.
3.2.2.2. Vocabulario Los casos de uso de este grupo hacen referencia al conjunto de palabras del vocabulario. A continuacin se muestra el diagrama de casos de uso de este grupo:
30
Fuente: Elaboracin propia
Nombre: Seleccionar tema. Descripcin: El usuario elige el tema del vocabulario. Actor: Usuario. Condiciones previas: Ninguno. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla donde estn los diversos temas de vocabulario entre los que escoger. 2. El usuario indica al sistema que tema quiere ver. 3. El sistema muestra una pantalla con la lista de palabras que contiene el tema junto a su audio.
Nombre: Seleccionar palabra. Descripcin: El usuario elige una palabra del tema del vocabulario anteriormente seleccionado. Actor: Usuario. Condiciones previas: El usuario ha seleccionado un tema previamente. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con la lista de palabras que contiene el tema preseleccionado y su audio. 2. El usuario indica al sistema ampliar el contenido de una palabra. 3. El sistema muestra una pantalla con la palabra tanto a mquina como a mano, el audio de esta y la posibilidad de grabar al usuario pronunciando la palabra, que despus podr reproducir.
Casos de uso: Vocabulario
31 Nombre: Reproducir palabra. Descripcin: El usuario escucha el audio de una palabra seleccionada en la lista de vocabulario. Actor: Usuario. Condiciones previas, caso 1: El usuario ha seleccionado nicamente el tema de vocabulario. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con la lista de palabras que contiene el tema preseleccionado y su audio. 2. El usuario indica al sistema que palabra quiere nicamente escuchar sin salir de la pantalla. 3. El sistema reproduce el audio de la palabra seleccionada.
Condiciones previas, caso 2: El usuario ha seleccionado el tema de vocabulario y ha ampliado el contenido de la palabra. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con la palabra tanto a mquina como a mano, el audio de esta y la posibilidad de grabar al usuario pronunciando la palabra, que despus podr reproducir. 2. El usuario indica al sistema que reproduzca el audio. 3. El sistema reproduce el audio de la palabra indicada.
Nombre: Grabar audio. Descripcin: El usuario se graba pronunciando la palabra del vocabulario. Actor: Usuario. Condiciones previas: El usuario ha seleccionado el tema de vocabulario y ha ampliado el contenido de la palabra. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con la palabra tanto a mquina como a mano, el audio de esta y la posibilidad de grabar al usuario pronunciando la palabra, que despus podr reproducir. 2. El usuario indica al sistema que haga empiece a grabar. 3. El sistema inicia una grabacin de audio del usuario. 4. El usuario indica al sistema que finalice la grabacin. 5. El sistema para de grabar al usuario y almacena temporalmente este audio.
32 Nombre: Reproducir grabacin. Descripcin: El usuario escucha el audio de una grabacin propia. Actor: Usuario. Condiciones previas: El usuario ha seleccionado el tema de vocabulario y ha ampliado el contenido de la palabra. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con la palabra tanto a mquina como a mano, el audio de esta y la posibilidad de grabar al usuario pronunciando la palabra, que despus podr reproducir. 2. El usuario indica al sistema que reproduzca el audio grabado para esa palabra. 3. El sistema reproduce el audio grabado por el usuario. Alternativas: En el paso 3: Si no hay un audio grabado en esa sesin, mostrar un mensaje indicndolo. 3.2.2.3. Configuracin El caso de uso de este grupo hace referencia a la configuracin del teclado en ruso. A continuacin se muestra el diagrama del caso de uso.
Fuente. Elaboracin propia
Nombre: Configurar teclado. Descripcin: El usuario recibe las indicaciones necesarias para poder cambiar el idioma de su teclado a ruso. Permitiendo activarlo y desactivarlo en cualquier momento. Actor: Usuario. Condiciones previas: Ninguna. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con las indicaciones necesarias para activar/desactivar el teclado ruso en el dispositivo. 2. El usuario lee las indicaciones. Casos de uso: Configuracin
33 3.2.2.4. Ahorcado Los casos de uso de este grupo hacen referencia al juego del ahorcado. A continuacin se muestra el diagrama de casos de uso de este grupo:
Casos de uso: Ahorcado Fuente: Elaboracin propia
Nombre: Seleccionar tema. Descripcin: El usuario elige cual es la temtica del juego. Actor: Usuario. Condiciones previas: Ninguna. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla donde estn los diversos temas de vocabulario entre los que escoger para la partida. 2. El usuario indica al sistema con que tema quiere jugar. 3. El sistema muestra una pantalla en la que se desarrolla el juego.
Nombre: Jugar partida. Descripcin: El usuario juega una partida al juego del ahorcado. Actor: Usuario. Condiciones previas: El usuario ha seleccionado el tema de la partida. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con en la que se desarrolla el juego. 2. El usuario indica al sistema con que letra quiere jugar. 3. El sistema muestra en pantalla las consecuencias de la letra elegida, es decir, si la letra est en la respuesta o no. Los pasos 2 y 3 se repiten hasta que se acabe la partida. 4. El sistema informa el fin de la partida y muestra en una pantalla el resultado, la respuesta correcta y su audio. Adems, da la opcin de cambiar el tema si se quiere y volver a hacer otra partida.
34 Nombre: Reproducir respuesta. Descripcin: El usuario escucha el audio de la palabra de la partida. Actor: Usuario. Condiciones previas: El usuario ha acabado la partida. Curso tpico de los acontecimientos: 1. El sistema informa el fin de la partida y muestra en una pantalla el resultado, la respuesta correcta y su audio. Adems, da la opcin de cambiar el tema si se quiere y volver a hacer otra partida. 2. El usuario indica al sistema que reproduzca el audio de la palabra. 3. El sistema reproduce el audio.
3.2.2.5. Lecturas Los casos de uso de este grupo hacen referencia al apartado de lecturas. A continuacin se muestra el diagrama de casos de uso de este grupo:
Casos de uso: Lecturas
Fuente: Elaboracin propia
Nombre: Seleccionar lectura. Descripcin: El usuario elige una lectura de la lista y el idioma en que desea leerla. Actor: Usuario. Condiciones previas: Ninguna. Curso tpico de los acontecimientos: 1. El sistema muestra una lista con todas las lecturas disponibles. 2. El usuario indica al sistema que lectura quiere de las ofrecidas. 3. El sistema muestra los idiomas disponibles para esa lectura.
35 4. El usuario indica al sistema que idioma desea. 5. El sistema muestra una pantalla con parte de la lectura, donde dar la posibilidad de cambiar el idioma de esta y reproducir el audio en caso de que la lectura sea en ruso.
Nombre: Reproducir lectura. Descripcin: El usuario escucha el audio del fragmento de la lectura previamente seleccionada. Actor: Usuario. Condiciones previas: El usuario ya ha elegido una lectura de la lista y su idioma es ruso. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con parte de la lectura, donde dar la posibilidad de cambiar el idioma de esta y reproducir el audio en caso de que la lectura sea en ruso. 2. El usuario indica al sistema que reproduzca el audio del texto. 3. El sistema lo reproduce y da la posibilidad de pararlo antes de que termine de reproducirse.
Nombre: Cambiar idioma. Descripcin: El usuario cambia de idioma la lectura, es decir, de castellano a ruso o viceversa. Actor: Usuario. Condiciones previas: El usuario ya ha elegido una lectura de la lista y un idioma. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con parte de la lectura, donde dar la posibilidad de cambiar el idioma de esta y reproducir el audio en caso de que la lectura sea en ruso. 2. El usuario indica al sistema que cambie de idioma la lectura completa. 3. El sistema muestra la pantalla anterior con el texto en el otro idioma.
36 3.2.2.6. Temario Los casos de uso de este grupo hacen referencia al apartado del temario. A continuacin se muestra el diagrama de casos de uso de este grupo:
Casos de uso: Temario
Fuente: Elaboracin propia
Nombre: Seleccionar teora. Descripcin: El usuario elige ver la teora de un tema y de un apartado concreto. Actor: Usuario. Condiciones previas: Ninguna. Curso tpico de los acontecimientos: 1. El sistema muestra una lista con todos los temas disponibles. 2. El usuario indica al sistema que tema quiere de los posibles. 3. El sistema muestra los subtemas disponibles para ese tema. 4. El usuario indica al sistema que subtema desea. 5. El sistema da a elegir entre teora y ejercicios. 6. El usuario indica al sistema que quiere teora. 7. El sistema muestra una pantalla con la teora del subtema elegido.
Nombre: Seleccionar ejercicios. Descripcin: El usuario elige ver los ejercicios de un tema y de un apartado concreto. Actor: Usuario. Condiciones previas: Ninguna. Curso tpico de los acontecimientos: 1. El sistema muestra una lista con todos los temas disponibles. 2. El usuario indica al sistema que tema quiere de los posibles.
37 3. El sistema muestra los subtemas disponibles para ese tema. 4. El usuario indica al sistema que subtema desea. 5. El sistema da a elegir entre teora y ejercicios. 6. El usuario indica al sistema que quiere ejercicios. 7. El sistema muestra una pantalla con los ejercicios disponibles del subtema elegido.
Nombre: Hacer ejercicios. Descripcin: El usuario realiza los ejercicios de uno de los apartados de un tema. Actor: Usuario. Condiciones previas: El usuario ha seleccionado un apartado de un tema anteriormente. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con los ejercicios disponibles. 2. El usuario indica al sistema que ejercicio quiere hacer. 3. El sistema muestra el ejercicio elegido. 4. El usuario indica al sistema la respuesta 5. El sistema muestra si es una respuesta correcta o no. a. Si la respuesta es correcta el usuario contina el ejercicio. b. Sino, tiene que repetirlo Anotaciones: Los pasos 4 y 5 se repiten hasta que se acaba el ejercicio.
38 Finalmente, muestro el diagrama de casos de uso completo: 3.3. Anlisis de los casos de uso
Tras haber especificado los casos de uso del sistema, toca definir la interaccin entre el sistema y el usuario. Para ello se he usado diagramas de secuencia, una de las tcnicas ms efectivas. Los diagramas de secuencia son individuales, se modela uno para cada caso de uso de los anteriores. A continuacin, los diagramas de secuencia del sistema. Casos de uso Fuente: Elaboracin propia
39 3.3.1. Caligrafa En este apartado se mostrarn los diagramas de secuencia que representan los casos de uso relacionados con la caligrafa. 3.3.1.1. Seleccionar letra
3.3.1.2. Dibujar letra
40 3.3.1.3. Limpiar pantalla
3.3.2. Vocabulario En este apartado se mostrarn los diagramas de secuencia que representan los casos de uso relacionados con el vocabulario. 3.3.2.1. Seleccionar tema
41 3.3.2.2. Seleccionar palabra
3.3.2.3. Reproducir palabra Para ambos casos, el diagrama es el mismo.
42 3.3.2.4. Grabar audio
3.3.2.5. Reproducir grabacin
43 3.3.3. Configuracin En este apartado se mostrarn los diagramas de secuencia que representan los casos de uso relacionados con la configuracin del teclado en ruso. 3.3.3.1. Configurar teclado
3.3.4. Ahorcado En este apartado se mostrarn los diagramas de secuencia que representan los casos de uso relacionados con el juego del ahorcado. 3.3.4.1. Reproducir respuesta
44 3.3.4.2. Jugar partida
45 3.3.4.3. Seleccionar tema
3.3.5. Lecturas 3.3.5.1. Seleccionar lectura
46 3.3.5.2. Reproducir lectura
3.3.5.3. Cambiar idioma
47 3.3.6. Temario 3.3.6.1. Seleccionar teora
3.3.6.2. Seleccionar ejercicios
48
3.3.6.3. Hacer ejercicios
3.4. Elaboracin del modelo de datos Una vez definidos los casos de uso, se elabora el diagrama conceptual de datos completo que modela el sistema de informacin. Para elaborarlo se ha tenido en cuenta por un lado, la descripcin de la propuesta que se expuso en el apartado de viabilidad y por el otro, la informacin proporcionada en la definicin del sistema. A partir de estos datos, se han podido obtener las clases clave y las uniones que hay entre estas. Finalmente, el modelo se ha completado mediante la informacin proporcionada por los casos de uso. En la siguiente pgina se muestra el modelo.
49
50 3.5. Definicin de interfaces de usuario 3.5.1. Especificacin de los principios generales de la interfaz La construccin de una buena interfaz es bsica para el buen funcionamiento de un sistema de informacin, ya que si se desarrolla un sistema muy potente pero poco intuitivo y muy complicado de utilizar para el usuario, este no lo podr considerar un buen sistema de informacin. En otras palabras el sistema ha de ser amigable, en caso contrario, se restara valor al resto del proyecto. Por esto, es recomendable que el equipo de diseadores de las interfaces cuente con los siguientes conocimientos. Conocimientos sociolgicos, psicolgicos y culturales. Conocimientos de usabilidad y accesibilidad. Tambin ser muy til la participacin del usuario final. La usabilidad es uno de los criterios ms importantes a tener en cuenta para conseguir que nuestro sistema sea ms fcil de usar de cara al usuario final. Los principales aspectos a considerar son: El usuario siempre debe tener el control del sistema. El sistema debe permitir realizar tareas de la manera ms intuitiva posible, sin que sea necesaria la memorizacin de muchos pasos para poder realizar la tarea. El grado de usabilidad es una forma de medir la usabilidad de un sistema. Por un lado es una medida emprica, ya que no solo se basa en opiniones y sensaciones sino que se realizan pruebas de usabilidad en laboratorios. Por otro lado, tambin es relativa, ya que el resultado no es bueno o malo, sino que depende de las metas planteadas (por ejemplo, que como mnimo un 80% de los usuarios de un determinado grupo o tipo definido sean capaces de realizar una tarea X en N segundos), o de una comparacin con sistemas similares. A menudo en informtica o nuevas tecnologas la usabilidad est muy relacionada con la accesibilidad. Esta es un parmetro importante, ya que define el grado con el cual las personas pueden interactuar con el sistema si tienen alguna discapacidad fsica, psquica o tecnolgica. Es importante conocer las discapacidades que puede haber entre los usuarios finales para tenerlas en cuenta dentro del proceso de integracin. El hecho de disear sistemas interactivos usables y accesibles proporciona los siguientes beneficios: Minimizacin del tiempo de aprendizaje. Disminucin del tiempo de ayuda al usuario. Interfaces claras e intuitivas Comunicacin eficaz de la informacin solicitada por el usuario.
51 Fuente: Elaboracin propia Ilustracin: Pantalla principal de caligrafa Por todo esto, conseguir un diseo usable y accesible es uno de los objetivos de este proyecto.
3.5.2. Especificacin de los formatos individuales de la interfaz El objetivo de esta tarea es especificar el formato individual de la interfaz grfica de cada pantalla del sistema desde el punto de vista esttico. A partir de la especificacin de los casos de uso y teniendo en cuenta los aspectos comentados en el apartado anterior, se definen aquellos aspectos de inters para el posterior diseo e implementacin de cada interfaz de pantalla: Posibilidad de cambio de tamao, ubicacin o modalidad. Dispositivos de entrada necesarios para su ejecucin. Controles y elementos de diseo asociados, indicando cules aparecen inicialmente activos y cules no, al visualizar la interfaz de la pantalla. Al ejecutarse la aplicacin, en la ventana principal aparecern seis opciones distintas a elegir desde un principio, donde no es necesario ningn orden. A continuacin se especifican los formatos de las principales interfaces de usuario. 3.5.2.1. Caligrafa Al entrar en caligrafa se mostrarn las distintas letras existentes en el sistema de informacin y tras elegir una, se cargar la pantalla de caligrafa. Esta pantalla mostrar al usuario un conjunto de indicaciones y la letra seleccionada para que proceda a practicarla.
52 Ilustracin: Pantalla principal de caligrafa
Fuente: Elaboracin propia 3.5.2.2. Vocabulario Al entrar en el apartado de vocabulario, se deber elegir el tema en el que profundizar. De esta forma, el sistema ofrecer un conjunto de palabras con la opcin de simplemente escuchar el audio cada una o profundizar ms en estas. La imagen que hay a continuacin es del segundo caso, es decir, cuando el usuario entra dentro de una palabra. Como se puede ver, en esta pantalla se muestran varios puntos importantes: Una imagen que guarda relacin con la palabra seleccionada, facilitando as la relacin de conceptos. La palabra escrita en castellano. La palabra escrita en ruso, tanto en formato mquina como manuscrito. Un botn situado a la izquierda, cuya funcin es reproducir el audio con la pronunciacin correcta de la palabra. Un botn situado en el centro, cuya funcin es grabar al usuario mientras pronuncia. Un botn, situado a la derecha, cuya funcin es reproducir el audio grabado con el botn central.
53 Fuente: Elaboracin propia 3.5.2.3. Configuracin El apartado de configuracin mostrar un conjunto de indicaciones o tutorial destinado al usuario, con el fin de que este aplique en tu dispositivo. Estas indicaciones son para configurar el teclado y que pueda cambiar de su idioma habitual a ruso, ya que en algunos ejercicios ser necesario. No es necesario mostrar la pantalla en este caso.
3.5.2.4. Ahorcado Para poder jugar al ahorcado, el usuario previamente habr seleccionado un tema de los disponibles. La pantalla principal, es decir, en la que se desarrollar el juego, tendr activada en todo momento una opcin dentro del men que permite cambiar de tema. Una indicacin importante de cara al diseo son las letras, estas se deben mostrar siempre en la pantalla. A medida que se van pulsando, desaparecen hasta la siguiente partida.
Ilustracin: Pantalla principal ahorcado
54 Fuente: Elaboracin propia 3.5.2.5. Lecturas Al entrar en el apartado de lecturas, se deber escoger un tema y un idioma. Los idiomas disponibles en esta aplicacin son ruso y castellano. Una vez elegidos el sistema cargar la pantalla que vemos un poco ms adelante. Esta contiene parte del texto de la lectura seleccionada y en este caso tiene activados todos los botones del men. De estos botones, el primer botn reproduce el audio de la lectura, es decir, se escucha a una persona pronunciando el fragmento de lectura que se muestra. El segundo botn detiene el audio y finalmente, con el ltimo botn podremos acceder al cambio de idioma., es decir, en este caso, cambiaramos el idioma del texto de ruso a castellano. Es importante destacar, que el botn de parar audio estar activo a partir de la primera vez que se reproduzca un fragmento. Y que solo se pueden reproducir los textos rusos, por tanto, en un texto en castellano nicamente se mostrar la opcin de cambiar idioma.
Ilustracin: Pantalla principal de Lecturas
55 3.5.2.6. Temario Al entrar en temario, se mostrarn todos los temas disponibles y al seleccionar uno, se mostrarn los subtemas de cada uno. Una vez el usuario llegue a este punto deber escoger entre ejercicios o teora. Hay varios tipos de ejercicios, uno de ellos es el que se muestra en la primera imagen. En este el usuario debe rellenar los huecos y decide l mismo cuando acabar el ejercicio. Otro tipo sera mediante selectores, que es el segundo ejemplo. En este caso el usuario va eligiendo entre las posibles respuestas. Si acierta pasa a la siguiente pregunta si falla, el dispositivo vibrar.
Finalmente, la siguiente pantalla corresponde a la teora de un tema. Estos no tienen ningn tipo de botn, nicamente muestran informacin.
Fuente: Elaboracin propia Ilustracin: Pantallas ejercicios
56 Fuente: Elaboracin propia
3.5.3. Especificacin del comportamiento dinmico de la interfaz En este apartado se definirn los flujos entre los diferentes elementos de la interfaz grfica. Este comportamiento se describe mediante un modelo de navegacin de interfaz y se utiliza la tcnica de los mapas de navegacin. Un mapa de navegacin representa los caminos navegables entre pantallas, y se representa utilizando diagramas de estado. A continuacin se muestran los mapas de navegacin de la interfaz, divididos segn las funcionalidades que representan.
Ilustracin: Pantalla teora
57 Fuente: Elaboracin propia 3.5.3.1. Caligrafa
3.5.3.2. Vocabulario
Ilustracin: Estados vocabulario
Fuente: Elaboracin propia
3.5.3.3. Configuracin
Ilustracin: Estado configuracin
Fuente: Elaboracin propia Ilustracin: Estados caligrafa
58 Ilustracin: Estado temario 3.5.3.4. Ahorcado
Ilustracin: Estados ahorcado
Fuente: Elaboracin propia
3.5.3.5. Lecturas
Ilustracin: Estado lecturas
Fuente: Elaboracin propia
3.5.3.6. Temario
Fuente: Elaboracin propia
59 3.6. Especificacin del plan de pruebas 3.6.1. Definicin del alcance de las pruebas Para probar el correcto funcionamiento del sistema se realizarn diferentes tipos de pruebas: unitarias, de integracin, de sistema y de aceptacin. Para cada prueba se tendrn en cuenta los perfiles de los usuarios implicados, los criterios de aceptacin y verificacin, la definicin de los casos de prueba y el anlisis de los resultados. 3.6.1.1. Pruebas unitarias Las pruebas unitarias son la manera de probar el correcto funcionamiento de las diferentes clases del sistema. Para cada funcin principal del sistema se crearn unas pruebas, desde las bsicas hasta las complejas. El hecho que una clase supere este tipo de pruebas proporciona un conjunto de ventajas. Fomenta el cambio, porque facilita que el programador cambie su cdigo para mejorar la estructura, ya que permite hacer pruebas sobre los cambios asegurando que estos no hay introducido errores. Simplifica la integracin, ya que permite llegar a la fase de integracin con la seguridad de que el cdigo funciona correctamente. Facilita la separacin de la interfaz y la implementacin. Los errores estn ms acotados y son ms fcilmente localizables. Las pruebas unitarias no descubrirn todos los errores del cdigo, ya que se estn probando las clases por separado y puede ser que aparezcan errores al conectar estas clases, los cuales no se habran detectado, como errores de integracin o problemas de rendimiento que afecten a todo el sistema.
3.6.1.2. Pruebas de integracin Las pruebas de integracin tienen como objetivo asegurar que no han aparecido errores al integrar las clases. Un caso concreto de estas pruebas, son las pruebas del subsistema de gestin de datos. El hecho que sea fcil de comprobar si los datos almacenados son correctos permite acotar el error a las funciones de carga. Para realizar las pruebas se utilizan tanto datos correctos como incorrectos. Los puntos que se deben verificar van desde el control de excepciones hasta la invocacin de funciones con parmetros incorrectos.
3.6.1.3. Pruebas de sistema Una vez probado el sistema a nivel individual y de integracin, se deben realizar pruebas globales al sistema.
60 Hay una gran variedad de pruebas, cada una con un objetivo concreto que permiten comprobar que el sistema cumpla todos los requisitos. Las pruebas a realizar son las siguientes: Pruebas funcionales Pruebas de rendimiento Pruebas de sobrecarga Pruebas de disponibilidad de datos Pruebas de facilidad de uso.
3.6.1.4. Pruebas de aceptacin Este tipo de pruebas son las ms importantes ya que las lleva a cabo el usuario final con el fin de validad que el funcionamiento del sistema sea correcto. Estas pruebas tienen un sentido muy amplio, se prueban desde las funcionalidades del sistema como el rendimiento de este, pasando por pruebas de usabilidad. Las pruebas de aceptacin del sistema, debido a su importancia, se explicarn con ms detalle en el siguiente apartado.
3.6.2. Definicin de las pruebas de aceptacin del sistema Como se ha explicado en el apartado anterior, las pruebas de aceptacin tienen un rango muy amplio. Se debe insistir principalmente en los criterios que permiten asegurar que el sistema satisface los requisitos exigidos. Los criterios de aceptacin deben ser definidos de forma clara, prestando especial atencin a aspectos como procesos crticos del sistema, rendimiento del sistema y usabilidad. 3.6.2.1. Procesos crticos del sistema Se probarn todas las funcionalidades del sistema con el fin de verificar su funcionamiento. Se probarn todas las acciones posibles que pueda ejecutar el usuario dese que inicia el sistema hasta que finaliza su ejecucin.
3.6.2.2. Rendimiento del sistema Dado que el sistema nicamente permite que un usuario est usndolo a la vez, las pruebas del rendimiento se basarn en la respuesta rpida de la aplicacin, as como de la liberacin de memoria rpida en casos crticos como es en la seccin de vocabulario.
61 3.6.2.3. Usabilidad Estas son las pruebas ms importantes que realiza el usuario final del sistema ya que determinan el grado de facilidad de uso que tiene el sistema. Un elemento muy importante a testear es la interfaz grfica, si esta es agradable e intuitiva para el usuario, el uso del programa ser muy sencillo. Es importante comprobar que el diseo de la interfaz permita minimizar la realizacin de errores por parte del usuario, teniendo nicamente disponibles las opciones necesarias en cada momento.
62
63 4. Proceso de disen o del S 4.1. Definicin de la arquitectura del sistema El siguiente grfico muestra la arquitectura de Android. Como se puede ver est formada por cuatro capas. Una de las caractersticas ms importantes es que todas las capas estn basadas en software libre.
Ilustracin: Arquitectura Android
Fuente: www.androidcurso.com
4.1.1. El ncleo Linux El ncleo de Android est formado por el sistema operativo Linux versin 2.6. Esta capa proporciona servicios como la seguridad, el manejo de la memoria, el multiproceso, la pila de protocolos y el soporte de drivers para dispositivos. Esta capa del modelo acta como capa de abstraccin entre el hardware y el resto de la pila. Por lo tanto, es la nica que es dependiente del hardware.
64 4.1.2. Runtime de Android Est basado en el concepto de mquina virtual utilizado en Java. Dado las limitaciones de los dispositivos donde ha de correr Android (poca memoria y procesador limitado) no fue posible utilizar una mquina virtual Java estndar. Google tom la decisin de crear una nueva, la mquina virtual Dalvik 24 , que respondiera mejor a estas limitaciones. Algunas caractersticas de la mquina virtual Dalvik que facilitan esta optimizacin de recursos son: que ejecuta ficheros Dalvik ejecutables (.dex) formato optimizado para ahorrar memoria. Adems, est basada en registros. Cada aplicacin corre en su propio proceso Linux con su propia instancia de la mquina virtual Dalvik. Delega al kernel de Linux algunas funciones como threading y el manejo de la memoria a bajo nivel. Tambin se incluye en el Runtime de Android el core libraries con la mayora de las libreras disponibles en el lenguaje Java.
4.1.3. Libreras nativas Incluye un conjunto de libreras en C/C++ usadas en varios componentes de Android. Estn compiladas en cdigo nativo del procesador. Muchas de las libreras utilizan proyectos de cdigo abierto. Algunas de estas libreras son: System C library: una derivacin de la librera BSD de C estndar (libc), adaptada para dispositivos embebidos basados en Linux. Media Framework: librera basada en PacketVideo's OpenCORE; soporta codecs de reproduccin y grabacin de multitud de formatos de audio vdeo e imgenes MPEG4, H.264, MP3, AAC, AMR, JPG y PNG. Surface Manager: maneja el acceso al subsistema de representacin grfica en 2D y 3D. WebKit: soporta un moderno navegador web utilizado en el navegador Android y en la vista webview. Se trata de la misma librera que utiliza Google Chrome y Safari de Apple. SGL: motor de grficos 2D. Libreras 3D: implementacin basada en OpenGL ES 1.0 API. Las libreras utilizan el acelerador hardware 3D si est disponible, o el software altamente optimizado de proyeccin 3D. FreeType: fuentes en bitmap y renderizado vectorial. SQLite: potente y ligero motor de bases de datos relacionales disponible para todas las aplicaciones. SSL: proporciona servicios de encriptacin Secure Socket Layer.
24 Dalvik: Es una mquina vitual Que utiliza la plataforma para dispositivos mviles Android. Ha sido diseada por Dan Bornstein con contribuciones de otros ingenieros de Google.
65 1.4.4. Entorno de aplicacin Proporciona una plataforma de desarrollo libre para aplicaciones con gran riqueza e innovaciones (sensores, localizacin, servicios, barra de notificaciones,). Esta capa ha sido diseada para simplificar la reutilizacin de componentes. Las aplicaciones pueden publicar sus capacidades y otras pueden hacer uso de ellas (sujetas a las restricciones de seguridad). Este mismo mecanismo permite a los usuarios reemplazar componentes. Una de las mayores fortalezas del entorno de aplicacin de Android es que se aprovecha el lenguaje de programacin Java. El SDK de Android no acaba de ofrecer todo lo disponible para su estndar del entorno de ejecucin Java (JRE), pero es compatible con una fraccin muy significativa de la misma. Los servicios ms importantes que incluye son: Views: extenso conjunto de vistas, (parte visual de los componentes). Resource Manager: proporciona acceso a recursos que no son en cdigo. Activity Manager: maneja el ciclo de vida de las aplicaciones y proporciona un sistema de navegacin entre ellas. Notification Manager: permite a las aplicaciones mostrar alertas personalizadas en la barra de estado. Content Providers: mecanismo sencillo para acceder a datos de otras aplicaciones (como los contactos).
1.4.5. Aplicaciones Este nivel est formado por el conjunto de aplicaciones instaladas en una mquina Android. Todas las aplicaciones han de correr en la mquina virtual Dalvik para garantizar la seguridad del sistema. Normalmente las aplicaciones Android estn escritas en Java. Para desarrollar aplicaciones en Java podemos utilizar el Android SDK. Existe otra opcin consistente en desarrollar las aplicaciones utilizando C/C++. Para esta opcin podemos utilizar el Android NDK (Native Development Kit).
4.2. Diseo de casos de uso reales A partir de la descripcin de los casos de uso que realizada en el captulo de anlisis, disear los casos de uso reales. Esta tcnica consiste en redefinir la descripcin de los casos de uso mostrando en ella la interaccin que existe con la pantalla del dispositivo donde se realiza. Se clasificarn por grupos de funcionalidades, igual que antes. 4.2.1. Caligrafa Nombre: Seleccionar letra. Descripcin: El usuario elige una de las letras disponibles para caligrafiar. Actor: Usuario. Condiciones previas: Ninguna. Curso tpico de los acontecimientos:
66 1. El usuario pulsa el botn Caligrafa del men principal del sistema. 2. El sistema muestra mediante una galera de imgenes, todas las letras disponibles para dibujar. 3. El usuario indica al sistema que letra quiere pulsndola. 4. El sistema muestra una pantalla que contiene indicaciones para escribir la letra en la parte superior, y en el centro de la pantalla, la letra seleccionada en grande para repasarla.
Nombre: Dibujar letra. Descripcin: El usuario dibuja la letra que previamente haba seleccionado. Actor: Usuario. Condiciones previas: Previamente ha seleccionado una letra. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla que contiene indicaciones para escribir la letra en la parte superior, y en el centro de la pantalla, la letra seleccionada en grande para repasarla. 2. El usuario pulsando la pantalla, dibuja la letra escogida, a partir de unas indicaciones.
Nombre: Limpiar pantalla. Descripcin: El usuario elimina la letra que haba dibujado. Actor: Usuario Condiciones previas: El usuario est dibujando una letra. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla que contiene indicaciones para escribir la letra en la parte superior, y en el centro de la pantalla, la letra seleccionada en grande para repasarla. 2. El usuario pulsa el botn Borrar del men superior, indicando al sistema que limpie la pantalla. 3. El sistema vuelve a mostrar la pantalla en anterior sin los trazos que haba hecho el usuario.
4.2.2. Vocabulario Nombre: Seleccionar tema. Descripcin: El usuario elige el tema del vocabulario. Actor: Usuario. Condiciones previas: Ninguno.
67 Curso tpico de los acontecimientos: 1. El usuario pulsa el botn Vocabulario del men principal. 2. El sistema muestra una pantalla con una lista donde estn los diversos temas de vocabulario entre los que escoger. Cada tema mostrar su nombre en ruso y castellano y una imagen que represente su contenido. 3. El usuario pulsa uno de los temas para acceder a l. 4. El sistema muestra una pantalla con la lista de palabras que contiene el tema. Donde cada palabra tendr una imagen asociada, un botn que reproduzca su pronunciacin y estar escrito en ambos idiomas.
Nombre: Seleccionar palabra. Descripcin: El usuario elige una palabra del tema del vocabulario anteriormente seleccionado. Actor: Usuario. Condiciones previas: El usuario ha seleccionado un tema previamente. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con la lista de palabras que contiene el tema. Donde cada palabra tendr una imagen asociada, un botn que reproduzca su pronunciacin y estar escrito en ambos idiomas. 2. El usuario indica al sistema ampliar el contenido de una palabra pulsndola. 3. El sistema muestra una pantalla con una imagen que represente a la palabra, su escritura tanto a mquina como a mano. Adems de tres botones: el primero para reproducir su pronunciacin, el segundo para grabar al usuario y finalmente, el tercero para reproducir la grabacin.
Nombre: Reproducir palabra. Descripcin: El usuario escucha el audio de una palabra seleccionada en la lista de vocabulario. Actor: Usuario. Condiciones previas, caso 1: El usuario ha seleccionado nicamente el tema de vocabulario. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con la lista de palabras que contiene el tema. Donde cada palabra tendr una imagen asociada, un botn que reproduzca su pronunciacin y estar escrito en ambos idiomas. 2. El usuario indica al sistema que palabra quiere escuchar, pulsando el botn que reproduce el audio.
68 3. El sistema reproduce el audio de la palabra seleccionada, sin cambiar de pantalla. Condiciones previas, caso 2: El usuario ha seleccionado el tema de vocabulario y ha ampliado el contenido de la palabra. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con una imagen que represente a la palabra, su escritura tanto a mquina como a mano. Adems de tres botones: el primero para reproducir su pronunciacin, el segundo para grabar al usuario y finalmente, el tercero para reproducir la grabacin. 2. El usuario pulsa el primer botn, que indica al sistema que reproduzca el audio. 3. El sistema reproduce el audio de la palabra seleccionada, sin cambiar de pantalla.
Nombre: Grabar audio. Descripcin: El usuario se graba pronunciando la palabra del vocabulario. Actor: Usuario. Condiciones previas: El usuario ha seleccionado el tema de vocabulario y ha ampliado el contenido de la palabra. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con una imagen que represente a la palabra, su escritura tanto a mquina como a mano. Adems de tres botones: el primero para reproducir su pronunciacin, el segundo para grabar al usuario y finalmente, el tercero para reproducir la grabacin. 2. El usuario pulsa el segundo botn, que indica al sistema que haga empiece a grabar. 3. El sistema inicia una grabacin de audio del usuario, adems cambia la imagen asociada al segundo botn por otra represente que est grabando. 4. El usuario indica al sistema que finalice la grabacin volviendo a pulsar el mismo botn. 5. El sistema para de grabar al usuario, devuelve el botn a su estado inicial y almacena este audio hasta que cambie de palabra.
69 Nombre: Reproducir grabacin. Descripcin: El usuario escucha el audio de una grabacin propia. Actor: Usuario. Condiciones previas: El usuario ha seleccionado el tema de vocabulario y ha ampliado el contenido de la palabra. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con una imagen que represente a la palabra, su escritura tanto a mquina como a mano. Adems de tres botones: el primero para reproducir su pronunciacin, el segundo para grabar al usuario y finalmente, el tercero para reproducir la grabacin. 2. El usuario indica al sistema que reproduzca el audio grabado para esa palabra pulsando el tercer botn. 3. El sistema reproduce el audio grabado por el usuario. Alternativas: En el paso 3: Si no hay un audio grabado en esa sesin, mostrar un mensaje indicndolo.
4.2.3. Configuracin Nombre: Configurar teclado. Descripcin: El usuario recibe las indicaciones necesarias para poder cambiar el idioma de su teclado a ruso. Permitiendo activarlo y desactivarlo en cualquier momento. Actor: Usuario. Condiciones previas: Ninguna. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con las indicaciones necesarias para activar/desactivar el teclado ruso en el dispositivo en una lista horizontal. 2. El usuario interacta con el sistema arrastrando el dedo horizontalmente para cambiar de indicacin. 3. El sistema muestra la siguiente indicacin si el usuario ha deslizado el dedo hacia la izquierda o por el contrario, muestra la anterior si es hacia la derecha.
70 4.2.4. Ahorcado Nombre: Seleccionar tema. Descripcin: El usuario elige cual es la temtica del juego. Actor: Usuario. Condiciones previas: Ninguna. Curso tpico de los acontecimientos: 1. El usuario pulsa el botn Ahorcado del men principal. 2. El sistema muestra una galera de imgenes, donde estn los diversos temas de vocabulario entre los que escoger para la partida. 3. El usuario indica al sistema con que tema quiere jugar, pulsndolo. 4. El sistema muestra una pantalla en la que se desarrolla el juego. Esta pantalla contiene la palabra con la que se juega codificada con guiones, todas las letras del abecedario ruso y la estructura del ahorcado. Alternativas: Se puede acceder a este caso de uso desde otros puntos de la aplicacin. Habra dos opciones ms: El usuario ha finalizado la partida y pulsa Cambiar tema. El usuario est en medio de una partida y selecciona Cambiar tema Para ambos casos se empezara la secuencia a partir del paso nmero dos.
Nombre: Jugar partida. Descripcin: El usuario juega una partida al juego del ahorcado. Actor: Usuario. Condiciones previas: El usuario ya ha seleccionado el tema de la partida. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla en la que se desarrolla el juego. Esta pantalla contiene la palabra con la que se juega codificada con guiones, todas las letras del abecedario ruso y la estructura del ahorcado. 2. El usuario pulsa la letra con la que quiere jugar. 3. El sistema muestra en pantalla las consecuencias de la letra elegida, es decir, si la letra est en la respuesta o no. Si no est en la respuesta se incrementarn los fallos (mximo 6) y se aadir una nueva parte al ahorcado. Si por el contrario la letra est, se desvelar en qu posicin se encuentra la letra dentro de la respuesta. Adems, el sistema eliminar la letra utilizada del abecedario mostrado en la pantalla.
71 Los pasos 2 y 3 se repiten hasta que se acabe la partida. Esto sucede cuando se llega al mximo de fallos o cuando se completa la respuesta. 4. El sistema informa el fin de la partida y muestra en una pantalla el resultado, la respuesta correcta. Adems, mostrar tres botones. Uno para reproducir el audio de la palabra, otro para de cambiar el tema y finalmente, otro para volver a hacer otra partida.
Nombre: Reproducir respuesta. Descripcin: El usuario escucha el audio de la palabra de la partida. Actor: Usuario. Condiciones previas: El usuario ha acabado la partida. Curso tpico de los acontecimientos: 1. El sistema informa el fin de la partida y muestra en una pantalla el resultado, la respuesta correcta. Adems, mostrar tres botones. Uno para reproducir el audio de la palabra, otro para de cambiar el tema y finalmente, otro para volver a hacer otra partida. 2. El usuario pulsa el botn para reproducir el audio de la palabra. 3. El sistema reproduce el audio.
4.2.5. Lecturas Nombre: Seleccionar lectura. Descripcin: El usuario elige una lectura de la lista y el idioma en que desea leerla. Actor: Usuario. Condiciones previas: Ninguna. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con una lista que contiene todas las lecturas disponibles. 2. El usuario pulsa sobre la lectura elegida, indicando al sistema que lectura quiere de las ofrecidas. 3. El sistema muestra los idiomas disponibles para esa lectura. 4. El usuario pulsa uno de los idiomas, indicando al sistema que idioma desea. 5. El sistema muestra una pantalla con parte de la lectura, donde habr un men que dar la posibilidad de cambiar el idioma de esta y de reproducir el audio en caso de que la lectura sea en ruso.
72 Nombre: Reproducir lectura. Descripcin: El usuario escucha el audio del fragmento de la lectura previamente seleccionada. Actor: Usuario. Condiciones previas: El usuario ya ha elegido una lectura de la lista y su idioma es ruso. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con parte de la lectura, donde habr un men que dar la posibilidad de cambiar el idioma de esta y de reproducir el audio en caso de que la lectura sea en ruso. 2. El usuario al pulsar sobre el botn Play del men, indica al sistema que reproduzca el audio del texto. 3. El sistema lo reproduce y da la posibilidad de pararlo antes de que termine de reproducirse mediante un botn Stop que aparecer al lado de Play.
Nombre: Cambiar idioma. Descripcin: El usuario cambia de idioma la lectura, es decir, de castellano a ruso o viceversa. Actor: Usuario. Condiciones previas: El usuario ya ha elegido una lectura de la lista y un idioma. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con parte de la lectura, donde habr un men que dar la posibilidad de cambiar el idioma de esta y de reproducir el audio en caso de que la lectura sea en ruso. 2. El usuario indica al sistema que cambie de idioma la lectura completa. Para esto debe pulsar el botn del men expandible y despus Cambiar idioma. 3. El sistema muestra la pantalla anterior con toda la lectura en el otro idioma.
4.2.6. Temario Nombre: Seleccionar teora. Descripcin: El usuario elige ver la teora de un tema y de un apartado concreto. Actor: Usuario. Condiciones previas: Ninguna.
73 Curso tpico de los acontecimientos: 1. El usuario pulsa el botn Temario del men principal. 2. El sistema muestra una pantalla que contiene una lista con todos los temas disponibles. 3. El usuario pulsa sobre uno de ellos. 4. El sistema muestra los subtemas disponibles para ese tema, con un botn para la teora y otro para los ejercicios. 5. El usuario pulsa sobre el botn de teora. 6. El sistema muestra una pantalla con la teora del subtema elegido.
Nombre: Seleccionar ejercicios. Descripcin: El usuario elige ver los ejercicios de un tema y de un apartado concreto. Actor: Usuario. Condiciones previas: Ninguna. Curso tpico de los acontecimientos: 1. El usuario pulsa el botn Temario del men principal. 2. El sistema muestra una pantalla que contiene una lista con todos los temas disponibles. 3. El usuario pulsa sobre uno de ellos. 4. El sistema muestra los subtemas disponibles para ese tema, con un botn para la teora y otro para los ejercicios 5. El usuario pulsa sobre el botn de ejercicios. 6. El sistema muestra una pantalla con los ejercicios disponibles del subtema elegido.
Nombre: Hacer ejercicios. Descripcin: El usuario realiza los ejercicios de uno de los apartados de un tema. Actor: Usuario. Condiciones previas: El usuario ha seleccionado un apartado de un tema anteriormente. Curso tpico de los acontecimientos: 1. El sistema muestra una pantalla con los ejercicios disponibles. 2. El usuario pulsa sobre el ejercicio que quiere hacer. 3. El sistema muestra una pantalla con el ejercicio elegido. 4. El usuario indica al sistema la respuesta 5. El sistema muestra si es una respuesta correcta o no. a. Si la respuesta es correcta el usuario contina el ejercicio, b. Sino, tiene que repetirlo.
74 6. El sistema muestra una pantalla que indica que se ha completado todo el ejercicio. Anotaciones: Los pasos 4 y 5 se repiten hasta que se acaba el ejercicio.
75 5. Proceso de mantenimiento Como se ha podido ver, esta aplicacin no depende de ningn servidor o sistema externo que le proporcione datos u otra cosa, es decir, no existe una necesidad externa para que el funcionamiento de aplicacin sea el esperado. Por tanto, el mantenimiento que le corresponde es bastante reducido. 5.1 Especificacin del mantenimiento El mantenimiento de esta aplicacin constar de ir actualizando la versin del sistema operativo, con todos los cambios que ello suponga, cuando est desfasado o sencillamente cuando vayan saliendo nuevas funcionalidades que mejoren el sistema de aprendizaje actual. Adems de eso, se tendrn en cuenta los posibles bugs que surjan mientras el usuario tenga acceso a la aplicacin. Partiendo de la premisa que el usuario los reportar, pudiendo as solucionarlos. Tambin, se aceptarn sugerencias por parte del usuario. Ya sean a nivel de diseo como de funcionalidades. No obstante, aunque el usuario sea partcipe de la evolucin del sistema actual mediante sus propuestas. Se seguir buscando internamente otras mejoras para la aplicacin. Las he dividido en cuatro tipos de mejora: Funcionalidad: Buscar nuevas funcionalidades que le sigan aportando un valor aadido a la aplicacin. Rendimiento: Dado a los diversos dispositivos que potencialmente pueden usar esta aplicacin, es necesario mejorar el rendimiento siempre que sea posible. Evitando as que puedan cerrarse por falta de memoria. Interfaz: Mejorar la interfaz, ya sea parcial o totalmente. Ofreciendo siempre una mejor experiencia al usuario. Contenidos: Ampliar o mejorar el contenido existente.
76
77 6. Conclusiones del proyecto La idea de realizar un proyecto desde cero ha sido algo que me ha motivado desde el principio. Aunque he de admitir que no ha sido como me esperaba. Es realmente duro realizar todos los roles del proyecto sola, por suerte he tenido a dos personas que iban probando las secciones de la aplicacin cuando estaban terminadas. Gracias a eso, he detectado algn bug que en mi dispositivo no suceda y he visto como de efectivo era el mtodo de aprendizaje propuesto junto a la usabilidad de las pantallas. Me hubiera gustado poder hacer la aplicacin junto a algn diseador, ya que las partes de diseo me han costado bastante ms que las de programacin. Adems, es probable que hubiese llevado menos tiempo y quizs un mejor resultado. A pesar de todo, considero que he aprendido mucho de esta experiencia, tanto a nivel tcnico como personal. Empec el proyecto teniendo unos conocimientos de Android extremadamente bsicos y poco a poco fui mejorndolos hasta llegar a un punto en el que vi necesario redisear toda la estructura del proyecto para poder implantar algo ms acorde a las aplicaciones de mercado y fcil de usar. Respecto al tema de diseo de botones, fondos, o cualquier tipo de imagen empec desde cero y durante estos meses he conseguido un dominio aceptable del Photoshop y algunos patrones de diseo. El hecho de llevar todos los roles, me ha hecho ver todo el proceso de creacin de la aplicacin desde que tan solo era una propuesta hasta su finalizacin y con ello aprender a valorar como de importantes son cada uno de los pasos. Esta experiencia ha sido bastante grata para m, ya que ni en las prcticas de la universidad ni en el trabajo he podido generar una aplicacin de pies a cabeza. Finalizo comentando una idea anteriormente expuesta, en s no espero que la aplicacin llegue a aportarme algn tipo de beneficio econmico a partir de las descargas de los usuarios. Pero creo que puede ser una buena forma de tener publicidad propia de cara a empresas. Ya que podrn valorar los conocimientos de programacin a partir de los mostrados en la aplicacin.
78
79 7. Bibliografa 7.1. Pginas web 7.1.1. Consultas de programacin Consultado durante todo el proceso de desarrollo Para la generacin de listas: http://www.androidconnect.org/2012/05/06/todo-sobre-las-listviews- viewholder-y-cacheholder/ http://w2davids.wordpress.com/android-listview-with-iconsimages-and- sharks-with-lasers/ http://www.vogella.com/articles/AndroidListView/article.html
Para el uso de la actionBar: http://www.nosinmiubuntu.com/2012/06/como-utilizar-la-actionbar-de- sherlock.html http://www.nosinmiubuntu.com/2012/06/como-utilizar-elementos-de- android-ics.html http://androcode.es/2012/03/introduccion-a-actionbarsherlock/
Para el uso de gestos: http://android-developers.blogspot.com.es/2009/10/gestures-on-android- 16.html
Para grabar audio: http://www.javaya.com.ar/androidya/detalleconcepto.php?codigo=157&inicio =20
Consultas varias de programacin: http://stackoverflow.com http://developer.android.com/index.html https://www.google.es/
80 7.1.2. Consultas de diseo Photoshop Consultado durante el mes de septiembre del 2013 http://www.aulaclic.es/photoshop/index.htm http://www.youtube.com/watch?v=anqpexuN0bg
Iconos o imgenes Consultado durante todas las fases de diseo http://www.iconfinder.com/ http://www.google.es/imghp
7.1.3. Consultas del idioma Consultado durante la etapa de elaboracin. http://www.youtube.com/watch?v=lIYO2RSQI3Q http://www.aulafacil.com/Ruso/CursoRuso.htm http://www.rusiamia.com/lengua_rusa/frases_rusas.html http://www.aprenderuso.com/numeros/ http://www.aprenderuso.com/palabras/ http://www.aprenderuso.com/vocabulario/animales/ http://www.aulafacil.com/Rusolectura/Lecciones/Temario.htm http://www.rusiamia.com/lengua_rusa/alfabeto_ruso.html http://es.wiktionary.org/wiki/Wikcionario:Portada
7.1.4. Consultas para la elaboracin de la memoria
Caractersticas Windows 8 - Consultado: 29/enero/2013 http://www.totemguard.com/aulatotem/2012/10/12-caracteristicas-de- windows-8-a-considerar-para-la-educacion/#
Nmero de licencias vendidas w8 - Consultado: 29/enero/2013 http://www.europapress.es/portaltic/software/noticia-windows-alcanza-60- millones-licencias-vendidas-20130109094944.html
% de sistemas operativos pc - Consultado: 29/enero/2013 http://www.softzone.es/2012/12/03/windows-7-sigue-siendo-el-sistema- operativo-mas-utilizado/
81 % de SO mvil - Consultado: 29/enero/2013 http://www.xatakandroid.com/mercado/android-esta-en-el-86-por-ciento-de- smartphones-vendidos-en-espana
7.2. Libros 7.2.1. Libros de ruso Consultado durante la elaboracin del contenido. BABIEL, Renate; BABIEL, Nikolai. Ruso: gramtica esencial: fcil, clara y completa. Publicacin: Barcelona: Difusin centro de investigacin y publicaciones, cop, 2006, Coleccin Pons idiomas. CODINA, Alba. Ruso de cada da: [espaol ruso, ruso-espaol]. Publicacin: Barcelona: Difusin centro de investigacin y publicaciones cop 2007. Coleccin Pons idiomas. STRUTUNNOF, Ivan. 5 das para aprender ruso. Publicacin: Barcelona, Editorial DE VECCHI, 2009.
7.2.2. Libros de programacin RIBAS LEQUERICA, Joan. Desarrollo de aplicaciones para Android. Ediciones Anaya multimedia (grupo Anayam S.A), Spain, 2011.
82 7.3. Aplicaciones mviles Estas aplicaciones fueron descargadas entre el 13 y el 20 de septiembre. 7.3.1. Aplicaciones de ruso Aprende ruso Feliz de Rusia, de Andrew.brusentsov Clases de ruso, de Andrew.brusentsov Ruso en un mes Free, de Learn Like Kids Habla Ruso (Gratis), de Bhuio.com Aprende ruso con busuu.com!, de Busuu Limited Ruso 50 idiomas, de 50languages Learn & Play, Aprender jugando. Ruso free, de Domosoft
7.3.2. Aplicaciones de diseo Android.R, de sa-y Android UI Patterns, de sa-y SlidingMenu Demos, de Jeremy Feinstein
7.4. Apuntes de la carrera Apuntes de ES1 Consultados durante la etapa de anlisis y diseo. Apuntes de ES2 Consultados durante la etapa de anlisis y diseo. Apuntes de BD Consultados durante la etapa de anlisis y diseo. Apuntes de HDC Consultados durante la elaboracin de la documentacin, para ver las pautas a seguir.