Uno de los objetivos centrales de la materia es inculcar al
estudiante la necesidad de aprovechar todos los conceptos aprendidos
previamente en el nuevo entorno de programación.
Para ello algunas herramientas deben ser adaptadas y/o extendidas porque presentan
particularidades al ser utilizados dentro de una interfaz de usuario. A
modo de ejemplos podemos citar el manejo de errores o condiciones
excepcionales y el testeo unitario. En
otros casos las distintas tecnologías de presentación restringen la
aplicación de determinadas herramientas de programación que son útiles
en otros ámbitos para incrementar la calidad y confiabilidad del código
producido. Por ejemplo las tecnologías de generación dinámica de HTML basadas en páginas
suelen limitar las posibilidades de diseño que uno normalmente
utilizaría para garantizar consistencia y evitar duplicaciones en el
código; es necesario entonces que un programador formado sea capaz de
reconocer las limitaciones que impone la tecnología que está
utilizando, sea para elegir una tecnología que se adapte a sus
necesidades o bien para tomar las acciones necesarias para mitigar los
riesgos de trabajar en ese contexto limitado por la tecnología.
Asimismo, consideramos que con frecuencia la programación de interfaces
de usuario es un ámbito donde estas buenas prácticas suelen ser dejadas
de lado, aún en contextos donde la tecnología no resulta un limitante. Es por ello que resulta de vital importancia tanto la exposición de las
posibilidades de aplicación (en la clase teórica) como la ejercitación
directa (en la clase práctica) de las prácticas como: programación
orientada a objetos, distribución de responsabilidades y definición de
interfaces entre componentes de software, análisis de acoplamiento y
cohesión de un diseño, utilización de patrones de diseño, entre otros.
Finalmente, existen algunas cuestiones generales de programación que si
bien no son específicas de la programación de interfaces de usuario
toman especial injerencia en este ámbito y por lo tanto debemos
tenerlas presentes permanentemente, por ejemplo concurrencia,
programación distribuida, seguridad y la ejecución de un mismo programa
en múltiples plataformas. Material de lectura- Uso de excepciones en la integración entre el dominio y la interfaz de usuario.
- Herramientas de testeo de interfaces de usuario.
|