Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Tesis is
1. Dirección General de Educación Superior Tecnológica (DGEST)
Instituto Tecnológico de Morelia
Departamento de Sistemas y Computación.
Propuestas de Tesis de Licenciatura
Carrera: Ingeniería en Sistemas Computacionales
Especialidad: Ingeniería del Software
Profesor: M.C. Juan Carlos Olivares Rojas
“Desarrollo de Interfaces Adaptativas para Dispositivos Móviles”
Problemática: las interfaces en la gran mayoría del software existente no son adaptables a las
necesidades de los usuarios. En el pasado, las únicas interfaces existentes estaban basadas en
modo texto, razón por la cual la adaptación de las interfaces era un problema difícil (se tenía que
reconstruir las aplicaciones para una determina resolución de pantalla: 80x25, etc.) y está
generalmente se realizaba en código fuente, por lo que la adaptabilidad si existía se centraba en
una personalización del entorno, como el color de fondo y las letras. En la actualidad las interfaces
gráficas dominan la construcción de software, con este nuevo paradigma de interfaces el usuario
puede realizar cierta adaptabilidad como el redimensionamiento de ventanas, el uso de barras de
herramientas, de estado, etc. Los dispositivos móviles en la gran mayoría de los casos
implementan interfaces gráficas con la característica que tienen un espacio visual más reducido.
Las interfaces móviles en dispositivos móviles son más difíciles de utilizar por que el paradigma de
interfaces de escritorio no es del todo aplicable, los métodos de entrada son deficientes (teclados
pequeños si existen, reconocimiento de caracteres y voz deficientes, etc.), entre otras
características. Para el buen uso de dispositivos móviles se necesitan de interfaces que permitan al
usuario utilizar su dispositivo de una forma más fácil y natural, una forma de lograrlo es a través
del uso de interfaces que el usuario pueda adaptar según sus gustos y necesidades; por ejemplo,
un usuario quiere omitir algunos valores y tomarlos por default para que consuman menos
espacios, o quizás quiera mover algunos componentes como cuadros de texto, botones, etc. De
lugar. Las principales compañías de dispositivos móviles como Nokia y Motorola poseen
dispositivos prototipos que presentan interfaces adaptables para sus dispositivos móviles. El caso
más común es el teléfono iPhone de Apple, el cual presenta cierto tipo de movilidad en su interfaz
gráfica.
Objetivo: Diseñar e implementar una metodología que permita la construcción de interfaces
adaptativas para dispositivos móviles. La implementación se tendrá que realizar sobre algún
2. lenguaje específico para plataformas móviles como J2ME, .NET Compact Framework o sobre algún
lenguaje de interfaces basado en XML.
“Diseño de un Lenguaje para Modelar Redes de Computadoras”
Problemática: cuando se diseña una red de computadoras ya sea cableada o inalámbrica se realiza
una etapa de planificación en la que se detalla todos los elementos y actividades que se van a
diseñar. Todas estas actividades pueden ser modeladas como procesos. A pesar que el diseño de
redes en algunas ocasiones utiliza estándares como el EIA/TIA 568‐A, dichos estándares sólo se
dedican a detalles técnicos o buenas prácticas de implementación de cableado estructurado. El
diseño tradicional de una red se centra exclusivamente en la construcción de un diagrama en
donde se representan la ubicación de todos los componentes de una red. Utilizando técnicas de
modelado se puede tener una especificación más formal y detallada de todas los procesos que
vienen inmiscuidos en las redes inalámbricas.
Objetivo: crear un nuevo lenguaje o bien extender UML (diagramas de caso de uso, clases, objetos,
estado, actividades, secuencia, etc.) para modelar todos los procesos que ocurren en el diseño de
una red de computadoras.
“Utilización del Patrón MVC (Modelo‐Vista‐Controlador) para el Desarrollo de Aplicaciones en
Dispositivos Móviles”
Problemática: una de las principales dificultades que se presenta cuando se desarrolla software es
que las aplicaciones se construyen muy ligadas o dependientes a su interfaz de usuario. En la
mayoría de los casos, cuando se desea cambiar la interfaz, se necesita modificar todo el programa
por que tanto la funcionalidad como la interfaz no se encuentran separadas. El patrón MVC
permite separar una aplicación en tres partes: modelo (la lógica del programa), la vista (la interfaz)
y el controlador (el manejador de eventos, el cual liga la vista con el modelo). La mayoría de las
aplicaciones que utilizan esté patrón se encuentran para aplicaciones Web en plataformas
tradicionales como los Java Struts. El MVC se ha llegado a implementar en algunos componentes
(controles) de interfaces gráficas pero no ha tenido su uso tan generalizado en otras como áreas
como el desarrollo de aplicaciones en dispositivos móviles. En el área del cómputo móvil, la gran
heterogeneidad de componentes hace que cada dispositivo presente diferentes tamaños de
pantallas de despliegue, por lo que si se desea ejecutar dicha aplicación en otro tipo de
dispositivos móviles, se tendría que cambiar toda la aplicación para poder adaptarla.
Objetivo: utilizar el patrón MVC en el desarrollo de una aplicación que se pueda ejecutar en
distintos tipos dispositivos móviles con tan solo personalizar la vista de la aplicación. Se pretende
manejar la aplicación J2ME Polish para la personalización de la vista.
3. “Estudio y Aplicación de Patrones Arquitectónicos en la Construcción de Software para
Dispositivos Móviles”
Problemática: el desarrollo de software aún en nuestros días sigue siendo un proceso algo
artesanal. Debido a la creciente necesidad de construir software cada vez más complejo y de
mayor calidad, se necesitan métodos que permitan agilizar dichos procesos. Uno de estos
métodos son los patrones de diseño, los cuales nos permiten caracterizar ciertos objetos con
características especiales. Así por ejemplo, cuando se habla de un edificio gótico, este presenta
ciertas características que comporte con otros edificios. Por lo que si deseamos construir un
edificio de este tipo, el proceso se vuelve más ágil al conocer la mayoría de los detalles y
características de implementación. El área de cómputo móvil es un área muy joven aún que ha
tenido un crecimiento exorbitante en los últimos años. Por este motivo se necesita crear cada vez
software con características muy detalladas, por lo que el proceso de utilización se vuelve muy
importante. Actualmente no existe mucho conocimiento de la aplicación de patrones de diseño de
software en aplicaciones no tan tradicionales como software de tiempo real, software de
dispositivos empotrados (cómputo móvil), software de sistemas, entre otros. La mayoría del uso
de patrones se centra en software de gestión y software de Web.
Objetivo: estudiar los patrones de diseño más comunes (Gang of Four) y determinar su factibilidad
de aplicación en software para dispositivos móviles, así como otros más especializados mostrados
en la literatura. Se deberá validar el estudio con la creación de una aplicación o pequeñas
aplicaciones que hagan uso de patrones de diseño como componentes principal de la aplicación.