(TSDS) Perfil Profesional del Egresado

Perfil Profesional del Egresado

* Alcances del Perfil Profesional

El Técnico Superior en Desarrollo de Software está capacitado para manifestar conocimientos, habilidades, destrezas, valores y actitudes en situaciones reales de trabajo, conforme a criterios de profesionalidad propios de su área y responsabilidad social.

El Técnico Superior en Desarrollo de Software estará capacitado para producir artefactos de Software, lo que comprende su diseño detallado, construcción – reutilizando elementos existentes o programándolos enteramente- y verificación unitaria, así como su depuración, optimización y mantenimiento; desarrollando las actividades descriptas en el perfil profesional y cumpliendo con los criterios de realización establecidos Para las mismas en el marco de un equipo de trabajo organizado por proyecto.

El proceso de desarrollo de software es una tarea grupal, o individual y multidisciplinaria que se organiza por proyectos. Cada proyecto es negociado y acordado con el cliente o usuario y llevado a cabo por un equipo de trabajo constituido «ad-hoc», conducido y administrado por un lider que mantiene la relación diaria con el cliente o usuario y asume la responsabilidad operativa del proyecto.

El software debe satisfacer especificaciones de requerimientos, ya sean éstas formales o informales, las que pueden venir dadas por el cliente, algún consultor especializado en el tipo de problemas que aborda la aplicación o ser elaboradas por algún analista funcional integrante del equipo de trabajo del proyecto.

El equipo de desarrollo suele estar integrado por un arquitecto de software, que establece el diseño general del sistema y especificaciones de calidad de la solución, un grupo de desarrolladores de software, que son quienes lo construyen, y otro de «testing», que son los encargados de verificar que el software producido cumpla los requisitos, tanto funcionales como de comportamiento, oportunamente establecidos. Del equipo de trabajo pueden participar uno o más analistas técnicos que se ocupan de detalles relativos a aspectos de tecnología, seguridad, bases de datos o estándares de programación y asesoran y dan apoyo técnico a los desarrolladores. Eventualmente pueden participar diseñadores gráficos y especialistas en otros aspectos específicos.

A partir de especificaciones de diseño y del conocimiento de la arquitectura del sistema, los desarrolladores de software (también denominados analistas programadores o programadores) diseñan en forma detallada la parte del software que les correspondiere, la construyen, preferiblemente en base a artefactos de software ya existentes y adaptando o escribiendo lo que sea necesario, asI como documentándola para facilitar su posterior mantenimiento por otros. Verifican unitariamente lo producido y lo entregan para ser probado e integrado al resto.

Habitualmente, los desarrolladores, que pueden estar especializados en una tecnología

determinada, trabajan individualmente o de a pares dentro de un grupo más numeroso, brindándose mutuamente colaboración para resolver los problemas que deben enfrentar y los que tienen mayor experiencia suelen brindar orientación (coaching) a los más noveles.

En algunos casos, sobre todo en lugares en los que organizaciones de escasa dimensión y recursos no necesitan de software sofisticado o no pueden plantear requisitos de calidad para el software que necesitan, el desarrollo de software suele ser efectuado por realizadores independientes que asumen todas las funciones del equipo de desarrollo.

El Técnico Superior en Desarrollo de Software participa en proyectos de desarrollo de software desempeñando roles que tienen por objeto producir artefactos de software (programas, módulos, objetos). Estos artefactos suelen integrarse en aplicaciones o subsistemas que interactúan entre SI, con otras aplicaciones ya existentes desarrolladas con la misma o distinta tecnología, con el sistema operativo del computador u otro software de base (motor de base de datos, navegador, monitor de comunicaciones) configurando distintas capas de software que pueden estar distribuidas en diversas máquinas situadas en la misma o distintas ubicaciones.