Perfil Profesional

El perfil Profesional expresa el conjunto de realizaciones profesionales que una persona hace efectivas en las diversas situaciones de trabajo a las que puede enfrentarse en el dominio de su área ocupacional. A continuación se 5

presentan funciones y sub-funciones del perfil profesional de este técnico superior en las cuales se pueden identificar las siguientes actividades:

 Modelizar artefactos de software a partir de especificaciones, refinándolas en caso necesario, para determinar el diseño detallado y las características de una solución que las satisfaga en el contexto de la arquitectura del sistema de software del cual van a formar parte.

 

Esto comprende:

o Interpretar críticamente las especificaciones recibidas.

o Interpretar la arquitectura del sistema en el cual se inserta la asignación.

o Aplicar patrones de diseño si corresponde.

o Diseñar la solución.

o Representar el diseño.

o Verificar el diseño.

 

Para realizar lo antes mencionado, el técnico utiliza lenguajes y herramientas de representación y modelización de sistemas, como UML y otras técnicas de graficación y especificación, incluyendo diccionarios de datos del proyecto y catálogos de patrones de diseño. También considera las características de la tecnología a utilizar y consulta a pares y al líder del equipo de trabajo para interpretar los problemas a resolver y verificar sus conclusiones y enfoques. Al realizar esto procura atenerse a los lineamientos de la arquitectura establecida para el proyecto y respeta criterios de seguridad informática, confidencialidad y las políticas vigentes en la organización en la cual se desempeña, así como las prácticas establecidas para el proyecto.

 Construir los artefactos de software que implementen el diseño realizado, aplicando patrones o reutilizando código en la medida en que resulte posible. Al hacer esto, y en función de lo acordado para el proyecto, optimizará el desempeño de lo que construya aplicando buenas prácticas de programación y documentación.

 

Esto comprende:

o Reutilizar elementos ya existentes.

o Redactar y elaborar códigos.

o Optimizar el código.

o Controlar cambios y versiones.

o utilizar ambientes de desarrollo.

 

Para realizar esto el técnico utiliza patrones, reutiliza código existente adaptándolo o complementándolo a su nueva función o redacta código nuevo 6

aplicando sus conocimientos de programación, respetando buenas prácticas y las normas establecidas para asegurar la calidad del proyecto. Esto implica el dominio del lenguaje y del ambiente de desarrollo utilizados en el proyecto, así como la tecnología en la cual va a ser implementada la solución. También consulta a pares y al líder del equipo de trabajo para reflexionar y recibir ayuda que le permita resolver problemas encontrados o aporta sus conocimientos y capacidad de reflexión a otros, y participa de foros y listas temáticas para encontrar soluciones o elementos reutilizables.

 Verificar los artefactos de software construidos considerando las necesidades de cobertura de la prueba. Para ello diseña los casos considerando el entorno de pruebas y ejecuta pruebas unitarias, así como registra los datos y resultados. De ser necesario, realiza acciones correctivas sobre el código hasta satisfacerse de que cumpla con las especificaciones recibidas.

 

Esto comprende:

o Considerar las necesidades de cobertura de la prueba.

o Diseñar los casos de prueba.

o Preparar el entorno de pruebas.

o Realizar pruebas unitarias.

o Registrar casos de prueba, datos y resultados de pruebas y acciones correctivas.

 

Para realizar esto el técnico determina las necesidades de cobertura en función de las características de su asignación y normas establecidas para asegurar la calidad del proyecto, identifica las clases de equivalencia de datos utilizados internamente o intercambiados y diseña los casos de prueba, tomando en cuenta la estructura del artefacto y las condiciones de borde, así como prepara el entorno de pruebas, incluyendo los scripts y datos necesarios. Esto implica el dominio de conceptos de “testing” y de herramientas utilizadas para establecer el ambiente de “testing”. Realiza las pruebas unitarias, registrando los datos y resultados alcanzados, así como las acciones correctivas realizadas para solucionar las fallas encontradas.

 Revisar el código de artefactos de software para resolver defectos o mejorarlo. Este código puede ser propio o ajeno. Realizar revisiones cruzadas con otros integrantes del proyecto para asegurar la calidad del producto. Algunas asignaciones requieren una revisión de código ya existente para poder ampliar funcionalidades o refactorizarlo.

 

Esto comprende:

o Interpretar código.

o Diagnosticar defectos.

o Depurar defectos.

7

Al realizar esto el técnico analiza sistemáticamente el código para identificar partes relacionadas con posibles funcionamientos anómalos y revisa meticulosamente esas partes para determinar las causas de posibles defectos a fin de corregirlos, así como replantea, si resulta necesario, aspectos estructurales y cuida de no introducir otros defectos al efectuar modificaciones en el código. También analiza tanto el cumplimiento de buenas prácticas de programación, como la eficiencia del código.

 Documentar sus actividades y los resultados obtenidos aportando elementos para asegurar la calidad de los proyectos de acuerdo a normas y estándares establecidos.

 

Esto comprende:

o Registrar actividades realizadas.

o Documentar todos los productos de su labor.

 

Las normas de calidad del proceso de desarrollo de software exigen una adecuada documentación del mismo, así como del producto resultante. Para que el técnico pueda realizar un aporte efectivo a estas exigencias de calidad y para facilitar el mantenimiento de lo que desarrolle, tiene que justificar las decisiones relevantes de diseño que tome, así como las limitaciones que tienen los artefactos que produzca de acuerdo a criterios de legibilidad por parte de otros y a las normas de documentación establecidas para el proyecto.

 Gestionar sus propias actividades dentro del equipo de trabajo del proyecto. Realizar la planificación (organización y control) de las tareas a realizar, el oportuno reporte de avances y dificultades y el registro y reflexión sobre lo realizado para capitalizar experiencias y estimar métricas aplicables a su actividad.

 

Esto comprende:

o Obtener métricas a partir de los registros de actividades.

o Reportar avances y dificultades.

o Planificar las actividades.

o Controlar las actividades.

 

La construcción de software es una actividad que se desarrolla por proyectos, los que son llevados a cabo por un equipo de trabajo y el técnico tiene que realizar un aporte efectivo al trabajo conjunto. Para ello tiene que mantener una comunicación efectiva con quien lidere el grupo o lo asesore y con el resto de su equipo de trabajo, informando y consultando sobre problemas que observe al enfrentar sus asignaciones. También debe desarrollar su propia profesionalidad estimando tiempos y comparando resultados, extrayendo conclusiones formales 8

o informales que le permitan establecer sus propias métricas de rendimiento y calidad, así como un estrecho autocontrol que le facilite una mayor predictibilidad de sus resultados.

Para lograr un desempeño competente en sus actividades profesionales, el desarrollador de software, además de realizar las actividades previstas en su perfil profesional e incluidas aquí en la descripción de las funciones que realiza, tiene que dominar ciertos aspectos de la tecnología de la información que le sirven de base para poder desarrollar competentemente sus funciones profesionales. Al dominio de estos aspectos lo hemos denominado: Desempeño de base.

Esto comprende:

o Conocer y saber utilizar con propiedad y en condiciones de seguridad recursos de hardware, software y redes para emplear los ambientes que necesite para el desarrollo y la verificación del software, mantener los repositorios de información que necesite utilizar y disponer de los productos de su trabajo en condiciones de confiabilidad.


Última modificación: miércoles, 26 de octubre de 2022, 20:59