Imperative Software Developer (ISD)
Programador de linguaxes imperativos
Definición
Profesional que realiza, de xeito individual ou integrado nun equipo de traballo, as tarefas de implementación de software, baixo o paradigma imperativo, de todos os módulos de aplicacións básicas ou dalgúns módulos de aplicacións complexas segundo un proceso de enxeñaría do software
Competencias desenvolvidas
- Capacidade de deseño básico e implementación de aplicacións informáticas mediante técnicas de desenvolvemento, integración e reutilización do paradigma imperativo.
- Capacidade para propor e avaliar diferentes alternativas de programación imperativa para resolver un problema concreto.
- Capacidade para avaliar de xeito básico as posibilidades funcionais das ferramentas de programación imperativa, os sistemas operativos, bases de datos e hardware para a produción e explotación do software desenvolvido.
Actividades realizadas
- Empregar os conceptos, sintaxe e semántica da notación algorítmica
- Deseñar e implementar de xeito preciso o comportamento de programas que resolven problemas concretos especificados de xeito formal mediante a aplicación de conceptos, métodos e técnicas imperativas de programación
- Aplicar esquemas algorítmicos e deseño descendente como técnicas eficaces para afrontar a resolución de problemas complexos
- Usar métodos e ferramentas (IDE) para escribir, compilar, montar e probar un programa axeitadamente e de forma rigorosa para dar cumprimento á calidade especificada
- Utilizar con fluidez a sintaxe, semántica e funcionalidades de varias linguaxes de programación imperativa
- Escribir e documentar axeitadamente, segundo as boas prácticas e especificacións establecidas, o código fonte producido
- Analizar código fonte fiable para reutilizalo nas implementacións propias
- Construír probas unitarias e usar ferramentas de depuración para os módulos implementados para asegurar a calidade dos programas producidos e a súa adecuación ás especificacións establecidas
- Avaliar e comparar os métodos, graos de complexidade e eficacia dos diferentes algoritmos que poden resolver un mesmo problema especificado, así como a idoneidade de execución compilada ou interpretada
- Interpretar correctamente a estrutura modular e de datos de calquera aplicación, así como os algoritmos e programas escritos por terceiros, sobre todo os compoñentes de bibliotecas máis aceptados e utilizados