![]() Versión: 2.0, Septiembre, 2006 Juan Manuel Fernández Luna Web: http://decsai.ugr.es/~jmfluna, Mail: jmfluna@decsai.ugr.es |
![]() ![]() ![]() (C) Decsai Web: http://decsai.ugr.es |
El desarrollo de aplicaciones
destinadas a dispositivos móviles, desde el punto de vista de la
Ingeniería del Software, no debe diferir sustancialmente de los
pasos a dar cuando se construyen aplicaciones para ordenadores de
sobremesa o estaciones de trabajo. Así, podríamos
establecer los siguientes pasos previos:
El analista de turno deberá
determinar, normalmente con varias entrevistas con los usuarios, las
necesidades que estos tienen y los requerimientos que se les
pedirán a la aplicación. Por ejemplo, en el caso de un
análisis para una aplicación que se ejecutará en
un
dispositivo móvil, algunos de estos requerimientos generales
pueden ser la facilidad de uso, que se pueda ejecutar en
teléfonos móviles, PDAs y paginadores, que permita una
conexión a una entidad mayor para obtener datos actualizados o
devolver otros, o también, que sea capaz de almacenar cierta
información de manera persistente.
Es muy importante en este tipo de
aplicaciones el crear programas separados por cada uno de los posibles
usos que se le dé a la aplicación. De esta manera cada
programa será más pequeño y se adaptará
mucho mejor a las características de los dispositivos
móviles. Por tanto, a la hora del diseño nos
plantearemos esta tarea seriamente, pues finalmente serán varias
las ventajas de hacerlo así. Ya en la fase de
implementación se tendrá que establecer un mecanismo que
controle las diferentes aplicaciones.
En cuanto al diseño del
interfaz de usuario, debemos decidir la correspondencia entre la
aplicación y la pantalla. Los diseñadores en esta fase no
deben considerar cómo los usuarios operarán con el
dispositivo para llevar a cabo una tarea, o cómo se
notificará a la aplicación las acciones del usuario. Se
deben concentrar sólo en el objetivo de la pantalla y en la
tarea
que permitirá llevar a cabo. Sun recomienda en esta etapa
que se haga un "story board" conteniendo en cada viñeta los
requerimientos para la pantalla correspondiente. En otra fase se
decidirá qué tipo de controles vamos a utilizar para
realizar entradas de datos y cómo vamos a presentar la
información. En este punto, las características generales
en cuanto a pantalla del dispositivo pueden marcar claramente el tipo
de
diseño de interfaz: lo que en uno se puede disponer en una
única pantalla, en otro podremos necesitar varias.
El almacenamiento persistente es un
aspecto a tener en cuenta en nuestro diseño. La pregunta a
responder es: ¿qué datos deben sobrevivir a la
finalización de la aplicación y estar disponibles para la
siguiente vez que se vaya a ejecutar? Otra cuestión, que no se
debe plantear en esta fase sino en la de implementación es
qué utilizar para realizar ese almacenamiento. Una primera
respuesta es aquel formato que se emplee para enviar y recibir datos
entre el dispositivo J2ME y el sistema externo. Con esto evitamos una
fase de conversión de formatos. Si el dispositivo posee sistemas
de ficheros, entonces podemos optar por la creación de un
fichero
con una estructura más o menos compleja y usar las bibliotecas
de
Java para acceder a ellos. Otra alternativa también puede ser
emplear sistemas de gestión de bases de datos relacionales,
aunque en el caso de tener que tener que almacenar un gran volumen de
datos y realizar gran cantidad de accesos.
Finalmente, debemos tener en cuenta
dentro del diseño aspectos relacionados con la conectividad y
con
la entrada / salida, ya que son puntos muy importantes que van a
determinar la portabilidad de la aplicación. Por tanto, en
este momento deberemos tomar decisiones en un nivel de
abstracción alto, que luego se concretarán cuando
determinemos claramente el tipo de dispositivo y sus prestaciones.
Esta etapa vendrá marcada por
la
elección del lenguaje, plataforma y herramientas de desarrollo
(depuradores, entornos integrados,...). Con J2ME, teniendo en cuenta
tipo de dispositivo con el que vamos a trabajar, decidiremos la
configuración y perfil más adecuados.
Los pasos a seguir en esta fase hasta instalar el programa en el
dispositivo serían los siguientes: